diff --git a/include/ZE_ZImage.h b/include/ZE_ZImage.h index 9e7fbee..c1ea002 100644 --- a/include/ZE_ZImage.h +++ b/include/ZE_ZImage.h @@ -13,7 +13,7 @@ \brief Definition file for ZImage. Definition file for ZImage, the OpenGL version of the ZImage class for ZEngine. -
$Id: ZE_ZImage.h,v 1.21 2003/08/02 01:18:45 cozman Exp $
+
$Id: ZE_ZImage.h,v 1.22 2003/08/07 05:54:45 cozman Exp $
\author James Turk **/ @@ -51,9 +51,9 @@ class ZImage //! Texture ID for OpenGL. unsigned int rTexID; //! Current draw width of Texture. - unsigned int rWidth; + GLfloat rWidth; //! Current draw height of Texture. - unsigned int rHeight; + GLfloat rHeight; #endif //GFX_BACKEND == OGL public: @@ -271,7 +271,7 @@ class ZImage \param width New width to stretch image to. \param height New height to stretch image to. **/ - void Resize(unsigned int width, unsigned int height); + void Resize(float width, float height); /*! \brief OpenGL related bind call. @@ -301,6 +301,25 @@ class ZImage **/ SDL_Surface *Surface() const; +#if (GFX_BACKEND == ZE_OGL) + + /*! + \brief Get Width. + + Get Current Width of Image. + \return Image Width. + **/ + float Width() const; + + /*! + \brief Get Height. + + Get Current Height of Image. + \return Image Height. + **/ + float Height() const; + +#elif (GFX_BACKEND == ZE_SDL) /*! \brief Get Width. @@ -316,6 +335,7 @@ class ZImage \return Image Height. **/ int Height() const; +#endif //GFX_BACKEND /*! \brief Get Alpha component. diff --git a/src/ZE_ZImage.cpp b/src/ZE_ZImage.cpp index d28a342..032423e 100644 --- a/src/ZE_ZImage.cpp +++ b/src/ZE_ZImage.cpp @@ -13,7 +13,7 @@ \brief Source file for ZImage. Implementation of ZImage, the Image class for ZEngine. -
$Id: ZE_ZImage.cpp,v 1.39 2003/08/02 01:18:45 cozman Exp $
+
$Id: ZE_ZImage.cpp,v 1.40 2003/08/07 05:54:45 cozman Exp $
\author James Turk **/ @@ -193,16 +193,7 @@ void ZImage::SetColorKey(Uint8 red, Uint8 green, Uint8 blue) void ZImage::Draw(int x, int y) const { - //source is same as float version, but uses glVertex2i - glColor4ub(255,255,255,rAlpha); - Bind(); - glBegin(GL_TRIANGLE_STRIP); - glTexCoord2f(rTexMinX,rTexMinY); glVertex2i(x,y); - glTexCoord2f(rTexMaxX,rTexMinY); glVertex2i(x+rWidth,y); - glTexCoord2f(rTexMinX,rTexMaxY); glVertex2i(x,y+rHeight); - glTexCoord2f(rTexMaxX,rTexMaxY); glVertex2i(x+rWidth,y+rHeight); - glEnd(); - glColor4ub(255,255,255,255); + Draw(x,y); } void ZImage::Draw(float x, float y) const @@ -267,11 +258,11 @@ void ZImage::Flip(bool horizontal, bool vertical) //stretching and resizing is very inexpensive, done via variables void ZImage::Stretch(float xFactor, float yFactor) { - rWidth = static_cast(xFactor*rWidth); - rHeight = static_cast(yFactor*rHeight); + rWidth = xFactor*rWidth; + rHeight = yFactor*rHeight; } -void ZImage::Resize(unsigned int width, unsigned int height) +void ZImage::Resize(float width, float height) { rWidth = width; rHeight = height; @@ -384,6 +375,20 @@ SDL_Surface* ZImage::Surface() const return rImage; } +#if (GFX_BACKEND == ZE_OGL) + +float ZImage::Width() const +{ + return rWidth; +} + +float ZImage::Height() const +{ + return rHeight; +} + +#elif (GFX_BACKEND == ZE_SDL) + int ZImage::Width() const { return rImage->w; @@ -394,6 +399,8 @@ int ZImage::Height() const return rImage->h; } +#endif //GFX_BACKEND + Uint8 ZImage::Alpha() const { return rAlpha;