Author: abrander
Date: 2009-07-08 01:13:47 +0200 (Wed, 08 Jul 2009)
New Revision: 2577
Modified:
trunk/src/rs-preview-widget.c
Log:
Enabled very simple single-threaded two-phased redrawing in RSPreviewWidget.
Modified: trunk/src/rs-preview-widget.c
===================================================================
--- trunk/src/rs-preview-widget.c 2009-07-07 23:01:33 UTC (rev 2576)
+++ trunk/src/rs-preview-widget.c 2009-07-07 23:13:47 UTC (rev 2577)
@@ -570,6 +570,7 @@
for(view=0;view<MAX_VIEWS;view++)
{
+ rs_filter_param_set_quick(preview->param[view], TRUE);
g_object_set(preview->filter_render[view], "settings",
preview->photo->settings[preview->snapshot[view]], NULL);
g_object_set(preview->filter_denoise[view], "settings",
preview->photo->settings[preview->snapshot[view]], NULL);
}
@@ -1338,6 +1339,15 @@
g_object_unref(buffer);
}
+
+ /* This is a hack to redraw when we got a "quick"
response - should
+ be replacedby something threaded or something */
+ if(rs_filter_response_get_quick(response))
+ {
+ rs_filter_param_set_quick(preview->param[i],
FALSE);
+ gdk_window_invalidate_rect(window, &area,
FALSE);
+ }
+
g_object_unref(response);
}
@@ -2373,16 +2383,14 @@
if (!preview->last_roi[view])
return FALSE;
- RSFilterParam *param = rs_filter_param_new();
- rs_filter_param_set_roi(param, preview->last_roi[view]);
- RSFilterResponse *response =
rs_filter_get_image(preview->filter_cache1[view], param);
+ RSFilterResponse *response =
rs_filter_get_image(preview->filter_cache1[view], preview->param[view]);
RS_IMAGE16 *image = rs_filter_response_get_image(response);
g_object_unref(response);
- response = rs_filter_get_image8(preview->filter_end[view], param);
+
+ response = rs_filter_get_image8(preview->filter_end[view],
preview->param[view]);
GdkPixbuf *buffer = rs_filter_response_get_image8(response);
g_object_unref(response);
- g_object_unref(param);
if (!image)
return FALSE;
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit