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