mirror of
https://github.com/bnmgh1/NodeSandbox.git
synced 2025-04-21 21:05:21 +08:00
46 lines
877 B
C++
46 lines
877 B
C++
//
|
|
// 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();
|
|
}
|