5DG_Window.h
上传用户:lygtks
上传日期:2022-06-08
资源大小:874k
文件大小:2k
源码类别:

射击游戏

开发平台:

Visual C++

  1. #ifndef _5DG_WINDOW_H
  2. #define _5DG_WINDOW_H
  3. #include <windows.h> // Windows的头文件
  4. #include <glgl.h> // OpenGL32库的头文件
  5. #include <glglu.h> // Glu32库的头文件
  6. #define WM_TOGGLEFULLSCREEN (WM_USER + 1) // 定义全屏/窗口模式切换消息
  7. #define TITLE "5DG's FireGame" // 定义窗口标题
  8. #define CLASSNAME "5DG_OPENGL" // 定义窗口类名
  9. #define WIDTH 800 // 定义窗口宽度
  10. #define HEIGHT 600 // 定义窗口高度
  11. #define BPP 16 // 定义每象素的位数
  12. // 在此处定义与窗口相关的结构体:
  13. typedef struct { // 定义处理键盘的结构体
  14. BOOL keyDown [256]; // 存储键盘按键状态的数组
  15. } Keys;
  16. typedef struct { // 定义存储应用程序实例的结构体
  17. HINSTANCE hInstance; // 应用程序实例
  18. const char* className; // 应用程序类名
  19. } Application;
  20. typedef struct { // 定义初始窗口所需信息
  21. Application* application; // 所属的应用程序
  22. char* title; // 窗口标题
  23. int width; // 窗口宽度
  24. int height; // 窗口高度
  25. int bitsPerPixel; // 每像素的位数
  26. BOOL isFullScreen; // 是否全屏
  27. } GL_WindowInit;
  28. typedef struct { // 定义窗口结构体
  29. Keys* keys; // 窗口的键盘
  30. HWND hWnd; // 窗口句柄
  31. HDC hDC; // 设备描述表
  32. HGLRC hRC; // 绘制描述表
  33. GL_WindowInit init; // Window初始化信息的结构体
  34. BOOL isVisible; // 窗口是否处于活动态
  35. } GL_Window;
  36. static BOOL g_isProgramLooping;
  37. static BOOL g_createFullScreen;
  38. // 此代码模块中包含的函数的前向声明:
  39. void TerminateApplication (GL_Window* window); // 结束程序
  40. BOOL Initialize(GL_Window* window, Keys* keys); // 设置你绘制前的初始化值
  41. void DrawSceneGL(void); // 在这里完成场景的绘制
  42. void Update(void); // 在此处更新对消息的动作
  43. void Deinitialize(void); // 在此处做退出前扫尾工作
  44. #endif // _5DG_WINDOW_H