remove the XImage from Surface

This commit is contained in:
Dana Jansens 2003-01-20 01:53:36 +00:00
parent 41e1810c03
commit 0ba441fe8f
3 changed files with 2 additions and 14 deletions

Binary file not shown.

View file

@ -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)

View file

@ -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;