diff options
author | Wilrik de Loose <wilrik@wilrik.nl> | 2008-04-25 19:55:15 (GMT) |
---|---|---|
committer | Wilrik de Loose <wilrik@wilrik.nl> | 2008-04-25 19:55:15 (GMT) |
commit | 3f0c80bb6069ac6ac6b66704f5035bcc7e979dd5 (patch) | |
tree | ad61d36807421809ace7af6d0cb7a7fd83f94d3b | |
parent | 845e64337574bd56630ee6caf48969177db5fe62 (diff) | |
download | 2iv55-3f0c80bb6069ac6ac6b66704f5035bcc7e979dd5.zip 2iv55-3f0c80bb6069ac6ac6b66704f5035bcc7e979dd5.tar.gz 2iv55-3f0c80bb6069ac6ac6b66704f5035bcc7e979dd5.tar.bz2 |
2 font files (.c + .h) toegevoegd
-rw-r--r-- | menu_demo/font.c | 83 | ||||
-rw-r--r-- | menu_demo/font.h | 12 | ||||
-rw-r--r-- | menu_demo/menu_demo.ncb | bin | 7891968 -> 7891968 bytes | |||
-rw-r--r-- | menu_demo/menu_demo.suo | bin | 28672 -> 28672 bytes |
4 files changed, 95 insertions, 0 deletions
diff --git a/menu_demo/font.c b/menu_demo/font.c new file mode 100644 index 0000000..620ec19 --- /dev/null +++ b/menu_demo/font.c @@ -0,0 +1,83 @@ +#ifdef G_OS_WIN32
+ #define WIN32_LEAN_AND_MEAN 1
+ #include <windows.h>
+#endif
+
+#include <GL/gl.h>
+
+#include "font.h"
+#include "bitmap.h"
+
+struct BitmapStruct g_sFont;
+
+int g_iWinWidth;
+int g_iWinHeight;
+
+GLuint base;
+
+void FontInit(int f_iWinWidth, int f_iWinHeight)
+{
+ float cx;
+ float cy;
+ int i = 0;
+
+ g_iWinWidth = f_iWinWidth;
+ g_iWinHeight = f_iWinHeight;
+
+ g_sFont = BitmapLoad("img/continuum_textured_alpha.bmp");
+
+ base = glGenLists(256);
+ glBindTexture(GL_TEXTURE_2D, g_sFont.m_iImageId);
+
+ for (i = 0; i < 256; i++)
+ {
+ cx = (float)(i % 16) / 16.0f;
+ cy = (float)(i / 16) / 16.0f;
+
+ glNewList(base + i, GL_COMPILE);
+
+ glBegin(GL_TRIANGLE_STRIP);
+ glTexCoord2f(cx, 1 - cy);
+ glVertex2i(0, 0);
+ glTexCoord2f(cx + 0.0625f, 1 - cy);
+ glVertex2i(FONT_WIDTH, 0);
+ glTexCoord2f(cx, 1 - cy - 0.0625f);
+ glVertex2i(0, FONT_HEIGHT);
+ glTexCoord2f(cx + 0.0625f, 1 - cy - 0.0625f);
+ glVertex2i(FONT_WIDTH, FONT_HEIGHT);
+ glEnd();
+
+ glTranslated(FONT_SPACING, 0, 0);
+ glEndList();
+ }
+
+} // BuildFont
+
+void FontDelete(GLvoid)
+{
+ glDeleteLists(base, 256);
+
+} // FontDelete
+
+void glPrint(GLint x, GLint y, char *string)
+{
+ glColor3d(0, 0, 0);
+ glBindTexture(GL_TEXTURE_2D, g_sFont.m_iImageId);
+ glDisable(GL_DEPTH_TEST);
+ glMatrixMode(GL_PROJECTION);
+
+ glPushMatrix();
+ glLoadIdentity();
+ glOrtho(0, g_iWinWidth, g_iWinHeight, 0, 0, 1);
+ glMatrixMode(GL_MODELVIEW);
+ glPushMatrix();
+ glLoadIdentity();
+ glTranslated(x, y, 0);
+ glListBase(base - 32);
+ glCallLists((GLsizei)strlen(string), GL_UNSIGNED_BYTE, string);
+ glMatrixMode(GL_PROJECTION);
+ glPopMatrix();
+ glMatrixMode(GL_MODELVIEW);
+ glPopMatrix();
+
+} // glPrint
\ No newline at end of file diff --git a/menu_demo/font.h b/menu_demo/font.h new file mode 100644 index 0000000..817c8a4 --- /dev/null +++ b/menu_demo/font.h @@ -0,0 +1,12 @@ +#ifndef _CFONT_H
+#define _CFONT_H
+
+#define FONT_WIDTH 32
+#define FONT_HEIGHT 32
+#define FONT_SPACING 20
+
+void FontInit(int f_iWinWidth, int f_iWinHeight);
+void FontDelete(GLvoid);
+void glPrint(GLint x, GLint y, char *string);
+
+#endif
\ No newline at end of file diff --git a/menu_demo/menu_demo.ncb b/menu_demo/menu_demo.ncb Binary files differindex 3e54d2d..7c51dfb 100644 --- a/menu_demo/menu_demo.ncb +++ b/menu_demo/menu_demo.ncb diff --git a/menu_demo/menu_demo.suo b/menu_demo/menu_demo.suo Binary files differindex ddcf217..9880990 100644 --- a/menu_demo/menu_demo.suo +++ b/menu_demo/menu_demo.suo |