mirror of
https://github.com/brl/mutter.git
synced 2025-01-11 04:02:36 +00:00
rename CltrImage
This commit is contained in:
parent
99bb51a5be
commit
c5a9ee7914
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
|||||||
|
2005-03-30 mallum,,, <mallum@openedhand.com>
|
||||||
|
|
||||||
|
* cltr-photo-grid.c: (cltr_photo_grid_populate),
|
||||||
|
(cltr_photo_grid_redraw), (cltr_photo_grid_new):
|
||||||
|
* cltr-photo-grid.h:
|
||||||
|
* cltr-tex.c: (next_p2), (cltr_texture_render_to_gl_quad),
|
||||||
|
(tile_dimension), (init_tiles), (cltr_texture_new):
|
||||||
|
* cltr-tex.h:
|
||||||
|
* cltr.h:
|
||||||
|
Rename CltrImage -> CltrTexture
|
||||||
|
|
||||||
2005-03-30 mallum,,, <mallum@openedhand.com>
|
2005-03-30 mallum,,, <mallum@openedhand.com>
|
||||||
|
|
||||||
* Makefile:
|
* Makefile:
|
||||||
|
@ -245,7 +245,7 @@ cltr_photo_grid_populate(gpointer data)
|
|||||||
|
|
||||||
g_mutex_lock(Mutex_GRID);
|
g_mutex_lock(Mutex_GRID);
|
||||||
|
|
||||||
cell->img = cltr_image_new(cell->pixb);
|
cell->texture = cltr_texture_new(cell->pixb);
|
||||||
|
|
||||||
g_mutex_unlock(Mutex_GRID);
|
g_mutex_unlock(Mutex_GRID);
|
||||||
|
|
||||||
@ -466,7 +466,7 @@ cltr_photo_grid_redraw(ClutterPhotoGrid *grid)
|
|||||||
|
|
||||||
g_mutex_lock(Mutex_GRID);
|
g_mutex_lock(Mutex_GRID);
|
||||||
|
|
||||||
cltr_image_render_to_gl_quad(cell->img,
|
cltr_texture_render_to_gl_quad(cell->texture,
|
||||||
-(thumb_w/2),
|
-(thumb_w/2),
|
||||||
-(thumb_h/2),
|
-(thumb_h/2),
|
||||||
(thumb_w/2),
|
(thumb_w/2),
|
||||||
@ -548,7 +548,7 @@ cltr_photo_grid_new(ClutterWindow *win,
|
|||||||
|
|
||||||
grid->state = CLTR_PHOTO_GRID_STATE_LOADING;
|
grid->state = CLTR_PHOTO_GRID_STATE_LOADING;
|
||||||
|
|
||||||
grid->anim_n_steps = 50; /* value needs to be calced dep on rows */
|
grid->anim_n_steps = 40; /* value needs to be calced dep on rows */
|
||||||
grid->anim_step = 0;
|
grid->anim_step = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -31,8 +31,7 @@ struct ClutterPhotoGridCell
|
|||||||
{
|
{
|
||||||
Pixbuf *pixb;
|
Pixbuf *pixb;
|
||||||
float angle;
|
float angle;
|
||||||
GLuint texref;
|
CltrTexture *texture;
|
||||||
CltrImage *img;
|
|
||||||
gint anim_step;
|
gint anim_step;
|
||||||
|
|
||||||
ClutterPhotoGridCellState state;
|
ClutterPhotoGridCellState state;
|
||||||
@ -68,12 +67,8 @@ struct ClutterPhotoGrid
|
|||||||
/* below needs better naming */
|
/* below needs better naming */
|
||||||
float view_min_x, view_max_x, view_min_y, view_max_y;
|
float view_min_x, view_max_x, view_min_y, view_max_y;
|
||||||
|
|
||||||
int tex_w;
|
|
||||||
int tex_h;
|
|
||||||
int *tex_data;
|
|
||||||
GLuint *texs;
|
|
||||||
|
|
||||||
ClutterPhotoGridState state;
|
ClutterPhotoGridState state;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
ClutterPhotoGridCell*
|
ClutterPhotoGridCell*
|
||||||
|
80
cltr-tex.c
80
cltr-tex.c
@ -1,4 +1,4 @@
|
|||||||
#include "cltr-tex.h"
|
#include "cltr-texture.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
IDEAS or less memory
|
IDEAS or less memory
|
||||||
@ -27,7 +27,11 @@ next_p2 ( int a )
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
cltr_image_render_to_gl_quad(CltrImage *img, int x1, int y1, int x2, int y2)
|
cltr_texture_render_to_gl_quad(CltrTexture *texture,
|
||||||
|
int x1,
|
||||||
|
int y1,
|
||||||
|
int x2,
|
||||||
|
int y2)
|
||||||
{
|
{
|
||||||
int qx1, qx2, qy1, qy2;
|
int qx1, qx2, qy1, qy2;
|
||||||
int qwidth, qheight;
|
int qwidth, qheight;
|
||||||
@ -37,27 +41,27 @@ cltr_image_render_to_gl_quad(CltrImage *img, int x1, int y1, int x2, int y2)
|
|||||||
qwidth = x2-x1;
|
qwidth = x2-x1;
|
||||||
qheight = y2-y1;
|
qheight = y2-y1;
|
||||||
|
|
||||||
for (x=0; x < img->n_x_tiles; x++)
|
for (x=0; x < texture->n_x_tiles; x++)
|
||||||
{
|
{
|
||||||
lasty = 0;
|
lasty = 0;
|
||||||
|
|
||||||
for (y=0; y < img->n_y_tiles; y++)
|
for (y=0; y < texture->n_y_tiles; y++)
|
||||||
{
|
{
|
||||||
int actual_w, actual_h;
|
int actual_w, actual_h;
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D, img->tiles[i]);
|
glBindTexture(GL_TEXTURE_2D, texture->tiles[i]);
|
||||||
|
|
||||||
actual_w = img->tile_x_size[x] - img->tile_x_waste[x];
|
actual_w = texture->tile_x_size[x] - texture->tile_x_waste[x];
|
||||||
actual_h = img->tile_y_size[y] - img->tile_y_waste[y];
|
actual_h = texture->tile_y_size[y] - texture->tile_y_waste[y];
|
||||||
|
|
||||||
tx = (float) actual_w / img->tile_x_size[x];
|
tx = (float) actual_w / texture->tile_x_size[x];
|
||||||
ty = (float) actual_h / img->tile_y_size[y];
|
ty = (float) actual_h / texture->tile_y_size[y];
|
||||||
|
|
||||||
qx1 = x1 + lastx;
|
qx1 = x1 + lastx;
|
||||||
qx2 = qx1 + ((qwidth * actual_w ) / img->width );
|
qx2 = qx1 + ((qwidth * actual_w ) / texture->width );
|
||||||
|
|
||||||
qy1 = y1 + lasty;
|
qy1 = y1 + lasty;
|
||||||
qy2 = qy1 + ((qheight * actual_h) / img->height );
|
qy2 = qy1 + ((qheight * actual_h) / texture->height );
|
||||||
|
|
||||||
glBegin (GL_QUADS);
|
glBegin (GL_QUADS);
|
||||||
glTexCoord2f (tx, ty); glVertex2i (qx2, qy2);
|
glTexCoord2f (tx, ty); glVertex2i (qx2, qy2);
|
||||||
@ -157,7 +161,7 @@ tile_dimension (int to_fill,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
init_tiles (CltrImage *texture)
|
init_tiles (CltrTexture *texture)
|
||||||
{
|
{
|
||||||
int x_pot = next_p2 (texture->width);
|
int x_pot = next_p2 (texture->width);
|
||||||
int y_pot = next_p2 (texture->height);
|
int y_pot = next_p2 (texture->height);
|
||||||
@ -229,56 +233,56 @@ init_tiles (CltrImage *texture)
|
|||||||
|
|
||||||
/* End borrowed luminocity code */
|
/* End borrowed luminocity code */
|
||||||
|
|
||||||
CltrImage*
|
CltrTexture*
|
||||||
cltr_image_new(Pixbuf *pixb)
|
cltr_texture_new(Pixbuf *pixb)
|
||||||
{
|
{
|
||||||
CltrImage *img;
|
CltrTexture *texture;
|
||||||
int x, y, i = 0;
|
int x, y, i = 0;
|
||||||
|
|
||||||
CLTR_MARK();
|
CLTR_MARK();
|
||||||
|
|
||||||
img = g_malloc0(sizeof(CltrImage));
|
img = g_malloc0(sizeof(CltrImage));
|
||||||
|
|
||||||
img->width = pixb->width;
|
texture->width = pixb->width;
|
||||||
img->height = pixb->height;
|
texture->height = pixb->height;
|
||||||
img->pixb = pixb;
|
texture->pixb = pixb;
|
||||||
|
|
||||||
pixbuf_ref(pixb);
|
pixbuf_ref(pixb);
|
||||||
|
|
||||||
init_tiles (img);
|
init_tiles (img);
|
||||||
|
|
||||||
for (x=0; x < img->n_x_tiles; x++)
|
for (x=0; x < texture->n_x_tiles; x++)
|
||||||
for (y=0; y < img->n_y_tiles; y++)
|
for (y=0; y < texture->n_y_tiles; y++)
|
||||||
{
|
{
|
||||||
Pixbuf *pixtmp;
|
Pixbuf *pixtmp;
|
||||||
int src_h, src_w;
|
int src_h, src_w;
|
||||||
|
|
||||||
pixtmp = pixbuf_new(img->tile_x_size[x], img->tile_y_size[y]);
|
pixtmp = pixbuf_new(texture->tile_x_size[x], texture->tile_y_size[y]);
|
||||||
|
|
||||||
src_w = img->tile_x_size[x];
|
src_w = texture->tile_x_size[x];
|
||||||
src_h = img->tile_y_size[y];
|
src_h = texture->tile_y_size[y];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
CLTR_DBG("%i+%i, %ix%i to %ix%i, waste %ix%i",
|
CLTR_DBG("%i+%i, %ix%i to %ix%i, waste %ix%i",
|
||||||
img->tile_x_position[x],
|
texture->tile_x_position[x],
|
||||||
img->tile_y_position[y],
|
texture->tile_y_position[y],
|
||||||
img->tile_x_size[x],
|
texture->tile_x_size[x],
|
||||||
img->tile_y_size[y],
|
texture->tile_y_size[y],
|
||||||
img->width,
|
texture->width,
|
||||||
img->height,
|
texture->height,
|
||||||
img->tile_x_waste[x],
|
texture->tile_x_waste[x],
|
||||||
img->tile_y_waste[y]);
|
texture->tile_y_waste[y]);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
pixbuf_copy(img->pixb,
|
pixbuf_copy(texture->pixb,
|
||||||
pixtmp,
|
pixtmp,
|
||||||
img->tile_x_position[x],
|
texture->tile_x_position[x],
|
||||||
img->tile_y_position[y],
|
texture->tile_y_position[y],
|
||||||
img->tile_x_size[x],
|
texture->tile_x_size[x],
|
||||||
img->tile_y_size[y],
|
texture->tile_y_size[y],
|
||||||
0,0);
|
0,0);
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D, img->tiles[i]);
|
glBindTexture(GL_TEXTURE_2D, texture->tiles[i]);
|
||||||
|
|
||||||
CLTR_GLERR();
|
CLTR_GLERR();
|
||||||
|
|
||||||
@ -288,7 +292,7 @@ cltr_image_new(Pixbuf *pixb)
|
|||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
glTexEnvi (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
|
glTexEnvi (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
|
||||||
|
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,
|
glTexImage2D(GL_TEXTURE_2D, 0, /*GL_COMPRESSED_RGBA_ARB*/ GL_RGBA,
|
||||||
pixtmp->width,
|
pixtmp->width,
|
||||||
pixtmp->height,
|
pixtmp->height,
|
||||||
0, GL_RGBA,
|
0, GL_RGBA,
|
||||||
|
10
cltr-tex.h
10
cltr-tex.h
@ -3,10 +3,14 @@
|
|||||||
|
|
||||||
#include "cltr.h"
|
#include "cltr.h"
|
||||||
|
|
||||||
CltrImage*
|
CltrTexture*
|
||||||
cltr_image_new(Pixbuf *pixb);
|
cltr_texture_new(Pixbuf *pixb);
|
||||||
|
|
||||||
void
|
void
|
||||||
cltr_image_render_to_gl_quad(CltrImage *img, int x1, int y1, int x2, int y2);
|
cltr_texture_render_to_gl_quad(CltrTexture *texture,
|
||||||
|
int x1,
|
||||||
|
int y1,
|
||||||
|
int x2,
|
||||||
|
int y2);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
6
cltr.h
6
cltr.h
@ -98,9 +98,9 @@ CltrXEventSource;
|
|||||||
|
|
||||||
/* texture stuff */
|
/* texture stuff */
|
||||||
|
|
||||||
typedef struct CltrImage CltrImage;
|
typedef struct CltrTexture CltrTexture;
|
||||||
|
|
||||||
struct CltrImage
|
struct CltrTexture
|
||||||
{
|
{
|
||||||
Pixbuf *pixb;
|
Pixbuf *pixb;
|
||||||
|
|
||||||
@ -117,7 +117,7 @@ struct CltrImage
|
|||||||
|
|
||||||
/* ******************* */
|
/* ******************* */
|
||||||
|
|
||||||
#include "cltr-tex.h"
|
#include "cltr-texture.h"
|
||||||
#include "cltr-photo-grid.h"
|
#include "cltr-photo-grid.h"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user