diff options
author | Wilrik de Loose <wilrik@wilrik.nl> | 2008-04-16 12:12:17 (GMT) |
---|---|---|
committer | Wilrik de Loose <wilrik@wilrik.nl> | 2008-04-16 12:12:17 (GMT) |
commit | f64df83770bdf1471036ed0ee600c57e0d4755b5 (patch) | |
tree | 081b7745e9aa0b24b9f05ae35040846252215a4a | |
parent | 685a785826430a52504233357521be1ce44e53ca (diff) | |
download | 2iv55-f64df83770bdf1471036ed0ee600c57e0d4755b5.zip 2iv55-f64df83770bdf1471036ed0ee600c57e0d4755b5.tar.gz 2iv55-f64df83770bdf1471036ed0ee600c57e0d4755b5.tar.bz2 |
Tweede versie menu demo.
-rw-r--r-- | menu_demo/Debug/BuildLog.htm | bin | 6898 -> 6960 bytes | |||
-rw-r--r-- | menu_demo/Debug/main.obj | bin | 14367 -> 14638 bytes | |||
-rw-r--r-- | menu_demo/Debug/menu.obj | bin | 10948 -> 11397 bytes | |||
-rw-r--r-- | menu_demo/Debug/menu_demo.exe | bin | 40960 -> 45056 bytes | |||
-rw-r--r-- | menu_demo/Debug/menu_demo.ilk | bin | 356264 -> 388580 bytes | |||
-rw-r--r-- | menu_demo/Debug/menu_demo.pdb | bin | 371712 -> 371712 bytes | |||
-rw-r--r-- | menu_demo/Debug/mt.dep | 2 | ||||
-rw-r--r-- | menu_demo/Debug/vc80.idb | bin | 207872 -> 216064 bytes | |||
-rw-r--r-- | menu_demo/Debug/vc80.pdb | bin | 69632 -> 69632 bytes | |||
-rw-r--r-- | menu_demo/bitmap.c | 51 | ||||
-rw-r--r-- | menu_demo/bitmap.h | 12 | ||||
-rw-r--r-- | menu_demo/button.c | 14 | ||||
-rw-r--r-- | menu_demo/button.h | 6 | ||||
-rw-r--r-- | menu_demo/main.c | 9 | ||||
-rw-r--r-- | menu_demo/menu.c | 28 | ||||
-rw-r--r-- | menu_demo/menu_demo.vcproj | 16 |
16 files changed, 125 insertions, 13 deletions
diff --git a/menu_demo/Debug/BuildLog.htm b/menu_demo/Debug/BuildLog.htm Binary files differindex d4c4669..8bfe1cd 100644 --- a/menu_demo/Debug/BuildLog.htm +++ b/menu_demo/Debug/BuildLog.htm diff --git a/menu_demo/Debug/main.obj b/menu_demo/Debug/main.obj Binary files differindex de586ec..457d114 100644 --- a/menu_demo/Debug/main.obj +++ b/menu_demo/Debug/main.obj diff --git a/menu_demo/Debug/menu.obj b/menu_demo/Debug/menu.obj Binary files differindex ca08791..b5e253b 100644 --- a/menu_demo/Debug/menu.obj +++ b/menu_demo/Debug/menu.obj diff --git a/menu_demo/Debug/menu_demo.exe b/menu_demo/Debug/menu_demo.exe Binary files differindex df86b2f..7b5b0a6 100644 --- a/menu_demo/Debug/menu_demo.exe +++ b/menu_demo/Debug/menu_demo.exe diff --git a/menu_demo/Debug/menu_demo.ilk b/menu_demo/Debug/menu_demo.ilk Binary files differindex 6015c71..bcdc1a3 100644 --- a/menu_demo/Debug/menu_demo.ilk +++ b/menu_demo/Debug/menu_demo.ilk diff --git a/menu_demo/Debug/menu_demo.pdb b/menu_demo/Debug/menu_demo.pdb Binary files differindex e558b38..8b0c954 100644 --- a/menu_demo/Debug/menu_demo.pdb +++ b/menu_demo/Debug/menu_demo.pdb 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 Binary files differindex 0cce440..ac3e2e5 100644 --- a/menu_demo/Debug/vc80.idb +++ b/menu_demo/Debug/vc80.idb diff --git a/menu_demo/Debug/vc80.pdb b/menu_demo/Debug/vc80.pdb Binary files differindex 991ea1f..098e6e4 100644 --- a/menu_demo/Debug/vc80.pdb +++ b/menu_demo/Debug/vc80.pdb 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>
|