d3dut

annotate include/d3dut.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_H_
nuclear@0 2 #define D3DUT_H_
nuclear@0 3
nuclear@0 4 #ifdef _MSC_VER
nuclear@0 5 #pragma comment(lib, "d3d11.lib")
nuclear@0 6 #pragma comment(lib, "d3dx11.lib")
nuclear@0 7 #pragma comment(lib, "winmm.lib")
nuclear@0 8
nuclear@0 9 #ifndef D3DUT_IMPLEMENTATION
nuclear@0 10 #pragma comment(lib, "d3dut.lib")
nuclear@0 11 #endif
nuclear@0 12 #endif
nuclear@0 13
nuclear@0 14 #ifdef D3DUT_IMPLEMENTATION
nuclear@0 15 #define D3DUTAPI __declspec(dllexport)
nuclear@0 16 #else
nuclear@0 17 #define D3DUTAPI __declspec(dllimport)
nuclear@0 18 #endif
nuclear@0 19
nuclear@0 20 #include <d3d11.h>
nuclear@0 21 #include <d3dx11.h>
nuclear@0 22
nuclear@0 23 #define D3DUT_RGB 0
nuclear@0 24 #define D3DUT_RGBA 0
nuclear@0 25 #define D3DUT_SINGLE 0
nuclear@0 26
nuclear@0 27 #define D3DUT_DOUBLE 1
nuclear@0 28 #define D3DUT_DEPTH 2
nuclear@0 29 #define D3DUT_STENCIL 4
nuclear@0 30 #define D3DUT_STEREO 8
nuclear@0 31 #define D3DUT_MULTISAMPLE 16
nuclear@0 32
nuclear@0 33 enum {
nuclear@0 34 D3DUT_WINDOW_WIDTH,
nuclear@0 35 D3DUT_WINDOW_HEIGHT,
nuclear@0 36 D3DUT_ELAPSED_TIME
nuclear@0 37 };
nuclear@0 38
nuclear@0 39 enum {
nuclear@0 40 D3DUT_LEFT_BUTTON,
nuclear@0 41 D3DUT_MIDDLE_BUTTON,
nuclear@0 42 D3DUT_RIGHT_BUTTON,
nuclear@0 43
nuclear@0 44 D3DUT_WHEELDOWN_BUTTON,
nuclear@0 45 D3DUT_WHEELUP_BUTTON
nuclear@0 46 };
nuclear@0 47
nuclear@0 48 enum {D3DUT_DOWN = 0, D3DUT_UP = 1};
nuclear@0 49
nuclear@0 50 typedef void (*D3DUT_DisplayFunc)();
nuclear@0 51 typedef void (*D3DUT_IdleFunc)();
nuclear@0 52 typedef void (*D3DUT_ReshapeFunc)(int, int);
nuclear@0 53 typedef void (*D3DUT_KeyboardFunc)(unsigned char, int, int);
nuclear@0 54 typedef void (*D3DUT_KeyboardUpFunc)(unsigned char, int, int);
nuclear@0 55 typedef void (*D3DUT_SpecialFunc)(int, int, int);
nuclear@0 56 typedef void (*D3DUT_SpecialUpFunc)(int, int, int);
nuclear@0 57 typedef void (*D3DUT_MouseFunc)(int, int, int, int);
nuclear@0 58 typedef void (*D3DUT_MotionFunc)(int, int);
nuclear@0 59 typedef void (*D3DUT_PassiveMotionFunc)(int, int);
nuclear@0 60
nuclear@0 61 extern D3DUTAPI ID3D11Device *d3dut_dev;
nuclear@0 62 extern D3DUTAPI ID3D11DeviceContext *d3dut_ctx;
nuclear@0 63 extern D3DUTAPI ID3D11RenderTargetView *d3dut_rtview;
nuclear@0 64
nuclear@0 65 void D3DUTAPI d3dut_init(int *argc, char **argv);
nuclear@0 66 void D3DUTAPI d3dut_init_display_mode(unsigned int dmflags);
nuclear@0 67 void D3DUTAPI d3dut_init_window_size(int xsz, int ysz);
nuclear@0 68
nuclear@0 69 int D3DUTAPI d3dut_create_window(const char *title);
nuclear@0 70 void D3DUTAPI d3dut_destroy_window(int win);
nuclear@0 71 void D3DUTAPI d3dut_set_window(int idx);
nuclear@0 72 int D3DUTAPI d3dut_get_window();
nuclear@0 73
nuclear@0 74 void D3DUTAPI d3dut_display_func(D3DUT_DisplayFunc func);
nuclear@0 75 void D3DUTAPI d3dut_idle_func(D3DUT_IdleFunc func);
nuclear@0 76 void D3DUTAPI d3dut_reshape_func(D3DUT_ReshapeFunc func);
nuclear@0 77 void D3DUTAPI d3dut_keyboard_func(D3DUT_KeyboardFunc func);
nuclear@0 78 void D3DUTAPI d3dut_keyboard_up_func(D3DUT_KeyboardUpFunc func);
nuclear@0 79 void D3DUTAPI d3dut_special_func(D3DUT_SpecialFunc func);
nuclear@0 80 void D3DUTAPI d3dut_special_up_func(D3DUT_SpecialUpFunc func);
nuclear@0 81 void D3DUTAPI d3dut_mouse_func(D3DUT_MouseFunc func);
nuclear@0 82 void D3DUTAPI d3dut_motion_func(D3DUT_MotionFunc func);
nuclear@0 83 void D3DUTAPI d3dut_passive_motion_func(D3DUT_PassiveMotionFunc func);
nuclear@0 84
nuclear@0 85 void D3DUTAPI d3dut_post_redisplay();
nuclear@0 86 void D3DUTAPI d3dut_swap_buffers();
nuclear@0 87
nuclear@0 88 void D3DUTAPI d3dut_main_loop();
nuclear@0 89
nuclear@0 90 int D3DUTAPI d3dut_get(unsigned int what);
nuclear@0 91
nuclear@0 92 void D3DUTAPI d3dut_solid_sphere(double radius, int slices, int stacks);
nuclear@0 93 // TODO ... more stuff
nuclear@0 94
nuclear@0 95 #endif // D3DUT_H_