aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Ghigonis <laurent@p1sec.com>2012-11-05 04:06:39 +0100
committerLaurent Ghigonis <laurent@p1sec.com>2012-11-05 04:06:39 +0100
commitc7fcc07f9f9602058447af7769e1cdfd185493a7 (patch)
tree02785bbfbc2ef00f5f7207d77513c148d7f127ef
parentTODO++ (diff)
downloadglouglou-c7fcc07f9f9602058447af7769e1cdfd185493a7.tar.xz
glouglou-c7fcc07f9f9602058447af7769e1cdfd185493a7.zip
fix object size so it does fit the container size exactly.
also call grid_inject_pattern() on mouse down.
-rw-r--r--src/elife_evas_smart.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/elife_evas_smart.c b/src/elife_evas_smart.c
index 086b1a2..09445e5 100644
--- a/src/elife_evas_smart.c
+++ b/src/elife_evas_smart.c
@@ -289,16 +289,17 @@ grid_redraw(struct grid *grid, int w, int h)
int i,j;
Evas_Object *o;
- grid->pix_w = w;
- grid->pix_h = h;
grid->cell_pix_w = w / grid->w;
grid->cell_pix_h = h / grid->h;
+ grid->pix_w = (w / grid->w) * grid->w;
+ grid->pix_h = (h / grid->h) * grid->h;
if (DEBUG)
printf("redraw: container %d %d cell %d %d\n", w, h, grid->cell_pix_w, grid->cell_pix_h);
- evas_object_image_fill_set(grid->image, 0, 0, w, h);
- evas_object_image_size_set (grid->image, w, h);
+ evas_object_image_fill_set(grid->image, 0, 0, grid->pix_w, grid->pix_h);
+ evas_object_image_size_set (grid->image, grid->pix_w, grid->pix_h);
evas_object_resize(grid->image, w, h);
+ /* XXX could be optimized to avoid flickering on resize */
if (grid->mem)
free(grid->mem);
grid->mem = calloc(w * h, sizeof(int));
@@ -385,7 +386,7 @@ grid_mouse_down(void *data,
struct grid *grid;
grid = data;
- // XXX
+ grid_inject_pattern(grid);
}
Evas_Object *