remove the XImage from Surface
This commit is contained in:
parent
41e1810c03
commit
0ba441fe8f
3 changed files with 2 additions and 14 deletions
Binary file not shown.
|
@ -17,7 +17,6 @@ namespace otk {
|
||||||
Surface::Surface(int screen)
|
Surface::Surface(int screen)
|
||||||
: _screen(screen),
|
: _screen(screen),
|
||||||
_size(1, 1),
|
_size(1, 1),
|
||||||
_im(0),
|
|
||||||
_pm(None),
|
_pm(None),
|
||||||
_xftdraw(0)
|
_xftdraw(0)
|
||||||
{
|
{
|
||||||
|
@ -27,7 +26,6 @@ Surface::Surface(int screen)
|
||||||
Surface::Surface(int screen, const Point &size)
|
Surface::Surface(int screen, const Point &size)
|
||||||
: _screen(screen),
|
: _screen(screen),
|
||||||
_size(size),
|
_size(size),
|
||||||
_im(0),
|
|
||||||
_pm(None),
|
_pm(None),
|
||||||
_xftdraw(0)
|
_xftdraw(0)
|
||||||
{
|
{
|
||||||
|
@ -41,13 +39,10 @@ Surface::~Surface()
|
||||||
|
|
||||||
void Surface::createObjects()
|
void Surface::createObjects()
|
||||||
{
|
{
|
||||||
assert(!_im); assert(_pm == None); assert(!_xftdraw);
|
assert(_pm == None); assert(!_xftdraw);
|
||||||
|
|
||||||
const ScreenInfo *info = display->screenInfo(_screen);
|
const ScreenInfo *info = display->screenInfo(_screen);
|
||||||
|
|
||||||
_im = XCreateImage(**display, info->visual(), info->depth(),
|
|
||||||
ZPixmap, 0, NULL, _size.x(), _size.y(), 32, 0);
|
|
||||||
|
|
||||||
_pm = XCreatePixmap(**display, info->rootWindow(), _size.x(), _size.y(),
|
_pm = XCreatePixmap(**display, info->rootWindow(), _size.x(), _size.y(),
|
||||||
info->depth());
|
info->depth());
|
||||||
|
|
||||||
|
@ -56,19 +51,13 @@ void Surface::createObjects()
|
||||||
|
|
||||||
void Surface::destroyObjects()
|
void Surface::destroyObjects()
|
||||||
{
|
{
|
||||||
assert(_im); assert(_pm != None); assert(_xftdraw);
|
assert(_pm != None); assert(_xftdraw);
|
||||||
|
|
||||||
XftDrawDestroy(_xftdraw);
|
XftDrawDestroy(_xftdraw);
|
||||||
_xftdraw = 0;
|
_xftdraw = 0;
|
||||||
|
|
||||||
XFreePixmap(**display, _pm);
|
XFreePixmap(**display, _pm);
|
||||||
_pm = None;
|
_pm = None;
|
||||||
|
|
||||||
// do the delete ourselves cuz we alloc it with new not malloc
|
|
||||||
delete [] _im->data;
|
|
||||||
_im->data = NULL;
|
|
||||||
XDestroyImage(_im);
|
|
||||||
_im = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Surface::setSize(int w, int h)
|
void Surface::setSize(int w, int h)
|
||||||
|
|
|
@ -18,7 +18,6 @@ class ScreenInfo;
|
||||||
class Surface {
|
class Surface {
|
||||||
int _screen;
|
int _screen;
|
||||||
Point _size;
|
Point _size;
|
||||||
XImage *_im;
|
|
||||||
Pixmap _pm;
|
Pixmap _pm;
|
||||||
XftDraw *_xftdraw;
|
XftDraw *_xftdraw;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue