[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