Lomse library. API documentation  0.30.0
GmoBox Class Reference

#include <lomse_gm_basic.h>

Inheritance diagram for GmoBox:
GmoObj GmoBoxDocPage GmoBoxDocPageContent GmoBoxDocument GmoBoxScorePage GmoBoxSystem

Detailed Description

GmoBox is an abstract class from which all box objects derive. As GmoBox derive from GmoObj they have a bounds rectangle that defines the box area. This rectangle defines reference bounds for laying out other objects (the box content).

GmoBox objects are used to organize the layout space. They define areas, in the final image, in which shapes will be positioned. For instance, GmoBoxParagraph is a box delimiting the space occupied by the text in a paragraph.

Apart of defining the content area, all GmoBox objects are containers for other boxes and for shapes.

Boxes can be nested but can not partially overlap other boxes. That is, a box is either independent (covers a region of paper) or is fully contained in another box, subdividing it. For instance, GmoBoxSystem, that represents the space ocuppied by a system, is subdivided in GmoBoxSlice boxes, representing vertical slices of the system (e.g. measures).

Friends

class StaffObjShapeCursor
 
class GraphicModel
 

Additional Inherited Members

- Public Member Functions inherited from GmoObj
LUnits get_width ()
 
LUnits get_height ()
 
LUnits get_left () const
 
LUnits get_top () const
 
LUnits get_right () const
 
LUnits get_bottom () const
 
bool bounds_contains_point (UPoint &p)
 
URect get_bounds ()
 
UPoint get_origin ()
 
USize get_size ()