26 #ifndef WPS_POSITION_H
27 #define WPS_POSITION_H
31 #include <librevenge/librevenge.h>
62 o <<
"Pos=" << pos.
m_orig <<
"x" << dest;
65 case librevenge::RVNG_INCH:
68 case librevenge::RVNG_POINT:
71 case librevenge::RVNG_TWIP:
74 case librevenge::RVNG_PERCENT:
75 case librevenge::RVNG_GENERIC:
76 case librevenge::RVNG_UNIT_ERROR:
80 if (pos.
page()>0) o <<
", page=" << pos.
page();
120 librevenge::RVNGUnit
unit()
const
125 static float getScaleFactor(librevenge::RVNGUnit orig, librevenge::RVNGUnit dest)
127 float actSc = 1.0, newSc = 1.0;
130 case librevenge::RVNG_TWIP:
132 case librevenge::RVNG_POINT:
135 case librevenge::RVNG_INCH:
138 case librevenge::RVNG_PERCENT:
139 case librevenge::RVNG_GENERIC:
140 case librevenge::RVNG_UNIT_ERROR:
142 WPS_DEBUG_MSG((
"WPSPosition::getScaleFactor %d unit must not appear\n",
int(orig)));
146 case librevenge::RVNG_TWIP:
148 case librevenge::RVNG_POINT:
151 case librevenge::RVNG_INCH:
154 case librevenge::RVNG_PERCENT:
155 case librevenge::RVNG_GENERIC:
156 case librevenge::RVNG_UNIT_ERROR:
158 WPS_DEBUG_MSG((
"WPSPosition::getScaleFactor %d unit must not appear\n",
int(dest)));
233 if (diff)
return diff < 0 ? -1 : 1;
235 if (diff)
return diff < 0 ? -1 : 1;
237 if (diff)
return diff < 0 ? -1 : 1;
239 if (diff)
return diff < 0 ? -1 : 1;
241 if (diff)
return diff < 0 ? -1 : 1;
243 if (diff)
return diff;
245 if (diff)
return diff;
247 if (diff)
return diff;
Vec2f m_naturalSize
the natural size of the data (if known)
Definition: WPSPosition.h:254
void setPage(int pg) const
sets the page
Definition: WPSPosition.h:169
YPos
an enum used to define the relative Y position
Definition: WPSPosition.h:49
bool operator==(WPSPosition const &f) const
basic operator==
Definition: WPSPosition.h:84
Vec2< float > Vec2f
Vec2 of float.
Definition: libwps_internal.h:483
virtual ~WPSPosition()
Definition: WPSPosition.h:57
Definition: WPSPosition.h:47
int page() const
returns the frame page
Definition: WPSPosition.h:100
int cmp(WPSPosition const &f) const
basic function to compare two positions
Definition: WPSPosition.h:230
bool operator!=(WPSPosition const &f) const
basic operator!=
Definition: WPSPosition.h:89
Definition: WPSPosition.h:49
Definition: WPSPosition.h:43
librevenge::RVNGUnit unit() const
returns the unit
Definition: WPSPosition.h:120
void setRelativePosition(AnchorTo anchor, XPos X=XLeft, YPos Y=YTop)
sets the relative position
Definition: WPSPosition.h:201
void setSize(Vec2f const &sz)
sets the frame size
Definition: WPSPosition.h:179
int m_order
background/foward order
Definition: WPSPosition.h:258
Definition: WPSPosition.h:45
friend std::ostream & operator<<(std::ostream &o, WPSPosition const &pos)
operator<<
Definition: WPSPosition.h:59
Definition: WPSPosition.h:45
Definition: WPSPosition.h:49
librevenge::RVNGUnit m_unit
the unit used in orig and in m_size. Default: in inches
Definition: WPSPosition.h:256
void setNaturalSize(Vec2f const &natSize)
sets the natural size (if known)
Definition: WPSPosition.h:184
Wrapping
an enum used to define the wrapping
Definition: WPSPosition.h:45
Vec2f const & naturalSize() const
returns the natural size (if known)
Definition: WPSPosition.h:115
Definition: WPSPosition.h:47
float getInvUnitScale(librevenge::RVNGUnit unt) const
returns a float which can be used to scale some data in object unit
Definition: WPSPosition.h:163
AnchorTo m_anchorTo
anchor position
Definition: WPSPosition.h:220
Definition: WPSPosition.h:45
Wrapping m_wrapping
Wrapping.
Definition: WPSPosition.h:226
Definition: WPSPosition.h:47
Definition: WPSPosition.h:49
Vec2f m_orig
the origin position in a page
Definition: WPSPosition.h:254
void setPagePos(int pg, Vec2f const &newOrig) const
sets/resets the page and the origin
Definition: WPSPosition.h:194
Vec2f m_size
Definition: WPSPosition.h:254
YPos m_yPos
Y relative position.
Definition: WPSPosition.h:224
Definition: WPSPosition.h:43
int cmpY(Vec2< T > const &p) const
a comparison function: which first compares y then x
Definition: libwps_internal.h:427
void setUnit(librevenge::RVNGUnit unt)
sets the dimension unit
Definition: WPSPosition.h:189
#define WPS_DEBUG_MSG(M)
Definition: libwps_internal.h:115
XPos
an enum used to define the relative X position
Definition: WPSPosition.h:47
bool operator<(WPSPosition const &f) const
basic operator<
Definition: WPSPosition.h:94
void setOrigin(Vec2f const &orig)
sets the frame origin
Definition: WPSPosition.h:174
WPSPosition(Vec2f const &orig=Vec2f(), Vec2f const &sz=Vec2f(), librevenge::RVNGUnit unt=librevenge::RVNG_INCH)
constructor
Definition: WPSPosition.h:53
Definition: WPSPosition.h:43
Definition: WPSPosition.h:49
Vec2f const & origin() const
return the frame origin
Definition: WPSPosition.h:105
XPos m_xPos
X relative position.
Definition: WPSPosition.h:222
int order() const
returns background/foward order
Definition: WPSPosition.h:209
Definition: WPSPosition.h:47
Vec2f const & size() const
returns the frame size
Definition: WPSPosition.h:110
Class to define the position of an object (textbox, picture, ..) in the document. ...
Definition: WPSPosition.h:39
void setOrder(int ord) const
set background/foward order
Definition: WPSPosition.h:214
static float getScaleFactor(librevenge::RVNGUnit orig, librevenge::RVNGUnit dest)
returns a float which can be used to convert between to unit
Definition: WPSPosition.h:125
int m_page
the page
Definition: WPSPosition.h:253
Definition: WPSPosition.h:43
AnchorTo
a list of enum used to defined the anchor
Definition: WPSPosition.h:43