26 #ifndef WPS_POSITION_H 27 #define WPS_POSITION_H 31 #include <librevenge/librevenge.h> 71 o <<
"Pos=" << pos.
m_orig <<
"x" << dest;
74 case librevenge::RVNG_INCH:
77 case librevenge::RVNG_POINT:
80 case librevenge::RVNG_TWIP:
83 case librevenge::RVNG_PERCENT:
84 case librevenge::RVNG_GENERIC:
85 case librevenge::RVNG_UNIT_ERROR:
89 if (pos.
page()>0) o <<
", page=" << pos.
page();
129 librevenge::RVNGUnit
unit()
const 134 static float getScaleFactor(librevenge::RVNGUnit orig, librevenge::RVNGUnit dest)
136 float actSc = 1.0, newSc = 1.0;
139 case librevenge::RVNG_TWIP:
141 case librevenge::RVNG_POINT:
144 case librevenge::RVNG_INCH:
147 case librevenge::RVNG_PERCENT:
148 case librevenge::RVNG_GENERIC:
149 case librevenge::RVNG_UNIT_ERROR:
151 WPS_DEBUG_MSG((
"WPSPosition::getScaleFactor %d unit must not appear\n",
int(orig)));
155 case librevenge::RVNG_TWIP:
157 case librevenge::RVNG_POINT:
160 case librevenge::RVNG_INCH:
163 case librevenge::RVNG_PERCENT:
164 case librevenge::RVNG_GENERIC:
165 case librevenge::RVNG_UNIT_ERROR:
167 WPS_DEBUG_MSG((
"WPSPosition::getScaleFactor %d unit must not appear\n",
int(dest)));
252 if (diff)
return diff < 0 ? -1 : 1;
256 if (diff)
return diff < 0 ? -1 : 1;
258 if (diff)
return diff < 0 ? -1 : 1;
260 if (diff)
return diff < 0 ? -1 : 1;
262 if (diff)
return diff < 0 ? -1 : 1;
264 if (diff)
return diff;
266 if (diff)
return diff;
268 if (diff)
return diff;
Vec2f m_naturalSize
the natural size of the data (if known)
Definition: WPSPosition.h:275
int cmpY(Vec2< T > const &p) const
a comparison function: which first compares y then x
Definition: libwps_internal.h:656
librevenge::RVNGString m_anchorCellName
the anchor cell name
Definition: WPSPosition.h:239
YPos
an enum used to define the relative Y position
Definition: WPSPosition.h:49
Vec2< float > Vec2f
Vec2 of float.
Definition: libwps_internal.h:704
bool operator==(WPSPosition const &f) const
basic operator==
Definition: WPSPosition.h:93
Definition: WPSPosition.h:47
Definition: WPSPosition.h:49
Definition: WPSPosition.h:43
Definition: WPSPosition.h:43
void setRelativePosition(AnchorTo anchor, XPos X=XLeft, YPos Y=YTop)
sets the relative position
Definition: WPSPosition.h:210
void setSize(Vec2f const &sz)
sets the frame size
Definition: WPSPosition.h:188
int m_order
background/foward order
Definition: WPSPosition.h:279
Definition: WPSPosition.h:45
friend std::ostream & operator<<(std::ostream &o, WPSPosition const &pos)
operator<<
Definition: WPSPosition.h:68
void setAnchorToCell(librevenge::RVNGString const &cellName)
sets the anchor to a cell position
Definition: WPSPosition.h:218
void setPage(int pg) const
sets the page
Definition: WPSPosition.h:178
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:277
int page() const
returns the frame page
Definition: WPSPosition.h:109
void setNaturalSize(Vec2f const &natSize)
sets the natural size (if known)
Definition: WPSPosition.h:193
Wrapping
an enum used to define the wrapping
Definition: WPSPosition.h:45
Definition: WPSPosition.h:47
AnchorTo m_anchorTo
anchor position
Definition: WPSPosition.h:237
Definition: WPSPosition.h:45
Wrapping m_wrapping
Wrapping.
Definition: WPSPosition.h:245
Definition: WPSPosition.h:47
Definition: WPSPosition.h:43
void setPagePos(int pg, Vec2f const &newOrig) const
sets/resets the page and the origin
Definition: WPSPosition.h:203
Definition: WPSPosition.h:49
Vec2f const & naturalSize() const
returns the natural size (if known)
Definition: WPSPosition.h:124
Vec2f m_orig
the origin position in a page
Definition: WPSPosition.h:275
Vec2f m_size
Definition: WPSPosition.h:275
float getInvUnitScale(librevenge::RVNGUnit unt) const
returns a float which can be used to scale some data in object unit
Definition: WPSPosition.h:172
Vec2f const & origin() const
return the frame origin
Definition: WPSPosition.h:114
bool operator<(WPSPosition const &f) const
basic operator<
Definition: WPSPosition.h:103
int order() const
returns background/foward order
Definition: WPSPosition.h:226
YPos m_yPos
Y relative position.
Definition: WPSPosition.h:243
Definition: WPSPosition.h:43
void setUnit(librevenge::RVNGUnit unt)
sets the dimension unit
Definition: WPSPosition.h:198
void setOrder(int ord) const
set background/foward order
Definition: WPSPosition.h:231
#define WPS_DEBUG_MSG(M)
Definition: libwps_internal.h:134
bool operator!=(WPSPosition const &f) const
basic operator!=
Definition: WPSPosition.h:98
Vec2f const & size() const
returns the frame size
Definition: WPSPosition.h:119
XPos
an enum used to define the relative X position
Definition: WPSPosition.h:47
~WPSPosition()
destructor
Definition: WPSPosition.h:66
void setOrigin(Vec2f const &orig)
sets the frame origin
Definition: WPSPosition.h:183
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
librevenge::RVNGUnit unit() const
returns the unit
Definition: WPSPosition.h:129
XPos m_xPos
X relative position.
Definition: WPSPosition.h:241
Definition: WPSPosition.h:47
Definition: WPSPosition.h:43
Class to define the position of an object (textbox, picture, ..) in the document. ...
Definition: WPSPosition.h:39
static float getScaleFactor(librevenge::RVNGUnit orig, librevenge::RVNGUnit dest)
returns a float which can be used to convert between to unit
Definition: WPSPosition.h:134
int cmp(WPSPosition const &f) const
basic function to compare two positions
Definition: WPSPosition.h:249
int m_page
the page
Definition: WPSPosition.h:274
Definition: WPSPosition.h:43
AnchorTo
a list of enum used to defined the anchor
Definition: WPSPosition.h:43