// // Copyright (c) 2015 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // X11Pixmap.cpp: Implementation of OSPixmap for X11 #include "x11/X11Pixmap.h" X11Pixmap::X11Pixmap() : mPixmap(0), mDisplay(nullptr) { } X11Pixmap::~X11Pixmap() { if (mPixmap) { XFreePixmap(mDisplay, mPixmap); } } bool X11Pixmap::initialize(EGLNativeDisplayType display, size_t width, size_t height, int depth) { mDisplay = display; int screen = DefaultScreen(mDisplay); Window root = RootWindow(mDisplay, screen); mPixmap = XCreatePixmap(mDisplay, root, width, height, depth); return mPixmap != 0; } EGLNativePixmapType X11Pixmap::getNativePixmap() const { return mPixmap; } OSPixmap *CreateOSPixmap() { return new X11Pixmap(); }