Commit Graph

34326 Commits

Author SHA1 Message Date
Michael Natterer 069996d75f app: some random code cleanup 2014-06-02 20:17:39 +02:00
Michael Natterer 8836127efb app: call gdk_display_flush() in gimp_cursor_set()
Cursor change feedback should be immediate even under heavy load.
2014-06-02 20:16:04 +02:00
Michael Natterer e424b9ebbd app: gimp_channel_new_from_alpha(): use gimp_drawable_get_component_format() 2014-06-02 08:12:48 +02:00
Michael Natterer 8e0563954d app: add gimp_drawable_get_component_format() and _component_index() 2014-06-02 02:31:42 +02:00
Michael Natterer 8424ccbedf app: don't create a temporary GimpChannel in gimp_channel_translate()
a temporary GeglBuffer is enough.
2014-06-02 01:57:17 +02:00
Michael Natterer 1464bee257 app: use the GParamSpec's nick as label in gimp_prop_spin_scale_new()
if a NULL label was passed. Override this with explicit calls to
gimp_spin_scale_set_label() in the two cases where we really don't
want a label.
2014-06-01 23:39:19 +02:00
Michael Natterer 06d91251da Bug 731085 - Dragging an image out of the image area freezes GIMP
In GimpProjection, use gimp_rectangle_intersect() instead of ad-hoc
CLAMP() constructs to sanitize rectangles, and don't let rectangles
enter the projection if they don't intersect with the projectable.

(apparently I have killed some check that did the same when porting
to cairo regions).
2014-06-01 21:30:11 +02:00
Michael Natterer 65b46244c7 app: add a menu of kelvin presets to GEGL properties with unit "kelvin"
Values taken from http://en.wikipedia.org/wiki/Color_temperature
2014-06-01 20:59:57 +02:00
Michael Natterer 1b1f3a60e2 app: enable the buffer copy in gimp_drawable_merge_filter() again
Thanks to gegl:copy-buffer this is now without much overhead.
Edit->Fade now works again on the result of any GEGL op.
2014-06-01 18:37:57 +02:00
Michael Natterer 987d9e2800 app: add a gegl:copy-buffer to GimpApplicator
which allows to get a buffer copy of the result of the applied
operation without the overhead of running the entire graph again just
for this purpose.
2014-06-01 18:35:18 +02:00
Michael Natterer 9125f876df app: make GimpImageMap merge the filter before removing it from the drawable
This is a prerequisite for making it use cached results; not quite
there yet.
2014-06-01 16:24:32 +02:00
Michael Henning a7953fb1a1 build/win: Upgrade webkitgtk to 2.0.4
Also fix the build against the latest versions of freetype.
2014-05-31 23:38:57 -04:00
Michael Natterer 42ba02bcd6 app: don't duplicate code in gimp_drawable_merge_filter()
gimp_gegl_apply_operation() already takes care of the
src_buffer == dest_buffer special case.
2014-05-31 22:32:10 +02:00
Michael Natterer 49818c7179 app: more cleanup in GimpProjection
Pull freeing the update regions into gimp_projection_free_buffer()
because freeing the buffer definitely obsoletes them. Get rid of
the last x1, y1, x2, y2 and use x, y, w, h inatead.
2014-05-31 15:13:32 +02:00
Michael Natterer 0b01f3b2b8 app: remove duplicate typedef GimpProjectionPrivate 2014-05-31 09:58:14 +02:00
Michael Natterer 0349b8972a app: rename gimpimage-contiguous-region.[ch] to gimppickable-....[ch]
The functions don't need to know about sample_merged, in fact they
used the boolean only to either use the passed image or drawable and
otherwise ran the same code. The sample_merged logic belongs into
their callers (and sometimes not even there).
2014-05-31 09:52:44 +02:00
Michael Natterer 5db796e17d app: improve code readability in GimpProjection 2014-05-31 02:58:21 +02:00
Michael Natterer c78d82a43c app: render/update the visible part of the image first
Set the active display's viewport as priority rectangle on the image.

Update the rectangle in the default implementations of
GimpDisplayShell::scaled(), ::scrolled() and ::rotated(), which isn't
entirely correct yet but much better than before, and the only "bad"
thing that can happen with a bogus priority rectangle is that the
image is updated as out-of-viewport as before, just differently.
2014-05-31 02:36:25 +02:00
Michael Natterer 639319367a app: allow to set a "priority rectangle" on GimpProjection
If it is set, that rectangle gets processed first when
idle-constructing the image via ChunkRender.
2014-05-31 02:34:56 +02:00
Michael Natterer f509fce5d2 app: clean up the projections ChunkRender code
Remove member "running" it was always identical to "idle_id != 0".
Rename and reorder variables to make more sense. Simplify
gimp_projection_chunk_render_iteration() work area calculation.
2014-05-31 01:42:28 +02:00
Michael Natterer 9b341d05bb app: remove GimpArea and use cairo_region_t instead
This may or may not remove some logic that avoids drawing tiny update
regions, and may or may not improve things or make them worse. Will
add code that actually tile-aligns update areas later.
2014-05-31 01:26:06 +02:00
Michael Natterer 6845766200 app: gimp_drawable_merge_filte(): don't create a copy of the applied buffer
This removes the huge delay when applying any GEGL op, at the cost of
breaking Edit->Fade. Need to find a better way to create this buffer.
2014-05-31 01:08:42 +02:00
Michael Natterer a8f0c0e998 app: move all GimpProjection members to a private struct 2014-05-31 00:08:43 +02:00
Michael Natterer a0e8208650 app: GimpUndo's icon should be "edit-undo" not "gtk-undo" 2014-05-31 00:08:10 +02:00
Michael Natterer b39f0757db script-fu: don't add "Erase Every Other Row" to the menus
because it's not only useless but also utterly slow.
2014-05-30 23:26:09 +02:00
Michael Natterer dd6dca2435 Bug 730942 - "Rotate Image?" dialog doesn't offer understandable options
Add a preview of the rotated image and reword all labels.
2014-05-30 20:51:39 +02:00
Michael Natterer bb8d65bcee Bug 730862 - Preview frozen while dragging selection tools...
...(crop, rectangle, etc) in large image zoomed-to-fit

Introduce a hash of the last 16 used icons in GimpStatusbar, it was
loading icons at a very high frequency. Found by Massimo.
2014-05-30 19:40:11 +02:00
Jehan 6714a414a7 configure: search only Python 2 interpreter and headers.
Do not accept Python 3 interpreter/headers, even when this is the
default installed Python. Search only for Python 2.
2014-05-30 09:59:51 +00:00
Hartmut Kuhse d895b62348 plug-ins: removing deleted color-rotate translations 2014-05-30 09:26:42 +02:00
Sven Claussner d569ed37e3 Add app/widgets/gimppropgui-constructors.c to POTFILES.in 2014-05-30 06:59:41 +02:00
Michael Natterer 0df36e9dcf app: move lots of state handling from sunclasses to GimpCircle 2014-05-30 03:25:02 +02:00
Michael Natterer 7438d5bd04 plug-ins: remove the color-rotate plug-in 2014-05-30 01:37:39 +02:00
Michael Natterer f963f55fa4 app: add a "Select All" button to color-rotate's angle range controls 2014-05-30 01:23:15 +02:00
Michael Henning 78f84e6267 build/win: Upgrade poppler to 0.26.1 2014-05-29 19:02:06 -04:00
Michael Natterer 45da2c8abb app: use the new GimpPolar in the custom color-rotate GUI 2014-05-30 00:36:43 +02:00
Michael Natterer 71f3895597 app: GimpPolar: add () around && within a || 2014-05-30 00:36:43 +02:00
Michael Natterer fe7aa1384d app: add gimp_prop_polar_new() 2014-05-30 00:36:43 +02:00
Michael Natterer ca818d7c88 app: add new GimpCircle subblass GimpPolar to select polar coordinates 2014-05-30 00:36:42 +02:00
Jehan f1fe8b9c24 configure: clean out forgotten debug print. 2014-05-30 00:12:12 +00:00
Michael Natterer 38e2983c24 app: improve button label in color-rotate's custom GUI 2014-05-29 18:35:25 +02:00
Michael Natterer 227cff3af4 app: add gegl:color-rotate to Colors -> Map 2014-05-29 18:34:45 +02:00
Michael Natterer f15b48b3c8 plug-ins, pdb: remove convolution-matrix and add a PDB compat procedure 2014-05-29 16:27:35 +02:00
Michael Natterer 4fbaff92a1 pdb: replace \1 \2 \3 by $1 $2 $2 as suggested by perl warning 2014-05-29 16:26:16 +02:00
Michael Natterer 00f6973b3c app: add gegl:convolution-matrix to Filters -> Generic 2014-05-29 02:36:59 +02:00
Michael Natterer 31e07a13d1 app: convolution-matrix' matrix was flipped 2014-05-29 00:43:44 +02:00
Michael Natterer fd3c4ac836 app: improce custom gegl:color-rotate GUI 2014-05-28 14:49:22 +02:00
Michael Natterer 5d1f6806c0 app: add a bad custom GUI for gegl:color-rotate 2014-05-28 01:00:50 +02:00
Michael Natterer 907939edc9 app: add gimp_prop_angle_range_dial_new()
which is by no means general and needs to be improved if ever widely
used.
2014-05-28 00:59:44 +02:00
Michael Natterer 7261c6b3a8 app: experimentally add a custom GUI for gegl:convolution-matrix 2014-05-27 22:09:40 +02:00
Michael Natterer dd0098524f app: add a little hint about reporting bugs against unstable git 2014-05-27 21:58:10 +02:00