[Rawstudio-commit] r684 - branches/rawstudio-cms/src

Anders Brander anders at brander.dk
Sun Aug 13 23:07:41 CEST 2006


Author: abrander
Date: 2006-08-13 23:07:41 +0200 (Sun, 13 Aug 2006)
New Revision: 684

Modified:
   branches/rawstudio-cms/src/gtk-interface.c
   branches/rawstudio-cms/src/gtk-interface.h
   branches/rawstudio-cms/src/rawstudio.c
   branches/rawstudio-cms/src/rawstudio.h
   branches/rawstudio-cms/src/toolbox.c
Log:
Now only calling update_previewtable() when necessary.

Modified: branches/rawstudio-cms/src/gtk-interface.c
===================================================================
--- branches/rawstudio-cms/src/gtk-interface.c	2006-08-13 20:31:57 UTC (rev 683)
+++ branches/rawstudio-cms/src/gtk-interface.c	2006-08-13 21:07:41 UTC (rev 684)
@@ -126,6 +126,18 @@
 }
 
 gboolean
+update_previewtable_callback(GtkAdjustment *do_not_use_this, RS_BLOB *rs)
+{
+	if (rs->photo)
+	{
+		rs_settings_to_rs_settings_double(rs->settings[rs->current_setting], rs->photo->settings[rs->photo->current_setting]);
+		update_previewtable(rs->gamma, rs->photo->settings[rs->photo->current_setting]->contrast);
+		update_preview(rs);
+	}
+	return(FALSE);
+}
+
+gboolean
 update_scale_callback(GtkAdjustment *do_not_use_this, RS_BLOB *rs)
 {
 	rs->zoom_to_fit = FALSE;
@@ -934,7 +946,11 @@
 {
 	rs_conf_set_double(CONF_GAMMAVALUE, caller->value);
 	rs->gamma = caller->value;
-	update_preview(rs);
+	if (rs->photo)
+	{
+		update_previewtable(rs->gamma, rs->photo->settings[rs->photo->current_setting]->contrast);
+		update_preview(rs);
+	}
 	return(FALSE);
 }
 

Modified: branches/rawstudio-cms/src/gtk-interface.h
===================================================================
--- branches/rawstudio-cms/src/gtk-interface.h	2006-08-13 20:31:57 UTC (rev 683)
+++ branches/rawstudio-cms/src/gtk-interface.h	2006-08-13 21:07:41 UTC (rev 684)
@@ -44,6 +44,7 @@
 
 void update_histogram(RS_BLOB *rs);
 gboolean update_preview_callback(GtkAdjustment *caller, RS_BLOB *rs);
+gboolean update_previewtable_callback(GtkAdjustment *do_not_use_this, RS_BLOB *rs);
 gboolean update_scale_callback(GtkAdjustment *do_not_use_this, RS_BLOB *rs);
 void gui_dialog_simple(gchar *title, gchar *message);
 GtkWidget *gui_dialog_make_from_text(const gchar *stock_id, gchar *primary_text, gchar *secondary_text);

Modified: branches/rawstudio-cms/src/rawstudio.c
===================================================================
--- branches/rawstudio-cms/src/rawstudio.c	2006-08-13 20:31:57 UTC (rev 683)
+++ branches/rawstudio-cms/src/rawstudio.c	2006-08-13 21:07:41 UTC (rev 684)
@@ -63,7 +63,6 @@
 	RS_CMS_PROFILE_EXPORT
 };
 
-void update_previewtable(const double gamma, const double contrast);
 inline void rs_photo_prepare(RS_PHOTO *photo, gdouble gamma);
 void update_scaled(RS_BLOB *rs);
 inline void rs_render_mask(guchar *pixels, guchar *mask, guint length);
@@ -179,7 +178,6 @@
 inline void
 rs_photo_prepare(RS_PHOTO *photo, gdouble gamma)
 {
-	update_previewtable(gamma, photo->settings[photo->current_setting]->contrast);
 	matrix4_identity(&photo->mat);
 	matrix4_color_exposure(&photo->mat, photo->settings[photo->current_setting]->exposure);
 
@@ -964,6 +962,7 @@
 		rs->gamma = 2.2;
 		rs_conf_set_double(CONF_GAMMAVALUE,rs->gamma);
 	}
+	update_previewtable(rs->gamma, 1.0);
 	g_signal_connect(G_OBJECT(rs->scale), "value_changed",
 		G_CALLBACK(update_scale_callback), rs);
 	rs->histogram_dataset = NULL;

Modified: branches/rawstudio-cms/src/rawstudio.h
===================================================================
--- branches/rawstudio-cms/src/rawstudio.h	2006-08-13 20:31:57 UTC (rev 683)
+++ branches/rawstudio-cms/src/rawstudio.h	2006-08-13 21:07:41 UTC (rev 684)
@@ -207,6 +207,7 @@
 	void (*load_meta)(const gchar *, RS_METADATA *);
 } RS_FILETYPE;
 
+void update_previewtable(const double gamma, const double contrast);
 void rs_local_cachedir(gboolean new_value);
 void rs_load_gdk(gboolean new_value);
 void update_preview(RS_BLOB *rs);

Modified: branches/rawstudio-cms/src/toolbox.c
===================================================================
--- branches/rawstudio-cms/src/toolbox.c	2006-08-13 20:31:57 UTC (rev 683)
+++ branches/rawstudio-cms/src/toolbox.c	2006-08-13 21:07:41 UTC (rev 684)
@@ -269,7 +269,7 @@
 {
 	GtkWidget *hscale;
 
-	hscale = gui_make_scale_from_adj(rs, G_CALLBACK(update_preview_callback), rs->settings[n]->contrast, MASK_CONTRAST);
+	hscale = gui_make_scale_from_adj(rs, G_CALLBACK(update_previewtable_callback), rs->settings[n]->contrast, MASK_CONTRAST);
 	return(gui_box(_("Contrast"), hscale));
 }
 




More information about the Rawstudio-commit mailing list