1. 22 Aug, 2019 9 commits
    • Jehan's avatar
      libgimp, pdb: add GimpItem > GimpDrawable > GimpLayer classes. · 79b319cf
      Jehan authored
      Only class and subclasses creation and PDB generation for this first
      step.
      I'll later do other types of items.
      79b319cf
    • Jehan's avatar
      libgimp: allow object GimpImage as procedure parameter. · 793cba66
      Jehan authored
      Though it is still possible to use an image ID as procedure parameter,
      it is now possible to pass a GimpImage GParamSpecObject.
      
      Over the wire, this will transform back and forth into a GimpImageID,
      totally transparently for the plug-in which will only always get a
      GimpImage.
      793cba66
    • Jehan's avatar
      plug-ins: keep building all plug-ins with old API. · e0d50aa1
      Jehan authored
      Build existing plug-ins with -DGIMP_DEPRECATED_REPLACE_NEW_API.
      We will port the plug-ins one at a time to the new GimpImage API.
      e0d50aa1
    • 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.
      09f0530d
    • Jehan's avatar
      pdb: keep both the old and new API alive. · fec6034c
      Jehan authored
      By default the new API will be used. But if we build with
      GIMP_DEPRECATED_REPLACE_NEW_API macro, then the same function names will
      call the old API with ids.
      
      This way, we don't have to update all our plug-ins at once (which I
      tried and is very tedious work).
      
      Note that bindings won't have access to the deprecated API at all.
      fec6034c
    • Jehan's avatar
      libgimp: generate functions both for old and new GimpImage APIs. · 17a40b04
      Jehan authored
      This way, it would still be possible to use the old API. WIP.
      17a40b04
    • 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.
      688c3230
    • 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.
      bb72504e
    • 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
      instead.
      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).
      4db8cda2
  2. 21 Aug, 2019 1 commit
  3. 20 Aug, 2019 5 commits
  4. 19 Aug, 2019 11 commits
  5. 18 Aug, 2019 14 commits