textures
[nexus3d] / src / nexus3d_impl.h
1 #ifndef NEXUS3D_IMPL_H_
2 #define NEXUS3D_IMPL_H_
3
4 #include "nexus3d.h"
5
6 struct nex_callbacks {
7         nex_cbdisplay_type display;
8         nex_cbreshape_type reshape;
9         nex_cbkey_type key;
10         nex_cbmousebn_type mousebn;
11         nex_cbmousemove_type mousemove;
12
13         void *display_cls, *reshape_cls, *key_cls, *mousebn_cls, *mousemove_cls;
14 };
15
16 enum nex_gfxapi_type { NEX_OPENGL };
17
18 struct nex_gfxapi_opengl {
19         enum nex_gfxapi_type api;
20         int ver_major, ver_minor;
21         enum nex_apiflags_gl flags;
22 };
23
24 union nex_gfxapi {
25         struct nex_gfxapi_opengl gl;
26         enum nex_gfxapi_type api;
27 };
28
29 extern struct nex_callbacks nex_cb;                     /* defined in wsys/wsys.c */
30 extern union nex_gfxapi nex_apicfg;                     /* defined in nexus3d.c */
31 extern enum nex_gfxflags nex_gfxflags;          /* defined in nexus3d.c */
32
33 #endif  /* NEXUS3D_IMPL_H_ */