use like this:
from enigma import fbClass, fbClassPtr (*)
fbClass.getInstance().lock() ... unlock() ... islocked()
int locked;
int m_number_of_pages;
int locked;
int m_number_of_pages;
+#ifdef SWIG
+ fbClass(const char *fb="/dev/fb/0");
+ ~fbClass();
+public:
+#else
public:
unsigned char *lfb;
int showConsole(int state);
public:
unsigned char *lfb;
int showConsole(int state);
fbClass(const char *fb="/dev/fb/0");
~fbClass();
fbClass(const char *fb="/dev/fb/0");
~fbClass();
- static fbClass *getInstance();
-
- // low level gfx stuff
+#endif
+ static fbClass *getInstance();
int lock();
void unlock();
int lock();
void unlock();
void gPainter::setBackgroundColor(const gColor &color)
{
void gPainter::setBackgroundColor(const gColor &color)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode = gOpcode::setBackgroundColor;
o.dc = m_dc.grabRef();
o.parm.setColor = new gOpcode::para::psetColor;
o.parm.setColor->color = color;
gOpcode o;
o.opcode = gOpcode::setBackgroundColor;
o.dc = m_dc.grabRef();
o.parm.setColor = new gOpcode::para::psetColor;
o.parm.setColor->color = color;
m_rc->submit(o);
}
void gPainter::setForegroundColor(const gColor &color)
{
m_rc->submit(o);
}
void gPainter::setForegroundColor(const gColor &color)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode = gOpcode::setForegroundColor;
o.dc = m_dc.grabRef();
o.parm.setColor = new gOpcode::para::psetColor;
o.parm.setColor->color = color;
gOpcode o;
o.opcode = gOpcode::setForegroundColor;
o.dc = m_dc.grabRef();
o.parm.setColor = new gOpcode::para::psetColor;
o.parm.setColor->color = color;
m_rc->submit(o);
}
void gPainter::setBackgroundColor(const gRGB &color)
{
m_rc->submit(o);
}
void gPainter::setBackgroundColor(const gRGB &color)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode = gOpcode::setBackgroundColorRGB;
o.dc = m_dc.grabRef();
o.parm.setColorRGB = new gOpcode::para::psetColorRGB;
o.parm.setColorRGB->color = color;
gOpcode o;
o.opcode = gOpcode::setBackgroundColorRGB;
o.dc = m_dc.grabRef();
o.parm.setColorRGB = new gOpcode::para::psetColorRGB;
o.parm.setColorRGB->color = color;
m_rc->submit(o);
}
void gPainter::setForegroundColor(const gRGB &color)
{
m_rc->submit(o);
}
void gPainter::setForegroundColor(const gRGB &color)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode = gOpcode::setForegroundColorRGB;
o.dc = m_dc.grabRef();
o.parm.setColorRGB = new gOpcode::para::psetColorRGB;
o.parm.setColorRGB->color = color;
gOpcode o;
o.opcode = gOpcode::setForegroundColorRGB;
o.dc = m_dc.grabRef();
o.parm.setColorRGB = new gOpcode::para::psetColorRGB;
o.parm.setColorRGB->color = color;
m_rc->submit(o);
}
void gPainter::setFont(gFont *font)
{
m_rc->submit(o);
}
void gPainter::setFont(gFont *font)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode = gOpcode::setFont;
o.dc = m_dc.grabRef();
font->AddRef();
o.parm.setFont = new gOpcode::para::psetFont;
o.parm.setFont->font = font;
gOpcode o;
o.opcode = gOpcode::setFont;
o.dc = m_dc.grabRef();
font->AddRef();
o.parm.setFont = new gOpcode::para::psetFont;
o.parm.setFont->font = font;
m_rc->submit(o);
}
void gPainter::renderText(const eRect &pos, const std::string &string, int flags)
{
m_rc->submit(o);
}
void gPainter::renderText(const eRect &pos, const std::string &string, int flags)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode=gOpcode::renderText;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode=gOpcode::renderText;
o.dc = m_dc.grabRef();
void gPainter::renderPara(eTextPara *para, ePoint offset)
{
void gPainter::renderPara(eTextPara *para, ePoint offset)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode=gOpcode::renderPara;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode=gOpcode::renderPara;
o.dc = m_dc.grabRef();
void gPainter::fill(const eRect &area)
{
void gPainter::fill(const eRect &area)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode=gOpcode::fill;
gOpcode o;
o.opcode=gOpcode::fill;
void gPainter::fill(const gRegion ®ion)
{
void gPainter::fill(const gRegion ®ion)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode=gOpcode::fillRegion;
gOpcode o;
o.opcode=gOpcode::fillRegion;
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode=gOpcode::clear;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode=gOpcode::clear;
o.dc = m_dc.grabRef();
void gPainter::blit(gPixmap *pixmap, ePoint pos, const eRect &clip, int flags)
{
void gPainter::blit(gPixmap *pixmap, ePoint pos, const eRect &clip, int flags)
{
+ if ( m_dc->islocked() )
+ return;
o.opcode=gOpcode::blit;
o.dc = m_dc.grabRef();
pixmap->AddRef();
o.opcode=gOpcode::blit;
o.dc = m_dc.grabRef();
pixmap->AddRef();
void gPainter::setPalette(gRGB *colors, int start, int len)
{
void gPainter::setPalette(gRGB *colors, int start, int len)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode=gOpcode::setPalette;
o.dc = m_dc.grabRef();
gPalette *p=new gPalette;
gOpcode o;
o.opcode=gOpcode::setPalette;
o.dc = m_dc.grabRef();
gPalette *p=new gPalette;
o.parm.setPalette = new gOpcode::para::psetPalette;
p->data=new gRGB[len];
o.parm.setPalette = new gOpcode::para::psetPalette;
p->data=new gRGB[len];
memcpy(p->data, colors, len*sizeof(gRGB));
p->start=start;
p->colors=len;
memcpy(p->data, colors, len*sizeof(gRGB));
p->start=start;
p->colors=len;
void gPainter::mergePalette(gPixmap *target)
{
void gPainter::mergePalette(gPixmap *target)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode = gOpcode::mergePalette;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode = gOpcode::mergePalette;
o.dc = m_dc.grabRef();
void gPainter::line(ePoint start, ePoint end)
{
void gPainter::line(ePoint start, ePoint end)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode=gOpcode::line;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode=gOpcode::line;
o.dc = m_dc.grabRef();
void gPainter::setOffset(ePoint val)
{
void gPainter::setOffset(ePoint val)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode=gOpcode::setOffset;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode=gOpcode::setOffset;
o.dc = m_dc.grabRef();
void gPainter::moveOffset(ePoint rel)
{
void gPainter::moveOffset(ePoint rel)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode=gOpcode::setOffset;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode=gOpcode::setOffset;
o.dc = m_dc.grabRef();
void gPainter::resetOffset()
{
void gPainter::resetOffset()
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode=gOpcode::setOffset;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode=gOpcode::setOffset;
o.dc = m_dc.grabRef();
void gPainter::resetClip(const gRegion ®ion)
{
void gPainter::resetClip(const gRegion ®ion)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode = gOpcode::setClip;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode = gOpcode::setClip;
o.dc = m_dc.grabRef();
void gPainter::clip(const gRegion ®ion)
{
void gPainter::clip(const gRegion ®ion)
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode = gOpcode::addClip;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode = gOpcode::addClip;
o.dc = m_dc.grabRef();
void gPainter::clippop()
{
void gPainter::clippop()
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode = gOpcode::popClip;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode = gOpcode::popClip;
o.dc = m_dc.grabRef();
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode = gOpcode::flush;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode = gOpcode::flush;
o.dc = m_dc.grabRef();
void gPainter::waitVSync()
{
void gPainter::waitVSync()
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode = gOpcode::waitVSync;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode = gOpcode::waitVSync;
o.dc = m_dc.grabRef();
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode = gOpcode::flip;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode = gOpcode::flip;
o.dc = m_dc.grabRef();
void gPainter::notify()
{
void gPainter::notify()
{
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode = gOpcode::notify;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode = gOpcode::notify;
o.dc = m_dc.grabRef();
+ if ( m_dc->islocked() )
+ return;
gOpcode o;
o.opcode = gOpcode::flush;
o.dc = m_dc.grabRef();
gOpcode o;
o.opcode = gOpcode::flush;
o.dc = m_dc.grabRef();
int getPixmap(ePtr<gPixmap> &pm) { pm = m_pixmap; return 0; }
gRGB getRGB(gColor col);
virtual eSize size() { return m_pixmap->size(); }
int getPixmap(ePtr<gPixmap> &pm) { pm = m_pixmap; return 0; }
gRGB getRGB(gColor col);
virtual eSize size() { return m_pixmap->size(); }
+ virtual int islocked() { return 0; }
#include <lib/service/iservice.h>
#include <lib/service/service.h>
#include <lib/service/event.h>
#include <lib/service/iservice.h>
#include <lib/service/service.h>
#include <lib/service/event.h>
#include <lib/gdi/font.h>
#include <lib/gdi/gpixmap.h>
#include <lib/gui/ewidget.h>
#include <lib/gdi/font.h>
#include <lib/gdi/gpixmap.h>
#include <lib/gui/ewidget.h>
%include <lib/base/console.h>
%include <lib/driver/rc.h>
%include <lib/base/console.h>
%include <lib/driver/rc.h>
%include <lib/gdi/font.h>
%include <lib/gdi/gpixmap.h>
%include <lib/gdi/epoint.h>
%include <lib/gdi/font.h>
%include <lib/gdi/gpixmap.h>
%include <lib/gdi/epoint.h>