00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef OS_GRAPHICS_HPP
00026 #define OS_GRAPHICS_HPP
00027
00028 #include "skin_common.hpp"
00029 #include "../utils/pointer.hpp"
00030
00031 class GenericBitmap;
00032 class OSWindow;
00033
00034
00036 class OSGraphics: public SkinObject
00037 {
00038 public:
00039 virtual ~OSGraphics() {}
00040
00042 virtual void clear() = 0;
00043
00045 virtual void drawGraphics( const OSGraphics &rGraphics, int xSrc = 0,
00046 int ySrc = 0, int xDest = 0, int yDest = 0,
00047 int width = -1, int height = -1 ) = 0;
00048
00050 virtual void drawBitmap( const GenericBitmap &rBitmap, int xSrc = 0,
00051 int ySrc = 0, int xDest = 0, int yDest = 0,
00052 int width = -1, int height = -1,
00053 bool blend = false) = 0;
00054
00056 virtual void fillRect( int left, int top, int width, int height,
00057 uint32_t color ) = 0;
00058
00060 virtual void drawRect( int left, int top, int width, int height,
00061 uint32_t color ) = 0;
00062
00063
00065 virtual void applyMaskToWindow( OSWindow &rWindow ) = 0;
00066
00068 virtual void copyToWindow( OSWindow &rWindow, int xSrc,
00069 int ySrc, int width, int height,
00070 int xDest, int yDest ) = 0;
00071
00073 virtual bool hit( int x, int y ) const = 0;
00074
00076 virtual int getWidth() const = 0;
00077 virtual int getHeight() const = 0;
00078
00079 protected:
00080 OSGraphics( intf_thread_t *pIntf ): SkinObject( pIntf ) {}
00081 };
00082
00083 typedef CountedPtr<OSGraphics> OSGraphicsPtr;
00084
00085 #endif