X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/4c77d5e0aec3c7aab32965ca4e02abb17bb6108f..4e53f3dcd47d9208cff59bdacefdacf554b37962:/src/viklayer.c?ds=inline diff --git a/src/viklayer.c b/src/viklayer.c index 94b961e6..e85427e1 100644 --- a/src/viklayer.c +++ b/src/viklayer.c @@ -459,15 +459,18 @@ void vik_layer_post_read ( VikLayer *layer, VikViewport *vp, gboolean from_file static gboolean layer_properties_factory ( VikLayer *vl, VikViewport *vp ) { switch ( a_uibuilder_properties_factory ( VIK_GTK_WINDOW_FROM_WIDGET(vp), - vik_layer_interfaces[vl->type]->params, - vik_layer_interfaces[vl->type]->params_count, - vik_layer_interfaces[vl->type]->params_groups, - vik_layer_interfaces[vl->type]->params_groups_count, - vik_layer_interfaces[vl->type]->set_param, vl, vp, - vik_layer_interfaces[vl->type]->get_param, vl) ) { + vik_layer_interfaces[vl->type]->params, + vik_layer_interfaces[vl->type]->params_count, + vik_layer_interfaces[vl->type]->params_groups, + vik_layer_interfaces[vl->type]->params_groups_count, + (gpointer) vik_layer_interfaces[vl->type]->set_param, + vl, + vp, + (gpointer) vik_layer_interfaces[vl->type]->get_param, + vl) ) { case 0: - return FALSE; case 3: + return FALSE; /* redraw (?) */ case 2: vik_layer_post_read ( vl, vp, FALSE ); /* update any gc's */ @@ -476,54 +479,3 @@ static gboolean layer_properties_factory ( VikLayer *vl, VikViewport *vp ) } } -static GdkCursor ***layers_cursors; - -GdkCursor *vik_layer_get_tool_cursor ( gint layer_id, gint tool_id ) -{ - if ( layer_id >= VIK_LAYER_NUM_TYPES ) - return NULL; - if ( tool_id >= vik_layer_interfaces[layer_id]->tools_count ) - return NULL; - return layers_cursors[layer_id][tool_id]; -} - -void vik_layer_cursors_init() -{ - gint i, j; - layers_cursors = g_malloc ( sizeof(GdkCursor **) * VIK_LAYER_NUM_TYPES ); - for ( i = 0 ; i < VIK_LAYER_NUM_TYPES; i++ ) { - if ( vik_layer_interfaces[i]->tools_count ) { - layers_cursors[i] = g_malloc ( sizeof(GdkCursor *) * vik_layer_interfaces[i]->tools_count ); - for ( j = 0; j < vik_layer_interfaces[i]->tools_count; j++ ) { - if ( vik_layer_interfaces[i]->tools[j].cursor ) { - const GdkPixdata *cursor_pixdata = vik_layer_interfaces[i]->tools[j].cursor; - GError *cursor_load_err = NULL; - GdkPixbuf *cursor_pixbuf = gdk_pixbuf_from_pixdata (cursor_pixdata, FALSE, &cursor_load_err); - /* TODO: settable offeset */ - GdkCursor *cursor = gdk_cursor_new_from_pixbuf ( gdk_display_get_default(), cursor_pixbuf, 3, 3 ); - layers_cursors[i][j] = cursor; - - g_object_unref ( G_OBJECT(cursor_pixbuf) ); - } - else - layers_cursors[i][j] = NULL; - } - } else - layers_cursors[i] = NULL; - } -} - -void vik_layer_cursors_uninit() -{ - gint i, j; - for ( i = 0 ; i < VIK_LAYER_NUM_TYPES; i++ ) { - if ( vik_layer_interfaces[i]->tools_count ) { - for ( j = 0; j < vik_layer_interfaces[i]->tools_count; j++ ) { - if ( layers_cursors[i][j] ) - gdk_cursor_unref ( layers_cursors[i][j] ); - } - g_free ( layers_cursors[i] ); - } - } - g_free ( layers_cursors ); -}