1. 09 Oct, 2019 1 commit
    • Michael Natterer's avatar
      libgimp: start integrating image export with GimpProcedureConfig · 8219092a
      Michael Natterer authored
      Add gimp_procedure_config_begin_export() and end_export() which
      are wrappers around begin_run() and end_run() and additionally
      pretty much completely manage GimpMetadata handling.
      
      A GimpProcedureConfig can provide boolean properties "save-exif",
      "save-xmp" etc. in order to have them automatically managed by
      begin_export() and end_export(). This also restores the feature of
      overriding the procedure's saved default values with export
      preferences, but not the values from the last export, like it
      used to be in 2.10.
      
      Move gimp_image_metadata_save_prepare() and save_finish() (which are
      now completely handled by GimpProcedureConfig) from libgimpui to
      libgimp, but keep their declarations in the libgimpui header. Not
      perfect, but not finished either.
      
      Also fix gimp_image_metadata_save_prepare() to set the affected
      GimpMetadataSaveFlags to 0 when the image has no metadata at all.
      8219092a
  2. 20 Sep, 2019 2 commits
  3. 10 Sep, 2019 1 commit
  4. 22 Aug, 2019 2 commits
  5. 19 Aug, 2019 1 commit
  6. 18 Aug, 2019 1 commit
  7. 10 Aug, 2019 1 commit
    • Michael Natterer's avatar
      libgimp: add GimpFileProcedure, GimpLoadProcedure and GimpSaveProcedure · a79eaaf5
      Michael Natterer authored
      which are GimpProcedure subclasses with API to register as load/save
      handlers and their own kind of run functions that get their standard
      arguments passed directly instead of packed into a GimpValueArray.
      
      They also register their standard arguments themselves, which removes
      quite some boilerplate from load/save plug-ins.
      
      Remove gimpprocedure-private.[ch] because install() and uninstall()
      are now virtual functions of GimpProcedure.
      a79eaaf5
  8. 09 Aug, 2019 2 commits
  9. 08 Aug, 2019 2 commits
  10. 07 Aug, 2019 2 commits
  11. 06 Aug, 2019 2 commits
  12. 03 Aug, 2019 1 commit
    • Jehan's avatar
      libgimp: gimplegacy not introspected anymore. · b6e6f0b7
      Jehan authored
      Also remove several functions which never made it to a GIMP release.
      They were really meant as temporary anyway from the start, waiting for
      the new API to be usable.
      And GimpParam is not boxed anymore. This is made useless by the fact it
      is not an introspected type now.
      b6e6f0b7
  13. 31 Jul, 2019 1 commit
    • Jehan's avatar
      libgimp: keep gimplegacy as introspectable, at least temporarily. · 826c09b6
      Jehan authored
      Recent commits broke the Python plug-ins again because the old API is
      not introspected anymore. Of course, by release of GIMP 3, we should
      probably remove this deprecated API from introspection. But first, we
      have to figure out how and if the new API can be used in bindings.
      826c09b6
  14. 26 Jul, 2019 2 commits
  15. 25 Jul, 2019 1 commit
    • Jehan's avatar
      libgimp, libgimpbase: both introspectable under same namespace Gimp. · 6389bb4b
      Jehan authored
      At first I thought these could be different namespaces, but actually
      GObject Introspection parses files and can only use (AFAICS) the
      namespace actually used in our C function, which is always `gimp_` (and
      not `gimpbase_` or whatever.
      
      So make the introspection at the root level, and it will include all
      libgimp* libraries in one namespace, same as the C lib anyway. For now
      only libgimp and libgimpbase as I am still testing.
      Also I move the introspectable sources in their own file in order to
      share the list between the library building Makefile and the GI
      makefile because I can't find how to pass over variables otherwise.
      6389bb4b