Michael Natterer
d4c3d35bd8
app: use "filter" not "drawable" in GimpDrawableStack's graph code
2013-04-11 12:25:11 +02:00
Michael Natterer
4ca746eab7
app: move the "is-last-node" property and API from drawable to filter
2013-04-11 12:25:11 +02:00
Michael Natterer
45a6ea432c
app: add new class GimpFilter as parent class of GimpItem
...
and move the item's GeglNode API there. The purpose of this is to
factor out "gimp object that manages a node".
2013-04-11 12:25:10 +02:00
Michael Natterer
f84ed04ee5
app: actually remove the node in gimp_item_remove_offset_node()
...
The function is currently unused, so nobody noticed.
2013-04-11 12:25:10 +02:00
Michael Natterer
754e4eb919
app: allow to pass NULL to gimp_window_set_primary_focus_widget()
2013-04-10 19:28:49 +02:00
Michael Natterer
5880685472
Bug 675549 - image region does not have focus unless clicked on
...
We cannot simply randomy move the focus from e.g. a text entry back to
the canvas. Instead introduce global handling of "Escape" and a
"primary_focus_widget" that is always set the the image window's
active canvas. When Escape is pressed, move the focus to that primary
focus widget, or beep if it is already there. Text widgets still get
the key events before that logic and can consume the Escape.
2013-04-09 15:41:20 +02:00
Michael Natterer
46f74d9f46
app: return GeglBuffer from gimp_image_contiguous_region_foo()
...
now all intermediate masks should be in "Y float" and avoid all
conversions.
2013-04-09 01:38:24 +02:00
Michael Natterer
ddc4a057e4
app: factor our more lowlevel GimpChannel code to GeglBuffer utils
2013-04-09 00:38:46 +02:00
Michael Natterer
75c9a0dc27
app: factor out gimp_channel_select_buffer() from select_channel()
2013-04-08 23:31:26 +02:00
Michael Natterer
3cb2756133
app: use float GeglBuffers directly where possible in gimpchannel-select.c
...
Saving tons of conversions between the selection's actual format and
"Y float", including saving tons of temporary buffers while
processing.
2013-04-08 22:52:26 +02:00
Michael Natterer
5cd8b98efb
app: factor out the core mask combine functions to gegl-only functions
...
so we can use them on plain GeglBuffers. Use them in
gimpchannel-combine.c for now.
2013-04-08 21:54:46 +02:00
Michael Henning
e839ae0955
app: speed up gimp_image_contiguous_region_by_seed using a temporary GeglBuffer
...
This is identical to c204b0ac41
, except
it avoids setting the buffer type of the drawable using a buffer copy.
(that issue is explained in d53deda61b
)
2013-04-08 15:02:23 -04:00
Michael Natterer
586bb73293
app: add gimp_gegl_apply_feather()
...
and use it in gimp_channel_real_feather() so the magic factor of 3.5
to turn feather radius into gegl:gaussian-blur's std_dev is hidden
behind an API.
2013-04-08 14:16:33 +02:00
Michael Natterer
d49e33da4a
app: fix the last commit: it's n_components not 4, sigh
2013-04-08 03:33:39 +02:00
Michael Natterer
dd1f731cc9
app: fix format selection in gimpimage-contiguous-region
...
and also re-enable selecting by H, S, V. Doing that sometimes runs
into an infinite loop though, which I don't think is this code's
fault...
2013-04-08 03:14:06 +02:00
Michael Natterer
d53deda61b
Revert "core: speed up gimp_image_contiguous_region_by_seed using a temporary GeglBuffer"
...
This reverts commit c204b0ac41
, it's
a nice speedup we should keep, but we can't return a GimpChannel
of != image precision from that function. Needs more thinking.
2013-04-08 02:34:56 +02:00
Michael Henning
c204b0ac41
core: speed up gimp_image_contiguous_region_by_seed using a temporary GeglBuffer
...
By creating a temporary GeglBuffer of the correct format, we avoid a lot of
babl conversions. This is about four times faster than the previous code.
2013-04-07 14:31:51 -04:00
Michael Henning
229ab7caf1
core: remove unneeded call to gegl_buffer_sample_cleanup
2013-04-07 12:30:29 -04:00
Michael Natterer
236f9f91f9
Fix two warnings about possibly missing printf format attributes
2013-04-07 16:47:26 +02:00
Pedro Gimeno Fortea
faf2217811
Bug 696958 - In-image preview in Transform tools is off by one screen pixel
...
Simplify the loops without any significant loss in performance, separating
the positive and negative X directions to treat each correctly. Fixes this
bug.
2013-04-02 17:23:40 +02:00
Pedro Gimeno Fortea
c83e7790bf
app: Two mostly cosmetic changes
...
Use a temporary that is less expensive to refer to. Don't loop more
than necessary when comparing pairs.
2013-04-02 17:05:52 +02:00
Michael Natterer
1a23ceaa21
app: update GimpTileHandlerProjection's max_z when a propertiy changes
...
not for each gimp_tile_handler_projection_invalidate() call.
2013-04-01 01:26:43 +02:00
Michael Natterer
06968d9bf9
Bug 690325 - Image Display broken: a rectangle undrawn to the top left
...
Let GimpTileHandlerProjection know how large the projection is so it
can calculate the number of levels in the pyramid, and always
invalidate all levels.
2013-03-30 17:44:59 +01:00
Petr Kubiznak
194ef70d74
Bug 593167 - Support Windows in gimp_get_default_unit()
...
Function gimp_get_default_unit ported for Windows using standard GetLocaleInfo() function (from windows.h).
2013-03-30 10:19:57 -04:00
Michael Natterer
c865d8f141
Bug 622054 - Levels Tool gray point picker causes lockup
...
Bail out in gimp_levels_config_adjust_by_colors() if pure
back or white was picked as gray (gamma).
2013-03-27 22:28:29 +01:00
Michael Natterer
71c88aebdc
app: add gegl:vignette to Filters -> Decor
2013-03-27 01:35:49 +01:00
Michael Natterer
8bc4f008e7
Bug 692668 - Browse For Patterns
...
Increase the max size of the clipboard brush and pattern to 2048x2048
pixels. Still arbitrary but much better.
2013-03-26 23:55:40 +01:00
Mikael Magnusson
a2e8da357e
transformtool: flip cursor if needed
2013-03-24 23:13:56 +01:00
Michael Natterer
a6862af834
app: shorten the labels of the cage tool options by adding newlines
...
This is an exception because the tool only has three option widgets.
2013-03-24 22:11:20 +01:00
Téo Mazars
afa57a507c
Bug 641951 - Weird spacing with flat brushes
...
Take brush orientation into account when computing distances in the
coordinate space of the brush.
2013-03-23 18:23:18 +01:00
Michael Natterer
19d417a745
app: remove <> around the gnu.org URL in GIMP_LICENSE
...
because GtkAboutDialog interprets it as email address.
2013-03-21 23:59:49 +01:00
Michael Natterer
ed2849cd52
Bug 696240 - Changing Gradient From Script-Fu Drop Down Causes GIMP to Crash
...
gimp_gradient_select_run_callback(): Don't free the color values array
twice.
2013-03-21 01:50:32 +01:00
Nils Philippsen
096c636b67
app: set error in case of error in ICC profile plug-in
...
The function plug_in_icc_profile_apply_rgb() didn't set the error object
when bailing out due to being called on a grayscale image, this could
lead to crashes in callers which just checked the return value, but not
whether or not an error had been set.
2013-03-18 13:37:17 +01:00
Michael Natterer
64438c1b4e
Bug 694028 - statusbar cancel button for plug-ins is hard to discover
...
Add the word "Cancel" next to the cancel icon, the button is only
visible during a plug-in progress anyway, so no space is wasted.
2013-03-18 01:26:44 +01:00
Michael Natterer
b941986bbb
app: GimpBrushEditor: fix display of spacing for normal brushes
...
it was doing *all* the UI settings only for generated brushes.
2013-03-14 22:52:34 +01:00
Michael Natterer
84b27e96b9
app: remove temp buffer workaround from gimp_channel_new_from_component()
...
apparently copying a component directly now works fine, probably
because we use "real" GeglBuffers (not TileManager based ones).
2013-03-13 23:45:46 +01:00
Michael Natterer
d837a6d7df
app: fixed paned packing in GimpDeviceEditor
...
so the widgets don't become smaller than their requisition.
2013-03-13 22:06:42 +01:00
Michael Natterer
bc190a6bab
Bug 397359 - Can't access color management parameters
...
Create all display filters with "color-config" and "color-managed"
parameters set, not only the automatically added color management
display filter. This way we don't only support removing and adding the
filter again, but also support potential other color management
modules.
2013-03-13 10:37:25 +01:00
Michael Natterer
4f7cb88132
app: implement GimpConfigInterface::equal() in gimp-gegl-config-proxy.c
...
so the automatically saved timestamped presets don't fill up with
duplicates of identical settings. The default impl considers them
different because of their timestamps.
2013-03-12 19:09:22 +01:00
Michael Natterer
3a0daf540a
app: enable the fast path again in GimpOperationNormalMode
...
but fix it to not take the fast path if opacity is != 1.0 or there is
a mask.
2013-03-11 15:38:28 +01:00
Michael Natterer
2dc36a9dee
app: add a fast path in GimpOperationMaskComponent
...
Pass through the input buffers nop-style if the mask is either 0 or ALL.
2013-03-11 00:21:23 +01:00
Michael Natterer
792f85461b
app: use gimp_button_menu_position() in GimpIconPicker
...
and some small cleanup.
2013-03-10 22:33:45 +01:00
Michael Natterer
0884880579
app: small indentation fix in GimpImageWindow
2013-03-10 19:55:48 +01:00
Michael Natterer
fc19348621
app: consider the label in GimpStatusbar's size negotiation
...
doesn't change anything, except perhaps for weird themes.
2013-03-10 19:54:42 +01:00
Michael Natterer
49fdaac07f
app: add GimpPrefsBox, a helper widget for preferences and similar dialogs
...
and use it in the preferences dialog. Removes quite some code from
that insane file.
2013-03-10 19:49:59 +01:00
Michael Natterer
c0c813d9f1
app: minor formatting cleanup in gimppropwidgets
2013-03-10 19:48:32 +01:00
Michael Natterer
e17971cc38
app: some formatting and translatable strings cleanup in GimpIconPicker
2013-03-10 19:46:20 +01:00
Michael Natterer
cdf2c7ba4b
app, menus: add CIE lch noise to the menus
2013-03-09 22:59:13 +01:00
Michael Natterer
c76a23075d
app: blacklist some more useless ops in the GEGL tools
2013-03-09 22:23:52 +01:00
Michael Natterer
872b1f3221
app: don't leak the input stream when loading a viewable's icon pixbuf
2013-03-09 21:12:00 +01:00