From fcb12a4683fffaf9861d4fce7682ae0620783d80 Mon Sep 17 00:00:00 2001 From: Liam Girdwood Date: Sat, 28 Jun 2008 15:04:32 +0100 Subject: [PATCH] sky: background - removed uneedded cliping rect. --- src/sky/sky.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/sky/sky.c b/src/sky/sky.c index 7fe194b..259adeb 100644 --- a/src/sky/sky.c +++ b/src/sky/sky.c @@ -147,7 +147,7 @@ static void sky_move_rel_pixels(Sky *sky, gfloat ra_offset, gfloat dec_offset) projection_check_bounds(&sky->projection); } -static void sky_zoom (Sky *sky, gfloat zoom) +static void sky_zoom(Sky *sky, gfloat zoom) { sky->projection.fov *= zoom; projection_check_bounds(&sky->projection); @@ -488,9 +488,6 @@ static void sky_draw(GtkWidget *sky_widget, cairo_t *cr) sky = NOVA_SKY_GET_PRIVATE(sky_widget); - sky->projection.sky_width = sky_widget->allocation.width; - sky->projection.sky_height = sky_widget->allocation.height; - tile_set_array_size(sky->tile, sky_widget->allocation.width, sky_widget->allocation.height); tile_reset_array(sky->tile); @@ -505,24 +502,32 @@ static void sky_draw(GtkWidget *sky_widget, cairo_t *cr) sky->robject.cr = cr; vsky_render(sky); cairo_restore(cr); - sky->redraw_pending = 0; + sky->redraw_pending = sky->is_modified = 0; } static gboolean virtual_sky_expose (GtkWidget *sky_widget, GdkEventExpose *event) { cairo_t *cr; + Sky *sky; + + sky = NOVA_SKY_GET_PRIVATE(sky_widget); + + if (sky->projection.sky_width != sky_widget->allocation.width || + sky->projection.sky_height != sky_widget->allocation.height) + sky->is_modified = 1; + + sky->projection.sky_width = sky_widget->allocation.width; + sky->projection.sky_height = sky_widget->allocation.height; /* get a cairo_t */ cr = gdk_cairo_create(sky_widget->window); /* draw night sky background */ - cairo_rectangle(cr,event->area.x, event->area.y, - event->area.width, event->area.height); - cairo_clip(cr); cairo_set_source_rgb(cr, 0, 0, 0); cairo_paint(cr); +printf("mod %d\n", sky->is_modified); /* render_object sky objects */ sky_draw(sky_widget, cr); cairo_destroy(cr); -- 2.11.4.GIT