Update of /cvsroot/ufraw/ufraw
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv13646
Modified Files:
ufraw_preview.c ufraw_ufraw.c
Log Message:
Treat create_base_image() as another rendering phase and trigger full rendering
when WB changes during 100% zoom. Based on patch by Frank van Maarseveen.
100% zoom is still not enabled.
Index: ufraw_ufraw.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_ufraw.c,v
retrieving revision 1.181
retrieving revision 1.182
diff -u -d -r1.181 -r1.182
--- ufraw_ufraw.c 18 Sep 2009 23:13:47 -0000 1.181
+++ ufraw_ufraw.c 21 Sep 2009 06:39:04 -0000 1.182
@@ -1385,6 +1385,11 @@
double rgbWB[3];
int status, c, cc, i;
+ UFRawPhase phase = uf->developer!=NULL && uf->developer->doWB ?
+ ufraw_develop_phase : ufraw_first_phase;
+ for (; phase < ufraw_phases_num; phase++)
+ uf->Images[phase].valid = 0;
+
/* For manual_wb we calculate chanMul from the temperature/green. */
/* For all other it is the other way around. */
if (!strcmp(uf->conf->wb, manual_wb)) {
Index: ufraw_preview.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_preview.c,v
retrieving revision 1.267
retrieving revision 1.268
diff -u -d -r1.267 -r1.268
--- ufraw_preview.c 18 Sep 2009 19:17:09 -0000 1.267
+++ ufraw_preview.c 21 Sep 2009 06:39:04 -0000 1.268
@@ -1083,6 +1083,8 @@
return subarea;
}
+static void create_base_image(preview_data *data);
+
static gboolean render_preview_image(preview_data *data)
{
gboolean again = FALSE;
@@ -1091,6 +1093,11 @@
if (data->FreezeDialog) return FALSE;
+ if (data->UF->Images[ufraw_first_phase].valid==0) {
+ create_base_image(data);
+ render_init(data);
+ ufraw_convert_image_init_phase(data->UF);
+ }
if (data->RenderSubArea < 0)
return FALSE;
@@ -2041,8 +2048,8 @@
CFG->Scale = LIM(CFG->Scale, min_scale, max_scale);
CFG->Zoom = 100.0/CFG->Scale;
if (prev_zoom != CFG->Zoom) {
- create_base_image(data);
gtk_adjustment_set_value(data->ZoomAdjustment, CFG->Zoom);
+ preview_invalidate_layer(data, ufraw_first_phase);
render_preview(data);
}
}
@@ -2063,8 +2070,8 @@
CFG->Scale = LIM(CFG->Scale, min_scale, max_scale);
CFG->Zoom = 100.0/CFG->Scale;
if (prev_zoom != CFG->Zoom) {
- create_base_image(data);
gtk_adjustment_set_value(data->ZoomAdjustment, CFG->Zoom);
+ preview_invalidate_layer(data, ufraw_first_phase);
render_preview(data);
}
}
@@ -2085,8 +2092,8 @@
CFG->Zoom = 100.0/LIM(MAX(wScale, hScale), min_scale, max_scale);
CFG->Scale = 0;
if (prev_zoom != CFG->Zoom) {
- create_base_image(data);
gtk_adjustment_set_value(data->ZoomAdjustment, CFG->Zoom);
+ preview_invalidate_layer(data, ufraw_first_phase);
render_preview(data);
}
}
@@ -2100,8 +2107,8 @@
CFG->Scale = min_scale;
CFG->Zoom = 100.0/CFG->Scale;
if (prev_zoom != CFG->Zoom) {
- create_base_image(data);
gtk_adjustment_set_value(data->ZoomAdjustment, CFG->Zoom);
+ preview_invalidate_layer(data, ufraw_first_phase);
render_preview(data);
}
}
@@ -2470,7 +2477,7 @@
static void set_darkframe(preview_data *data)
{
set_darkframe_label(data);
- create_base_image(data);
+ preview_invalidate_layer(data, ufraw_first_phase);
render_preview(data);
}
@@ -2593,6 +2600,11 @@
CFG->temperature = data->initialTemperature;
CFG->green = data->initialGreen;
for (c=0; c<4; c++) CFG->chanMul[c] = data->initialChanMul[c];
+
+ UFRawPhase phase = Developer!=NULL && Developer->doWB ?
+ ufraw_develop_phase : ufraw_first_phase;
+ for (; phase < ufraw_phases_num; phase++)
+ data->UF->Images[phase].valid = 0;
}
if (button==data->ResetGammaButton) {
CFG->profile[0][CFG->profileIndex[0]].gamma =
@@ -2853,7 +2865,7 @@
else if (valuep==&CFG->Zoom)
{
CFG->Scale = 0;
- create_base_image(data);
+ preview_invalidate_layer(data, ufraw_first_phase);
}
else if (valuep==&CFG->threshold)
preview_invalidate_layer (data, ufraw_denoise_phase);
@@ -2955,7 +2967,7 @@
data->SpotY1 = -1;
data->SpotY2 = -1;
}
- create_base_image(data);
+ preview_invalidate_layer(data, ufraw_first_phase);
if (CFG->CropX2 > data->UF->rotatedWidth)
fix_crop_aspect(data, top_right_cursor);
else if (CFG->CropY2 > data->UF->rotatedHeight)
------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
ufraw-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ufraw-cvs