From 36527119ae021b317f8405c4cf40251ddcc037b9 Mon Sep 17 00:00:00 2001 From: pixel Date: Wed, 2 Apr 2003 16:49:55 +0000 Subject: Color fix --- include/font.h | 2 ++ include/mcolor.h | 5 ++++- include/shape.h | 18 ++++++++++-------- 3 files changed, 16 insertions(+), 9 deletions(-) (limited to 'include') diff --git a/include/font.h b/include/font.h index 3377ef0..3a1d1c7 100644 --- a/include/font.h +++ b/include/font.h @@ -37,7 +37,9 @@ namespace mogltk { texture * alloctexture(); void Bind(int); private: + void checknbind(int, ColorP); texture ** fonttex; + texture ** fontcache[16]; Uint16 * corresp; }; extern font * SystemFont; diff --git a/include/mcolor.h b/include/mcolor.h index 88ca27f..1202572 100644 --- a/include/mcolor.h +++ b/include/mcolor.h @@ -7,10 +7,13 @@ namespace mogltk { class ColorP : public Base { public: - ColorP(const Color &); + ColorP(const Color & = WHITE); ColorP(Uint8, Uint8, Uint8, Uint8); + bool operator==(const ColorP &); void Bind(); + void Norm(); Uint32 toSDL(SDL_PixelFormat * = 0); + void fromSDL(Uint32, SDL_PixelFormat * = 0); static Color Min; static Color Max; Color c; diff --git a/include/shape.h b/include/shape.h index 720d4a2..07e88ed 100644 --- a/include/shape.h +++ b/include/shape.h @@ -40,18 +40,18 @@ namespace mogltk { int GetX() const; int GetY() const; void walk(fillwalker *); + point * look(int); private: int x; point * next; sline * header; - point * look(int); }; int y; sline * next; + fill * header; sline * look(int); protected: point * pheader; - fill * header; friend class point; }; protected: @@ -63,15 +63,17 @@ namespace mogltk { virtual void pixel(int x, int y, ColorP = WHITE); virtual void circle(int x, int y, int r, ColorP = WHITE); virtual void pcircle(int x, int y, int r, ColorP = WHITE); - virtual void arc(int x, int y, int r, double a1, double a2, ColorP = WHITE); - virtual void arc(int x, int y, int r, int x1, int y1, int x2, int y2, ColorP = WHITE); - virtual void box(int x1, int y1, int x2, int y2, ColorP = WHITE); + virtual fill * fcircle(int x, int y, int r); + virtual void fdraw(fill *, ColorP = WHITE); + virtual void arc(int x, int y, int r, double a1, double a2, ColorP = DOS_WHITE); + virtual void arc(int x, int y, int r, int x1, int y1, int x2, int y2, ColorP = DOS_WHITE); + virtual void box(int x1, int y1, int x2, int y2, ColorP = DOS_WHITE); virtual void box3d(int x1, int y1, int x2, int y2, ColorP = DOS_WHITE, ColorP = DOS_HIGH_WHITE, ColorP = DOS_GRAY, int = 2, bool = false); - virtual void obox(int x1, int y1, int x2, int y2, ColorP = WHITE); + virtual void obox(int x1, int y1, int x2, int y2, ColorP = DOS_WHITE); virtual void obox3d(int x1, int y1, int x2, int y2, ColorP = DOS_HIGH_WHITE, ColorP = DOS_GRAY, bool = false); - virtual void hline(int x1, int x2, int y, ColorP = WHITE); + virtual void hline(int x1, int x2, int y, ColorP = DOS_WHITE); virtual void hline3d(int x1, int x2, int y, ColorP = DOS_HIGH_WHITE, ColorP = DOS_GRAY, bool = false); - virtual void vline(int x, int y1, int y2, ColorP = WHITE); + virtual void vline(int x, int y1, int y2, ColorP = DOS_WHITE); virtual void vline3d(int x, int y1, int y2, ColorP = DOS_HIGH_WHITE, ColorP = DOS_GRAY, bool = false); virtual void window(int x1, int y1, int x2, int y2, const String & title = "", -- cgit v1.2.3