summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilrik de Loose <wilrik@wilrik.nl>2008-04-25 19:55:15 (GMT)
committerWilrik de Loose <wilrik@wilrik.nl>2008-04-25 19:55:15 (GMT)
commit3f0c80bb6069ac6ac6b66704f5035bcc7e979dd5 (patch)
treead61d36807421809ace7af6d0cb7a7fd83f94d3b
parent845e64337574bd56630ee6caf48969177db5fe62 (diff)
download2iv55-3f0c80bb6069ac6ac6b66704f5035bcc7e979dd5.zip
2iv55-3f0c80bb6069ac6ac6b66704f5035bcc7e979dd5.tar.gz
2iv55-3f0c80bb6069ac6ac6b66704f5035bcc7e979dd5.tar.bz2
2 font files (.c + .h) toegevoegd
-rw-r--r--menu_demo/font.c83
-rw-r--r--menu_demo/font.h12
-rw-r--r--menu_demo/menu_demo.ncbbin7891968 -> 7891968 bytes
-rw-r--r--menu_demo/menu_demo.suobin28672 -> 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
index 3e54d2d..7c51dfb 100644
--- a/menu_demo/menu_demo.ncb
+++ b/menu_demo/menu_demo.ncb
Binary files differ
diff --git a/menu_demo/menu_demo.suo b/menu_demo/menu_demo.suo
index ddcf217..9880990 100644
--- a/menu_demo/menu_demo.suo
+++ b/menu_demo/menu_demo.suo
Binary files differ