mutter/clutter/cltr-texture.h
2005-04-27 22:17:45 +00:00

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