X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/1aeefd997cc362c3b37c1587c5f08891b35c3a75..df39d616cc296948524d227116bb82e7a7e3eb1b:/lib/gdi/gpixmap.h diff --git a/lib/gdi/gpixmap.h b/lib/gdi/gpixmap.h index f0912334..bd7c61a0 100644 --- a/lib/gdi/gpixmap.h +++ b/lib/gdi/gpixmap.h @@ -2,7 +2,7 @@ #define __gpixmap_h #include -#include +#include #include #include #include @@ -81,40 +81,6 @@ struct gLookup void build(int size, const gPalette &pal, const gRGB &start, const gRGB &end); }; -/** - * \brief A softreference to a font. - * - * The font is specified by a name and a size. - * \c gFont is part of the \ref gdi. - */ -class gFont: public iObject -{ -DECLARE_REF; -public: - - eString family; - int pointSize; - - /** - * \brief Constructs a font with the given name and size. - * \param family The name of the font, for example "NimbusSansL-Regular Sans L Regular". - * \param pointSize the size of the font in PIXELS. - */ - gFont(const eString &family, int pointSize): - family(family), pointSize(pointSize) - { - } - - virtual ~gFont() - { - } - - gFont() - :pointSize(0) - { - } -}; - struct gSurface { int type; @@ -131,22 +97,25 @@ struct gSurfaceSystem: gSurface ~gSurfaceSystem(); }; -struct gPixmap: public iObject +class gPixmap: public iObject { -DECLARE_REF; +private: +DECLARE_REF(gPixmap); private: friend class gDC; void fill(const gRegion &clip, const gColor &color); - enum - { - blitAlphaTest=1 - }; void blit(const gPixmap &src, ePoint pos, const gRegion &clip, int flags=0); void mergePalette(const gPixmap &target); void line(const gRegion &clip, ePoint start, ePoint end, gColor color); public: + enum + { + blitAlphaTest=1, + blitAlphaBlend=2 + }; + gSurface *surface; eLock contentlock; @@ -155,11 +124,13 @@ public: gPixmap *lock(); void unlock(); - eSize getSize() const { return eSize(surface->x, surface->y); } + eSize size() const { return eSize(surface->x, surface->y); } gPixmap(gSurface *surface); gPixmap(eSize, int bpp); virtual ~gPixmap(); }; +TEMPLATE_TYPEDEF(ePtr, gPixmapPtr); + #endif