|
|
(29 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| Solution models get further developed into UI specifications, ready for implementation. | | Solution models get further developed into UI specifications, ready for implementation. |
| | | |
− | ==version 2.4== | + | == Design Work 2012 == |
| | | |
− | ===selection/crop tool specification=== | + | ===[[Rethinking GIMP Tool Options]]=== |
| | | |
− | This is the specification for the rectangle + oval selection, and the
| + | A solutions model for the Tool Options. |
− | crop tools. It is based on the state of GIMP 2.3.13, and is now updated with the realities of 2.3.18.
| |
| | | |
− | ====handling the rectangle on the canvas==== | + | ===[[Text-Handling in GIMP]]=== |
| | | |
− | The algorithm for the size of the corner handles as implemented ('''new''' handle height = rectangle height / 4, CLAMPed by 5 and 50, handle width = rectangle width / 4, CLAMPed by 5 and 50) allows fast interaction:
| + | beyond the Text tool: a redesign of the complete [[Text-Handling in GIMP]] |
| | | |
− | [[image:2.4_basic_corners.png]]
| + | ==SoC 11== |
| | | |
− | what is black in this image shall be rendered inverted on the canvas.
| + | ===[[warp tool specification]]=== |
| | | |
− | Each corner handle shall enable users to resize the bounding rectangle by dragging one of them, where the diagonally opposite corner of the bounding rectangle shall be the anchor point.
| + | iWarp goes [[warp tool specification | to the toolbox]]. |
| | | |
− | The rectangle cornered by the corner handles shall be the move area: one big handle where users shall be able to move the bounding rectangle around the canvas by dragging this area:
| + | ==SoC 09== |
| | | |
− | [[image:2.4_move_area.png]] | + | ===[[paint dynamics specification]]=== |
| | | |
− | ''the gray area shown here is purely for illustration in this spec and shall not be rendered in GIMP''
| + | This is the [[paint dynamics specification | specification]] for controlling paint dynamics. |
| | | |
− | Areas between two adjacent corner handles are called a side handle.
| + | ==version 2.8== |
| | | |
− | The height of the two horizontal side handles shall be exactly the corner handle height, ('''new''') and their width shall be the (bounding rectangle width - 3 * corner handle width.
| + | ===[[cage tool]]=== |
| | | |
− | The width of the two vertical side handles shall be exactly the corner handle width, ('''new''') and their height shall be the (bounding rectangle height - 3 * corner handle height.
| + | Work in progress on the [[cage tool]]. |
| | | |
− | [[image:2.4_side_handles.png]] | + | ===[[single-window mode specification]]=== |
| | | |
− | ''the gray area shown here is purely for illustration in this spec and shall not be rendered in GIMP''
| + | This is the [[single-window mode specification | specification]] for the single-window mode, in addition to the multi-window one. |
| | | |
− | This makes the size of the side handles predictable where it counts most (their smallest dimension) and uses the largest dimension to leave a gap to reach the corner handles from within.
| + | ===[[transformation tool specification]]=== |
| | | |
− | The highlighting of all handle as implemented is good enough
| + | This is the [[transformation tool specification | specification]] for the unified transformation tool. |
− | for rock-n-roll. no change. After evaluating the flashing of | |
− | the side handles when you fly over them to get to a corner
| |
− | handle, I say: not a serious problem, user is focussed on that
| |
− | corner. Make a release and see how users get along with it.
| |
| | | |
− | When the mouse is over one of the handles, and one of the
| + | ===[[save + export specification]]=== |
− | up/down/right/left cursor keys is pressed, the rectangle
| |
− | shall be resized by one (shift: 15) pixel in that direction.
| |
− | incredibly important: the mouse pointer shall move the same pixels
| |
− | in the same direction. This may sound forbidden but it is exactly
| |
− | what the user needs.
| |
| | | |
− | Mouse over rectangle but not over handle? Like above, but move (including the mouse pointer).
| + | This [[save + export specification | specification]] defines a clear separation between saving and export, based on version 2.6. |
| | | |
− | ====layer/canvas edges==== | + | ==version 2.6== |
| | | |
− | It shall be possible to start a crop/selection rectangle outside the
| + | ===[[selection + crop tool specification]]=== |
− | layer/canvas. Unless 'allow growing' for crop is checked (see below) the
| |
− | actual crop/selection rectangle shall be limited by the sides of the
| |
− | layer/canvas, also while the mouse is still down (rubber-banding).
| |
− | This is incredibly important for the 'use ratio' constraint.
| |
| | | |
− | For crop there shall be a new checkbox in the options panel:
| + | to be [[selection + crop tool specification | completed…]] |
− | 'allow growing' (default: unchecked). Normally limiting cropping
| |
− | to the exact edges of the layer/canvas has the highest priority, | |
− | hence the rules above. This checkbox overrides that, and the
| |
− | layer/canvas can be size up by dragging a bigger rectangle
| |
− | around it.
| |
| | | |
− | ====the 'use ratio' constraint and the shift key==== | + | ===[[no image open specification]]=== |
| | | |
− | Between the 'Expand from centre' and Highlight checkbox
| + | This is the [[no image open specification | specification]] for the state of GIMP when no image is open. It is still based on a multiple document interface model. |
− | there shall be the 'use ratio' control, for the two select tools and crop.
| |
| | | |
− | [[Image:ratiofield.png]] | + | ===[[free-polygon tool specification]]=== |
| | | |
− | It is a checkbox, combined with a single textfield and
| + | This is the [[free-polygon tool specification | specification]] for the straight cross between the free selection tool and the new polygon selection tool, developed by Martin Nordholts. |
− | the two portrait + landscape icons from the New dialog. | |
− | The textfield and icons shall be always displayed in the panel.
| |
| | | |
− | It is extremely important that the textfield shall be
| + | ==version 2.4== |
− | a single textfield with no up/down arrows. This allows for
| |
− | quicker input. The textfield shall accept the formats
| |
− | A/B and A:B, where A and B are two floating point numbers.
| |
− | | |
− | The default value for the textfield shall be "1:1" for
| |
− | the selection tools and
| |
− | <current layer/canvas width>:<current layer/canvas height>
| |
− | for the crop tool. When the user enters a value and confirms
| |
− | it by enter/return or removing the input focus from the textfield,
| |
− | this is the override value for this tool. It shall be displayed and
| |
− | used for this tool for the rest of the runtime session, for every file.
| |
− | This enable a pro to work 8 hours a day to cut out hundreds of 16:9
| |
− | images.
| |
− | | |
− | This override value is cleared by clearing any numerical content from the field before confirming. This resets to displaying and using the default value for the tool.
| |
− | | |
− | When the checkbox is checked, the ratio shall be enforced while rubber-banding a rectangle. Pressing the shift key while rubber-banding shall toggle the checkbox in the other state.
| |
− | | |
− | The two icons shall be just icons, not in pushbuttons like in
| |
− | the New dialog. Clicking one of the icons shall simply enforce
| |
− | portrait or landscape in the textfield by swapping the two
| |
− | number values when necessary.
| |
− | | |
− | ====the tool option panels==== | |
− | | |
− | From all three tool option panels, remove all the Fix buttons,
| |
− | The line with the Aspect fields, and the three buttons below it.
| |
− | | |
− | Selecting more than one of constant ratio/width/height actually
| |
− | sets a constant rectangle size and this makes for wild, chaotic
| |
− | rubber-banding behaviour. We could implement a radioing system
| |
− | for these 3 constraints, but the complexity and UI bandwidth
| |
− | usage is too much. So I chose the simple solution: specific
| |
− | widths and heights shall be typed and confirmed by enter/return
| |
− | or removing the input focus from the textfield. Clearing any
| |
− | numerical content from a field before confirming shall just
| |
− | restore the value displayed before the typing commenced.
| |
− | | |
− | All lines that contain textfields shall be sized such
| |
− | that they just fit inside a tool option panel that is
| |
− | 6 tool icons wide (the default, I believe...).
| |
− | | |
− | The guides pop-up menu left side shall be aligned with
| |
− | the left sides of the checkboxes, the pop-up menu right
| |
− | side shall be aligned with the left sides of the textfields.
| |
| | | |
− | ====highlight==== | + | ===[[selection + crop tool specification]]=== |
| | | |
− | When the Highlight checkbox is checked, then the darkening
| + | This is the [[selection + crop tool specification | specification]] for the rectangle + oval selection, and the crop tools. It is based on the state of GIMP 2.3.13, and is now updated with the realities of 2.3.18. |
− | effect shall not be displayed during rubber-banding. This
| |
− | allows for precise adjustments.
| |
Solution models get further developed into UI specifications, ready for implementation.
A solutions model for the Tool Options.