1. 13 Jan, 2020 1 commit
  2. 12 Jan, 2020 5 commits
  3. 11 Jan, 2020 4 commits
  4. 10 Jan, 2020 9 commits
  5. 09 Jan, 2020 2 commits
  6. 08 Jan, 2020 5 commits
  7. 07 Jan, 2020 9 commits
  8. 06 Jan, 2020 5 commits
    • Ell's avatar
      app, icons: add 3D Transform tool · 5646e03e
      Ell authored
      Add a new 3D Transform tool, based on GimpToolTransform3DGrid,
      added in the previous commit.  The tool UI provides a notbook with
      three tabs, corresponding to the three GimpToolTransform3DGrid
      modes:
      
        Camera - allows setting the primary vanishing point, as well as
        the camera's focal length, expressed either directly, or as the
        camera's angle of view, relative to the whole image or the
        transformed item.  By default, the vanishing point is aligned
        with the item's center, and the angle of view is fixed relative
        to the item; this essentially means that each item is transformed
        using a local perspective, independent of its position and size
        relative to the image.  A global perspective can be achieved by
        using a common vanishing point and focal length (or an image-
        relative angle of view).
      
        Move   - allows moving the item using X, Y, and Z offsets.
      
        Rotate - allows rotating the item using X, Y, and Z Euler angles.
        The order of rotation of the different axes can be controlled by
        a set of numbered buttons next to the sliders, and the rotation's
        pivot can be controlled using a pivot selector.
      5646e03e
    • Ell's avatar
      app, cursors: add GimpToolTransform3DGrid tool widget · 615035c1
      Ell authored
      Add a new GimpToolTransform3DGrid tool widget, subclassed from
      GimpToolTransformGrid, which can be used to perform 3D
      transformations.
      
      The widget can be in one of three modes:
      
        CAMERA - allows adjusting the primary vanishing point by moving a
        handle.
      
        MOVE   - allows moving the object through dragging.
      
        ROTATE - allows rotating the object through dragging.
      
      By default, controlling the transformation through dragging applies
      to the X and Y axes.  Holding Shift (or setting the "constrain-
      axis" property) restricts the motion to only one of the axes.
      
      For the MOVE and ROTATE mode, holding Ctrl (or setting the "z-axis"
      property) allows controlling the Z axis instead.
      
      For the same modes, holding Alt (or setting the "local-frame"
      property), applies the adjustments in the object's local frame of
      reference, instead of the display's global frame of reference.
      615035c1
    • Ell's avatar
      app: add a protected gimp_tool_transform_grid_get_handle() function · 4ddf1afb
      Ell authored
      ... which can be used by subclasses to retrieve the currently-
      active handle.
      4ddf1afb
    • Ell's avatar
      app: add GimpTransformGridTool::dynamic-handle-size property · 0f697b89
      Ell authored
      Add a boolean GimpTransformGridTool::dynamic-handle-size property,
      which controls whether the handle sizes are adjustment dynamically
      according to the grid's size, or remain fixed.  This property is
      TRUE by default, to maintain the current behavior.
      0f697b89
    • Ell's avatar
      app: in GimpToolTransformGrid, add NONE function · 0eae8a47
      Ell authored
      In GimpToolTransformGrid, allow setting "inside-function" and
      "outside-function" to a new NONE value, performing no
      transformation when dragging the respective area.
      0eae8a47