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)
|
||||
: _screen(screen),
|
||||
_size(1, 1),
|
||||
_im(0),
|
||||
_pm(None),
|
||||
_xftdraw(0)
|
||||
{
|
||||
|
@ -27,7 +26,6 @@ Surface::Surface(int screen)
|
|||
Surface::Surface(int screen, const Point &size)
|
||||
: _screen(screen),
|
||||
_size(size),
|
||||
_im(0),
|
||||
_pm(None),
|
||||
_xftdraw(0)
|
||||
{
|
||||
|
@ -41,13 +39,10 @@ Surface::~Surface()
|
|||
|
||||
void Surface::createObjects()
|
||||
{
|
||||
assert(!_im); assert(_pm == None); assert(!_xftdraw);
|
||||
assert(_pm == None); assert(!_xftdraw);
|
||||
|
||||
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(),
|
||||
info->depth());
|
||||
|
||||
|
@ -56,19 +51,13 @@ void Surface::createObjects()
|
|||
|
||||
void Surface::destroyObjects()
|
||||
{
|
||||
assert(_im); assert(_pm != None); assert(_xftdraw);
|
||||
assert(_pm != None); assert(_xftdraw);
|
||||
|
||||
XftDrawDestroy(_xftdraw);
|
||||
_xftdraw = 0;
|
||||
|
||||
XFreePixmap(**display, _pm);
|
||||
_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)
|
||||
|
|
|
@ -18,7 +18,6 @@ class ScreenInfo;
|
|||
class Surface {
|
||||
int _screen;
|
||||
Point _size;
|
||||
XImage *_im;
|
||||
Pixmap _pm;
|
||||
XftDraw *_xftdraw;
|
||||
|
||||
|
|
Loading…
Reference in a new issue