23 #ifndef LIBWPS_INTERNAL_H    24 #define LIBWPS_INTERNAL_H    38 #include <librevenge-stream/librevenge-stream.h>    39 #include <librevenge/librevenge.h>    42 #define M_PI 3.14159265358979323846    45 #if defined(_MSC_VER) || defined(__DJGPP__)    46 typedef signed char int8_t;
    47 typedef unsigned char uint8_t;
    48 typedef signed short int16_t;
    49 typedef unsigned short uint16_t;
    50 typedef signed int int32_t;
    51 typedef unsigned int uint32_t;
    53 #  include <inttypes.h>    64 #  define gmtime_r(tp,tmp) (gmtime(tp)?(*(tmp)=*gmtime(tp),(tmp)):0)    65 #  define localtime_r(tp,tmp) (localtime(tp)?(*(tmp)=*localtime(tp),(tmp)):0)    68 #if defined(SHAREDPTR_TR1)    70 using std::tr1::shared_ptr;
    71 #elif defined(SHAREDPTR_STD)    73 using std::shared_ptr;
    75 #include <boost/shared_ptr.hpp>    76 using boost::shared_ptr;
    87 #define WPS_FALLTHROUGH    88 #if defined(__clang__)    89 #  if defined(__has_cpp_attribute) && __has_cpp_attribute(clang::fallthrough)    90 #    undef WPS_FALLTHROUGH    91 #    define WPS_FALLTHROUGH [[clang::fallthrough]]    93 #elif defined(__GNUC__)    95 #    undef WPS_FALLTHROUGH    96 #    define WPS_FALLTHROUGH __attribute__ ((fallthrough))   133 #if defined(__clang__) || defined(__GNUC__)   134 #  define WPS_ATTRIBUTE_PRINTF(fmt, arg) __attribute__((__format__(__printf__, fmt, arg)))   136 #  define WPS_ATTRIBUTE_PRINTF(fmt, arg)   144 #define WPS_DEBUG_MSG(M) libwps::printDebugMsg M   146 #define WPS_DEBUG_MSG(M)   182 uint8_t 
readU8(librevenge::RVNGInputStream *input);
   183 uint16_t 
readU16(librevenge::RVNGInputStream *input);
   184 uint32_t 
readU32(librevenge::RVNGInputStream *input);
   186 int8_t 
read8(librevenge::RVNGInputStream *input);
   187 int16_t 
read16(librevenge::RVNGInputStream *input);
   188 int32_t 
read32(librevenge::RVNGInputStream *input);
   192         return readU8(input.get());
   205         return read8(input.get());
   209         return read16(input.get());
   213         return read32(input.get());
   232 void appendUnicode(uint32_t val, librevenge::RVNGString &buffer);
   235 #define WPS_LE_GET_GUINT16(p)                                                   \   236         (uint16_t)((((uint8_t const *)(p))[0] << 0)  |  \   237                   (((uint8_t const *)(p))[1] << 8))   238 #define WPS_LE_GET_GUINT32(p)                                                   \   239         (uint32_t)((((uint8_t const *)(p))[0] << 0) |   \   240                   (((uint8_t const *)(p))[1] << 8)  |   \   241                   (((uint8_t const *)(p))[2] << 16) |   \   242                   (((uint8_t const *)(p))[3] << 24))   244 #define WPS_LE_PUT_GUINT16(p, v)                                                \   245         *((uint8_t*)(p)) = uint8_t(v);                                          \   246         *(((uint8_t*)(p)) + 1) = uint8_t((v) >> 8)   248 #define WPS_LE_PUT_GUINT32(p, v)                                                \   249         *((uint8_t*)(p)) = uint8_t(v);                                          \   250         *(((uint8_t*)(p)) + 1) = uint8_t((v) >> 8);                     \   251         *(((uint8_t*)(p)) + 2) = uint8_t((v) >> 16);            \   252         *(((uint8_t*)(p)) + 3) = uint8_t((v) >> 24)   294         WPSColor(
unsigned char r, 
unsigned char g,  
unsigned char b, 
unsigned char a=255) :
   295                 m_value(uint32_t((a<<24)+(r<<16)+(g<<8)+b))
   326                 return (
unsigned char)((m_value>>24)&0xFF);
   331                 return (
unsigned char)(m_value&0xFF);
   336                 return (
unsigned char)((m_value>>16)&0xFF);
   341                 return (
unsigned char)((m_value>>8)&0xFF);
   346                 return (m_value&0xFFFFFF)==0;
   351                 return (m_value&0xFFFFFF)==0xFFFFFF;
   356                 return (c.
m_value&0xFFFFFF)==(m_value&0xFFFFFF);
   361                 return !operator==(c);
   366                 return (c.
m_value&0xFFFFFF)<(m_value&0xFFFFFF);
   371                 return (c.
m_value&0xFFFFFF)<=(m_value&0xFFFFFF);
   376                 return !operator<=(c);
   381                 return !operator<(c);
   386         std::string str() 
const;
   396         enum Style { None, Simple, Dot, LargeDot, Dash };
   398         enum Type { Single, Double, Triple };
   399         enum Pos { Left = 0, Right = 1, Top = 2, Bottom = 3 };
   400         enum { LeftBit = 0x01,  RightBit = 0x02, TopBit=0x4, BottomBit = 0x08 };
   403         WPSBorder() : m_style(Simple), m_type(Single), m_width(1), m_widthsList(), m_color(
WPSColor::black()), m_extra(
"") { }
   407         bool addTo(librevenge::RVNGPropertyList &propList, std::string which=
"") 
const;
   411                 return m_style==None || m_width <= 0;
   423                 return !operator==(orig);
   426         int compare(
WPSBorder const &orig) 
const;
   460                           std::string type=
"image/pict") : m_dataList(), m_typeList()
   462                 add(binaryData, type);
   471                 for (
size_t i=0; i<m_dataList.size(); ++i)
   473                         if (!m_dataList[i].empty())
   479         void add(librevenge::RVNGBinaryData 
const &binaryData, std::string type=
"image/pict")
   481                 size_t pos=m_dataList.size();
   482                 if (pos<m_typeList.size()) pos=m_typeList.size();
   483                 m_dataList.resize(pos+1);
   484                 m_dataList[pos]=binaryData;
   485                 m_typeList.resize(pos+1);
   486                 m_typeList[pos]=type;
   489         bool addTo(librevenge::RVNGPropertyList &propList) 
const;
   503         enum Type { None, Database, Date, Link, PageCount, PageNumber, PageNumberNext, Time, Title };
   510         bool addTo(librevenge::RVNGPropertyList &propList) 
const;
   512         librevenge::RVNGString getString() 
const;
   524 #define WPS_EXTRA_LARGE_BIT 1   525 #define WPS_VERY_LARGE_BIT 2   526 #define WPS_LARGE_BIT 4   527 #define WPS_SMALL_PRINT_BIT 8   528 #define WPS_FINE_PRINT_BIT 0x10   529 #define WPS_SUPERSCRIPT_BIT 0x20   530 #define WPS_SUBSCRIPT_BIT 0x40   531 #define WPS_OUTLINE_BIT 0x80   532 #define WPS_ITALICS_BIT 0x100   533 #define WPS_SHADOW_BIT 0x200   534 #define WPS_REDLINE_BIT 0x400   535 #define WPS_DOUBLE_UNDERLINE_BIT 0x800   536 #define WPS_BOLD_BIT 0x1000   537 #define WPS_STRIKEOUT_BIT 0x2000   538 #define WPS_UNDERLINE_BIT 0x4000   539 #define WPS_SMALL_CAPS_BIT 0x8000   540 #define WPS_BLINK_BIT 0x10000L   541 #define WPS_REVERSEVIDEO_BIT 0x20000L   542 #define WPS_ALL_CAPS_BIT 0x40000L   543 #define WPS_EMBOSS_BIT 0x80000L   544 #define WPS_ENGRAVE_BIT 0x100000L   545 #define WPS_OVERLINE_BIT 0x400000L   546 #define WPS_HIDDEN_BIT 0x800000L   549 #define WPS_PAGE_BREAK 0x00   550 #define WPS_SOFT_PAGE_BREAK 0x01   551 #define WPS_COLUMN_BREAK 0x02   554 #define WPS_LEFT 0x00   555 #define WPS_RIGHT 0x01   556 #define WPS_CENTER 0x02   558 #define WPS_BOTTOM 0x04   568         Vec2(T xx=0,T yy=0) : m_x(xx), m_y(yy) { }
   570         template <
class U> 
Vec2(
Vec2<U> const &p) : m_x(T(p.x())), m_y(T(p.y())) {}
   586                 return (c==0) ? m_x : m_y;
   592                 return (c==0) ? m_x : m_y;
   673         bool operator<(Vec2<T> 
const &p) 
const   680                 if (m_x<p.
m_x) 
return -1;
   681                 if (m_x>p.
m_x) 
return 1;
   682                 if (m_y<p.
m_y) 
return -1;
   683                 if (m_y>p.
m_y) 
return 1;
   689                 if (m_y<p.
m_y) 
return -1;
   690                 if (m_y>p.
m_y) 
return 1;
   691                 if (m_x<p.
m_x) 
return -1;
   692                 if (m_x>p.
m_x) 
return 1;
   697         friend std::ostream &operator<< (std::ostream &o, Vec2<T> 
const &f)
   699                 o << f.m_x << 
"x" << f.m_y;
   711                         return s1.
cmp(s2) < 0;
   723                         return s1.
cmpY(s2) < 0;
   752                 for (
int c=0; c < 2; c++) m_pt[c] = p[c];
   787                 return m_pt[1]-m_pt[0];
   792                 return 0.5*(m_pt[0]+m_pt[1]);
   815                 m_pt[1] = m_pt[0]+sz;
   820                 m_pt[0] = m_pt[1]-sz;
   825                 Vec2<T> ctr = 0.5*(m_pt[0]+m_pt[1]);
   826                 m_pt[0] = ctr - 0.5*sz;
   827                 m_pt[1] = ctr + (sz - 0.5*sz);
   831         template <
class U> 
void scale(U factor)
   840                 m_pt[0] -= 
Vec2<T>(val/2,val/2);
   841                 m_pt[1] += 
Vec2<T>(val-(val/2),val-(val/2));
   848                                     m_pt[0][1]<box.
m_pt[0][1]?m_pt[0][1] : box.
m_pt[0][1]);
   850                                     m_pt[1][1]>box.
m_pt[1][1]?m_pt[1][1] : box.
m_pt[1][1]);
   858                                     m_pt[0][1]>box.
m_pt[0][1]?m_pt[0][1] : box.
m_pt[0][1]);
   860                                     m_pt[1][1]<box.
m_pt[1][1]?m_pt[1][1] : box.
m_pt[1][1]);
   875         bool operator<(WPSBox2<T> 
const &p) 
const   883                 int diff  = m_pt[0].cmpY(p.
m_pt[0]);
   884                 if (diff) 
return diff;
   885                 diff  = m_pt[1].cmpY(p.
m_pt[1]);
   886                 if (diff) 
return diff;
   891         friend std::ostream &operator<< (std::ostream &o, WPSBox2<T> 
const &f)
   893                 o << 
"(" << f.m_pt[0] << 
"<->" << f.m_pt[1] << 
")";
   905                         return s1.
cmp(s2) < 0;
   911         typedef std::map<WPSBox2<T>, T,
struct PosSizeLt> 
Map;
   939                 for (
int c = 0; c < 3; c++) m_val[c] = T(p[c]);
   971         void set(T xx, T yy, T zz)
   994         void add(T dx, T dy, T dz)
  1004                 for (
int c = 0; c < 3; c++) m_val[c] = T(m_val[c]+p.
m_val[c]);
  1010                 for (
int c = 0; c < 3; c++) m_val[c] = T(m_val[c]-p.
m_val[c]);
  1017                 for (
int c = 0; c < 3; c++) m_val[c] = T(m_val[c]*scale);
  1052         bool operator<(WPSVec3<T> 
const &p) 
const  1059                 for (
int c = 0; c < 3; c++)
  1061                         if (m_val[c]<p.
m_val[c]) 
return -1;
  1062                         if (m_val[c]>p.
m_val[c]) 
return 1;
  1068         friend std::ostream &operator<< (std::ostream &o, WPSVec3<T> 
const &f)
  1070                 o << f.m_val[0] << 
"x" << f.m_val[1] << 
"x" << f.m_val[2];
  1082                         return s1.
cmp(s2) < 0;
  1088         typedef std::map<WPSVec3<T>, T,
struct PosSizeLt> 
Map;
  1114                 return m_isIdentity;
  1119                 m_isIdentity= m_data.first==
WPSVec3f(1,0,0) && m_data.second==
WPSVec3f(0,1,0);
  1127                 return c==0 ? m_data.first : m_data.second;
  1132                 if (m_isIdentity) 
return pt;
  1133                 return multiplyDirection(pt)+
Vec2f(m_data.first[2],m_data.second[2]);
  1138                 if (m_isIdentity) 
return dir;
  1140                 for (
int coord=0; coord<2; ++coord)
  1142                         WPSVec3f 
const &row=coord==0 ? m_data.first : m_data.second;
  1144                         for (
int i=0; i<2; ++i)
  1145                                 value+=row[i]*dir[i];
  1153                 if (m_isIdentity) 
return box;
  1161                 for (
int row=0; row<2; ++row)
  1163                         WPSVec3f &resRow=row==0 ? res.
m_data.first : res.
m_data.second;
  1164                         for (
int col=0; col<3; ++col)
  1167                                 for (
int i=0; i<3; ++i)
  1168                                         value+=(*
this)[row][i]*(i==2 ? (col==2 ? 1.f : 0.f) : mat[i][col]);
  1185                 return m_data==mat.
m_data;
  1190                 return m_data!=mat.
m_data;
  1195                 return m_data<mat.
m_data;
  1200                 return m_data<=mat.
m_data;
  1205                 return m_data>mat.
m_data;
  1210                 return m_data>=mat.
m_data;
  1252 bool encodeLotusPassword(
char const *password, uint16_t &key, std::vector<uint8_t> &keys, uint8_t 
const(&defValues)[16]);
 bool operator!=(Vec2< T > const &p) const
comparison!= 
Definition: libwps_internal.h:668
std::string m_data
the database/link field ( if defined ) 
Definition: libwps_internal.h:520
int cmpY(Vec2< T > const &p) const
a comparison function: which first compares y then x 
Definition: libwps_internal.h:687
bool isEmpty() const
return true if the picture contains no data 
Definition: libwps_internal.h:469
Definition: libwps_internal.h:258
void resizeFromCenter(Vec2< T > const &sz)
resize the box keeping the center 
Definition: libwps_internal.h:823
void scale(U factor)
scales all points of the box by factor 
Definition: libwps_internal.h:831
shared_ptr< WPSContentListener > WPSContentListenerPtr
shared pointer to WPSContentListener 
Definition: libwps_internal.h:122
Vec2< float > Vec2f
Vec2 of float. 
Definition: libwps_internal.h:735
int16_t read16(RVNGInputStreamPtr &input)
Definition: libwps_internal.h:207
WPSColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a=255)
constructor from color 
Definition: libwps_internal.h:294
void setY(T yy)
resets the second element 
Definition: libwps_internal.h:607
a border list 
Definition: libwps_internal.h:393
T m_val[3]
the values 
Definition: libwps_internal.h:1092
Definition: libwps_internal.h:277
Definition: libwps_internal.h:173
T m_x
first element 
Definition: libwps_internal.h:727
libwps::NumberingType m_numberingType
the number type ( for number field ) 
Definition: libwps_internal.h:518
Definition: libwps_internal.cpp:38
WPSVec3< T > & operator*=(U scale)
generic operator*= 
Definition: libwps_internal.h:1015
Vec2< T > size() const
the box size 
Definition: libwps_internal.h:785
uint8_t readU8(RVNGInputStreamPtr &input)
Definition: libwps_internal.h:190
shared_ptr< WPSSubDocument > WPSSubDocumentPtr
shared pointer to WPSSubDocument 
Definition: libwps_internal.h:126
WPSBox2< T > getIntersection(WPSBox2< T > const &box) const
returns the intersection between this and box 
Definition: libwps_internal.h:854
int8_t read8(RVNGInputStreamPtr &input)
Definition: libwps_internal.h:203
bool operator()(Vec2< T > const &s1, Vec2< T > const &s2) const
comparaison function 
Definition: libwps_internal.h:721
unsigned char getGreen() const
returns the green value 
Definition: libwps_internal.h:339
friend Vec2< T > operator-(Vec2< T > const &p1, Vec2< T > const &p2)
operator- 
Definition: libwps_internal.h:649
WPSBox2(Vec2< T > minPt=Vec2< T >(), Vec2< T > maxPt=Vec2< T >())
constructor 
Definition: libwps_internal.h:744
int cmp(WPSBox2< T > const &p) const
comparison function : fist sorts min by Y,X values then max extremity 
Definition: libwps_internal.h:881
uint32_t value() const
return the rgba value 
Definition: libwps_internal.h:319
bool operator==(WPSBorder const &orig) const
operator== 
Definition: libwps_internal.h:415
WPSEmbeddedObject(librevenge::RVNGBinaryData const &binaryData, std::string type="image/pict")
constructor 
Definition: libwps_internal.h:459
T & operator[](int c)
operator[] 
Definition: libwps_internal.h:589
bool operator()(Vec2< T > const &s1, Vec2< T > const &s2) const
comparaison function 
Definition: libwps_internal.h:709
uint16_t readU16(RVNGInputStreamPtr &input)
Definition: libwps_internal.h:194
define the font properties 
Definition: WPSFont.h:36
std::vector< std::string > m_typeList
the picture type: one type by representation 
Definition: libwps_internal.h:496
WPSVec3< T > & operator+=(WPSVec3< T > const &p)
operator+= 
Definition: libwps_internal.h:1002
WPSBox2< int > WPSBox2i
WPSBox2 of int. 
Definition: libwps_internal.h:919
double m_leftGutter
Definition: libwps_internal.h:273
a field 
Definition: libwps_internal.h:500
#define WPS_ATTRIBUTE_PRINTF(fmt, arg)
Definition: libwps_internal.h:136
T x() const
first element 
Definition: libwps_internal.h:943
virtual class for content listener 
Definition: WPSListener.h:36
internal struct used to create sorted map, sorted by X 
Definition: libwps_internal.h:706
Type m_type
the type 
Definition: libwps_internal.h:514
static WPSColor black()
return the back color 
Definition: libwps_internal.h:305
int m_width
the border width 
Definition: libwps_internal.h:437
Vec2< T > const  & max() const
the maximum 2D point (in x and in y) 
Definition: libwps_internal.h:761
static WPSColor white()
return the white color 
Definition: libwps_internal.h:310
Definition: libwps_internal.h:260
WPSEmbeddedObject()
empty constructor 
Definition: libwps_internal.h:455
void setX(T xx)
resets the first element 
Definition: libwps_internal.h:978
Vec2< T > & operator+=(Vec2< T > const &p)
operator+= 
Definition: libwps_internal.h:620
Definition: libwps_internal.h:258
Definition: libwps_internal.h:258
Definition: libwps_internal.h:260
Definition: WPSContentListener.h:44
WPSColor & operator=(uint32_t argb)
operator= 
Definition: libwps_internal.h:299
bool readDouble4(RVNGInputStreamPtr &input, double &res, bool &isNaN)
read a double store with 4 bytes: mantisse 2.5 bytes, exponent 1.5 bytes 
Definition: libwps_internal.cpp:90
T operator[](int c) const
operator[] 
Definition: libwps_internal.h:958
bool isWhite() const
return true if the color is white 
Definition: libwps_internal.h:349
uint32_t m_attributes
Definition: libwps_internal.h:282
Definition: libwps_internal.h:260
WPSBox2< float > WPSBox2f
WPSBox2 of float. 
Definition: libwps_internal.h:921
void add(librevenge::RVNGBinaryData const &binaryData, std::string type="image/pict")
add a picture 
Definition: libwps_internal.h:479
Type
Defines some basic type for field. 
Definition: libwps_internal.h:503
a structure used to defined the cell position, and a format 
Definition: WPSCell.h:277
internal struct used to create sorted map, sorted first min then max 
Definition: libwps_internal.h:900
double m_width
Definition: libwps_internal.h:272
Justification
Definition: libwps_internal.h:261
T operator[](int c) const
operator[] 
Definition: libwps_internal.h:583
bool operator!=(WPSBox2< T > const &p) const
comparison operator!= 
Definition: libwps_internal.h:870
double m_rightGutter
Definition: libwps_internal.h:274
internal struct used to create sorted map, sorted by X, Y, Z 
Definition: libwps_internal.h:1077
std::map< WPSBox2< int >, int, struct PosSizeLt > Map
map of WPSBox2 
Definition: libwps_internal.h:911
virtual class to define a sub document 
Definition: WPSSubDocument.h:33
bool operator!=(WPSBorder const &orig) const
operator!= 
Definition: libwps_internal.h:421
WPSField(Type type)
basic constructor 
Definition: libwps_internal.h:506
Definition: libwps_internal.h:258
bool readDouble10(RVNGInputStreamPtr &input, double &res, bool &isNaN)
read a double store with 10 bytes: mantisse 8 bytes, exponent 2 bytes 
Definition: libwps_internal.cpp:224
bool isEmpty() const
returns true if the border is empty 
Definition: libwps_internal.h:409
T y() const
second element 
Definition: libwps_internal.h:578
bool operator==(WPSColor const &c) const
operator== 
Definition: libwps_internal.h:354
shared_ptr< WPSHeader > WPSHeaderPtr
shared pointer to WPSHeader 
Definition: libwps_internal.h:124
Definition: libwps_internal.h:260
void setMax(Vec2< T > const &y)
resets the maximum point 
Definition: libwps_internal.h:807
Vec2(T xx=0, T yy=0)
constructor 
Definition: libwps_internal.h:568
Definition: libwps_internal.h:264
uint32_t readU32(RVNGInputStreamPtr &input)
Definition: libwps_internal.h:198
shared_ptr< WPSListener > WPSListenerPtr
shared pointer to WPSListener 
Definition: libwps_internal.h:120
void setX(T xx)
resets the first element 
Definition: libwps_internal.h:602
WPSBorder()
constructor 
Definition: libwps_internal.h:403
bool operator<(WPSColor const &c) const
operator< 
Definition: libwps_internal.h:364
Definition: libwps_internal.h:264
bool isBlack() const
return true if the color is black 
Definition: libwps_internal.h:344
SubDocumentType
Definition: libwps_internal.h:260
Definition: libwps_internal.h:258
unsigned char getAlpha() const
returns the alpha value 
Definition: libwps_internal.h:324
Definition: libwps_internal.h:261
Definition: libwps_internal.h:260
Definition: libwps_internal.h:163
Vec2< T > center() const
the box center 
Definition: libwps_internal.h:790
WPSBox2(WPSBox2< U > const &p)
generic constructor 
Definition: libwps_internal.h:750
bool operator==(Vec2< T > const &p) const
comparison== 
Definition: libwps_internal.h:663
std::vector< double > m_widthsList
the different length used for each line/sep (if defined) 
Definition: libwps_internal.h:441
Basic class used to store a spreadsheet sub document. 
Definition: WKSSubDocument.h:35
void setZ(T zz)
resets the third element 
Definition: libwps_internal.h:988
Definition: libwps_internal.h:262
void appendUnicode(uint32_t val, librevenge::RVNGString &buffer)
adds an unicode character to a string ( with correct encoding ). 
Definition: libwps_internal.cpp:719
Vec2< T > & min()
the minimum 2D point (in x and in y) 
Definition: libwps_internal.h:766
shared_ptr< WKSContentListener > WKSContentListenerPtr
shared pointer to WKSContentListener 
Definition: libwps_internal.h:129
small class which defines a 2D WPSBox 
Definition: libwps_internal.h:740
Definition: libwps_internal.h:260
void add(T dx, T dy, T dz)
increases the actuals values by dx, dy, dz 
Definition: libwps_internal.h:994
Definition: libwps_internal.h:153
friend WPSVec3< T > operator*(U scale, WPSVec3< T > const &p1)
generic operator* 
Definition: libwps_internal.h:1035
uint32_t m_value
the argb color 
Definition: libwps_internal.h:389
internal struct used to create sorted map, sorted by Y 
Definition: libwps_internal.h:718
WPSVec3< T > & operator-=(WPSVec3< T > const &p)
operator-= 
Definition: libwps_internal.h:1008
int cmp(Vec2< T > const &p) const
a comparison function: which first compares x then y 
Definition: libwps_internal.h:678
void operator()(T *)
Definition: libwps_internal.h:83
bool operator!=(WPSVec3< T > const &p) const
comparison!= 
Definition: libwps_internal.h:1047
WPSVec3< unsigned char > WPSVec3uc
WPSVec3 of unsigned char. 
Definition: libwps_internal.h:1096
Type
the line repetition 
Definition: libwps_internal.h:398
void extend(T val)
extends the bdbox by (val, val) keeping the center 
Definition: libwps_internal.h:838
Definition: libwps_internal.h:168
void add(T dx, T dy)
increases the actuals values by dx and dy 
Definition: libwps_internal.h:613
std::vector< librevenge::RVNGBinaryData > m_dataList
the picture content: one data by representation 
Definition: libwps_internal.h:494
uint8_t m_alignment
Definition: libwps_internal.h:283
Definition: libwps_internal.h:267
bool operator>(WPSColor const &c) const
operator> 
Definition: libwps_internal.h:374
WPSColumnProperties()
Definition: libwps_internal.h:279
Vec2< T > & operator-=(Vec2< T > const &p)
operator-= 
Definition: libwps_internal.h:627
void setMin(Vec2< T > const &x)
resets the minimum point 
Definition: libwps_internal.h:802
WPSColor m_color
the border color 
Definition: libwps_internal.h:443
Vec2< T > & operator*=(U scale)
generic operator*= 
Definition: libwps_internal.h:635
bool operator!=(WPSColor const &c) const
operator!= 
Definition: libwps_internal.h:359
NumberingType
Definition: libwps_internal.h:258
int32_t read32(RVNGInputStreamPtr &input)
Definition: libwps_internal.h:211
T y() const
second element 
Definition: libwps_internal.h:948
unsigned char getBlue() const
returns the green value 
Definition: libwps_internal.h:329
void resizeFromMin(Vec2< T > const &sz)
resize the box keeping the minimum 
Definition: libwps_internal.h:813
shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr
shared pointer to librevenge::RVNGInputStream 
Definition: libwps_internal.h:102
bool operator<=(WPSColor const &c) const
operator<= 
Definition: libwps_internal.h:369
bool readDouble4Inv(RVNGInputStreamPtr &input, double &res, bool &isNaN)
read a double store with 4 bytes: exponent 3.5 bytes, mantisse 0.5 bytes 
Definition: libwps_internal.cpp:303
Vec2< int > Vec2i
Vec2 of int. 
Definition: libwps_internal.h:733
the class to store a color 
Definition: libwps_internal.h:287
virtual ~WPSEmbeddedObject()
destructor 
Definition: libwps_internal.h:465
bool operator==(WPSVec3< T > const &p) const
comparison== 
Definition: libwps_internal.h:1042
Pos
Definition: libwps_internal.h:399
T z() const
third element 
Definition: libwps_internal.h:953
Definition: libwps_internal.h:262
Vec2(Vec2< U > const &p)
generic copy constructor 
Definition: libwps_internal.h:570
bool readData(RVNGInputStreamPtr &input, unsigned long size, librevenge::RVNGBinaryData &data)
try to read sz bytes from input and store them in a librevenge::RVNGBinaryData 
Definition: libwps_internal.cpp:332
bool readDataToEnd(RVNGInputStreamPtr &input, librevenge::RVNGBinaryData &data)
try to read the last bytes from input and store them in a librevenge::RVNGBinaryData ...
Definition: libwps_internal.cpp:346
WPSVec3< int > WPSVec3i
WPSVec3 of int. 
Definition: libwps_internal.h:1098
std::string numberingTypeToString(NumberingType type)
Definition: libwps_internal.cpp:357
bool operator()(WPSVec3< T > const &s1, WPSVec3< T > const &s2) const
comparaison function 
Definition: libwps_internal.h:1080
WPSVec3(T xx=0, T yy=0, T zz=0)
constructor 
Definition: libwps_internal.h:930
Style
the line style 
Definition: libwps_internal.h:396
WPSBox2< T > getUnion(WPSBox2< T > const &box) const
returns the union between this and box 
Definition: libwps_internal.h:844
small class use to define a embedded object 
Definition: libwps_internal.h:452
unsigned char getRed() const
returns the red value 
Definition: libwps_internal.h:334
std::map< WPSVec3< int >, int, struct PosSizeLt > Map
map of WPSVec3 
Definition: libwps_internal.h:1088
bool encodeLotusPassword(char const *password, uint16_t &key, std::vector< uint8_t > &keys, uint8_t const(&defValues)[16])
try to encode a lotus file 
Definition: libwps_internal.cpp:837
void setY(T yy)
resets the second element 
Definition: libwps_internal.h:983
Definition: libwps_internal.h:158
WPSVec3(WPSVec3< U > const &p)
generic copy constructor 
Definition: libwps_internal.h:937
friend WPSVec3< T > operator+(WPSVec3< T > const &p1, WPSVec3< T > const &p2)
operator+ 
Definition: libwps_internal.h:1022
WPSColumnDefinition()
Definition: libwps_internal.h:269
Style m_style
the border style 
Definition: libwps_internal.h:433
Definition: libwps_internal.h:261
int cmp(WPSVec3< T > const &p) const
a comparison function: which first compares x values, then y values then z values. 
Definition: libwps_internal.h:1057
Definition: libwps_internal.h:258
shared_ptr< WKSSubDocument > WKSSubDocumentPtr
shared pointer to WKSSubDocument 
Definition: libwps_internal.h:131
bool readDouble8(RVNGInputStreamPtr &input, double &res, bool &isNaN)
read a double store with 8 bytes: mantisse 6.5 bytes, exponent 1.5 bytes 
Definition: libwps_internal.cpp:173
Definition: libwps_internal.h:261
bool operator==(WPSBox2< T > const &p) const
comparison operator== 
Definition: libwps_internal.h:865
void resizeFromMax(Vec2< T > const &sz)
resize the box keeping the maximum 
Definition: libwps_internal.h:818
basic class to store an entry in a file This contained : 
Definition: WPSEntry.h:38
small class which defines a vector with 2 elements 
Definition: libwps_internal.h:564
Definition: libwps_internal.h:258
friend Vec2< T > operator*(U scale, Vec2< T > const &p1)
generic operator* 
Definition: libwps_internal.h:656
Class to define the position of an object (textbox, picture, ..) in the document. ...
Definition: WPSPosition.h:39
bool operator>=(WPSColor const &c) const
operator>= 
Definition: libwps_internal.h:379
std::string m_extra
extra data ( if needed) 
Definition: libwps_internal.h:445
shared_ptr< WPSCell > WPSCellPtr
shared pointer to WPSCell 
Definition: libwps_internal.h:115
bool readDouble2Inv(RVNGInputStreamPtr &input, double &res, bool &isNaN)
read a double store with 2 bytes: exponent 1.5 bytes, kind of mantisse 0.5 bytes 
Definition: libwps_internal.cpp:273
small structure use to store a stream and it debug file 
Definition: WPSStream.h:29
std::ostream & operator<<(std::ostream &o, WPSColor const &c)
Definition: libwps_internal.cpp:401
WPSColor(uint32_t argb=0)
constructor 
Definition: libwps_internal.h:290
WPSVec3< float > WPSVec3f
WPSVec3 of float. 
Definition: libwps_internal.h:1100
bool operator()(WPSBox2< T > const &s1, WPSBox2< T > const &s2) const
comparaison function 
Definition: libwps_internal.h:903
T m_y
second element 
Definition: libwps_internal.h:727
a noop deleter used to transform a librevenge pointer in a false shared_ptr 
Definition: libwps_internal.h:81
T & operator[](int c)
operator[] 
Definition: libwps_internal.h:964
Vec2< T > m_pt[2]
the two extremities 
Definition: libwps_internal.h:915
T x() const
first element 
Definition: libwps_internal.h:573
Type m_type
the border repetition 
Definition: libwps_internal.h:435
std::string m_DTFormat
the date/time format using strftime format if defined (see strftime) 
Definition: libwps_internal.h:516
Vec2< T > & max()
the maximum 2D point (in x and in y) 
Definition: libwps_internal.h:771
Definition: WKSContentListener.h:52
small class which defines a vector with 3 elements 
Definition: libwps_internal.h:926
Vec2< T > const  & operator[](int c) const
the two extremum points which defined the box 
Definition: libwps_internal.h:779
Vec2< T > const  & min() const
the minimum 2D point (in x and in y) 
Definition: libwps_internal.h:756
Vec2< bool > Vec2b
Vec2 of bool. 
Definition: libwps_internal.h:731
friend WPSVec3< T > operator-(WPSVec3< T > const &p1, WPSVec3< T > const &p2)
operator- 
Definition: libwps_internal.h:1028
friend Vec2< T > operator+(Vec2< T > const &p1, Vec2< T > const &p2)
operator+ 
Definition: libwps_internal.h:643