1. 05 Sep, 2019 1 commit
  2. 03 Sep, 2019 2 commits
  3. 31 Aug, 2019 1 commit
  4. 30 Aug, 2019 2 commits
  5. 29 Aug, 2019 2 commits
    • Michael Natterer's avatar
      libgimp: fix legacy plug-ins, which I broke with the big ID removal · 37897b13
      Michael Natterer authored
      - hand out and leak proxy object objects to legacy API like candy,
        bypassing the factory in GimpPlugIn, because there is no plug-in
      - gimpgpcompat.c: image, item etc. are now objects, simply forgot this
    • Michael Natterer's avatar
      app, libgimp: get rid of all ID GTypes and ID param specs · 392f00ba
      Michael Natterer authored
      Turn all ID param specs into object param specs (e.g. GimpParamImageID
      becomes GimpParamImage) and convert between IDs and objects in
      gimpgpparams.c directly above the the wire protocol, so all of app/,
      libgimp/ and plug-ins/ can deal directly with objects down to the
      lowest level and not care about IDs.
      Use the actual object param specs for procedure arguments and return
      values again instead of a plain g_param_spec_object() and bring back
      the none_ok parameter.
      This implies changing the PDB type checking functions to work on pure
      integers instead of IDs (one can't check whether object creation is
      possible if performing that check requires the object to already
      For example gimp_foo_is_valid() becomes gimp_foo_id_is_valid() and is
      not involved in automatic object creation magic at the protocol
      level. Added wrappers which still say gimp_foo_is_valid() and take the
      respective objects.
      Adapted all code, and it all becomes nicer and less convoluted, even
      the generated PDB wrappers in app/ and libgimp/.
  6. 27 Aug, 2019 4 commits
  7. 23 Aug, 2019 1 commit
    • Michael Natterer's avatar
      libgimp: memory/lifecycle manage the new libgmp proxy objects · 75bf3865
      Michael Natterer authored
      Turn GimpPlugIn into the main factory for all proxies and keep the
      main hash tables there. The hash tables keep the initial reference.
      For each GimpProcedure::run(), have s "sub-factory" which hands out
      proxies to the actual procedure code. Each run() has hash tables of
      its own which hold additional references. When run() is done, get rid
      of its hash tables and their references, *and* drop the main plug-in
      reference counts from the global hashes if the proxies' refcount has
      dropped to one.
  8. 22 Aug, 2019 7 commits
    • Jehan's avatar
      libgimp: GimpItem now also belong to libgimp. · 08849a58
      Jehan authored
    • Jehan's avatar
      libgimp: s/gimp_image_new_by_id()/gimp_image_get_by_id()/ · cfd30ec6
      Jehan authored
      This means that images' ownership is not given to caller in particular.
      libgimp will now keep a reference of all GimpImage-s it creates and
      return this same reference if called again. It also means that you can
      now compare images by pointer comparison (as 2 GimpImage objects
      representing the same image ID will be equal).
      Obviously as a side effect, gimp_image_list() is changed to (transfer
      container) as you must only free the container now, not the elements.
      Also various other functions creating new images are now (transfer none)
      Long-time plug-ins will have to be taken in consideration in a further
      step (we currently never free GimpImage for destroyed images in
    • Jehan's avatar
      libgimp: nicer API for functions returning a list. · 75f8a380
      Jehan authored
      I.e.: gimp_image_get_(layers|channels|vectors)(), gimp_image_list() and
      Instead of returning an array of IDs, these will now return a GList with
      the right objects ready to use.
    • Jehan's avatar
      libgimp: update non-generated API to allow old and new API. · 09f0530d
      Jehan authored
      Same as previous commit: by default the new API will be used. But if a
      plug-in builds with GIMP_DEPRECATED_REPLACE_NEW_API macro, then the same
      function names will call the old API with ids.
    • Jehan's avatar
      libgimp: create and use gimp_image_new_by_id(). · 688c3230
      Jehan authored
      Simpler than using g_object_new() in a bunch of places.
    • Jehan's avatar
      libgimp: change all non-generated API to use GimpImage. · bb72504e
      Jehan authored
      We shouldn't pass as parameter nor return gint32 anymore.
    • Jehan's avatar
      app, pdb, libgimp: add a new GimpImage class for plug-ins. · 4db8cda2
      Jehan authored
      This means that all functions which were returning or taking as
      parameter an image id (as gint32) are now taking a GimpImage object
      The PDB is still passing around an id only over the wire. But we create
      an object for plug-ins to work on.
      This is quite a huge API break, but is probably the best bet for the
      future quality. It will make nicer API instrospection (and nicer API in
      binding), will fix the issues with pspec on GimpImageID in Python
      bindings (which makes the current Python API unusable as soon as we need
      to work on images, which is most of our plug-ins!), etc.
      Also it will allow to use signals on images, which will be a great asset
      when we will finally have bi-directionnal communications (i.e. plug-ins
      would be able to connect to image changes, destructions, and whatnot).
  9. 07 Aug, 2019 1 commit
  10. 03 Aug, 2019 1 commit
    • Niels De Graef's avatar
      Add (nullable) if applicable · 5f92ced1
      Niels De Graef authored
      Basically this commit makes sure that all return values that are marked
      as "Returns:" also have a `(nullable)` annotation if it is mentioned on
      the same line that NULL can also be returned.
      This will prevent a few problems in GObject-introspection.
  11. 31 Jul, 2019 1 commit
  12. 11 Jul, 2018 1 commit
  13. 20 May, 2018 1 commit
  14. 02 Nov, 2015 1 commit
  15. 31 May, 2015 1 commit
  16. 26 Oct, 2013 1 commit
    • Hartmut Kuhse's avatar
      Completely rewrite metadata handling using gexiv2 · 21bed1e2
      Hartmut Kuhse authored
      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
      - obsolete the old metadata parasites
      - migrate the old parasites to new GimpMetadata object on XCF load
  17. 02 May, 2012 2 commits
  18. 08 Mar, 2011 1 commit
  19. 13 Feb, 2011 1 commit
  20. 09 Jul, 2010 1 commit
  21. 17 Jan, 2009 1 commit
    • Michael Natterer's avatar
      Change licence to GPLv3 (and to LGPLv3 for libgimp). · d9b5207a
      Michael Natterer authored
      2009-01-17  Michael Natterer  <mitch@gimp.org>
      	* all files with a GPL header and all COPYING files:
      	Change licence to GPLv3 (and to LGPLv3 for libgimp).
      	Cleaned up some copyright headers and regenerated the parsers in
      	the ImageMap plugin.
      svn path=/trunk/; revision=27913
  22. 17 Sep, 2008 1 commit
    • Sven Neumann's avatar
      allow to pass NULL for "num_colors". · 78c71c9d
      Sven Neumann authored
      2008-09-17  Sven Neumann  <sven@gimp.org>
      	* libgimp/gimpimage.c (gimp_image_get_colormap): allow to pass
      	NULL for "num_colors".
      	* plug-ins/print/print-draw-page.c: added missing conversion
      	routines for indexed images. Fixes bug #552609.
      svn path=/trunk/; revision=26973
  23. 06 Jun, 2007 1 commit
  24. 03 Nov, 2006 1 commit
    • Michael Natterer's avatar
      libgimp/gimpbrushes.c libgimp/gimpgradients.c libgimp/gimpimage.c · dd9a1db6
      Michael Natterer authored
      2006-11-03  Michael Natterer  <mitch@gimp.org>
      	* libgimp/gimpbrushes.c
      	* libgimp/gimpgradients.c
      	* libgimp/gimpimage.c
      	* libgimp/gimplayer.c
      	* libgimp/gimppalette.c
      	* libgimp/gimppalettes.c
      	* libgimp/gimppatterns.c
      	* libgimp/gimpselection.c: also let all non-generated deprecated
      	functions see their declarations.
  25. 12 Apr, 2006 1 commit
  26. 02 Mar, 2005 1 commit
  27. 02 Nov, 2004 1 commit
    • Michael Natterer's avatar
      More final API cleanup: · 998c895a
      Michael Natterer authored
      2004-11-02  Michael Natterer  <mitch@gimp.org>
      	More final API cleanup:
      	* tools/pdbgen/pdb/image.pdb: added gimp_image_set,get_colormap()
      	and deprecated set,get_cmap().
      	* libgimpwidgets/gimppreviewarea.[ch]: renamed
      	gimp_preview_area_set_cmap() to set_colormap().
      	* libgimp/gimp.def
      	* libgimp/gimpdrawablepreview.c
      	* libgimp/gimpexport.c
      	* libgimp/gimpimage.[ch]
      	* libgimpwidgets/gimpwidgets.def: changed accordingly.
      	* app/pdb/image_cmds.c
      	* app/pdb/internal_procs.c
      	* libgimp/gimpimage_pdb.[ch]: regenerated.
      	(undeprecation of plug-ins will follow...)