Commit Graph

237 Commits

Author SHA1 Message Date
Michael Natterer cb8e16aae8 app: move app/batch.[ch] to app/core/gimp-batch.[ch]
There is no reason batch processing should be considered "glue code".
2015-09-30 01:57:33 +02:00
Michael Natterer 1ca3812396 app: rename gimpimage-profile.[ch] to gimpimage-color-profile.[ch] 2015-08-02 22:18:43 +02:00
Michael Natterer db09d0f3d3 app: move functions to create layers to new files gimplayer-new.[ch] 2015-06-17 13:21:01 +02:00
Michael Natterer 1ade7ffee5 app: add gimp_image_convert_color_profile()
which converts an image to another color profile. Currently unused.
2015-06-10 01:36:19 +02:00
Michael Natterer 09628cfa4c Bug 739489 - Add palette of recently used colors
Add a generated palette which contains the color history. For now it's
only updated when the color dialog's color history gets updated, but
should be updated whenever a color is chosen in any way.
2014-11-26 23:48:19 +01:00
Michael Natterer 5d8824f42e app: move all GimpBrush members to a private struct
Add and use accessors for width, height, x_axis and y_axis.
2014-10-12 01:16:32 +02:00
Michael Natterer 980ba7f85a app: move memsize functions into their own files gimp-memsize.[ch] 2014-08-12 13:57:57 +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 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 e80eaf2524 app: start an image profile API in core/gimpimage-profile.[ch]
add lowlevel functions gimp_image_get,set_icc_profile() which deal
with ICC profiles in a GimpParasite.
2014-03-16 23:50:41 +01:00
Michael Natterer 00cd9b4e47 app: add some CPPFLAGS in core/Makefile.am to fix the build on OSX 2013-12-11 00:41:24 +01:00
Hartmut Kuhse 21bed1e2fb Completely rewrite metadata handling using gexiv2
Based on original patches from Hartmut Kuhse and modified
by Michael Natterer. Changes include:

- remove libexif dependency and add a hard dependency on gexiv2
- typedef GExiv2Metadata to GimpMetadata to avoid having to
  include gexiv2 globally
- add basic GimpMetadata handling functions to libgimpbase
- add image and image file specific metadata functions to libgimp,
  including the exif orientation image rotate dialog
- port plug-ins to use the new APIs
- port file-tiff-save's UI to GtkBuilder
- add new plug-in "metadata" to view the image's metadata
- keep metadata around as GimpImage member in the core
- update the image's metadata on image size, resolution and precision
  changes
- obsolete the old metadata parasites
- migrate the old parasites to new GimpMetadata object on XCF load
2013-10-27 01:02:17 +02:00
Michael Natterer 697572ccc0 app,libgimp*: fix includes to follow our include policy
- don't include <gdk-pixbuf/gdk-pixbuf.h> in headers in app/
- instead, include it in many .c files instead of <glib-object.h>,
  finally acknowledging the fact that app/ depends on gdk-pixbuf almost
  globally
- fix up includes as if libgimpbase depended in GIO, which it soon will
2013-10-15 01:58:39 +02:00
Michael Natterer ec786816bb */Makefile.am: merge INCLUDES into AM_CPPFLAGS
automake-1.13 finally warns about this anachronism.
2013-06-05 20:48:37 +02:00
Michael Natterer 9072bf331a app: rename GimpImageMapConfig to GimpSettings
It was misnamed from the beginning and has no relation to GimpImageMap
except that it happens to be used by GimpImageMapTools. Now it feels
less weird to potentially use it for other settings too.
2013-05-25 15:26:18 +02:00
Michael Natterer 85fef12865 app: add gimpdrawable-filter.[ch] to access the filters 2013-04-12 12:55:15 +02:00
Michael Natterer aa56bcd284 app: add new class GimpFilterStack factored out of GimpDrawableStack
and make it the parent class of GimpItemStack. Which means we now have
a generic stack of filters independent of any image items.
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 eb89a545d5 app: move core/gimp-apply-operation.[ch] to gegl/gimp-gegl-apply-operation.[ch] 2012-10-22 16:03:40 +02:00
Michael Natterer c1811d6bdf app: gimp_image_crop_auto_shrink() -> gimp_pickable_auto_shrink()
It was in gimpimag-crop only for historic reasons. Clean up API
and code to do simpler and more reasonable stuff.
2012-09-22 14:56:52 +02:00
Michael Natterer fbb2afdf1d app: rename gimpimage-convert.[ch] to gimpimage-convert-type.[ch] 2012-06-26 14:38:33 +02:00
Michael Natterer 373a4e7469 app: completely remove TileManager and friends (base/ and paint-funcs/)
And along with it a lot of stuff like the drawable preview cache, the
gegl tile manager backend, temporary gimp_gegl_buffer_foo() stuff, and
the remaining bits of performance.

The projection is in an evil semi-ported state which makes it work
ok-ish for stuff like layer moving, but absolutely unbearable for
painting, there is also an off-by-one rendering glitch at some zoom
levels.
2012-06-20 21:44:09 +02:00
Michael Natterer d294cfb8b2 app: remove the legacy projection construction code 2012-05-19 00:06:03 +02:00
Michael Natterer ee31359587 app: move gimp_image_convert_precision() to its own file
gimpimage-convert.c is big enough already
2012-05-02 17:51:21 +02:00
Michael Natterer 9d518677d2 app: remove gimpdrawable-convert.[ch]
This can now be done in gimp_drawable_real_convert_type() with a few
lines of GEGL buffer copying.
2012-05-02 17:51:03 +02:00
Michael Natterer 53cf2c657b app: move the GTK-free cairo utility functions to core/gimp-cairo.[ch] 2012-05-02 17:51:02 +02:00
Michael Natterer bdf6b48138 app: move GimpTempBuf from base/ to core/
and forget about include policy in base/, it's scheduled for removal
anyway.
2012-05-02 17:51:01 +02:00
Michael Natterer 29e7837441 app: remove gimpdrawable-process.[ch] 2012-05-02 17:50:43 +02:00
Michael Natterer e00598abed app: remove the legacy gimp-transform-region code 2012-05-02 17:50:41 +02:00
Michael Natterer f248324fd3 app: remove the lagacy hue-saturation cruft
it's unclear whether the operation is correct, but that can be sorted
out on master and merged.
2012-05-02 17:50:40 +02:00
Michael Natterer 2c0fde88f2 app: remove the legacy color-balance cruft 2012-05-02 17:50:38 +02:00
Michael Natterer 8d5471502e app: move GimpHistogram from base/ to core/ 2012-05-02 17:46:13 +02:00
Michael Natterer a34b19774b app: remove the legacy curves cruft
and move PDB parameter collection into GimpCurvesConfig convenience
constructors.
2012-05-02 17:46:11 +02:00
Michael Natterer 9323c2f28c app: move base/boundary.[ch] to core/gimpboundary.[ch]
No other changes yet, just make the move build.
2012-05-02 17:46:02 +02:00
Michael Natterer b68a05f240 app: remove gimpimage-colorhash.[ch]
All indexed mapping is done with Babl now \o/
2012-05-02 17:46:00 +02:00
Michael Natterer 15957cb3c4 app: remove the legacy brightness-contrast code and use GEGL instead
it's reasonably fast now.
2012-05-02 17:45:53 +02:00
Michael Natterer f15e8a1ea2 app: add gimp_apply_operaion() as generic buffer-to-buffer utility function
and use it from gimpdrawable-operation.c
2012-05-02 17:45:53 +02:00
Michael Natterer 63bd108afb app: always use GEGL to invert drawables
and remove the now useless gimpdrawable-invert.[ch].
2012-05-02 17:45:46 +02:00
Michael Natterer 0623c7f365 app: remove the pointless core wrappers for the below simplified color stuff
Instead, provide gimp_drawable_apply_operation_with_config() and call
that from the PDB wrappers directly.
2012-05-02 17:45:45 +02:00
Michael Natterer 056e09a6cb Remove the makefile.msc build system, it is unmaintained since 2008 2011-12-16 15:53:56 +01:00
Michael Natterer 846392b66c app: move the "exclusive visible" logic to the core
but don't fix it for item trees yet (refactoring only). Kill the
"exclusive liked" function which only existed because it was so easy
to have, but was always utterly useless. Prove me wrong and I will
revive it.
2011-10-12 16:05:57 +02:00
Martin Nordholts 9fefa22efe app: Add GimpIdTable utility class
Not written in Vala... ;)
2011-05-04 22:54:35 +02:00
Michael Natterer 21b8007b29 app: add GimpBrushCache which stores brush stuff based on transform parameters
such as masks and outlines. The cache is currently very stupid and
only cacheds the last transformed object. Add caches to GimpBrush for
its mask, its pixmap and its boundary, and remove the same caches and
a ton of members from GimpBrushCore. This involves adding lots of
const qualifiers because GimpBrush returns const pointers now for
trasnformed stuff.
2011-04-05 22:15:30 +02:00
Michael Natterer cf52b10e9b app: implement gimp_brush_transform_boundary()
There is infinite room for optimization, but the API and pixel-perfect
functionality is there, which is step one.
2011-04-04 21:11:39 +02:00
Michael Natterer 8b4870dad7 app: move GimpBezierDesc from app/vectors/ to app/core/ 2011-04-04 18:40:12 +02:00
Michael Natterer 91195e8593 app: remove the old tool presets system
Instead, keep around a GimpFilteredContainer in GimpToolInfo that
maintains a per-tool list of presets from the global preset factory.
Turn the tool options dialog's preset Save/Restore/Edit/Delete menus
and buttons into shortcuts for managing the active tool's presets.
2011-03-23 09:27:29 +01:00
Michael Natterer 051ef0ebcb app: add GimpTaggedContainer
which is a copy of GimpFilteredContainer with s/Filtered/Tagged/ and
no other change. #if 0 GimpFilteredContainer for now and use
GimpTaggedContainer instead all over the place.
2011-03-22 23:11:46 +01:00
Michael Muré a68eb9d72d remove the unneeded anymore GimpCage data structure 2010-08-08 13:27:51 +02:00
Michael Muré 24652b4fbd empty gobject for GimpCage (data structure), GimpOperationCage (Gegl op) and GimpCageTool (frontend) 2010-08-08 13:16:57 +02:00
Alexia Death 29f7fe87b0 Base infra for tool presets. 2010-04-03 21:06:15 +03:00