diff options
-rw-r--r-- | include/glshape.h | 4 | ||||
-rw-r--r-- | include/mcolor.h | 1 | ||||
-rw-r--r-- | include/shape.h | 8 | ||||
-rw-r--r-- | include/sprite.h | 1 | ||||
-rw-r--r-- | lib/font.cc | 40 | ||||
-rw-r--r-- | lib/glshape.cc | 27 | ||||
-rw-r--r-- | lib/glsprite.cc | 8 | ||||
-rw-r--r-- | lib/mcolor.cc | 8 | ||||
-rw-r--r-- | lib/shape.cc | 161 | ||||
-rw-r--r-- | lib/sprite.cc | 41 | ||||
-rw-r--r-- | src/test.cc | 23 |
11 files changed, 144 insertions, 178 deletions
diff --git a/include/glshape.h b/include/glshape.h index bca4410..e3654f5 100644 --- a/include/glshape.h +++ b/include/glshape.h @@ -10,9 +10,13 @@ namespace mogltk { class glshape : public shape { public: + virtual void pixel(int x, int y, ColorP = WHITE); virtual void box(int x1, int y1, int x2, int y2, ColorP = 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 box(int x1, int y1, int x2, int y2, ColorP, ColorP, ColorP, ColorP); + virtual void obox(int x1, int y1, int x2, int y2, ColorP, ColorP, ColorP, ColorP); + virtual void hline(int x1, int x2, int y, ColorP, ColorP); + virtual void vline(int x, int y1, int y2, ColorP, ColorP); virtual void tbox(texture *, int x1, int y1, int x2, int y2, int tx = 0, int ty = 0, double = 1.0, ColorP = WHITE); virtual void tbox(texture *, int x1, int y1, int x2, int y2, int tx1, int ty1, int tx2, int ty2, ColorP = WHITE); virtual void tbox(texture *, int x1, int y1, int x2, int y2, ColorP, ColorP, ColorP, ColorP, int tx = 0, int ty = 0, double = 1.0); diff --git a/include/mcolor.h b/include/mcolor.h index bbad479..88ca27f 100644 --- a/include/mcolor.h +++ b/include/mcolor.h @@ -10,6 +10,7 @@ namespace mogltk { ColorP(const Color &); ColorP(Uint8, Uint8, Uint8, Uint8); void Bind(); + Uint32 toSDL(SDL_PixelFormat * = 0); static Color Min; static Color Max; Color c; diff --git a/include/shape.h b/include/shape.h index 1aa8168..2c7addf 100644 --- a/include/shape.h +++ b/include/shape.h @@ -17,20 +17,12 @@ namespace mogltk { virtual void pixel(int x, int y, ColorP = WHITE); virtual void box(int x1, int y1, int x2, int y2, ColorP = 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 box(int x1, int y1, int x2, int y2, ColorP, ColorP, ColorP, ColorP); virtual void obox(int x1, int y1, int x2, int y2, ColorP = WHITE); virtual void obox3d(int x1, int y1, int x2, int y2, ColorP = DOS_HIGH_WHITE, ColorP = DOS_GRAY, bool = false); - virtual void obox(int x1, int y1, int x2, int y2, ColorP, ColorP, ColorP, ColorP); - virtual void tbox(texture *, int x1, int y1, int x2, int y2, int tx = 0, int ty = 0, double = 1.0, ColorP = WHITE); - virtual void tbox(texture *, int x1, int y1, int x2, int y2, int tx1, int ty1, int tx2, int ty2, ColorP = WHITE); - virtual void tbox(texture *, int x1, int y1, int x2, int y2, ColorP, ColorP, ColorP, ColorP, int tx = 0, int ty = 0, double = 1.0); - virtual void tbox(texture *, int x1, int y1, int x2, int y2, ColorP, ColorP, ColorP, ColorP, int tx1, int ty1, int tx2, int ty2); virtual void hline(int x1, int x2, int y, ColorP = WHITE); virtual void hline3d(int x1, int x2, int y, ColorP = DOS_HIGH_WHITE, ColorP = DOS_GRAY, bool = false); - virtual void hline(int x1, int x2, int y, ColorP, ColorP); virtual void vline(int x, int y1, int y2, ColorP = WHITE); virtual void vline3d(int x, int y1, int y2, ColorP = DOS_HIGH_WHITE, ColorP = DOS_GRAY, bool = false); - virtual void vline(int x, int y1, int y2, ColorP, ColorP); virtual void window(int x1, int y1, int x2, int y2, const String & title = "", ColorP titlecolor = DOS_HIGH_WHITE, diff --git a/include/sprite.h b/include/sprite.h index dcc4dda..c9e6653 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -32,6 +32,7 @@ namespace mogltk { const TexList * GetNext() const; TexList * GetNext(); void Bind() const; + SDL_Surface * GetSurface(); private: texture * tex; static TexList * header; diff --git a/lib/font.cc b/lib/font.cc index 9e77ae2..93588bf 100644 --- a/lib/font.cc +++ b/lib/font.cc @@ -1,10 +1,12 @@ #include <stdarg.h> +#include <SDL.h> +#include <Input.h> #include "base.h" #include "font.h" -#include "Input.h" #ifdef HAVE_CONFIG_H #include "config.h" #endif +#include "engine.h" Uint8 prescale2[4] = { 0, 85, 170, 255 }, prescale3[8] = { 0, 36, 72, 109, 145, 182, 218, 255 }; @@ -163,16 +165,16 @@ mogltk::font::~font() { } void mogltk::font::drawentry(Uint16 entry, int x, int y, ColorP c) { - bool was2D; + bool locked = false; int trueentry, cx, cy, px, py; + SDL_Rect src, dst; - return; -#if 0 - was2D = mogltk::glbase::is2D(); - - if (!was2D) - mogltk::glbase::Enter2DMode(); - + if (SDL_MUSTLOCK(mogltk::engine::base_o->getsurface())) { + locked = true; + SDL_LockSurface(mogltk::engine::base_o->getsurface()); + } + +#if 0 if (shadow) { int os = shadow; shadow = 0; @@ -181,27 +183,23 @@ void mogltk::font::drawentry(Uint16 entry, int x, int y, ColorP c) { shadow = os; } - +#endif + y -= base; - Bind(entry / nbcT); - c.Bind(); trueentry = entry % nbcT; cx = trueentry % nbcU; cy = trueentry / nbcU; px = cx * maxX; py = cy * maxY; - glBegin(GL_TRIANGLE_STRIP); - glTexCoord2i(px , py ); glVertex2i(x , y ); - glTexCoord2i(px + maxX - 1, py ); glVertex2i(x + maxX - 1, y ); - glTexCoord2i(px , py + maxY - 1); glVertex2i(x , y + maxY - 1); - glTexCoord2i(px + maxX - 1, py + maxY - 1); glVertex2i(x + maxX - 1, y + maxY - 1); - glEnd(); + src.x = px; src.y = py; src.w = maxX; src.h = maxY; + dst.x = x; dst.y = y; dst.w = maxX; dst.h = maxY; - if (!was2D) - mogltk::glbase::Leave2DMode(); -#endif + SDL_BlitSurface(fonttex[entry / nbcT]->GetSurface(), &src, mogltk::engine::base_o->getsurface(), &dst); + + if (locked) + SDL_UnlockSurface(mogltk::engine::base_o->getsurface()); } void mogltk::font::putcursor(int x, int y) { diff --git a/lib/glshape.cc b/lib/glshape.cc index c38d062..0fdaef0 100644 --- a/lib/glshape.cc +++ b/lib/glshape.cc @@ -36,8 +36,31 @@ void mogltk::glshape::box(int x1, int y1, int x2, int y2, ColorP c1, ColorP c2, LEAVE; } +void mogltk::glshape::hline(int x1, int x2, int y, ColorP c1, ColorP c2) { + box(x1, y, x2, y, c1, c2, c1, c2); +} + +void mogltk::glshape::vline(int x, int y1, int y2, ColorP c1, ColorP c2) { + box(x, y1, x, y2, c1, c1, c2, c2); +} + +void mogltk::glshape::pixel(int x, int y, ColorP c) { + box(x, y, x, y, c); +} + +void mogltk::glshape::obox(int x1, int y1, int x2, int y2, ColorP c1, ColorP c2, ColorP c3, ColorP c4) { + ENTER; + + hline(x1, x2, y1, c1, c2); + hline(x1, x2, y2, c3, c4); + vline(x1, y1, y2, c1, c3); + vline(x2, y1, y2, c2, c4); + + LEAVE; +} + void mogltk::glshape::tbox(mogltk::texture * t, int x1, int y1, int x2, int y2, int tx, int ty, double f, ColorP c) { - shape::tbox(t, x1, y1, x2, y2, tx, ty, f, c); + tbox(t, x1, y1, x2, y2, tx, ty, tx + (int) ((x2 - x1) * f), ty + (int) ((y2 - y1) * f), c); } void mogltk::glshape::tbox(mogltk::texture * t, int x1, int y1, int x2, int y2, int tx1, int ty1, int tx2, int ty2, ColorP c) { ENTERT; @@ -55,7 +78,7 @@ void mogltk::glshape::tbox(mogltk::texture * t, int x1, int y1, int x2, int y2, } void mogltk::glshape::tbox(mogltk::texture * t, int x1, int y1, int x2, int y2, ColorP c1, ColorP c2, ColorP c3, ColorP c4, int tx, int ty, double f) { - shape::tbox(t, x1, y1, x2, y2, c1, c2, c3, c4, tx, ty, f); + tbox(t, x1, y1, x2, y2, c1, c2, c3, c4, tx, ty, tx + (int) ((x2 - x1) * f), ty + (int) ((y2 - y1) * f)); } void mogltk::glshape::tbox(mogltk::texture * t, int x1, int y1, int x2, int y2, ColorP c1, ColorP c2, ColorP c3, ColorP c4, int tx1, int ty1, int tx2, int ty2) { diff --git a/lib/glsprite.cc b/lib/glsprite.cc index 68350c9..01faada 100644 --- a/lib/glsprite.cc +++ b/lib/glsprite.cc @@ -26,10 +26,10 @@ void mogltk::glSprite::draw(int dx, int dy, ColorP c) { Bind(); glBegin(GL_TRIANGLE_STRIP); - glTexCoord2i(GetPX() , GetPY() ); glVertex2i(dx , dy ); - glTexCoord2i(GetPX() + GetSX() - 1, GetPY() ); glVertex2i(dx + GetSX() - 1, dy ); - glTexCoord2i(GetPX() , GetPY() + GetSY() - 1); glVertex2i(dx , dy + GetSY() - 1); - glTexCoord2i(GetPX() + GetSX() - 1, GetPY() + GetSY() - 1); glVertex2i(dx + GetSX() - 1, dy + GetSY() - 1); + glTexCoord2i(GetPX() , GetPY() ); glVertex2i(dx , dy ); + glTexCoord2i(GetPX() + GetSX(), GetPY() ); glVertex2i(dx + GetSX(), dy ); + glTexCoord2i(GetPX() , GetPY() + GetSY()); glVertex2i(dx , dy + GetSY()); + glTexCoord2i(GetPX() + GetSX(), GetPY() + GetSY()); glVertex2i(dx + GetSX(), dy + GetSY()); glEnd(); if (!was2D) diff --git a/lib/mcolor.cc b/lib/mcolor.cc index 04e0467..806a812 100644 --- a/lib/mcolor.cc +++ b/lib/mcolor.cc @@ -1,5 +1,6 @@ #include <SDL.h> #include <SDL_opengl.h> +#include "engine.h" #include "mcolor.h" Color mogltk::ColorP::Min(0, 0, 0, 0), mogltk::ColorP::Max = WHITE; @@ -14,3 +15,10 @@ void mogltk::ColorP::Bind() { glColor4d((double) MIN(MAX(c.R, Min.R), Max.R) / 255, (double) MIN(MAX(c.G, Min.G), Max.G) / 255, (double) MIN(MAX(c.B, Min.B), Max.B) / 255, (double) MIN(MAX(c.A, Min.A), Max.A) / 255); } +Uint32 mogltk::ColorP::toSDL(SDL_PixelFormat * f) { + if (!f) { + f = mogltk::engine::base_o->getsurface()->format; + } + + return SDL_MapRGBA(f, MIN(MAX(c.R, Min.R), Max.R), MIN(MAX(c.G, Min.G), Max.G), MIN(MAX(c.B, Min.B), Max.B), MIN(MAX(c.A, Min.A), Max.A)); +} diff --git a/lib/shape.cc b/lib/shape.cc index 9386e41..e586d6d 100644 --- a/lib/shape.cc +++ b/lib/shape.cc @@ -9,34 +9,14 @@ #define LEAVE Leave(flag) void mogltk::shape::box(int x1, int y1, int x2, int y2, ColorP c) { -#if 0 ENTER; - c.Bind(); - glBegin(GL_TRIANGLE_STRIP); - glVertex2i(x1, y1); - glVertex2i(x2 + 1, y1); - glVertex2i(x1, y2 + 1); - glVertex2i(x2 + 1, y2 + 1); - glEnd(); + SDL_Rect rect; - LEAVE; -#endif -} - -void mogltk::shape::box(int x1, int y1, int x2, int y2, ColorP c1, ColorP c2, ColorP c3, ColorP c4) { -#if 0 - ENTER; - - glBegin(GL_TRIANGLE_STRIP); - c1.Bind(); glVertex2i(x1, y1); - c2.Bind(); glVertex2i(x2 + 1, y1); - c3.Bind(); glVertex2i(x1, y2 + 1); - c4.Bind(); glVertex2i(x2 + 1, y2 + 1); - glEnd(); + rect.x = x1; rect.y = y1; rect.w = x2 - x1 + 1; rect.h = y2 - y1 + 1; + SDL_FillRect(mogltk::engine::base_o->getsurface(), &rect, c.toSDL()); LEAVE; -#endif } void mogltk::shape::hline(int x1, int x2, int y, ColorP c) { @@ -75,16 +55,41 @@ void mogltk::shape::vline3d(int x, int y1, int y2, ColorP shade1, ColorP shade2, LEAVE; } -void mogltk::shape::hline(int x1, int x2, int y, ColorP c1, ColorP c2) { - box(x1, y, x2, y, c1, c2, c1, c2); -} - -void mogltk::shape::vline(int x, int y1, int y2, ColorP c1, ColorP c2) { - box(x, y1, x, y2, c1, c1, c2, c2); -} - void mogltk::shape::pixel(int x, int y, ColorP c) { - box(x, y, x, y, c); + ENTER; + + SDL_Surface * surface = mogltk::engine::base_o->getsurface(); + int bpp = surface->format->BytesPerPixel; + Uint8 *p = (Uint8 *)surface->pixels + y * surface->pitch + x * bpp; + Uint32 pixel = c.toSDL(); + + switch(bpp) { + case 1: + *p = pixel; + break; + + case 2: + *(Uint16 *)p = pixel; + break; + + case 3: + if(SDL_BYTEORDER == SDL_BIG_ENDIAN) { + p[0] = (pixel >> 16) & 0xff; + p[1] = (pixel >> 8) & 0xff; + p[2] = pixel & 0xff; + } else { + p[0] = pixel & 0xff; + p[1] = (pixel >> 8) & 0xff; + p[2] = (pixel >> 16) & 0xff; + } + break; + + case 4: + *(Uint32 *)p = pixel; + break; + } + + LEAVE; } void mogltk::shape::obox(int x1, int y1, int x2, int y2, ColorP c) { @@ -98,98 +103,24 @@ void mogltk::shape::obox(int x1, int y1, int x2, int y2, ColorP c) { LEAVE; } -void mogltk::shape::obox(int x1, int y1, int x2, int y2, ColorP c1, ColorP c2, ColorP c3, ColorP c4) { - ENTER; - - hline(x1, x2, y1, c1, c2); - hline(x1, x2, y2, c3, c4); - vline(x1, y1, y2, c1, c3); - vline(x2, y1, y2, c2, c4); - - LEAVE; -} - -void mogltk::shape::tbox(mogltk::texture * t, int x1, int y1, int x2, int y2, int tx, int ty, double f, ColorP c) { - tbox(t, x1, y1, x2, y2, tx, ty, tx + (int) ((x2 - x1) * f), ty + (int) ((y2 - y1) * f), c); -} - -void mogltk::shape::tbox(mogltk::texture * t, int x1, int y1, int x2, int y2, ColorP c1, ColorP c2, ColorP c3, ColorP c4, int tx, int ty, double f) { - tbox(t, x1, y1, x2, y2, c1, c2, c3, c4, tx, ty, tx + (int) ((x2 - x1) * f), ty + (int) ((y2 - y1) * f)); -} - -void mogltk::shape::tbox(mogltk::texture * t, int x1, int y1, int x2, int y2, int tx1, int ty1, int tx2, int ty2, ColorP c) { -#if 0 - ENTERT; - - c.Bind(); - t->Bind(); - glBegin(GL_TRIANGLE_STRIP); - glTexCoord2i(tx1, ty1); glVertex2i(x1, y1); - glTexCoord2i(tx2 + 1, ty1); glVertex2i(x2 + 1, y1); - glTexCoord2i(tx1, ty2 + 1); glVertex2i(x1, y2 + 1); - glTexCoord2i(tx2 + 1, ty2 + 1); glVertex2i(x2 + 1, y2 + 1); - glEnd(); - - LEAVE; -#endif -} - -void mogltk::shape::tbox(mogltk::texture * t, int x1, int y1, int x2, int y2, ColorP c1, ColorP c2, ColorP c3, ColorP c4, int tx1, int ty1, int tx2, int ty2) { -#if 0 - ENTERT; - - t->Bind(); - glBegin(GL_TRIANGLE_STRIP); - c1.Bind(); glTexCoord2i(tx1, ty1); glVertex2i(x1, y1); - c2.Bind(); glTexCoord2i(tx2 + 1, ty1); glVertex2i(x2 + 1, y1); - c3.Bind(); glTexCoord2i(tx1, ty2 + 1); glVertex2i(x1, y2 + 1); - c4.Bind(); glTexCoord2i(tx2 + 1, ty2 + 1); glVertex2i(x2 + 1, y2 + 1); - glEnd(); - - LEAVE; -#endif -} - void mogltk::shape::box3d(int x1, int y1, int x2, int y2, ColorP face, ColorP shade1, ColorP shade2, int depth, bool bevel) { -#if 0 ENTER; - if (!bevel) { - shade1.Bind(); - } else { - shade2.Bind(); + int i; + + for (i = 0; i < depth; i++) { + hline(x1 + i, x2 - i, y1 + i, bevel ? shade2 : shade1); + vline(x1 + i, y1 + i, y2 - i, bevel ? shade2 : shade1); } - glBegin(GL_TRIANGLE_FAN); - glVertex2i(x1, y1); - glVertex2i(x2 + 1, y1); - glVertex2i(x2 + 1 - depth, y1 + depth); - glVertex2i(x1 + depth, y2 + 1 - depth); - glVertex2i(x1, y2 + 1); - glEnd(); - if (!bevel) { - shade2.Bind(); - } else { - shade1.Bind(); + for (i = 0; i < depth; i++) { + hline(x1 + i, x2 - i, y2 - i, bevel ? shade1 : shade2); + vline(x2 - i, y1 + i, y2 - i, bevel ? shade1 : shade2); } - glBegin(GL_TRIANGLE_FAN); - glVertex2i(x2 + 1, y2 + 1); - glVertex2i(x1, y2 + 1); - glVertex2i(x1 + depth, y2 + 1 - depth); - glVertex2i(x2 + 1 - depth, y1 + depth); - glVertex2i(x2 + 1, y1); - glEnd(); - face.Bind(); - glBegin(GL_TRIANGLE_STRIP); - glVertex2i(x1 + depth, y1 + depth); - glVertex2i(x2 + 1 - depth, y1 + depth); - glVertex2i(x1 + depth, y2 + 1 - depth); - glVertex2i(x2 + 1 - depth, y2 + 1 - depth); - glEnd(); + box(x1 + depth, y1 + depth, x2 - depth, y2 - depth, face); LEAVE; -#endif } void mogltk::shape::obox3d(int x1, int y1, int x2, int y2, ColorP shade1, ColorP shade2, bool bevel) { diff --git a/lib/sprite.cc b/lib/sprite.cc index 60f944c..74ea522 100644 --- a/lib/sprite.cc +++ b/lib/sprite.cc @@ -1,5 +1,6 @@ #include <SDL.h> -#include "glbase.h" +#include "engine.h" +#include "base.h" #include "sprite.h" #define TEXSIZE 256 @@ -107,6 +108,11 @@ void mogltk::Sprite::TexList::Bind() const { tex->Bind(); } +SDL_Surface * mogltk::Sprite::TexList::GetSurface() { + return tex->GetSurface(); +} + + bool mogltk::Sprite::intersect(int x1, int y1, int x2, int y2) const { int sx1 = posx, sy1 = posy, sx2 = posx + sx, sy2 = posy + sy; @@ -124,27 +130,24 @@ bool mogltk::Sprite::canfit(int x1, int y1, int x2, int y2) const { } void mogltk::Sprite::draw(int dx, int dy, ColorP c) { -#if 0 - bool was2D; + bool locked = false; + + if (SDL_MUSTLOCK(mogltk::engine::base_o->getsurface())) { + locked = true; + SDL_LockSurface(mogltk::engine::base_o->getsurface()); + } - was2D = mogltk::glbase::is2D(); + SDL_Rect src, dst; - if (!was2D) - mogltk::glbase::Enter2DMode(); - - c.Bind(); + src.x = posx; src.y = posy; src.w = sx; src.h = sy; + dst.x = dx; dst.y = dy; dst.w = sx; dst.h = sy; - tlist->Bind(); - glBegin(GL_TRIANGLE_STRIP); - glTexCoord2i(posx , posy ); glVertex2i(dx , dy ); - glTexCoord2i(posx + sx - 1, posy ); glVertex2i(dx + sx - 1, dy ); - glTexCoord2i(posx , posy + sy - 1); glVertex2i(dx , dy + sy - 1); - glTexCoord2i(posx + sx - 1, posy + sy - 1); glVertex2i(dx + sx - 1, dy + sy - 1); - glEnd(); - - if (!was2D) - mogltk::glbase::Leave2DMode(); -#endif + printm(M_INFO, "Drawing sprite at %i %i\n", dx, dy); + + SDL_BlitSurface(tlist->GetSurface(), &src, mogltk::engine::base_o->getsurface(), &dst); + + if (locked) + SDL_UnlockSurface(mogltk::engine::base_o->getsurface()); } void mogltk::Sprite::Bind() { diff --git a/src/test.cc b/src/test.cc index 645e033..5bdb0ce 100644 --- a/src/test.cc +++ b/src/test.cc @@ -16,11 +16,16 @@ CODE_BEGINS virtual int startup() throw (GeneralException) { int sx1, sx2, sy1, sy2; double t = 0; - verbosity = M_INFO; - mogltk::glbase * gl = new mogltk::glbase(); - mogltk::glshape * sh = new mogltk::glshape(); +// verbosity = M_INFO; + new Archive("datas.paq"); - mogltk::glfont * font = new mogltk::glfont(&Input("font-2.bin")); + +// mogltk::glbase * gl = new mogltk::glbase(); +// mogltk::glshape * sh = new mogltk::glshape(); +// mogltk::glfont * font = new mogltk::glfont(&Input("font-2.bin")); + mogltk::base * gl = new mogltk::base(); + mogltk::shape * sh = new mogltk::shape(); + mogltk::font * font = new mogltk::font(&Input("font-2.bin")); mogltk::Sprite * s = new mogltk::Sprite(&Input("cursor.rgba"), 25, 25); mogltk::engine::setcursorvisible(true); @@ -37,12 +42,12 @@ virtual int startup() throw (GeneralException) { sy1 = 240 + 240 * sin(0.692 * t + 8.21); sy2 = 240 + 240 * sin(1.029 * t + 2.42); - gl->Enter2DMode(); +// gl->Enter2DMode(); - sh->tbox(mytex, 50, 50, 561, 561, BLACK, RED, LIME, BLUE); - sh->box(400, 100, 450, 150, BLACK, RED, LIME, BLUE); +// sh->tbox(mytex, 50, 50, 561, 561, BLACK, RED, LIME, BLUE); +// sh->box(400, 100, 450, 150, BLACK, RED, LIME, BLUE); - sh->box(5, 5, 150, 80, CORNFLOWERBLUE, DEEPSKYBLUE, MIDNIGHTBLUE, NAVY); +// sh->box(5, 5, 150, 80, CORNFLOWERBLUE, DEEPSKYBLUE, MIDNIGHTBLUE, NAVY); font->setshadow(1); font->putcursor(10, 30); font->setcolor(WHITE); @@ -68,7 +73,7 @@ virtual int startup() throw (GeneralException) { s->draw(mogltk::engine::mouseX() - 8, mogltk::engine::mouseY() - 6); - gl->Leave2DMode(); +// gl->Leave2DMode(); gl->Flip(); |