- void Init();
- void Init(SurfaceID sid);
- void InitPixMap(int width, int height, Surface *surface_);
-
- void Release();
- bool Initialised();
- void PenColour(ColourAllocated fore);
- int LogPixelsY();
- int DeviceHeightFont(int points);
- void MoveTo(int x_, int y_);
- void LineTo(int x_, int y_);
- void Polygon(Point *pts, int npts, ColourAllocated fore, ColourAllocated back);
- void RectangleDraw(PRectangle rc, ColourAllocated fore, ColourAllocated back);
- void FillRectangle(PRectangle rc, ColourAllocated back);
- void FillRectangle(PRectangle rc, Surface &surfacePattern);
- void RoundedRectangle(PRectangle rc, ColourAllocated fore, ColourAllocated back);
- void Ellipse(PRectangle rc, ColourAllocated fore, ColourAllocated back);
- void Copy(PRectangle rc, Point from, Surface &surfaceSource);
-
- void DrawTextNoClip(PRectangle rc, Font &font_, int ybase, const char *s, int len, ColourAllocated fore, ColourAllocated back);
- void DrawTextClipped(PRectangle rc, Font &font_, int ybase, const char *s, int len, ColourAllocated fore, ColourAllocated back);
- void MeasureWidths(Font &font_, const char *s, int len, int *positions);
- int WidthText(Font &font_, const char *s, int len);
- int WidthChar(Font &font_, char ch);
- int Ascent(Font &font_);
- int Descent(Font &font_);
- int InternalLeading(Font &font_);
- int ExternalLeading(Font &font_);
- int Height(Font &font_);
- int AverageCharWidth(Font &font_);
-
- int SetPalette(Palette *pal, bool inBackGround);
- void SetClip(PRectangle rc);
- void FlushCachedState();
-
- void SetUnicodeMode(bool unicodeMode_);
+ virtual void Init(WindowID wid);
+ virtual void Init(SurfaceID sid, WindowID wid);
+ virtual void InitPixMap(int width, int height, Surface *surface_, WindowID wid);
+
+ virtual void Release();
+ virtual bool Initialised();
+ virtual void PenColour(ColourAllocated fore);
+ virtual int LogPixelsY();
+ virtual int DeviceHeightFont(int points);
+ virtual void MoveTo(int x_, int y_);
+ virtual void LineTo(int x_, int y_);
+ virtual void Polygon(Point *pts, int npts, ColourAllocated fore, ColourAllocated back);
+ virtual void RectangleDraw(PRectangle rc, ColourAllocated fore, ColourAllocated back);
+ virtual void FillRectangle(PRectangle rc, ColourAllocated back);
+ virtual void FillRectangle(PRectangle rc, Surface &surfacePattern);
+ virtual void RoundedRectangle(PRectangle rc, ColourAllocated fore, ColourAllocated back);
+ virtual void Ellipse(PRectangle rc, ColourAllocated fore, ColourAllocated back);
+ virtual void Copy(PRectangle rc, Point from, Surface &surfaceSource);
+
+ virtual void DrawTextNoClip(PRectangle rc, Font &font_, int ybase, const char *s, int len, ColourAllocated fore, ColourAllocated back);
+ virtual void DrawTextClipped(PRectangle rc, Font &font_, int ybase, const char *s, int len, ColourAllocated fore, ColourAllocated back);
+ virtual void DrawTextTransparent(PRectangle rc, Font &font_, int ybase, const char *s, int len, ColourAllocated fore);
+ virtual void MeasureWidths(Font &font_, const char *s, int len, int *positions);
+ virtual int WidthText(Font &font_, const char *s, int len);
+ virtual int WidthChar(Font &font_, char ch);
+ virtual int Ascent(Font &font_);
+ virtual int Descent(Font &font_);
+ virtual int InternalLeading(Font &font_);
+ virtual int ExternalLeading(Font &font_);
+ virtual int Height(Font &font_);
+ virtual int AverageCharWidth(Font &font_);
+
+ virtual int SetPalette(Palette *pal, bool inBackGround);
+ virtual void SetClip(PRectangle rc);
+ virtual void FlushCachedState();
+
+ virtual void SetUnicodeMode(bool unicodeMode_);
+ virtual void SetDBCSMode(int codePage);