73 lines
1.2 KiB
C
73 lines
1.2 KiB
C
#ifndef _HAVE_CLTR_TEX_H
|
|
#define _HAVE_CLTR_TEX_H
|
|
|
|
#include "cltr.h"
|
|
|
|
|
|
|
|
struct CltrTexture
|
|
{
|
|
Pixbuf *pixb;
|
|
|
|
int width, height;
|
|
|
|
gboolean tiled;
|
|
|
|
int n_x_tiles, n_y_tiles;
|
|
int *tile_x_position, *tile_x_size, *tile_x_waste;
|
|
int *tile_y_position, *tile_y_size, *tile_y_waste;
|
|
|
|
GLuint *tiles;
|
|
|
|
GMutex *mutex;
|
|
|
|
gint refcnt;
|
|
};
|
|
|
|
|
|
CltrTexture*
|
|
cltr_texture_new(Pixbuf *pixb);
|
|
|
|
void
|
|
cltr_texture_ref(CltrTexture *texture);
|
|
|
|
void
|
|
cltr_texture_unref(CltrTexture *texture);
|
|
|
|
CltrTexture*
|
|
cltr_texture_no_tile_new(Pixbuf *pixb);
|
|
|
|
void
|
|
cltr_texture_unrealize(CltrTexture *texture);
|
|
|
|
void
|
|
cltr_texture_realize(CltrTexture *texture);
|
|
|
|
void
|
|
cltr_texture_render_to_gl_quad(CltrTexture *texture,
|
|
int x1,
|
|
int y1,
|
|
int x2,
|
|
int y2);
|
|
|
|
Pixbuf*
|
|
cltr_texture_get_pixbuf(CltrTexture* texture);
|
|
|
|
void
|
|
cltr_texture_lock(CltrTexture* texture);
|
|
|
|
void
|
|
cltr_texture_unlock(CltrTexture* texture);
|
|
|
|
void
|
|
cltr_texture_sync_pixbuf(CltrTexture* texture);
|
|
|
|
void
|
|
cltr_texture_force_rgb_data(CltrTexture *texture,
|
|
int width,
|
|
int height,
|
|
int *data);
|
|
|
|
|
|
#endif
|