d3dut

annotate src/win.h @ 0:ecc040281dc9

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 22 Jun 2013 10:11:39 +0300
parents
children 242535442d04
rev   line source
nuclear@0 1 #ifndef D3DUT_WIN_H_
nuclear@0 2 #define D3DUT_WIN_H_
nuclear@0 3
nuclear@0 4 #include <vector>
nuclear@0 5 #include <d3d11.h>
nuclear@0 6
nuclear@0 7 #define WINCLASSNAME "d3dutwindow"
nuclear@0 8
nuclear@0 9 struct Window {
nuclear@0 10 HWND win;
nuclear@0 11 int width, height;
nuclear@0 12
nuclear@0 13 IDXGISwapChain *swap;
nuclear@0 14 ID3D11RenderTargetView *rtarg_view;
nuclear@0 15
nuclear@0 16 bool must_redisplay, changed_size;
nuclear@0 17 int mousex, mousey;
nuclear@0 18
nuclear@0 19 D3DUT_DisplayFunc display_func;
nuclear@0 20 D3DUT_ReshapeFunc reshape_func;
nuclear@0 21 D3DUT_KeyboardFunc keyboard_func;
nuclear@0 22 D3DUT_KeyboardUpFunc keyboard_up_func;
nuclear@0 23 D3DUT_SpecialFunc special_func;
nuclear@0 24 D3DUT_SpecialUpFunc special_up_func;
nuclear@0 25 D3DUT_MouseFunc mouse_func;
nuclear@0 26 D3DUT_MotionFunc motion_func;
nuclear@0 27 D3DUT_PassiveMotionFunc passive_motion_func;
nuclear@0 28 };
nuclear@0 29
nuclear@0 30 extern std::vector<Window*> windows;
nuclear@0 31
nuclear@0 32 int create_window(const char *title, int xsz, int ysz, unsigned int dmflags);
nuclear@0 33 void destroy_window(int idx);
nuclear@0 34
nuclear@0 35 void set_active_win(int idx);
nuclear@0 36 int get_active_win();
nuclear@0 37
nuclear@0 38 Window *get_window(int idx = -1);
nuclear@0 39
nuclear@0 40 long CALLBACK win_handle_event(HWND syswin, unsigned int msg, unsigned int wparam, long lparam);
nuclear@0 41
nuclear@0 42 #endif // D3DUT_WIN_H_