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 #ifndef __CS_IVIDEO_CUSTCURSOR_H__
00020 #define __CS_IVIDEO_CUSTCURSOR_H__
00021
00026 #include "csutil/scf_interface.h"
00027
00028 #include "csgfx/rgbpixel.h"
00029 #include "csgeom/vector2.h"
00030
00031 struct iConfigFile;
00032 struct iGraphics3D;
00033 struct iImage;
00034
00035
00037 #define CSCURSOR_Default "default"
00038
00039 #define CSCURSOR_MouseDown "MouseDown"
00040
00050 struct iCursor : public virtual iBase
00051 {
00052 SCF_INTERFACE (iCursor, 2, 0, 0);
00053
00059 virtual bool Setup (iGraphics3D *, bool ForceEmulation = false) = 0;
00060
00062 virtual bool ParseConfigFile (iConfigFile*) = 0;
00063
00070 virtual void SetCursor (const char *name, iImage *image,
00071 csRGBcolor* keycolor = 0, csVector2 hotspot = csVector2 (0,0),
00072 uint8 transparency = 0, csRGBcolor fg = csRGBcolor (255,255,255),
00073 csRGBcolor bg = csRGBcolor (0,0,0)) = 0;
00074
00076 virtual void SetHotSpot (const char *name, csVector2 hotspot) = 0;
00077
00084 virtual void SetTransparency(const char *name, uint8 transparancy) = 0;
00085
00087 virtual void SetKeyColor (const char *name, csRGBcolor) = 0;
00088
00093 virtual void SetColor (const char *name, csRGBcolor fg, csRGBcolor bg) = 0;
00094
00101 virtual csRef<iImage> GetCursorImage (const char *name) const = 0;
00102
00107 virtual csVector2 GetHotSpot (const char *name) const = 0;
00108
00114 virtual uint8 GetTransparency (const char *name) const = 0;
00115
00121 virtual const csRGBcolor* GetKeyColor (const char *name) const = 0;
00122
00128 virtual csRGBcolor GetFGColor (const char *name) const = 0;
00129
00135 virtual csRGBcolor GetBGColor (const char *name) const = 0;
00136
00138 virtual bool RemoveCursor (const char *name) = 0;
00139
00141 virtual void RemoveAllCursors () = 0;
00142
00150 virtual bool SwitchCursor (const char *name) = 0;
00151 };
00152
00153 #endif //__CS_IVIDEO_CUSTCURSOR_H__