00001 00016 #ifndef _vuDrawTools_h_ 00017 #define _vuDrawTools_h_ 00018 00019 //to include this, special WXdefines have to be made in the makefile 00020 //this header is also used in the Volume subtree where we don't have 00021 //such defines --> no GUI specific includes 00022 //#include <wx/dc.h> 00023 00024 #include "vuSimpleTypes.h" 00025 00026 #include "vuThread.h" 00027 00030 00031 00046 class vuDrawTools 00047 { 00048 public: 00050 00052 static void setDC(void* pDC); //pointer to wxDC 00054 static void quitDC(); 00056 00057 static void setColour(byte r, byte g, byte b); 00059 00060 static void setBGColour(byte r, byte g, byte b); 00062 static void setPixel(int x, int y); 00064 00068 static void blit(const byte *buf, int sx, int sy, int px, int py); 00069 static void blit2(const byte *buf, int sx, int sy, int px, int py); 00070 static void partblit (const byte *buf, int sx, int sy, int length); 00071 static void finishpartblit (); 00072 static void setImgWidthHeight (int sx, int sy); 00073 static unsigned char * getData (); 00074 // static void blit(const byte *buf, int ammount_copied); 00076 static void clearBG(); 00078 00081 static void clearBGWithoutRect(int ox,int oy,int sx,int sy); 00082 }; 00083 /* 00084 class vuDrawToolsns 00085 { 00086 public: 00088 ! \param pDC is a pointer to a wxDC but because there is no 00089 association with wxWindows here, we have to cast it to void* 00090 void setDC(void* pDC); //pointer to wxDC 00092 void quitDC(); 00094 ! \param r,g,b red, green, blue values from 0 to 255 00095 static void setColour(byte r, byte g, byte b); 00097 ! \param r,g,b red, green, blue values from 0 to 255 00098 void setBGColour(byte r, byte g, byte b); 00100 void setPixel(int x, int y); 00102 ! As mentioned above. This function needs to be improved. Perhaps 00103 we do not allow an external framebuffer but instead give a handle 00104 to an internal one. 00105 00106 void blit(const byte *buf, int sx, int sy, int px, int py); 00107 void blit2(const byte *buf, int sx, int sy, int px, int py); 00108 void partblit (const byte *buf, int sx, int sy, int length); 00109 void finishpartblit (); 00110 void setImgWidthHeight (int sx, int sy); 00111 unsigned char * getData (); 00112 // static void blit(const byte *buf, int ammount_copied); 00114 void clearBG(); 00116 ! ...but doesn't work and will be obsolete with an improved 00117 version of vuDrawTools 00118 00119 void clearBGWithoutRect(int ox,int oy,int sx,int sy); 00120 00121 private: 00122 void* cDCns; 00123 void* imgns; 00124 00125 vuMutex DrawToolMutexns; 00126 };*/ 00127 00128 #endif 00129