Commit Graph

4656 Commits

Author SHA1 Message Date
Michael Natterer 9e5329df77 app: some cleanup in gimpdrawable-blend.c 2016-02-03 10:44:07 +01:00
Alexandre Prokoudine 7cc0a9d4ba Fix a typo in a user-visible message 2016-02-03 10:22:59 +03:00
Jehan 1f4839288e Bug 648776 - fixes symmetry painting after Massimo and Mitch's reviews.
Use a GType for the PROP_SYMMETRY property of GimpImage, and create
a default "identity" symmetry for an image.
I still use a GimpIntComboBox but store the property value in the
user-data column because gpointer isn't a subset of gint.
Adds in libgimpwidgets:
- gimp_int_combo_box_set_active_by_user_data()
- gimp_int_combo_box_get_active_user_data()
- gimp_int_store_lookup_by_user_data()
- gimp_prop_pointer_combo_box_new() to create a GimpIntComboBox and
  attach it to a gpointer property.
Thanks Massimo and Mitch for reviewing my code.
2016-02-02 21:15:13 +01:00
Jehan 1c0a0a47de app: add a "Mandala" symmetry.
This is basically a multiple rotation around a given center.
2016-02-02 21:15:13 +01:00
Jehan b5811b05ad app: add a "Tiling" symmetry. 2016-02-02 21:15:13 +01:00
Jehan 76f573c981 Bug 648776 - mirror symmetries.
You can now set any paint tool to mirror painting relatively
horizontal/vertical axis or a central point (any combination of these 3
symmetries).
This has been implemented as a new multi-stroke core, where every stroke
is actually handled as a multi-stroke (default of size 1).
This is also the first usage of custom guides for symmetry guiding.
Current version has to be activated in the playground.
2016-02-02 21:15:13 +01:00
Jehan b8fadf3ad7 app: add a "custom" guide concept.
With gimp_guide_custom_new(), you can create a custom guide with a different
style on canvas (other pattern/color/width). A custom guide won't be saved
and could be used, for instance, for specific GEGL op guiding.
2016-02-02 21:15:13 +01:00
Michael Henning d52bb9ca58 app: Remove dead code in gimpdrawable-blend 2016-02-01 21:20:19 +01:00
Michael Henning a0a6d6139e app: Use gimp:blend in gimp_drawable_blend 2016-02-01 21:20:19 +01:00
Michael Henning f545b7fe72 app: Place shapeburst buffers at the right offset. 2016-02-01 21:20:19 +01:00
Michael Henning ae84fe9ec8 app/core: Expose creating shapeburst distmaps in gimpdrawable-blend. 2016-02-01 21:18:51 +01:00
Michael Henning 54ab3047b3 core: Remove unused parameter. 2016-02-01 21:18:51 +01:00
Michael Henning 892fec9512 Revert "app: use the new distance-transform operation in the blend tool"
While the tool should definitely use the new op, we want the code in
gimpdrawable-blend to use the old one for compat reasons. The new op
will be exposed via a separate pdb call in the future.

This reverts commit 8af3fec689.
2016-02-01 21:18:51 +01:00
Michael Natterer 2c48d55f75 app: add gimp_g_queue_get_memsize() and gimp_g_queue_get_memsize_foreach() 2016-01-27 23:04:31 +01:00
Jehan ecaae0788c app: minor fix of parameter alignment. 2016-01-26 00:11:51 +01:00
Ell 71119d41c0 app: Add "Flood" select action
and associated UI entries.

This action applies the "gimp:flood" operation to the selection.
2016-01-25 22:58:33 +01:00
Ell 3f04e349cf app: Add gimp_channel_flood() function
This function applies the "gimp:flood" operation to the channel.
2016-01-25 22:58:28 +01:00
Jehan ea13e816ab Bug 750105 - Migrating 2.8 themes to 2.9/2.10
Old themes should not be copied over to the GIMP 2.9/2.10 config at
first launch since they won't be compatible anyway. Let's go the less
painful way by dropping old themes rather than trying to salvage themes
which we know will be broken by design.
2016-01-19 22:36:27 +01:00
Ell e0b1aa1c26 app: Add diagonal_neighbors parameter to gimp_channel_select_fuzzy()
and propagate it to gimp_pickable_contiguous_region_by_seed(), in
preperation for adding a diagonal-neighbors setting to PDB.
2016-01-17 00:46:54 +01:00
Ell 350c7ca338 app: Add "Diagonal neighbors" option to the bucket fill tool
When checked, diagonally neighboring pixels are considered connected
when calculating the affected area.

This commit also adds a corresponding diagonal_neighbors parameter to
gimp_drawable_bucket_fill(), and modifies the callers, other than the
bucket fill tool, to pass FALSE for this parameter, to retain the
current behavior.
2016-01-17 00:46:54 +01:00
Ell 93bf78b83e app: Add diagonal_neighbors parameter to...
...gimp_pickable_contiguous_region_by_seed(), in preperation
for adding a similar option to the relevant tools.

When this parameter is TRUE, all eight neighbors of each pixel
are considered when calculating the resulting region, instead
of just the four orthogonal ones.

This commit also modifies all callers to pass FALSE for this
parameter, to retain the current behavior.
2016-01-17 00:46:54 +01:00
Jehan b0731f9aed app: remove unused variables (clean out build warnings).
There are still unused variables in gimp_mybrush_get_checksum() and
gimp_mybrush_get_memsize() but these seem to be because of pending
implementations. So I leave the warnings.
2016-01-12 10:34:43 +01:00
Benoit Touchette fdb582b95c icons: fix compile errors
Fixed "gimpicons.c:30:45: fatal error: icons/Default/gimp-icon-pixbufs.c:
No such file or directory" after commits :
ee512b610d
fa9e5b8f98
Fixed "ln: failed to create symbolic link ‘12/gimp-default-colors.png’:
File exists" by forcing new symlinking on creating get-default-colors.png
for Symbolic-inverted to prevent error during make.
2016-01-11 08:48:14 -05:00
Michael Natterer 2a43ab240b app: don't access GimpSamplePoint members directly
Use the new accessors instead. Clean up guide and sample point code in
image crop and resize a bit.
2016-01-04 22:06:27 +01:00
Michael Natterer d7bf9de526 Bug 759104 - Allow coordinates of sample points to be accessed from scripts
Add PDB sample point API similar to how the guide API works. Add core
API similar to the core guide API to make guide and sample point APIs
as similar as possible.
2016-01-04 21:24:44 +01:00
Michael Natterer 3831f62495 Bug 759316 - "Recently used" menu not updated with gegl filters
Add GimpGeglProceure to keep track of recently used GEGL operations in
the filter history. The new procedure also takes care of running the
op in the GEGL tool, so filters-commands.c is almost empty now.

Change gimp-filter-history.c to find procedures by name instead of
comparing pointers.

The only thing missing now is rerunning a GEGL op with the last
settings (not just showing its UI).
2016-01-04 15:07:30 +01:00
Michael Natterer 5455b8bfd0 app: move some stuff out of app/file/
file-procedure.[ch] is gone and its functions moved to
GimpPlugInManager where they belong (the manager keeps around the
lists of load, save and export procedures).

Utility functions from file-utils.[ch] that have nothing to do with
image files moved to core/gimp-utils.[ch].
2016-01-03 23:38:08 +01:00
Daniel Sabo 17da79ef28 app: Allow myb files with missing icons 2016-01-02 18:30:02 -08:00
Michael Natterer 72f9bea765 app: create nicer object names from MyPaint brush filenames 2016-01-02 13:23:40 +01:00
Michael Natterer d5255dc133 app: derive GimpProcedure from GimpViewable
and remove redundant icon managing code from GimpPlugInProcedure
2016-01-01 20:05:32 +01:00
Michael Natterer e0ab721361 app: rename GimpPlugInAction to GimpProcedureAction
and make the filter history keep around a list of GimpProcedures
instead of GimpPlugInProcedures. Still WIP and unfinished...
2016-01-01 20:05:32 +01:00
Michael Natterer ac50da2ad4 Bug 759316 - "Recently used" menu not updated with gegl filters
This preparation commit only moves code around and renames it, the
history is still a list of plug-ins only:

- move app/core/gimp-filter-history.c
  to app/plug-in/gimppluginmanager-history.c and clean it up
- move the actions that create the submenus under "Filters"
  from the "plug-in" to the "filters" action group
- move the code that creates and updates the history actions
  to the "filters" action group
- add menu setup code for the "filters" menu
- move the "history-changed" signal from GimpPlugInManager to Gimp
2015-12-30 20:04:58 +01:00
Michael Natterer 8e08f7c06e app: emit "profile-changed" when undoing/redoing a gray image conversion
So the cached display profile transform is reliably recreated.
2015-12-30 19:07:19 +01:00
Daniel Sabo ea66a7a974 app: mypaint: Include offset_by_random in the cursor calculation 2015-12-29 09:56:38 -08:00
Michael Natterer 660a7aed16 app: formatting cleanup in the last commit 2015-12-29 17:08:51 +01:00
Alexia Death 53eb8677ea app: Allow for mypaint tool to differentiate extended and non-extended events
This adds a boolean to GimpCoords struct that is true for enabled
extended non-mouse devices and false for all the rest allowing
the mypaint brush to override the the pressure sent to the paint library.
2015-12-29 15:44:53 +02:00
Michael Natterer 2e40af5dcf app: remove virtual function GimpToolOptions::reset()
and use GimpConfig::reset() instead.
2015-12-29 12:47:04 +01:00
Daniel Sabo 677b1f2d82 app: mypaint: Add a toggle to change between erase & paint mode 2015-12-28 15:25:47 -08:00
Daniel Sabo c97a529968 app: Change mypaint dependency from libmypaint-gegl to just libmypaint 2015-12-28 09:18:46 -08:00
Michael Natterer 6281d130e4 app: load the mypaint brushes on startup, and do much more error checking
Everything expects that a data object can simply be used, so make it
behave like all other data objects and reject broken files.
2015-12-28 18:09:37 +01:00
Michael Natterer 15183c210b app: move GimpMybrushPrivate to its own header, perparation for more hacking
Also, return the error message if the preview can't be loaded.
2015-12-28 16:48:50 +01:00
Michael Natterer 0ee649629e app: GimpDataFactory: get the data's mtime in the function where it's needed 2015-12-28 16:46:08 +01:00
Michael Natterer 0cabc21c77 app: remove some useless g_object_freeze/thaw_notify() from gimpcurve.c
We only need that when more than one property changes and we must
delay notification until the object is in a consistent state.
2015-12-28 13:12:25 +01:00
Michael Natterer 32725df29d app: always emit GimpImage::profile-changed when converting from/to GRAY
so the display profile transform is properly updated.
2015-12-25 23:31:15 +01:00
Michael Natterer b3dbb968c9 app: correctly deal with color profiles when converting from/to GRAY
Convert the layers to the new GimpImageBaseType's builtin color
profile because the converted image will have its color profile
removed.
2015-12-25 23:07:26 +01:00
Michael Natterer 3deab93b1a app: some long due cleanup in gimpimage-convert-type.c
Spacing, type names, formatting, still looks very ugly.
2015-12-25 19:51:10 +01:00
Michael Natterer d01ba07ed6 configure.ac, app: make libmypaint a hard dependency
and move the MyPaint brush tool out of the playground.
2015-12-21 21:39:48 +01:00
Michael Natterer ccd8ec5dee app: connect the MyPaint brush core with the new brush container
and remove all hackish temp code that did the same. Remove quite
some #ifdefs around code that doesn't depend on libmypaint.
2015-12-21 12:28:46 +01:00
Michael Natterer d4aa39a7cd app, libgimpwidgets, icons: rename mypaint brush icons and help ID
from "mybrush" to "mypaint brush".
2015-12-21 00:09:55 +01:00
Michael Natterer f0c1619727 app: add "use MyPaint brush" to GimpToolPreset 2015-12-21 00:09:55 +01:00