projects
/
geeqie.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a059e7f
)
simplified pr_zoom_clamp
author
Vladimir Nadvornik
<nadvornik@suse.cz>
Sat, 18 Aug 2012 15:52:39 +0000
(17:52 +0200)
committer
Vladimir Nadvornik
<nadvornik@suse.cz>
Sat, 18 Aug 2012 17:20:07 +0000
(19:20 +0200)
src/pixbuf-renderer.c
patch
|
blob
|
history
diff --git
a/src/pixbuf-renderer.c
b/src/pixbuf-renderer.c
index
821dd07
..
f32cddc
100644
(file)
--- a/
src/pixbuf-renderer.c
+++ b/
src/pixbuf-renderer.c
@@
-1590,15
+1590,12
@@
static gboolean pr_size_clamp(PixbufRenderer *pr)
}
static gboolean pr_zoom_clamp(PixbufRenderer *pr, gdouble zoom,
}
static gboolean pr_zoom_clamp(PixbufRenderer *pr, gdouble zoom,
- PrZoomFlags flags
, gboolean *redrawn
)
+ PrZoomFlags flags)
{
gint w, h;
gdouble scale;
{
gint w, h;
gdouble scale;
- gboolean invalid;
gboolean force = !!(flags & PR_ZOOM_FORCE);
gboolean new = !!(flags & PR_ZOOM_NEW);
gboolean force = !!(flags & PR_ZOOM_FORCE);
gboolean new = !!(flags & PR_ZOOM_NEW);
- gboolean invalidate = !!(flags & PR_ZOOM_INVALIDATE);
- gboolean lazy = !!(flags & PR_ZOOM_LAZY);
zoom = CLAMP(zoom, pr->zoom_min, pr->zoom_max);
zoom = CLAMP(zoom, pr->zoom_min, pr->zoom_max);
@@
-1682,23
+1679,11
@@
static gboolean pr_zoom_clamp(PixbufRenderer *pr, gdouble zoom,
h = h * scale * pr->aspect_ratio;
}
h = h * scale * pr->aspect_ratio;
}
- invalid = (pr->width != w || pr->height != h);
-
pr->zoom = zoom;
pr->width = w;
pr->height = h;
pr->scale = scale;
pr->zoom = zoom;
pr->width = w;
pr->height = h;
pr->scale = scale;
- if (invalidate || invalid)
- {
- pr->renderer->update_zoom(pr->renderer, lazy);
- if (pr->renderer2) pr->renderer2->update_zoom(pr->renderer2, lazy);
-// if (!lazy) pr_redraw(pr, TRUE);
- }
- if (redrawn) *redrawn = (invalidate || invalid);
-
- pixbuf_renderer_sync_scroll_center(pr);
-
return TRUE;
}
return TRUE;
}
@@
-1709,7
+1694,6
@@
static void pr_zoom_sync(PixbufRenderer *pr, gdouble zoom,
gint old_cx, old_cy;
gboolean clamped;
gboolean sized;
gint old_cx, old_cy;
gboolean clamped;
gboolean sized;
- gboolean redrawn = FALSE;
gboolean center_point = !!(flags & PR_ZOOM_CENTER);
gboolean force = !!(flags & PR_ZOOM_FORCE);
gboolean new = !!(flags & PR_ZOOM_NEW);
gboolean center_point = !!(flags & PR_ZOOM_CENTER);
gboolean force = !!(flags & PR_ZOOM_FORCE);
gboolean new = !!(flags & PR_ZOOM_NEW);
@@
-1734,8
+1718,7
@@
static void pr_zoom_sync(PixbufRenderer *pr, gdouble zoom,
}
if (force) clamp_flags |= PR_ZOOM_INVALIDATE;
}
if (force) clamp_flags |= PR_ZOOM_INVALIDATE;
- if (lazy) clamp_flags |= PR_ZOOM_LAZY;
- if (!pr_zoom_clamp(pr, zoom, clamp_flags, &redrawn)) return;
+ if (!pr_zoom_clamp(pr, zoom, clamp_flags)) return;
clamped = pr_size_clamp(pr);
sized = pr_parent_window_resize(pr, pr->width, pr->height);
clamped = pr_size_clamp(pr);
sized = pr_parent_window_resize(pr, pr->width, pr->height);
@@
-1779,17
+1762,6
@@
static void pr_zoom_sync(PixbufRenderer *pr, gdouble zoom,
pr_scroll_clamp(pr);
pr_scroll_clamp(pr);
-#if 0
- if (lazy)
- {
- pr->renderer->queue_clear(pr->renderer);
- if (pr->renderer2) pr->renderer2->queue_clear(pr->renderer2);
- }
- else
- {
- pr_redraw(pr, redrawn);
- }
-#endif
pr->renderer->update_zoom(pr->renderer, lazy);
if (pr->renderer2) pr->renderer2->update_zoom(pr->renderer2, lazy);
pr->renderer->update_zoom(pr->renderer, lazy);
if (pr->renderer2) pr->renderer2->update_zoom(pr->renderer2, lazy);
@@
-1833,16
+1805,23
@@
static void pr_size_sync(PixbufRenderer *pr, gint new_width, gint new_height)
if (pr->zoom == 0.0)
{
gdouble old_scale = pr->scale;
if (pr->zoom == 0.0)
{
gdouble old_scale = pr->scale;
- pr_zoom_clamp(pr, 0.0, PR_ZOOM_FORCE
, NULL
);
+ pr_zoom_clamp(pr, 0.0, PR_ZOOM_FORCE);
zoom_changed = (old_scale != pr->scale);
}
pr_size_clamp(pr);
pr_scroll_clamp(pr);
zoom_changed = (old_scale != pr->scale);
}
pr_size_clamp(pr);
pr_scroll_clamp(pr);
+ if (zoom_changed)
+ {
+ pr->renderer->update_zoom(pr->renderer, FALSE);
+ if (pr->renderer2) pr->renderer2->update_zoom(pr->renderer2, FALSE);
+ }
+
pr->renderer->update_sizes(pr->renderer);
if (pr->renderer2) pr->renderer2->update_sizes(pr->renderer2);
pr->renderer->update_sizes(pr->renderer);
if (pr->renderer2) pr->renderer2->update_sizes(pr->renderer2);
+
/* ensure scroller remains visible */
if (pr->scroller_overlay != -1)
{
/* ensure scroller remains visible */
if (pr->scroller_overlay != -1)
{