Version 2 (modified by peko, 16 years ago) (diff) |
---|
Analysis
Overview
Users need to be able to align frames. Alignment is done via a HUD to the current selection. Alignment is only viable when the selection contains more than one item. See the related section of this task for the multi-select task, which should be done before this task.
Alignment should be undoable, and may rely on the PRO_CHANGE tasks (see related). Alignment via the sides and centers of objects is a good start. Later we can add distribution if deemed necessary.
Task requirements
- Add a halo for alignment to frames if there is more than one frame selected
- The halo's hud will have buttons for choosing the alignment (see implementation idea)
- Alignment operations should be undoable (might be blocked by PRO_CHANGE work)
Task result
The result of this task is code
Implementation idea
- Use the PAGE_ELEMENT_MULTI_SELECT_R0 changes to determine if there is more than one item selected
- Due to the fact that we don't have grouping yet, put the alignment halo on the last frame added to the selection (this may be part of PAGE_ELEMENT_MULTI_SELECT_R0 that I missed)
- Support the following alignments:
- Align left sides
- Align top sides
- Align bottom sides
- Align right sides
- Align vertical centers
- Align horizontal centers
- The first frame in the selection is the master frame in terms of which frame to align to
Related
PAGE_ELEMENT_GROUPING_R0
PAGE_ELEMENT_MULTI_MANIPULATION_R0
PAGE_ELEMENT_MULTI_SELECT_R0
GROUP_PAGE_ELEMENTS_GROUP_ALIGN_R0
How to demo
Demo the alignment hud, selecting several frames and aligning them
Design
Implementation
(Implementation results should be described and linked here (from the wiki or the repository))
Testing
Comments
(Write comments for this or later revisions here.)