#include <lib/base/elock.h>
#include <lib/gdi/erect.h>
#include <lib/gdi/fb.h>
-#include <lib/gdi/region.h>
-
-struct gColor
-{
- int color;
- gColor(int color): color(color)
- {
- }
- gColor(): color(0)
- {
- }
- operator int() const { return color; }
- bool operator==(const gColor &o) const { return o.color==color; }
-};
struct gRGB
{
gRGB(): b(0), g(0), r(0), a(0)
{
}
+
+ unsigned long argb() const
+ {
+ return (a<<24)|(r<<16)|(g<<8)|b;
+ }
+
void operator=(unsigned long val)
{
b = val&0xFF;
}
};
+#ifndef SWIG
+struct gColor
+{
+ int color;
+ gColor(int color): color(color)
+ {
+ }
+ gColor(): color(0)
+ {
+ }
+ operator int() const { return color; }
+ bool operator==(const gColor &o) const { return o.color==color; }
+};
+
struct gPalette
{
int start, colors;
gSurface(eSize size, int bpp, int accel);
~gSurface();
};
+#endif
+
+class gRegion;
class gPixmap: public iObject
{
virtual ~gPixmap();
eSize size() const { return eSize(surface->x, surface->y); }
-
+ inline bool needClut() const { return surface && surface->bpp <= 8; }
private:
+ bool must_delete_surface;
#ifndef SWIG
friend class gDC;
void fill(const gRegion &clip, const gColor &color);
+ void fill(const gRegion &clip, const gRGB &color);
void blit(const gPixmap &src, ePoint pos, const gRegion &clip, int flags=0);