Adobe Source Libraries 1.49.0
A collection of C++ libraries.
Loading...
Searching...
No Matches
Description
A model of the PlaceableTwopass concept is an item that can be measured and placed within a visual space.
Refinement Of
Associated Type(s)
Extents Type typename placeable_extents_type<PlaceableTwopass>::type Models adobe::extents_t. Used by the PlaceableTwopass to relate the minimum visual extents it requires in order to be placed correctly.
Placement Data Type typename placement_data_type<PlaceableTwopass>::type Models adobe::place_data_t. Contains the derived information necessary for the PlaceableTwopass to position itself within the visual space
Todo
Need concepts for extents and placement data
Notation
TA type that is a model of PlaceableTwopass
tObject of type T
eObject of type typename placeable_extents_type<PlaceableTwopass>::type
pObject of type typename placement_data_type<PlaceableTwopass>::type
Definitions
Valid Expressions
NameExpressionType requirementsReturn type
Measure Horizontalmeasure_horizontal(t, e);e is a reference parameter that on return must contain the calculated horizontal extents of t within the visual spacevoid
Measure Verticalmeasure_vertical(t, e, p);p contains the calculated place_data_t of t within the visual space. e is a ouput only reference parameter that on return must contain the minimum visual vertical properties required by this visual element void
Placeplace(t, p);p contains the calculated horizontal and vertical extents of t within the visual spacevoid
Expression Semantics
NameExpressionPreconditionSemanticsPostcondition
Placeplace(t, p);p must not be less than the minimum extents specified by measure_horizontal and measure_verticalPlaces t within the visual space according to pt is properly placed within the visual space
Complexity Guarantee(s)
Invariants
Type(s) Modeling this Concept
  • Most text-based user interface elements are PlaceableTwopass, in that they need to be measured before they can be placed appropriately within the dialog to which they belong.
Notes
See Also
concept_placeable_twopass, measure_horizontal, measure_vertical, place
Example
PlaceableTwopass_t p;
using adobe::measure_horizontal;
measure_horizontal(p, h);
adobe::place_data_t(/*initialized with h and actual placement location*/);
measure_vertical(p, v, d);
/* update place data, d, with vertical info returned in v, then call: */
place(p, d);
void measure_vertical(T &t, extents_t &calculated_horizontal, const place_data_t &placed_horizontal)
void place(T &t, const place_data_t &place_data)
An intrinsic geometry class for objects with a graphical representation.
Definition extents.hpp:71
Layout data interface from the engine to the client.