diff options
author | pixel <pixel> | 2003-10-20 16:21:24 +0000 |
---|---|---|
committer | pixel <pixel> | 2003-10-20 16:21:24 +0000 |
commit | d7575bef1e530eac004c973b0384a12561f0bb8b (patch) | |
tree | 9708064eeaa48be1dc4e871cc9aa0241ca32c15f /lib/glsprite.cc | |
parent | 5b14b34d6e11611fb395e3cffaf888bcca0f3661 (diff) |
Commit of the month
Diffstat (limited to 'lib/glsprite.cc')
-rw-r--r-- | lib/glsprite.cc | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/lib/glsprite.cc b/lib/glsprite.cc index 18df7eb..f60c3a2 100644 --- a/lib/glsprite.cc +++ b/lib/glsprite.cc @@ -14,28 +14,38 @@ mogltk::glSprite::glSprite(Uint8 * p, int asx, int asy) : Sprite(p, asx, asy) { mogltk::glSprite::~glSprite() { } -void mogltk::glSprite::draw(int dx, int dy, ColorP c) { +void mogltk::glSprite::draw(int dx, int dy, ColorP c, float sx, float sy) { bool was2D; - was2D = mogltk::engine::glbase_o->is2D(); - - if (!was2D) + if (!(was2D = mogltk::engine::glbase_o->is2D())) mogltk::engine::glbase_o->Enter2DMode(); c.Bind(); Bind(); glBegin(GL_TRIANGLE_STRIP); - 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()); + glTexCoord2i(GetPX() , GetPY() ); glVertex2i(dx , dy ); + glTexCoord2i(GetPX() + GetSX(), GetPY() ); glVertex2i(dx + GetSX() * sx, dy ); + glTexCoord2i(GetPX() , GetPY() + GetSY()); glVertex2i(dx , dy + GetSY() * sy); + glTexCoord2i(GetPX() + GetSX(), GetPY() + GetSY()); glVertex2i(dx + GetSX() * sx, dy + GetSY() * sy); glEnd(); if (!was2D) mogltk::engine::glbase_o->Leave2DMode(); } +void mogltk::glSprite::bindcorner(float fx, float fy) { + if (fx > 1) + fx = 1; + if (fy > 1) + fy = 1; + if (fx < 0) + fx = 0; + if (fy < 0) + fy = 0; + glTexCoord2i(GetPX() + fx * GetSX(), GetPY() + fy * GetSY()); +} + void mogltk::glSprite::drawrotate(int cx, int cy, double a, ColorP c) { bool was2D; |