wiki:FRAME_SIZE_R1

Version 1 (modified by deni, 16 years ago) (diff)

--

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=TASK_NAME_HERE, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|) failed
current transaction is aborted, commands ignored until end of transaction block

Analysis

(Give as much as possible of the needed information for designing and implementing the task in the following sections.)

Overview

Currently frames can be resized using the Frame Size and Position halo button and hud. The user specifies new width and height, the frame content is resized accordingly and the frame location (top left corner) remains the same.
It would be convenient for the user to have another way of resizing the frame in addition to this one - by dragging the frame bounds with the mouse. ???

Task requirements

  • There should be a new halo button which shows/hides the 8 small rectangles described below. It should be included in the main frame halo menu (the left one above the frame border).
  • There should be 8 small rectangles (halo buttons), used for resizing the frame in the 8 different directions. They should be drawn inside the frame border, i.e. they will overlap with the frame padding or the frame content if there is no padding. 4 of them should be located at the middle of corresponding side of the padding rectangle and the other 4 - at its edges.
  • [optional for this revision] When the mouse is over one of those 8 rectangles, the mouse cursor should change in order to provide a hint for the user that he/she could drag it.
  • When the user clicks on one of the rectangles and starts dragging it, the frame is resized in the appropriate way - if necessary its location is changed, too.
  • The frame is resized while the user is dragging, not after he/she releases the mouse.
  • If for example the user starts dragging one of the rectangles that shound change only the height and vertical position and he/she changes the x-coordinate of the rectangle, this is neglected - The height changes, but the width remains the same.

Task result

The result of this page should be source code.

Implementation idea

The 8 small rectangles could be MoveHaloButtons.

How to demo

Open Sophie application, create a new frame and resize it.

Design

(Describe your design here.)

Implementation

(Describe and link the implementation results here (from the wiki or the repository).)

Testing

(Place the testing results here.)

Comments

(Write comments for this or later revisions here.)