#define GF_EXPOSE_TEXTURE #define GF_EXPOSE_DRAW_DRIVER #include /* External library */ /* Interface */ #include /* Engine */ #include /* Standard */ #include gf_texture_t* gf_texture_create(gf_draw_t* draw, int width, int height, unsigned char* data) { gf_texture_t* texture = malloc(sizeof(*texture)); gf_draw_driver_texture_t* ddtexture; texture->internal_width = width; texture->internal_height = height; ddtexture = gf_draw_driver_register_texture(draw, width, height, &texture->internal_width, &texture->internal_height, data); if(ddtexture == NULL) { free(texture); return NULL; } texture->width = width; texture->height = height; texture->draw_driver_texture = ddtexture; return texture; } void gf_texture_destroy(gf_texture_t* texture) { gf_draw_driver_destroy_texture(texture->draw_driver_texture); free(texture); }