summaryrefslogtreecommitdiffstats
path: root/menu_demo/bitmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'menu_demo/bitmap.c')
-rw-r--r--menu_demo/bitmap.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/menu_demo/bitmap.c b/menu_demo/bitmap.c
index 243952a..2d69bc9 100644
--- a/menu_demo/bitmap.c
+++ b/menu_demo/bitmap.c
@@ -3,6 +3,7 @@
#include <windows.h>
#define GL_BGR 0x80E0
#define GL_BGRA 0x80E1
+ #define GL_CLAMP_TO_EDGE 0x812F
#endif
#include <GL/gl.h>
@@ -69,6 +70,8 @@ struct BitmapStruct BitmapLoad(char *filename)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
l_sImage.m_iImageId = texture;
l_sImage.m_iWidth = width;
@@ -87,6 +90,19 @@ struct BitmapStruct BitmapLoad(char *filename)
}
+void BitmapRender(int f_iXPos, int f_iYPos, int f_iWidth, int f_iHeight, int f_iImageId)
+{
+ glBindTexture(GL_TEXTURE_2D, f_iImageId);
+
+ glBegin(GL_TRIANGLE_STRIP);
+ glTexCoord2i(0, 1); glVertex2i(f_iXPos, f_iYPos);
+ glTexCoord2i(1, 1); glVertex2i(f_iXPos + f_iWidth, f_iYPos);
+ glTexCoord2i(0, 0); glVertex2i(f_iXPos, f_iYPos + f_iHeight);
+ glTexCoord2i(1, 0); glVertex2i(f_iXPos + f_iWidth, f_iYPos + f_iHeight);
+ glEnd();
+
+} // BitmapRender
+
void BitmapConvertWidth(struct BitmapStruct *f_sImage, double f_dHeight)
{