Go to the documentation of this file.
34 #ifndef LIBSTAROFFICE_INTERNAL_H
35 #define LIBSTAROFFICE_INTERNAL_H
52 #define M_PI 3.14159265358979323846
55 #include <librevenge-stream/librevenge-stream.h>
56 #include <librevenge/librevenge.h>
58 #if defined(_MSC_VER) || defined(__DJGPP__)
60 typedef signed char int8_t;
61 typedef unsigned char uint8_t;
62 typedef signed short int16_t;
63 typedef unsigned short uint16_t;
64 typedef signed int int32_t;
65 typedef unsigned int uint32_t;
66 typedef unsigned __int64 uint64_t;
67 typedef __int64 int64_t;
77 # ifdef HAVE_INTTYPES_H
78 # include <inttypes.h>
85 # include <inttypes.h>
94 # define gmtime_r(tp,tmp) (gmtime(tp)?(*(tmp)=*gmtime(tp),(tmp)):0)
95 # define localtime_r(tp,tmp) (localtime(tp)?(*(tmp)=*localtime(tp),(tmp)):0)
105 #if defined(HAVE_CLANG_ATTRIBUTE_FALLTHROUGH)
106 # define STOFF_FALLTHROUGH [[clang::fallthrough]]
107 #elif defined(HAVE_GCC_ATTRIBUTE_FALLTHROUGH)
108 # define STOFF_FALLTHROUGH __attribute__((fallthrough))
110 # define STOFF_FALLTHROUGH ((void) 0)
113 #if defined(HAVE_FUNC_ATTRIBUTE_FORMAT)
114 # define LIBSTOFF_ATTRIBUTE_PRINTF(fmt, arg) __attribute__((format(printf, fmt, arg)))
116 # define LIBSTOFF_ATTRIBUTE_PRINTF(fmt, arg)
119 #define STOFF_N_ELEMENTS(m) sizeof(m)/sizeof(m[0])
127 #define STOFF_DEBUG_MSG(M) libstoff::printDebugMsg M
129 #define STOFF_DEBUG_MSG(M)
159 uint8_t
readU8(librevenge::RVNGInputStream *input);
161 void appendUnicode(uint32_t val, librevenge::RVNGString &buffer);
163 librevenge::RVNGString
getString(std::vector<uint32_t>
const &unicode);
169 return (x < 0 && y < std::numeric_limits<T>::lowest() - x)
170 || (x > 0 && y > std::numeric_limits<T>::max() - x);
195 STOFFColor(
unsigned char r,
unsigned char g,
unsigned char b,
unsigned char a=255) :
196 m_value(uint32_t((a<<24)+(r<<16)+(g<<8)+b))
208 double w=1.-double(k)/255.;
210 (static_cast<unsigned char>(255 * (1-
double(c)/255) * w),
211 static_cast<unsigned char>(255 * (1-
double(m)/255) * w),
212 static_cast<unsigned char>(255 * (1-
double(y)/255) * w)
218 double c=(1-((L>=128) ? (2*
double(L)-255) : (255-2*
double(L)))/255)*
220 double tmp=std::fmod((
double(H)*6/255),2)-1;
221 double x=c*(1-(tmp>0 ? tmp : -tmp));
222 auto C=static_cast<unsigned char>(255*c);
223 auto M=static_cast<unsigned char>(
double(L)-255*c/2);
224 auto X=static_cast<unsigned char>(255*x);
225 if (H<=42)
return STOFFColor(static_cast<unsigned char>(M+C),static_cast<unsigned char>(M+X),static_cast<unsigned char>(M));
226 if (H<=85)
return STOFFColor(static_cast<unsigned char>(M+X),static_cast<unsigned char>(M+C),static_cast<unsigned char>(M));
227 if (H<=127)
return STOFFColor(static_cast<unsigned char>(M),static_cast<unsigned char>(M+C),static_cast<unsigned char>(M+X));
228 if (H<=170)
return STOFFColor(static_cast<unsigned char>(M),static_cast<unsigned char>(M+X),static_cast<unsigned char>(M+C));
229 if (H<=212)
return STOFFColor(static_cast<unsigned char>(M+X),static_cast<unsigned char>(M),static_cast<unsigned char>(M+C));
230 return STOFFColor(static_cast<unsigned char>(M+C),static_cast<unsigned char>(M),static_cast<unsigned char>(M+X));
254 return static_cast<unsigned char>((
m_value>>24)&0xFF);
264 return static_cast<unsigned char>(
m_value&0xFF);
269 return static_cast<unsigned char>((
m_value>>16)&0xFF);
274 return static_cast<unsigned char>((
m_value>>8)&0xFF);
284 return (
m_value&0xFFFFFF)==0xFFFFFF;
319 std::string
str()
const;
332 bool addTo(librevenge::RVNGPropertyList &propList, std::string which=
"")
const;
369 void addTo(librevenge::RVNGPropertyList &propList)
const;
382 bool addTo(librevenge::RVNGPropertyList &propList)
const;
417 add(binaryData, type);
433 void add(librevenge::RVNGBinaryData
const &binaryData, std::string
const &type=
"image/pict")
443 bool addTo(librevenge::RVNGPropertyList &propList)
const;
519 return std::forward<STOFFVariable &>(*
this);
526 return std::forward<STOFFVariable &>(*
this);
606 return (c==0) ?
m_x :
m_y;
612 return (c==0) ?
m_x :
m_y;
651 const T diff = std::numeric_limits<T>::min() + std::numeric_limits<T>::max();
704 if (
m_x < p.
m_x)
return -1;
705 if (
m_x > p.
m_x)
return 1;
706 if (
m_y < p.
m_y)
return -1;
707 if (
m_y > p.
m_y)
return 1;
713 if (
m_y < p.
m_y)
return -1;
714 if (
m_y > p.
m_y)
return 1;
715 if (
m_x < p.
m_x)
return -1;
716 if (
m_x > p.
m_x)
return 1;
723 o << f.
m_x <<
"x" << f.
m_y;
734 return s1.
cmp(s2) < 0;
740 typedef std::map<STOFFVec2<T>, T,
struct PosSizeLtX>
MapX;
749 return s1.
cmpY(s2) < 0;
755 typedef std::map<STOFFVec2<T>, T,
struct PosSizeLtY>
MapY;
785 for (
int c = 0; c < 3; c++)
m_val[c] = T(p[c]);
817 void set(T xx, T yy, T zz)
840 void add(T dx, T dy, T dz)
863 for (
auto &c :
m_val) c = T(c*scale);
905 for (
int c = 0; c < 3; c++) {
926 return s1.
cmp(s2) < 0;
932 typedef std::map<STOFFVec3<T>, T,
struct PosSizeLt>
Map;
963 for (
int c=0; c < 2; c++)
m_pt[c] = p[c];
1037 m_pt[0] = centerPt - 0.5*sz;
1038 m_pt[1] = centerPt + (sz - 0.5*sz);
1094 int diff =
m_pt[0].cmpY(p.
m_pt[0]);
1095 if (diff)
return diff;
1097 if (diff)
return diff;
1104 o <<
"(" << f.
m_pt[0] <<
"<->" << f.
m_pt[1] <<
")";
1115 return s1.
cmp(s2) < 0;
1121 typedef std::map<STOFFBox2<T>, T,
struct PosSizeLt>
Map;
1140 void splitString(librevenge::RVNGString
const &
string, librevenge::RVNGString
const &delim,
1141 librevenge::RVNGString &string1, librevenge::RVNGString &string2);
1145 librevenge::RVNGString
simplifyString(librevenge::RVNGString
const &s);
1150 float getScaleFactor(librevenge::RVNGUnit orig, librevenge::RVNGUnit dest);
STOFFBox2(STOFFVec2< T > minPt=STOFFVec2< T >(), STOFFVec2< T > maxPt=STOFFVec2< T >())
constructor
Definition: libstaroffice_internal.hxx:955
Definition: libstaroffice_internal.hxx:185
std::shared_ptr< STOFFListener > STOFFListenerPtr
a smart pointer of STOFFListener
Definition: libstaroffice_internal.hxx:487
const T * operator->() const
operator*
Definition: libstaroffice_internal.hxx:537
class to store the paragraph properties
Definition: STOFFParagraph.hxx:47
a field
Definition: libstaroffice_internal.hxx:363
basic class to store an entry in a file This contained :
Definition: STOFFEntry.hxx:46
friend std::ostream & operator<<(std::ostream &o, STOFFVec2< T > const &f)
operator<<: prints data in form "XxY"
Definition: libstaroffice_internal.hxx:721
librevenge::RVNGString getString(std::vector< uint32_t > const &unicode)
transform a unicode string in a RNVGString
Definition: libstaroffice_internal.cxx:63
bool operator()(STOFFVec3< T > const &s1, STOFFVec3< T > const &s2) const
comparaison function
Definition: libstaroffice_internal.hxx:924
STOFFVec3< T > & operator*=(U scale)
generic operator*=
Definition: libstaroffice_internal.hxx:861
bool operator!=(STOFFVec3< T > const &p) const
comparison!=
Definition: libstaroffice_internal.hxx:893
std::map< STOFFVec2< bool >, bool, struct PosSizeLtY > MapY
map of STOFFVec2
Definition: libstaroffice_internal.hxx:755
void resizeFromMax(STOFFVec2< T > const &sz)
resize the box keeping the maximum
Definition: libstaroffice_internal.hxx:1029
T m_val[3]
the values
Definition: libstaroffice_internal.hxx:936
Definition: libstaroffice_internal.hxx:139
int cmp(STOFFBox2< T > const &p) const
comparison function : fist sorts min by Y,X values then max extremity
Definition: libstaroffice_internal.hxx:1092
#define STOFF_DEBUG_MSG(M)
Definition: libstaroffice_internal.hxx:129
static STOFFColor barycenter(float alpha, STOFFColor const &colA, float beta, STOFFColor const &colB)
return alpha*colA+beta*colB
Definition: libstaroffice_internal.cxx:200
STOFFVariable(STOFFVariable const &orig)
copy constructor
Definition: libstaroffice_internal.hxx:511
STOFFBox2< float > STOFFBox2f
STOFFBox2 of float.
Definition: libstaroffice_internal.hxx:1131
T & operator[](int c)
operator[]
Definition: libstaroffice_internal.hxx:609
static STOFFColor black()
return the back color
Definition: libstaroffice_internal.hxx:233
void setZ(T zz)
resets the third element
Definition: libstaroffice_internal.hxx:834
bool operator==(STOFFBorderLine const &orig) const
operator==
Definition: libstaroffice_internal.hxx:339
STOFFBox2f rotateBoxFromCenter(STOFFBox2f const &box, float angle)
rotate a bdox and returns the final bdbox, angle is given in degree
Definition: libstaroffice_internal.cxx:479
Definition: libstaroffice_internal.hxx:135
friend std::ostream & operator<<(std::ostream &o, STOFFEmbeddedObject const &pict)
operator<<
Definition: libstaroffice_internal.cxx:372
Definition: libstaroffice_internal.hxx:185
abstract class used to store a subdocument (with a comparison function)
Definition: STOFFSubDocument.hxx:41
STOFFVec2< T > & min()
the minimum 2D point (in x and in y)
Definition: libstaroffice_internal.hxx:977
a structure used to define a picture shape
Definition: STOFFGraphicShape.hxx:45
STOFFVec3(T xx=0, T yy=0, T zz=0)
constructor
Definition: libstaroffice_internal.hxx:776
Class to store a frame style.
Definition: STOFFFrameStyle.hxx:45
Definition: libstaroffice_internal.hxx:185
T x() const
first element
Definition: libstaroffice_internal.hxx:593
Definition: libstaroffice_internal.hxx:178
bool operator()(STOFFVec2< T > const &s1, STOFFVec2< T > const &s2) const
comparaison function
Definition: libstaroffice_internal.hxx:732
bool operator>=(STOFFColor const &c) const
operator>=
Definition: libstaroffice_internal.hxx:312
A class which defines the page properties.
Definition: STOFFPageSpan.hxx:75
STOFFBox2< int > STOFFBox2i
STOFFBox2 of int.
Definition: libstaroffice_internal.hxx:1129
This class contains the code needed to create Graphic document.
Definition: STOFFGraphicListener.hxx:59
bool m_set
a flag to know if the variable is set or not
Definition: libstaroffice_internal.hxx:577
void setMax(STOFFVec2< T > const &y)
resets the maximum point
Definition: libstaroffice_internal.hxx:1018
bool operator==(STOFFBox2< T > const &p) const
comparison operator==
Definition: libstaroffice_internal.hxx:1076
STOFFVec3< T > & operator-=(STOFFVec3< T > const &p)
operator-=
Definition: libstaroffice_internal.hxx:854
a class to define the parser state
Definition: STOFFParser.hxx:49
T * operator->()
operator*
Definition: libstaroffice_internal.hxx:542
internal struct used to create sorted map, sorted by Y
Definition: libstaroffice_internal.hxx:745
void resizeFromMin(STOFFVec2< T > const &sz)
resize the box keeping the minimum
Definition: libstaroffice_internal.hxx:1024
librevenge::RVNGString simplifyString(librevenge::RVNGString const &s)
returns a simplify version of a string.
Definition: libstaroffice_internal.cxx:430
STOFFColor & operator=(uint32_t argb)
operator=
Definition: libstaroffice_internal.hxx:200
bool operator!=(STOFFBox2< T > const &p) const
comparison operator!=
Definition: libstaroffice_internal.hxx:1081
This class contains the code needed to create Text document.
Definition: STOFFTextListener.hxx:59
Definition: libstaroffice_internal.hxx:180
std::shared_ptr< STOFFParserState > STOFFParserStatePtr
a smart pointer of STOFFParserState
Definition: libstaroffice_internal.hxx:491
STOFFVec3< unsigned char > STOFFVec3uc
STOFFVec3 of unsigned char.
Definition: libstaroffice_internal.hxx:942
friend STOFFVec2< T > operator-(STOFFVec2< T > const &p1, STOFFVec2< T > const &p2)
operator-
Definition: libstaroffice_internal.hxx:673
uint32_t value() const
return the rgba value
Definition: libstaroffice_internal.hxx:247
a border line
Definition: libstaroffice_internal.hxx:326
std::string str() const
print the color in the form #rrggbb
Definition: libstaroffice_internal.cxx:226
std::string getCellName(STOFFVec2i const &cellPos, STOFFVec2b const &relative)
returns the cell name corresponding to a cell's position
Definition: libstaroffice_internal.cxx:455
STOFFVec3< int > STOFFVec3i
STOFFVec3 of int.
Definition: libstaroffice_internal.hxx:944
friend STOFFVec3< T > operator*(U scale, STOFFVec3< T > const &p1)
generic operator*
Definition: libstaroffice_internal.hxx:881
bool addTo(librevenge::RVNGPropertyList &propList) const
add the link property to proplist
Definition: libstaroffice_internal.cxx:309
the class to store a color
Definition: libstaroffice_internal.hxx:189
Definition: libstaroffice_internal.hxx:180
std::shared_ptr< STOFFSpreadsheetListener > STOFFSpreadsheetListenerPtr
a smart pointer of STOFFSpreadsheetListener
Definition: libstaroffice_internal.hxx:493
void appendUnicode(uint32_t val, librevenge::RVNGString &buffer)
adds an unicode character to a string
Definition: libstaroffice_internal.cxx:81
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: STOFFPosition.hxx:47
Definition: libstaroffice_internal.hxx:185
a note
Definition: libstaroffice_internal.hxx:389
bool operator()(STOFFBox2< T > const &s1, STOFFBox2< T > const &s2) const
comparaison function
Definition: libstaroffice_internal.hxx:1113
STOFFVec2< T > center() const
the box center
Definition: libstaroffice_internal.hxx:1000
T m_data
the value
Definition: libstaroffice_internal.hxx:575
bool operator<(STOFFColor const &c) const
operator<
Definition: libstaroffice_internal.hxx:297
STOFFVec3(STOFFVec3< U > const &p)
generic copy constructor
Definition: libstaroffice_internal.hxx:783
Definition: libstaroffice_internal.hxx:151
void setSet(bool newVal)
define if the variable is set
Definition: libstaroffice_internal.hxx:569
T & operator*()
operator*
Definition: libstaroffice_internal.hxx:553
bool addAsFillImageTo(librevenge::RVNGPropertyList &propList) const
add the link property to a graph style as bitmap
Definition: libstaroffice_internal.cxx:297
small class use to define a embedded object
Definition: libstaroffice_internal.hxx:408
STOFFVec2< T > & operator+=(STOFFVec2< T > const &p)
operator+=
Definition: libstaroffice_internal.hxx:642
T z() const
third element
Definition: libstaroffice_internal.hxx:799
std::vector< std::string > m_typeList
the picture type: one type by representation
Definition: libstaroffice_internal.hxx:454
STOFFBox2(STOFFBox2< U > const &p)
generic constructor
Definition: libstaroffice_internal.hxx:961
internal struct used to create sorted map, sorted by X, Y, Z
Definition: libstaroffice_internal.hxx:922
Definition: libstaroffice_internal.hxx:185
Definition: libstaroffice_internal.hxx:391
bool isWhite() const
return true if the color is white
Definition: libstaroffice_internal.hxx:282
STOFFBox2< T > getUnion(STOFFBox2< T > const &box) const
returns the union between this and box
Definition: libstaroffice_internal.hxx:1056
friend std::ostream & operator<<(std::ostream &o, STOFFBorderLine const &border)
operator<<
Definition: libstaroffice_internal.cxx:282
T operator[](int c) const
operator[]
Definition: libstaroffice_internal.hxx:603
void scale(U factor)
scales all points of the box by factor
Definition: libstaroffice_internal.hxx:1042
int m_distance
the border distance
Definition: libstaroffice_internal.hxx:359
small class which defines a vector with 3 elements
Definition: libstaroffice_internal.hxx:772
librevenge::RVNGString m_filenameLink
a picture link
Definition: libstaroffice_internal.hxx:456
a generic variable template: value + flag to know if the variable is set
Definition: libstaroffice_internal.hxx:505
std::shared_ptr< STOFFSubDocument > STOFFSubDocumentPtr
a smart pointer of STOFFSubDocument
Definition: libstaroffice_internal.hxx:495
int cmp(STOFFVec3< T > const &p) const
a comparison function: which first compares x values, then y values then z values.
Definition: libstaroffice_internal.hxx:903
Definition: libstaroffice_internal.hxx:185
T y() const
second element
Definition: libstaroffice_internal.hxx:598
a manager which manages the lists, keeps the different kind of lists, to assure the unicity of each l...
Definition: STOFFList.hxx:205
STOFFVec2< T > size() const
the box size
Definition: libstaroffice_internal.hxx:995
Definition: libstaroffice_internal.hxx:185
void operator()(T *)
Definition: libstaroffice_internal.hxx:101
T & operator[](int c)
operator[]
Definition: libstaroffice_internal.hxx:810
unsigned char getRed() const
returns the red value
Definition: libstaroffice_internal.hxx:267
std::shared_ptr< STOFFInputStream > STOFFInputStreamPtr
a smart pointer of STOFFInputStream
Definition: libstaroffice_internal.hxx:485
librevenge::RVNGPropertyList m_propertyList
the property list
Definition: libstaroffice_internal.hxx:371
T m_y
second element
Definition: libstaroffice_internal.hxx:757
STOFFBox2< long > STOFFBox2l
STOFFBox2 of long.
Definition: libstaroffice_internal.hxx:1133
Definition: libstaroffice_internal.hxx:182
bool operator!=(STOFFVec2< T > const &p) const
comparison!=
Definition: libstaroffice_internal.hxx:692
SubDocumentType
Definition: libstaroffice_internal.hxx:185
std::vector< librevenge::RVNGBinaryData > m_dataList
the picture content: one data by representation
Definition: libstaroffice_internal.hxx:452
uint32_t m_value
the argb color
Definition: libstaroffice_internal.hxx:322
bool operator<(STOFFBox2< T > const &p) const
comparison operator< : fist sorts min by Y,X values then max extremity
Definition: libstaroffice_internal.hxx:1086
STOFFEmbeddedObject(librevenge::RVNGBinaryData const &binaryData, std::string const &type="image/pict")
constructor
Definition: libstaroffice_internal.hxx:414
void extend(T val)
extends the bdbox by (val, val) keeping the center
Definition: libstaroffice_internal.hxx:1049
std::ostream & operator<<(std::ostream &o, STOFFColor const &c)
Definition: libstaroffice_internal.cxx:214
int cmp(STOFFEmbeddedObject const &pict) const
a comparison function
Definition: libstaroffice_internal.cxx:347
STOFFVec3< bool > STOFFVec3b
STOFFVec3 of bool.
Definition: libstaroffice_internal.hxx:940
STOFFVec2< T > m_pt[2]
the two extremities
Definition: libstaroffice_internal.hxx:1125
bool operator==(STOFFVec2< T > const &p) const
comparison==
Definition: libstaroffice_internal.hxx:687
STOFFColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a=255)
constructor from color
Definition: libstaroffice_internal.hxx:195
Definition: libstaroffice_internal.hxx:147
This class contents the main functions needed to create a spreadsheet processing Document.
Definition: STOFFSpreadsheetListener.hxx:64
Definition: libstaroffice_internal.hxx:185
STOFFBorderLine()
constructor
Definition: libstaroffice_internal.hxx:328
STOFFVariable & operator=(T const &val)
set a value
Definition: libstaroffice_internal.hxx:522
int cmp(STOFFVec2< T > const &p) const
a comparison function: which first compares x then y
Definition: libstaroffice_internal.hxx:702
void setX(T xx)
resets the first element
Definition: libstaroffice_internal.hxx:824
Definition: libstaroffice_internal.hxx:180
void set(T xx, T yy)
resets the two elements
Definition: libstaroffice_internal.hxx:616
bool operator!=(STOFFColor const &c) const
operator!=
Definition: libstaroffice_internal.hxx:292
std::map< STOFFVec2< bool >, bool, struct PosSizeLtX > MapX
map of STOFFVec2
Definition: libstaroffice_internal.hxx:740
void add(T dx, T dy)
increases the actuals values by dx and dy
Definition: libstaroffice_internal.hxx:633
Definition: libstaroffice_internal.hxx:182
const T & operator*() const
operator*
Definition: libstaroffice_internal.hxx:548
int cmpY(STOFFVec2< T > const &p) const
a comparison function: which first compares y then x
Definition: libstaroffice_internal.hxx:711
int m_inWidth
the inline width in TWIP
Definition: libstaroffice_internal.hxx:355
Definition: libstaroffice_internal.hxx:143
Definition: libstaroffice_internal.hxx:180
STOFFColor(uint32_t argb=0)
constructor
Definition: libstaroffice_internal.hxx:191
bool addTo(librevenge::RVNGPropertyList &propList, std::string which="") const
add the border property to proplist (if needed )
Definition: libstaroffice_internal.cxx:256
Definition: libstaroffice_internal.hxx:185
void setAlpha(unsigned char alpha)
reset the alpha value
Definition: libstaroffice_internal.hxx:257
Definition: libstaroffice_internal.hxx:178
std::shared_ptr< STOFFGraphicListener > STOFFGraphicListenerPtr
a smart pointer of STOFFGraphicListener
Definition: libstaroffice_internal.hxx:481
Definition: libstaroffice_internal.hxx:182
Definition: libstaroffice_internal.hxx:182
Class to store font.
Definition: STOFFFont.hxx:43
bool operator>(STOFFColor const &c) const
operator>
Definition: libstaroffice_internal.hxx:307
STOFFVariable & operator=(STOFFVariable const &orig)
copy operator
Definition: libstaroffice_internal.hxx:513
~STOFFEmbeddedObject()
destructor
Definition: libstaroffice_internal.cxx:293
bool operator==(STOFFVec3< T > const &p) const
comparison==
Definition: libstaroffice_internal.hxx:888
STOFFNote(Type type)
constructor
Definition: libstaroffice_internal.hxx:393
virtual class which defines the ancestor of all main zone parser
Definition: STOFFParser.hxx:89
void set(STOFFVec2< T > const &x, STOFFVec2< T > const &y)
resets the data to minimum x and maximum y
Definition: libstaroffice_internal.hxx:1007
STOFFVec2< float > STOFFVec2f
STOFFVec2 of float.
Definition: libstaroffice_internal.hxx:767
Class to store a graphic style.
Definition: STOFFGraphicStyle.hxx:44
float getScaleFactor(librevenge::RVNGUnit orig, librevenge::RVNGUnit dest)
factor to convert from one unit to other
Definition: libstaroffice_internal.cxx:499
void insert(STOFFVariable const &orig)
update the current value if orig is set
Definition: libstaroffice_internal.hxx:529
STOFFField()
basic constructor
Definition: libstaroffice_internal.hxx:365
STOFFColor m_color
the border color
Definition: libstaroffice_internal.hxx:357
STOFFVariable(T const &def)
constructor with a default value
Definition: libstaroffice_internal.hxx:509
internal struct used to create sorted map, sorted first min then max
Definition: libstaroffice_internal.hxx:1111
void resizeFromCenter(STOFFVec2< T > const &sz)
resize the box keeping the center
Definition: libstaroffice_internal.hxx:1034
STOFFVec2< T > & operator*=(U scale)
generic operator*=
Definition: libstaroffice_internal.hxx:659
friend STOFFVec2< T > operator+(STOFFVec2< T > const &p1, STOFFVec2< T > const &p2)
operator+
Definition: libstaroffice_internal.hxx:667
T operator[](int c) const
operator[]
Definition: libstaroffice_internal.hxx:804
bool isSet() const
return true if the variable is set
Definition: libstaroffice_internal.hxx:564
friend std::ostream & operator<<(std::ostream &o, STOFFBox2< T > const &f)
print data in form X0xY0<->X1xY1
Definition: libstaroffice_internal.hxx:1102
STOFFLink()
basic constructor
Definition: libstaroffice_internal.hxx:377
STOFFVec2< T > & max()
the maximum 2D point (in x and in y)
Definition: libstaroffice_internal.hxx:982
Definition: libstaroffice_internal.hxx:182
void setY(T yy)
resets the second element
Definition: libstaroffice_internal.hxx:829
const STOFFVec2< T > & max() const
the maximum 2D point (in x and in y)
Definition: libstaroffice_internal.hxx:972
friend STOFFVec2< T > operator*(U scale, STOFFVec2< T > const &p1)
generic operator*
Definition: libstaroffice_internal.hxx:680
librevenge::RVNGString m_label
the note label
Definition: libstaroffice_internal.hxx:399
void add(T dx, T dy, T dz)
increases the actuals values by dx, dy, dz
Definition: libstaroffice_internal.hxx:840
bool operator!=(STOFFBorderLine const &orig) const
operator!=
Definition: libstaroffice_internal.hxx:344
Definition: libstaroffice_internal.hxx:178
bool operator==(STOFFColor const &c) const
operator==
Definition: libstaroffice_internal.hxx:287
unsigned char getGreen() const
returns the green value
Definition: libstaroffice_internal.hxx:272
Definition: libstaroffice_internal.hxx:391
const STOFFVec2< T > & operator[](int c) const
the two extremum points which defined the box
Definition: libstaroffice_internal.hxx:989
void setMin(STOFFVec2< T > const &x)
resets the minimum point
Definition: libstaroffice_internal.hxx:1013
bool operator<=(STOFFColor const &c) const
operator<=
Definition: libstaroffice_internal.hxx:302
a class which stores section properties
Definition: STOFFSection.hxx:45
void setX(T xx)
resets the first element
Definition: libstaroffice_internal.hxx:622
std::map< STOFFBox2< int >, int, struct PosSizeLt > Map
map of STOFFBox2
Definition: libstaroffice_internal.hxx:1121
friend std::ostream & operator<<(std::ostream &o, STOFFVec3< T > const &f)
operator<<: prints data in form "XxYxZ"
Definition: libstaroffice_internal.hxx:913
bool convertToDateTime(uint32_t date, uint32_t time, std::string &dateTime)
convert a date/time in a date time format
Definition: libstaroffice_internal.cxx:389
static STOFFColor colorFromCMYK(unsigned char c, unsigned char m, unsigned char y, unsigned char k)
return a color from a cmyk color ( basic)
Definition: libstaroffice_internal.hxx:206
STOFFBox2< T > getIntersection(STOFFBox2< T > const &box) const
returns the intersection between this and box
Definition: libstaroffice_internal.hxx:1066
void setY(T yy)
resets the second element
Definition: libstaroffice_internal.hxx:627
STOFFVec3< float > STOFFVec3f
STOFFVec3 of float.
Definition: libstaroffice_internal.hxx:946
std::string m_HRef
the href field
Definition: libstaroffice_internal.hxx:385
Definition: libstaroffice_internal.hxx:178
STOFFVec3< T > & operator+=(STOFFVec3< T > const &p)
operator+=
Definition: libstaroffice_internal.hxx:848
std::shared_ptr< STOFFListManager > STOFFListManagerPtr
a smart pointer of STOFFListManager
Definition: libstaroffice_internal.hxx:489
#define LIBSTOFF_ATTRIBUTE_PRINTF(fmt, arg)
Definition: libstaroffice_internal.hxx:116
Type m_type
the note type
Definition: libstaroffice_internal.hxx:397
std::string numberingTypeToString(NumberingType type)
Definition: libstaroffice_internal.cxx:124
a small structure used to store the informations about a list
Definition: STOFFList.hxx:105
unsigned char getBlue() const
returns the green value
Definition: libstaroffice_internal.hxx:262
std::string numberingValueToString(NumberingType type, int value)
Definition: libstaroffice_internal.cxx:146
unsigned char getAlpha() const
returns the alpha value
Definition: libstaroffice_internal.hxx:252
friend STOFFVec3< T > operator-(STOFFVec3< T > const &p1, STOFFVec3< T > const &p2)
operator-
Definition: libstaroffice_internal.hxx:874
T x() const
first element
Definition: libstaroffice_internal.hxx:789
uint8_t readU8(librevenge::RVNGInputStream *input)
Definition: libstaroffice_internal.cxx:52
bool operator<(STOFFVec3< T > const &p) const
comparison<: which first compares x values, then y values then z values.
Definition: libstaroffice_internal.hxx:898
T y() const
second element
Definition: libstaroffice_internal.hxx:794
Definition: libstaroffice_internal.hxx:180
int m_number
the note number if defined
Definition: libstaroffice_internal.hxx:401
bool addTo(librevenge::RVNGPropertyList &propList) const
add the link property to proplist (if needed )
Definition: libstaroffice_internal.cxx:247
STOFFVec2< bool > STOFFVec2b
STOFFVec2 of bool.
Definition: libstaroffice_internal.hxx:761
STOFFVariable()
constructor
Definition: libstaroffice_internal.hxx:507
STOFFVec2(T xx=0, T yy=0)
constructor
Definition: libstaroffice_internal.hxx:588
void splitString(librevenge::RVNGString const &string, librevenge::RVNGString const &delim, librevenge::RVNGString &string1, librevenge::RVNGString &string2)
split a string in two. If the delimiter is not present, string1=string
Definition: libstaroffice_internal.cxx:414
#define M_PI
Definition: libstaroffice_internal.hxx:52
internal struct used to create sorted map, sorted by X
Definition: libstaroffice_internal.hxx:730
void addTo(librevenge::RVNGPropertyList &propList) const
add the link property to proplist (if possible)
Definition: libstaroffice_internal.cxx:234
friend STOFFVec3< T > operator+(STOFFVec3< T > const &p1, STOFFVec3< T > const &p2)
operator+
Definition: libstaroffice_internal.hxx:868
Definition: libstaroffice_internal.hxx:180
void set(T xx, T yy, T zz)
resets the three elements
Definition: libstaroffice_internal.hxx:817
bool checkAddOverflow(T x, T y)
checks whether addition of x and y would overflow
Definition: libstaroffice_internal.hxx:167
Definition: libstaroffice_internal.hxx:182
This class contains a virtual interface to all listener.
Definition: STOFFListener.hxx:50
Type
enum to define note type
Definition: libstaroffice_internal.hxx:391
const T & get() const
return the current value
Definition: libstaroffice_internal.hxx:559
T m_x
first element
Definition: libstaroffice_internal.hxx:757
Definition: libstaroffice_internal.hxx:182
STOFFVec2< int > STOFFVec2i
STOFFVec2 of int.
Definition: libstaroffice_internal.hxx:763
bool operator<(STOFFVec2< T > const &p) const
comparison<: sort by y
Definition: libstaroffice_internal.hxx:697
STOFFVec2(STOFFVec2< U > const &p)
generic copy constructor
Definition: libstaroffice_internal.hxx:590
bool isBlack() const
return true if the color is black
Definition: libstaroffice_internal.hxx:277
STOFFVec2f rotatePointAroundCenter(STOFFVec2f const &point, STOFFVec2f const ¢er, float angle)
rotate a point around center, angle is given in degree
Definition: libstaroffice_internal.cxx:471
namespace used to regroup all libwpd functions, enumerations which we have redefined for internal usa...
Definition: libstaroffice_internal.cxx:50
Position
basic position enum
Definition: libstaroffice_internal.hxx:178
std::shared_ptr< STOFFTextListener > STOFFTextListenerPtr
a smart pointer of STOFFTextListener
Definition: libstaroffice_internal.hxx:497
Definition: libstaroffice_internal.hxx:178
a link
Definition: libstaroffice_internal.hxx:375
bool isEmpty() const
returns true if the border is empty
Definition: libstaroffice_internal.hxx:334
NumberingType
Definition: libstaroffice_internal.hxx:182
static STOFFColor white()
return the white color
Definition: libstaroffice_internal.hxx:238
Definition: libstaroffice_internal.hxx:185
an noop deleter used to transform a libwpd pointer in a false std::shared_ptr
Definition: libstaroffice_internal.hxx:100
static STOFFColor colorFromHSL(unsigned char H, unsigned char S, unsigned char L)
return a color from a hsl color (basic)
Definition: libstaroffice_internal.hxx:216
STOFFEmbeddedObject()
empty constructor
Definition: libstaroffice_internal.hxx:410
std::map< STOFFVec3< bool >, bool, struct PosSizeLt > Map
map of STOFFVec3
Definition: libstaroffice_internal.hxx:932
STOFFVec2< long > STOFFVec2l
STOFFVec2 of long.
Definition: libstaroffice_internal.hxx:765
STOFFVec2< T > & operator-=(STOFFVec2< T > const &p)
operator-=
Definition: libstaroffice_internal.hxx:648
int m_outWidth
the outline width in TWIP
Definition: libstaroffice_internal.hxx:353
friend std::ostream & operator<<(std::ostream &o, STOFFColor const &c)
operator<< in the form #rrggbb
Definition: libstaroffice_internal.cxx:214
const STOFFVec2< T > & min() const
the minimum 2D point (in x and in y)
Definition: libstaroffice_internal.hxx:967
bool operator()(STOFFVec2< T > const &s1, STOFFVec2< T > const &s2) const
comparaison function
Definition: libstaroffice_internal.hxx:747
bool isEmpty() const
return true if the picture contains no data
Definition: libstaroffice_internal.hxx:422
Definition: libstaroffice_internal.hxx:178
void add(librevenge::RVNGBinaryData const &binaryData, std::string const &type="image/pict")
add a picture
Definition: libstaroffice_internal.hxx:433
Generated on Mon Jan 20 2020 23:02:16 for libstaroffice by
doxygen 1.8.16