Placeable Concept |
Classes | |
struct | PlaceableConcept< T > |
Concept map and constraints checking for the Placeable concept. More... | |
struct | PlaceableConcept< T * > |
Concept map and constraints checking for to allow boost::reference_wrapper<T> to model this concept when T does. More... | |
struct | PlaceableTwoPassConcept< T > |
Concept map and constraints checking for the PlaceableTwoPass concept. More... | |
struct | PlaceableTwoPassConcept< T * > |
Concept map and constraints checking for to allow boost::reference_wrapper<T> to model this concept when T does. More... | |
Functions | |
template<class T > | |
void | measure (T &t, extents_t &result) |
template<class T > | |
void | measure_vertical (T &t, extents_t &calculated_horizontal, const place_data_t &placed_horizontal) |
template<class T > | |
void | place (T &t, const place_data_t &place_data) |
Function Documentation
void adobe::measure | ( | T & | t, |
extents_t & | result | ||
) |
Get the placeable object-specific information from the client. The client is allowed to modify the Extents parameter passed in as they please in order to best describe the geometric details of this placeable object... It is an ouput-only parameter. This is the second (first if the placeable object is not a container) proc called while the layout engine is solving the layout.
The default implementation calls the member function on T of the same name. Can be specialized or overloaded for user types.
Definition at line 175 of file placeable_concept.hpp.
void adobe::measure_vertical | ( | T & | t, |
extents_t & | calculated_horizontal, | ||
const place_data_t & | placed_horizontal | ||
) |
Sometimes a placeable object's height is dependent upon the solved width of that placeable object. An example of this would be a placeable object with paginated text inside of it. In that case, the placeable object should provide a function here to remeasure just the vertical slice information for the placeable object. All other information modified here will be discarded in favor of the values given during the first calculate call. Calculated_vertical is an output-only parameter. Horizontal and positioning information should be obtained from placed_horizontal.
The default implementation calls the member function on T of the same name. Can be specialized or overloaded for user types.
Definition at line 304 of file placeable_concept.hpp.
void adobe::place | ( | T & | t, |
const place_data_t & | place_data | ||
) |
Place is the final function signaled from the Eve engine to a placeable object. When this function is made there are several guarantees for the client:
- All parent views for this placeable object have already had their place function invoked
- All data provided in the place_data_t is the final geometric information for the placeable object.
Note that this function can be invoked multiple times- given a view re-layout (i.e. during a window resize event) the other functions will not be invoked- the layout will be adjusted internally in the Eve engine and only this function will be invoked with updated placement information for the placeable object.
The default implementation calls the member function on T of the same name. Can be specialized or overloaded for user types.
Definition at line 206 of file placeable_concept.hpp.