11c02902440773da8ef4ff9f0a6e275e4095c245
[divverent/darkplaces.git] / cl_gecko.h
1 // Andreas Kirsch 07\r
2 \r
3 #ifdef SUPPORT_GECKO\r
4 \r
5 #ifndef CL_GECKO_H\r
6 #define CL_GECKO_H\r
7 \r
8 #define DEFAULT_GECKO_WIDTH     512\r
9 #define DEFAULT_GECKO_HEIGHT    DEFAULT_GECKO_WIDTH\r
10 \r
11 #define CLGECKOPREFIX                   CLDYNTEXTUREPREFIX "gecko/"\r
12 #define MAX_GECKO_INSTANCES     16\r
13 \r
14 typedef enum clgecko_buttoneventtype_e {\r
15         CLG_BET_DOWN,\r
16         CLG_BET_UP,\r
17         CLG_BET_DOUBLECLICK,\r
18         // use for up + down (but dont use both)\r
19         CLG_BET_PRESS\r
20 } clgecko_buttoneventtype_t;\r
21 \r
22 typedef struct clgecko_s clgecko_t;\r
23 \r
24 void CL_Gecko_Frame( void );\r
25 void CL_Gecko_Init( void );\r
26 void CL_Gecko_Shutdown( void );\r
27 \r
28 clgecko_t * CL_Gecko_CreateBrowser( const char *name );\r
29 clgecko_t * CL_Gecko_FindBrowser( const char *name );\r
30 void CL_Gecko_DestroyBrowser( clgecko_t *instance );\r
31 \r
32 void CL_Gecko_NavigateToURI( clgecko_t *instance, const char *URI );\r
33 // x and y between 0.0 and 1.0 (0.0 is top-left?)\r
34 void CL_Gecko_Event_CursorMove( clgecko_t *instance, float x, float y );\r
35 \r
36 // returns whether the key/button event was handled or not\r
37 qboolean CL_Gecko_Event_Key( clgecko_t *instance, int key, clgecko_buttoneventtype_t eventtype );\r
38 \r
39 #endif\r
40 \r
41 #endif\r
42 \r