Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
AlignAdapterSVG Struct Reference

Adapter designed for NodeSVG. More...

#include <AlignSVG.h>

Inheritance diagram for AlignAdapterSVG:
Inheritance graph
[legend]
Collaboration diagram for AlignAdapterSVG:
Collaboration graph
[legend]

Public Member Functions

template<class T >
void setAlignAnchor (const T &pathElem)
 Mark one of the elements of this object (SVG or G) as a decisive position.
 
template<class T >
void setAlignAnchorHorz (const T &pathElem)
 
template<class T >
void setAlignAnchorVert (const T &pathElem)
 
const std::string & getAlignAnchorHorz () const
 
const std::string & getAlignAnchorVert () const
 
const std::string & getAlignStr () const
 
- Public Member Functions inherited from AlignSVG
template<typename OBJ , typename A , typename V >
void setAlign (const OBJ &owner, const A &axis, const V &value)
 Low-level, "atomic" setter of alignment for OBJECT itself or its ANCHOR object.
 
void setAlign (const AlignBase::Axis &axis, const AlignBase::Pos &pos, Topol topol=Topol::INSIDE)
 Set a single alignment setting. "Intermediate-level": axis and pos are given separately. More...
 
template<typename ... T, typename AX , AlignBase::Axis A>
void setAlign (const Alignment< AX, A > &align, const T... args)
 NEW High-level, user friendlier interface for setting INSIDE the alignments for both OBJECT itself and its ANCHOR object.
 
template<typename AX1 , AlignBase::Axis A1, typename AX2 , AlignBase::Axis A2>
void setAlign (const Alignment< AX1, A1 > &align1, const Alignment< AX2, A2 > &align2)
 
template<typename AX , AlignBase::Axis A>
void setAlign (const Alignment< AX, A > &align1, const Alignment< AX, A > &align2)
 Compiler trap: unimplemented for two of same kind: either HorzAlign or VertAlign twice.
 
template<typename T >
void setAlign (const std::string &align, const T &topol)
 High-level, user friendlier interface for setting the alignments for both OBJECT itself and its ANCHOR object.
 
void setAlign (const std::string &align)
 High-level, user friendly interface for setting the alignments for both OBJECT itself and its ANCHOR object. More...
 
bool isAligned () const
 Returns true, if any setting is set...
 
void resetAlign ()
 
template<typename P , typename A >
AlignBase::PosgetAlign (const P &pos, const A &axis)
 Return alignment setting of an object along horizontal or vertical axis .
 
template<typename P , typename A >
const AlignBase::PosgetAlign (const P &pos, const A &axis) const
 Return alignment setting of an object along horizontal or vertical axis .
 
void confToStream (std::ostream &ostr) const
 
template<typename OBJ , typename A >
AlignBase::PosgetAlign (const OBJ &owner, const A &axis)
 
template<typename OBJ , typename A >
const AlignBase::PosgetAlign (const OBJ &owner, const A &axis) const
 

Protected Member Functions

virtual void updateAlign () override
 
void updateAlignStr ()
 
- Protected Member Functions inherited from AlignSVG
template<typename P , typename A , typename V >
void modifyAlign (const P &owner, const A &axis, const V &value)
 Change alignment configuration without updating the alignStr.
 

Static Protected Member Functions

static const std::string & getElem (const std::string &s)
 
static const char * getElem (const char *s)
 
template<class T >
static const std::string & getElem (const T &type)
 

Protected Attributes

std::string alignStr
 
std::string anchorHorz
 
std::string anchorVert
 
- Protected Attributes inherited from AlignSVG
bitvect_t alignment = 0
 
align_conf_t alignments = align_conf_t(2, align_vect_t(2, AlignBase::Pos::UNDEFINED_POS))
 

Additional Inherited Members

- Public Types inherited from AlignSVG
enum  Owner { OBJECT = 0 , ANCHOR = 1 }
 
enum  Topol { INSIDE = 0 , OUTSIDE = 1 , UNDEFINED_TOPOL = 2 }
 
typedef Alignment< const AlignBase::Axis, AlignBase::Axis::HORZ > HorzAlign
 
typedef Alignment< const AlignBase::Axis, AlignBase::Axis::VERT > VertAlign
 
- Static Public Attributes inherited from AlignSVG
static const HorzAlign LEFT
 Alias for {HORZ:MIN}.
 
static const HorzAlign CENTER
 Alias for {HORZ:MID}.
 
static const HorzAlign RIGHT
 Alias for {HORZ:MAX}.
 
static const HorzAlign HORZ_FILL
 Alias for {HORZ:FILL}.
 
static const HorzAlign UNDEFINED_HORZ
 
static const VertAlign TOP
 Alias for {VERT:MIN}.
 
static const VertAlign MIDDLE
 Alias for {VERT:MID}.
 
static const VertAlign BOTTOM
 Alias for {VERT:MAX}.
 
static const VertAlign VERT_FILL
 Alias for {VERT:FILL}.
 
static const VertAlign UNDEFINED_VERT
 
- Protected Types inherited from AlignSVG
typedef int bitvect_t
 
typedef std::vector< AlignBase::Posalign_vect_t
 
typedef std::vector< align_vect_t > align_conf_t
 

Detailed Description

Adapter designed for NodeSVG.


The documentation for this struct was generated from the following files: