wiki page: FRAME_SIZE_R0 - effort: 1d
-meddle, tanya, tanya
The frames size is the width and hight of the frame. In default mode they are the measurements of the frame content. The frame should be able to calculate its size in different modes (including paddings, border and/or margins). A frame could even be bigger than the page. In that case the frames parts which are outside the page`s range will be clipped out and wont be seen in reader mode. In author mode however all frames should be seen in whole.
- The frame should have properties describing width and hight.
- Those properties should be equal or grater than 0.
- The frame should be able to set and get its size in all modes.
The result of this task is source code.
- Create width and hight value properties in the Frame.
- Create enums for modes if needed.
How to demo
- Create frame with concrete width and height and check if they are correct.
In the Frame class:
- Rename the size() property which is used for the size of the frames rectangle in default mode to contentSize() for more clearance.
- Create the method ImmSize getSize(BoundMode mode). Using the BoundMode enum it should calculate the size of the frame rectangle in the given mode.
- Create the method setSize(BoundMode mode, ImmSize size). It could use the BoundModes setSize() method to calculate the size to be set to content according to the mode in which the new size is given.
- TestFrameSize demonstrates the use of those frame bounds functionalities in different modes.
In this release, the width and height of a frame can be changed (starting relative to the top left corner of the frame)using the frame size/position HUD.
(none so far)
(none so far)
(Write comments for this or later revisions here.)