Adobe Source Libraries 1.49.0
A collection of C++ libraries.
Loading...
Searching...
No Matches

Layout data interface from the client to the engine. More...

#include <adobe/layout_attributes.hpp>

Inheritance diagram for layout_attributes_t:
extents_slices_t layout_attributes_alignment_t layout_attributes_placement_t

Classes

class  slice_t
 placeable object geometry for a single orientation of layout_attributes_t. More...

Public Types

typedef std::vector< int > spacing_t
Public Types inherited from extents_slices_t
enum  slice_select_t { horizontal , vertical }
Public Types inherited from layout_attributes_alignment_t
enum  alignment_t {
  align_forward , align_reverse , align_center , align_proportional ,
  align_forward_fill , align_reverse_fill , align_default , align_fill ,
  align_left_fill , align_right_fill , align_top_fill , align_bottom_fill ,
  align_left , align_right , align_top , align_bottom
}
Public Types inherited from layout_attributes_placement_t
enum  placement_t { place_leaf , place_column , place_row , place_overlay }

Public Member Functions

 layout_attributes_t ()
slice_tvertical ()
slice_thorizontal ()
const slice_tvertical () const
const slice_thorizontal () const
int & height ()
int & width ()
const int & height () const
const int & width () const

Public Attributes

extents_t extents_m
int indent_m
bool create_m
spacing_t spacing_m
std::array< slice_t, 2 > slice_m
placement_t placement_m

Detailed Description

layout_attributes_t slice-independent placeable object geometry
Todo
(sparent) : We have a mechanism for defaulting container attributes. This needs to be extended to view attributes such as supressing guides.

Definition at line 60 of file layout_attributes.hpp.

Member Typedef Documentation

◆ spacing_t

typedef std::vector<int> spacing_t

Definition at line 71 of file layout_attributes.hpp.

Constructor & Destructor Documentation

◆ layout_attributes_t()

Definition at line 67 of file layout_attributes.hpp.

Member Function Documentation

◆ vertical() [1/2]

slice_t & vertical ( )

Definition at line 96 of file layout_attributes.hpp.

◆ horizontal() [1/2]

slice_t & horizontal ( )

Definition at line 97 of file layout_attributes.hpp.

◆ vertical() [2/2]

const slice_t & vertical ( ) const

Definition at line 99 of file layout_attributes.hpp.

◆ horizontal() [2/2]

const slice_t & horizontal ( ) const

Definition at line 100 of file layout_attributes.hpp.

◆ height() [1/2]

int & height ( )

Definition at line 103 of file layout_attributes.hpp.

◆ width() [1/2]

int & width ( )

Definition at line 104 of file layout_attributes.hpp.

◆ height() [2/2]

const int & height ( ) const

Definition at line 106 of file layout_attributes.hpp.

◆ width() [2/2]

const int & width ( ) const

Definition at line 107 of file layout_attributes.hpp.

Member Data Documentation

◆ extents_m

extents_t extents_m

Definition at line 87 of file layout_attributes.hpp.

◆ indent_m

int indent_m
indent is a cross-stream value denoting the amount of indent for this single value. Cross-stream means that it is a value perpendicular to the orientation of the slice in which it is defined. Therefore, the horizontal indent is the amount in which the placeable object will be moved down vertically inside its parent.

Definition at line 88 of file layout_attributes.hpp.

◆ create_m

bool create_m
create is a boolean denoting whether or not this placeable object will
actually exist as a UI framework. If false, this placeable object's geometry will affect the view layout but will not send a place call through the layout element object. Noncreating views such as row and column are good examples of placeable object types whose create_m is false.
See also
poly_placeable_t

Definition at line 89 of file layout_attributes.hpp.

◆ spacing_m

spacing_t spacing_m
spacing is the amount of space between children. Because the spacing vector is used to determine spacing between children, for a container with N children only the first N-1 spacing values will be used. If the spacing vector has a single element, that value is used for all spacing between all children. This only applies to container placeable objects.

Definition at line 90 of file layout_attributes.hpp.

◆ slice_m

std::array<slice_t, 2> slice_m
This array contains the orientation-specific geometry for the placeable object in the two relative orientations (horiztonal and vertical).
See also
slice_t

Definition at line 91 of file layout_attributes.hpp.

◆ placement_m

placement_t placement_m
placement is the enumeration denoting the orientation children will have with respect to one another when being laid out.
See also
placement_t

Definition at line 94 of file layout_attributes.hpp.