Commit graph

3384 commits

Author SHA1 Message Date
Sven Neumann
8cfb8c2143 app: update vectors from the freeze handler as well
This is needed so that the area covered by the vectors before the
change is exposed. Ideally of course the update signal should
include the changed area.
2010-09-17 21:28:30 +02:00
Michael Natterer
6bce0641d4 app: add signal GimpImage::update_vectors() and have the image manage updates
...just as we do for drawables. Connect to adding, removing, modifying
and toggling visibility of all vectors and emit "update-vectors"
accordingly. Add an update-vectors signal handler to GimpDisplayShell
and remove all other vectors handlers.
2010-09-17 11:31:57 +02:00
Michael Natterer
4d3b52ec6c pdb: return the resulting floating selection in the item transform API
This was actually documented to be the return value of all transform
procedures since 1.2, but it was always broken and returned the
passed-in drawable. Therefore it's only fixed for the new item API,
the old procedures keep their semantics (and will all be deprecated
anyway).
2010-09-16 00:36:03 +02:00
Michael Natterer
f1cf31f9da app: don't pass default names to gimp_drawable_configure()
because gimp_item_configure() uses the default name from GimpItemClass
anyway if a NULL name gets passed.
2010-09-15 16:36:16 +02:00
Sven Neumann
9c8736a56f app: formatting 2010-09-11 23:02:15 +02:00
Michael Natterer
8b38bde642 app: remove the "auto_center" params from gimpdrawable-transform.[ch]
Instead, add utility functions that calculate the centers for rotate
and flip and use them where we used to pass "auto_center". This looks
pretty much poinless, but a commit will follow that makes it look
better...
2010-09-07 23:43:18 +02:00
Michael Natterer
095ae5cc9b app: move mask_bounds() and mask_intersect() from GimpDrawable to GimpItem
There is nothing drawable-specific in there, and having them on
GimpItem enables some simplifications, esp. in upcoming PDB
wrappers. None of these refactorings is in this commit though.
2010-09-07 21:30:46 +02:00
Michael Natterer
24b6c27e42 app: use gimp_drawable_mask_intersect() instead of mask_bounds() 2010-09-07 17:43:39 +02:00
Michael Natterer
df1575234c app: make the code in gimp_drawable_mask_intersect() a bit more readable 2010-09-07 17:08:54 +02:00
Martin Nordholts
3e60cacfd5 app/core: Init bestcolor in gimpimage-convert.c
Init bestcolor in gimpimage-convert.c to fix warning about "may be
used uninitialized in this function".
2010-09-03 08:52:26 +02:00
Martin Nordholts
0dc4b5de72 Fix a bunch of warnings 2010-08-31 22:46:36 +02:00
Sven Neumann
f1d89f712d Bug 626446 - segfaults when started with -i argument
We don't need a standard tool-preset object, so just remove the
code that was copied and pasted from other GimpData objects.
Fixes the crash on startup in non-interactive mode.
2010-08-25 21:47:22 +02:00
Michael Natterer
fe72f5985b app: reduce code duplication in gimpimage-duplicate.c 2010-08-08 18:00:08 +02:00
Michael Natterer
1ba9de4567 Bug 620646 - Little defect about duplication of images
Add a dedicated function to duplicate the floating selection and
remove all the evil floating selection code from all other
functions. The new function correctly duplicates floating selections
on channels and layer masks and is also aware of layer groups.
2010-08-08 17:50:08 +02:00
Michael Natterer
b2642272a4 app: add gimp_item_stack_get_item_by_path()
which finds an item by its path as returned by gimp_item_get_path().
2010-08-08 17:31:39 +02:00
Sven Neumann
8cf801c8e0 app: allow to delete curve points
Pressing Delete in the Curve view now deletes the selected point
on the curve.
2010-07-26 01:08:44 +02:00
Michael Natterer
3184c440b3 app: introduce GimpItem::to_selection()
Which replaces all the deparate functions to turn layers, channels,
layer masks and vectors into selections. Use the new virtual function
all over the place instead of calling the functions in
gimpchannel-select.c manually.
2010-07-20 23:09:19 +02:00
Michael Natterer
31d7061e20 app: remove "item_type" parameter from gimp_param_spec_item_id()
and from gimp_value_get_item(). The functions are used nowhere, and
the parameter is now in the way of adding item support to the PDB.
2010-07-08 22:40:48 +02:00
Michael Natterer
314a6ab926 app: merge the layer, channel and vectors repositioning APIs
into an API based on GimpItem.
2010-07-08 18:08:13 +02:00
Michael Natterer
70a3addcb9 app: harden precondition checks in GimpItemTree
Instead of checking if the item is attached and belon's to the tree's
image (which did miss e.g. passing a channel to the layer tree), we
now check if gimp_item_get_tree(item) returns right tree.
2010-07-08 15:06:19 +02:00
Martin Nordholts
706900c4f6 Bug 589010 - Don't make Alt-Clicked layers active
Add a "pre-clicked" signal to GimpCellRendererViewable that can
prevent a selection from happening. Move the Alt-Click code in
GimpLayerTreeView to this signal and if a layer is Alt-Clicked, don't
go ahead and make the layer active. Also add a test for this use case.
2010-06-27 21:46:53 +02:00
Michael Natterer
2813fce0b8 Bug 613838 - Error in gimp-hue-saturation PDB call
The "hue" parameter from the PDB is in a [-180..180] range, not in
[-100..100]. Note that unlike stated in the bug, this is not an
incompatible change, because it simply got broken between 2.4 and
2.6.
2010-06-27 01:15:46 +02:00
Michael Natterer
d596695afc app: run dispose explicitely on the paint_options before unrefing them 2010-06-26 23:22:53 +02:00
Michael Natterer
324fa432b6 app: free the tag_ref_counts hash table in dispose() 2010-06-26 18:25:44 +02:00
Michael Natterer
e24c2d2249 app: add a local "container" variable to make the code more readable 2010-06-26 15:49:10 +02:00
Michael Natterer
e0d5bab077 app: remove the static variables for the "standard_foo" fallback members
Instead, call gimp_foo_get_standard() when a fallback object is
needed (keeping them around as static variables was a silly
micro-optimization).
2010-06-24 22:33:33 +02:00
Michael Natterer
b2b1cb135b app: move the instance debug facility to the new file app/gimp-debug.c
Build it unconditionally but enable it via GIMP_DEBUG=instances
2010-06-24 19:11:56 +02:00
Michael Natterer
44e6acbef8 app: the name of the standard paint is "gimp-paintbrush" not "GimpPaintbrush" 2010-06-24 18:38:19 +02:00
Michael Natterer
67590c04d1 app: unref tool options and presets in dispose() instead of finalize() 2010-06-24 18:38:18 +02:00
Michael Natterer
bfbdf1cfb8 app: unref the paint options in dispose() instead of finalize() 2010-06-24 18:38:18 +02:00
Michael Natterer
5db9d31498 app: drop all object references in dispose() insatead of finalize() 2010-06-24 18:38:18 +02:00
Michael Natterer
06bf098fa9 app: run dispose on the tool infos before unrefing their container
because they contain reference cycles with the tool options
2010-06-24 18:38:18 +02:00
Michael Natterer
a5b6544b6e app: unref options->tool_info in dispose() instead of finalize() 2010-06-24 18:38:17 +02:00
Michael Natterer
c9bde335f0 app: don't additionally ref the standard data objects
Instead, set their statically remembered pointer as a weak pointer so
it's nullified automatically if they are ever finalized. Doesn't
actually get rid of them upon exit yet, this is just a preparation.
2010-06-24 18:38:16 +02:00
Michael Natterer
e44d81bd4b app: add a debug facility that keeps track of allocated GimpObjects 2010-06-23 22:32:14 +02:00
Michael Natterer
09ebdcb06b app: don't leak each transformed brush mask 2010-06-22 23:06:35 +02:00
Barak Itkin
5930b13084 app: add context to all undo descriptions
Description of undo actions should be marked as action descriptions,
and not as commands. This is required for translation for some
language (like Hebrew) that require a different grammatical tense for
describing actions
2010-06-09 18:50:23 +02:00
Michael Natterer
5dd9e4bbc3 app: remove member GimpDrawable::has_alpha
because it is always the same as GIMP_IMAGE_TYPE_HAS_ALPHA(drawable->type),
so simply use that instead.
2010-06-08 10:10:04 +02:00
Michael Natterer
8a27702ac3 app: add simple macros GIMP_TIMER_START() and GIMP_TIMER_END()
which measure the time taken between them and print out a message.
Use it for projection benchmarking and add timing to scaling.
2010-06-06 20:24:27 +02:00
Michael Natterer
17961941fc app: use gegl:scale for scaling if use-gegl is TRUE 2010-06-06 19:54:44 +02:00
Michael Natterer
301b990a46 app: add gimp_drawable_apply_operation_to_tiles()
which uses a passed-in tile manager instead of
the drawable's shadow tiles as sink.
2010-06-06 19:52:39 +02:00
Michael Natterer
8cefb2913e app: use g_strcmp0() where strings can be NULL instead of checking manually 2010-06-06 19:15:49 +02:00
Michael Natterer
6d67ffd6f0 app: some cleanup in GimpFilteredContainer 2010-06-06 18:55:07 +02:00
Michael Natterer
72bcb72c44 app: rename gimp_template_create_image() to gimp_image_new_from_template()
and move it from gimptemplate.c to gimpimage-new.c
2010-06-05 22:42:00 +02:00
Michael Natterer
649bd8f678 Bug 619131 - Attempting to flip FG/BG hard-edge gradient locks up GIMP
Don't have the "prev" pointer of the right gradient segment point to
itself, causing an infinite loop when iterating the gradient reversed.
2010-05-20 10:11:18 +02:00
Alexia Death
b0d02666a3 app: A few more generic aspect ratio fixes 2010-05-14 20:58:27 +03:00
Alexia Death
74f907ca33 app: Fix curve application to tilt aspect ratio maping 2010-05-10 00:22:39 +03:00
Alexia Death
4816a61dcb app: Aspect ratio fixes 2010-05-10 00:21:55 +03:00
Alexia Death
0cb1ada818 app: convert aspect ratio to scale_x&scale_y just before matrix transform 2010-05-10 00:11:07 +03:00
Michael Natterer
506469f9f9 app: minor formatting cleanup 2010-04-26 18:52:49 +02:00