st_api: Remove st_module

The struct st_module isn't needed as it is the same thing as the st_api
struct. That is they both represent the API. Instead just use a single
function entry point to the the API.
This commit is contained in:
Jakob Bornecrantz
2010-04-24 01:05:49 +01:00
parent 81ab19de04
commit 0c572c6828
9 changed files with 87 additions and 101 deletions

View File

@@ -42,14 +42,6 @@
* tracker managers.
*/
/**
* The entry points of the state trackers.
*/
#define ST_MODULE_OPENGL_SYMBOL "st_module_OpenGL"
#define ST_MODULE_OPENGL_ES1_SYMBOL "st_module_OpenGL_ES1"
#define ST_MODULE_OPENGL_ES2_SYMBOL "st_module_OpenGL_ES2"
#define ST_MODULE_OPENVG_SYMBOL "st_module_OpenVG"
/**
* The supported rendering API of a state tracker.
*/
@@ -378,17 +370,6 @@ struct st_api
struct st_context_iface *(*get_current)(struct st_api *stapi);
};
/**
* Represent a state tracker.
*
* This is the entry point of a state tracker.
*/
struct st_module
{
enum st_api_type api;
struct st_api *(*create_api)(void);
};
/**
* Return true if the visual has the specified buffers.
*/
@@ -399,9 +380,17 @@ st_visual_have_buffers(const struct st_visual *visual, unsigned mask)
}
/* these symbols may need to be dynamically lookup up */
extern PUBLIC const struct st_module st_module_OpenGL;
extern PUBLIC const struct st_module st_module_OpenGL_ES1;
extern PUBLIC const struct st_module st_module_OpenGL_ES2;
extern PUBLIC const struct st_module st_module_OpenVG;
extern PUBLIC struct st_api * st_api_create_OpenGL(void);
extern PUBLIC struct st_api * st_api_create_OpenGL_ES1(void);
extern PUBLIC struct st_api * st_api_create_OpenGL_ES2(void);
extern PUBLIC struct st_api * st_api_create_OpenVG(void);
/**
* The entry points of the state trackers.
*/
#define ST_CREATE_OPENGL_SYMBOL "st_api_create_OpenGL"
#define ST_CREATE_OPENGL_ES1_SYMBOL "st_api_create_OpenGL_ES1"
#define ST_CREATE_OPENGL_ES2_SYMBOL "st_api_create_OpenGL_ES2"
#define ST_CREATE_OPENVG_SYMBOL "st_api_create_OpenVG"
#endif /* _ST_API_H_ */