os_graphics.hpp
Go to the documentation of this file.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/position.hpp"
00030 #include "../utils/pointer.hpp"
00031
00032 class GenericBitmap;
00033 class OSWindow;
00034
00035
00036
00037 class OSGraphics: public SkinObject, public Box
00038 {
00039 public:
00040 virtual ~OSGraphics() { }
00041
00042
00043 virtual void clear( int xDest = 0, int yDest = 0,
00044 int width = -1, int height = -1) = 0;
00045
00046
00047 virtual void drawGraphics( const OSGraphics &rGraphics, int xSrc = 0,
00048 int ySrc = 0, int xDest = 0, int yDest = 0,
00049 int width = -1, int height = -1 ) = 0;
00050
00051
00052 virtual void drawBitmap( const GenericBitmap &rBitmap, int xSrc = 0,
00053 int ySrc = 0, int xDest = 0, int yDest = 0,
00054 int width = -1, int height = -1,
00055 bool blend = false) = 0;
00056
00057
00058 virtual void fillRect( int left, int top, int width, int height,
00059 uint32_t color ) = 0;
00060
00061
00062 virtual void drawRect( int left, int top, int width, int height,
00063 uint32_t color ) = 0;
00064
00065
00066
00067 virtual void applyMaskToWindow( OSWindow &rWindow ) = 0;
00068
00069
00070 virtual void copyToWindow( OSWindow &rWindow, int xSrc,
00071 int ySrc, int width, int height,
00072 int xDest, int yDest ) = 0;
00073
00074
00075 virtual bool hit( int x, int y ) const = 0;
00076
00077 protected:
00078 OSGraphics( intf_thread_t *pIntf ): SkinObject( pIntf ) { }
00079 };
00080
00081 typedef CountedPtr<OSGraphics> OSGraphicsPtr;
00082
00083 #endif