summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilrik de Loose <wilrik@wilrik.nl>2008-04-16 12:12:17 (GMT)
committerWilrik de Loose <wilrik@wilrik.nl>2008-04-16 12:12:17 (GMT)
commitf64df83770bdf1471036ed0ee600c57e0d4755b5 (patch)
tree081b7745e9aa0b24b9f05ae35040846252215a4a
parent685a785826430a52504233357521be1ce44e53ca (diff)
download2iv55-f64df83770bdf1471036ed0ee600c57e0d4755b5.zip
2iv55-f64df83770bdf1471036ed0ee600c57e0d4755b5.tar.gz
2iv55-f64df83770bdf1471036ed0ee600c57e0d4755b5.tar.bz2
Tweede versie menu demo.
-rw-r--r--menu_demo/Debug/BuildLog.htmbin6898 -> 6960 bytes
-rw-r--r--menu_demo/Debug/main.objbin14367 -> 14638 bytes
-rw-r--r--menu_demo/Debug/menu.objbin10948 -> 11397 bytes
-rw-r--r--menu_demo/Debug/menu_demo.exebin40960 -> 45056 bytes
-rw-r--r--menu_demo/Debug/menu_demo.ilkbin356264 -> 388580 bytes
-rw-r--r--menu_demo/Debug/menu_demo.pdbbin371712 -> 371712 bytes
-rw-r--r--menu_demo/Debug/mt.dep2
-rw-r--r--menu_demo/Debug/vc80.idbbin207872 -> 216064 bytes
-rw-r--r--menu_demo/Debug/vc80.pdbbin69632 -> 69632 bytes
-rw-r--r--menu_demo/bitmap.c51
-rw-r--r--menu_demo/bitmap.h12
-rw-r--r--menu_demo/button.c14
-rw-r--r--menu_demo/button.h6
-rw-r--r--menu_demo/main.c9
-rw-r--r--menu_demo/menu.c28
-rw-r--r--menu_demo/menu_demo.vcproj16
16 files changed, 125 insertions, 13 deletions
diff --git a/menu_demo/Debug/BuildLog.htm b/menu_demo/Debug/BuildLog.htm
index d4c4669..8bfe1cd 100644
--- a/menu_demo/Debug/BuildLog.htm
+++ b/menu_demo/Debug/BuildLog.htm
Binary files differ
diff --git a/menu_demo/Debug/main.obj b/menu_demo/Debug/main.obj
index de586ec..457d114 100644
--- a/menu_demo/Debug/main.obj
+++ b/menu_demo/Debug/main.obj
Binary files differ
diff --git a/menu_demo/Debug/menu.obj b/menu_demo/Debug/menu.obj
index ca08791..b5e253b 100644
--- a/menu_demo/Debug/menu.obj
+++ b/menu_demo/Debug/menu.obj
Binary files differ
diff --git a/menu_demo/Debug/menu_demo.exe b/menu_demo/Debug/menu_demo.exe
index df86b2f..7b5b0a6 100644
--- a/menu_demo/Debug/menu_demo.exe
+++ b/menu_demo/Debug/menu_demo.exe
Binary files differ
diff --git a/menu_demo/Debug/menu_demo.ilk b/menu_demo/Debug/menu_demo.ilk
index 6015c71..bcdc1a3 100644
--- a/menu_demo/Debug/menu_demo.ilk
+++ b/menu_demo/Debug/menu_demo.ilk
Binary files differ
diff --git a/menu_demo/Debug/menu_demo.pdb b/menu_demo/Debug/menu_demo.pdb
index e558b38..8b0c954 100644
--- a/menu_demo/Debug/menu_demo.pdb
+++ b/menu_demo/Debug/menu_demo.pdb
Binary files differ
diff --git a/menu_demo/Debug/mt.dep b/menu_demo/Debug/mt.dep
index 6e93dc7..d5684fe 100644
--- a/menu_demo/Debug/mt.dep
+++ b/menu_demo/Debug/mt.dep
@@ -1 +1 @@
-Manifest resource last updated at 13:31:27,55 on 16-04-2008
+Manifest resource last updated at 14:10:25,98 on 16-04-2008
diff --git a/menu_demo/Debug/vc80.idb b/menu_demo/Debug/vc80.idb
index 0cce440..ac3e2e5 100644
--- a/menu_demo/Debug/vc80.idb
+++ b/menu_demo/Debug/vc80.idb
Binary files differ
diff --git a/menu_demo/Debug/vc80.pdb b/menu_demo/Debug/vc80.pdb
index 991ea1f..098e6e4 100644
--- a/menu_demo/Debug/vc80.pdb
+++ b/menu_demo/Debug/vc80.pdb
Binary files differ
diff --git a/menu_demo/bitmap.c b/menu_demo/bitmap.c
new file mode 100644
index 0000000..9a59d12
--- /dev/null
+++ b/menu_demo/bitmap.c
@@ -0,0 +1,51 @@
+#include <windows.h>
+#include <gl/gl.h>
+#include <gl/glu.h>
+#include <stdio.h>
+
+#include "bitmap.h"
+
+#define BITMAP_FILESIZE 0x02
+#define BITMAP_OFFSET 0x0a
+#define BITMAP_HEADERSIZE 0x0e
+#define BITMAP_WIDTH 0x12
+#define BITMAP_HEIGHT 0x16
+
+void load_image(char *filename)
+{
+ GLuint texture;
+ FILE *bitmap;
+
+ // try to open the file
+ bitmap = fopen(filename, "rb");
+
+ // does the bitmap exist?
+ if (bitmap > 0)
+ {
+ unsigned int dataoffset, filesize;
+ GLsizei width, height;
+ unsigned char *imagedata;
+
+ fseek(bitmap, BITMAP_FILESIZE, SEEK_SET);
+ fread(&filesize, 4, 1, bitmap);
+ fseek(bitmap, BITMAP_OFFSET, SEEK_SET);
+ fread(&dataoffset, 4, 1, bitmap);
+ fseek(bitmap, BITMAP_WIDTH, SEEK_SET);
+ fread(&width, 4, 1, bitmap);
+ fread(&height, 4, 1, bitmap);
+
+ imagedata = (unsigned char *)malloc((size_t)(filesize -dataoffset));
+
+ fseek(bitmap, dataoffset, SEEK_SET);
+ fread(imagedata, (size_t)(filesize -dataoffset), 1, bitmap);
+
+ glGenTextures(1, &texture);
+ glBindTexture(GL_TEXTURE_2D, texture);
+ gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGB, width, height, GL_RGB, GL_UNSIGNED_BYTE, imagedata);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+
+ free(imagedata);
+ fclose(bitmap);
+ }
+}
diff --git a/menu_demo/bitmap.h b/menu_demo/bitmap.h
new file mode 100644
index 0000000..8eb7680
--- /dev/null
+++ b/menu_demo/bitmap.h
@@ -0,0 +1,12 @@
+#ifndef _CBITMAP_H
+#define _CBITMAP_H
+
+struct ButtonStruct {
+ double m_dXPos;
+ double m_dYPos;
+ int m_iType;
+};
+
+void load_image(char *filename);
+
+#endif \ No newline at end of file
diff --git a/menu_demo/button.c b/menu_demo/button.c
new file mode 100644
index 0000000..13a499c
--- /dev/null
+++ b/menu_demo/button.c
@@ -0,0 +1,14 @@
+#ifdef G_OS_WIN32
+#define WIN32_LEAN_AND_MEAN 1
+#include <windows.h>
+#endif
+
+#include <gl\gl.h>
+
+#include "bitmap.h"
+
+enum MenuState {
+ MENU_MAIN,
+ MENU_START,
+ MENU_OPTIONS
+}; \ No newline at end of file
diff --git a/menu_demo/button.h b/menu_demo/button.h
new file mode 100644
index 0000000..2249f32
--- /dev/null
+++ b/menu_demo/button.h
@@ -0,0 +1,6 @@
+#ifndef _CBUTTON_H
+#define _CBUTTON_H
+
+
+
+#endif \ No newline at end of file
diff --git a/menu_demo/main.c b/menu_demo/main.c
index c859d9c..5b8f4fb 100644
--- a/menu_demo/main.c
+++ b/menu_demo/main.c
@@ -1,6 +1,6 @@
-#ifdef G_OS_WIN32
-#define WIN32_LEAN_AND_MEAN 1
-#include <windows.h>
+#ifdef G_OS_WIN32
+#define WIN32_LEAN_AND_MEAN 1
+#include <windows.h>
#endif
#include <gl\gl.h>
@@ -52,11 +52,14 @@ void init_gl(void)
void render_scene(void)
{
+ int lalala;
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glClearColor(1, 1, 1, 0);
MenuRender();
+ lalala = glutLayerGet(GLUT_OVERLAY_POSSIBLE);
+
glutSwapBuffers();
}
diff --git a/menu_demo/menu.c b/menu_demo/menu.c
index b265fbb..8f9b4a4 100644
--- a/menu_demo/menu.c
+++ b/menu_demo/menu.c
@@ -1,17 +1,27 @@
-#ifdef G_OS_WIN32
-#define WIN32_LEAN_AND_MEAN 1
-#include <windows.h>
+#ifdef G_OS_WIN32
+#define WIN32_LEAN_AND_MEAN 1
+#include <windows.h>
#endif
#include <gl\gl.h>
+#include "button.h"
+
enum MenuState {
MENU_MAIN,
- MENU_OPTIONS,
- MENU_SELECTION
+ MENU_START,
+ MENU_OPTIONS
+};
+
+struct MenuStruct {
+ int i;
};
-int g_iState;
+int g_iState; // which menu are we in
+
+struct MenuStruct g_sMenuMain; // definition of the main menu
+struct MenuStruct g_sMenuStart; // definition of the start menu
+struct MenuStruct g_sMenuOptions; // definition of the options menu
void MenuMainRender(void)
{
@@ -49,7 +59,7 @@ int MenuGetState(void)
void MenuRender(void)
{
- glColor3d(0, 0, 0);
+ glColor3d(1, 1, 1);
switch (g_iState)
{
@@ -57,11 +67,11 @@ void MenuRender(void)
MenuMainRender();
break;
- case MENU_OPTIONS:
+ case MENU_START:
MenuOptionsRender();
break;
- case MENU_SELECTION:
+ case MENU_OPTIONS:
MenuSelectionRender();
break;
diff --git a/menu_demo/menu_demo.vcproj b/menu_demo/menu_demo.vcproj
index f423000..afb55b7 100644
--- a/menu_demo/menu_demo.vcproj
+++ b/menu_demo/menu_demo.vcproj
@@ -175,6 +175,14 @@
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
+ RelativePath=".\bitmap.c"
+ >
+ </File>
+ <File
+ RelativePath=".\button.c"
+ >
+ </File>
+ <File
RelativePath=".\main.c"
>
</File>
@@ -189,6 +197,14 @@
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
+ RelativePath=".\bitmap.h"
+ >
+ </File>
+ <File
+ RelativePath=".\button.h"
+ >
+ </File>
+ <File
RelativePath=".\glut.h"
>
</File>