#include <assert.h>
#include <algorithm>
#include <cmath>
#include <iostream>
#include <map>
#include <memory>
#include <string>
#include <vector>
#include <librevenge-stream/librevenge-stream.h>
#include <librevenge/librevenge.h>
#include <inttypes.h>
Go to the source code of this file.
Classes | |
struct | WPS_shared_ptr_noop_deleter< T > |
a noop deleter used to transform a librevenge pointer in a false std::shared_ptr More... | |
class | libwps::VersionException |
class | libwps::FileException |
class | libwps::ParseException |
class | libwps::PasswordException |
class | libwps::GenericException |
struct | WPSColumnDefinition |
struct | WPSColumnProperties |
struct | WPSColor |
the class to store a color More... | |
struct | WPSBorder |
a border list More... | |
struct | WPSField |
a field More... | |
class | Vec2< T > |
small class which defines a vector with 2 elements More... | |
struct | Vec2< T >::PosSizeLtX |
internal struct used to create sorted map, sorted by X More... | |
struct | Vec2< T >::PosSizeLtY |
internal struct used to create sorted map, sorted by Y More... | |
class | WPSBox2< T > |
small class which defines a 2D WPSBox More... | |
struct | WPSBox2< T >::PosSizeLt |
internal struct used to create sorted map, sorted first min then max More... | |
class | WPSVec3< T > |
small class which defines a vector with 3 elements More... | |
struct | WPSVec3< T >::PosSizeLt |
internal struct used to create sorted map, sorted by X, Y, Z More... | |
struct | WPSEmbeddedObject |
small class use to define a embedded object More... | |
class | WPSTransformation |
a transformation which stored the first row of a 3x3 perspective matrix More... | |
Namespaces | |
namespace | libwps |
Macros | |
#define | M_PI 3.14159265358979323846 |
#define | WPS_FALLTHROUGH ((void) 0) |
fall through attributes | |
#define | WPS_ATTRIBUTE_PRINTF(fmt, arg) |
#define | WPS_N_ELEMENTS(m) sizeof(m)/sizeof(m[0]) |
#define | WPS_DEBUG_MSG(M) |
#define | WPS_LE_GET_GUINT16(p) |
#define | WPS_LE_GET_GUINT32(p) |
#define | WPS_LE_PUT_GUINT16(p, v) |
#define | WPS_LE_PUT_GUINT32(p, v) |
#define | WPS_EXTRA_LARGE_BIT 1 |
#define | WPS_VERY_LARGE_BIT 2 |
#define | WPS_LARGE_BIT 4 |
#define | WPS_SMALL_PRINT_BIT 8 |
#define | WPS_FINE_PRINT_BIT 0x10 |
#define | WPS_SUPERSCRIPT_BIT 0x20 |
#define | WPS_SUBSCRIPT_BIT 0x40 |
#define | WPS_OUTLINE_BIT 0x80 |
#define | WPS_ITALICS_BIT 0x100 |
#define | WPS_SHADOW_BIT 0x200 |
#define | WPS_REDLINE_BIT 0x400 |
#define | WPS_DOUBLE_UNDERLINE_BIT 0x800 |
#define | WPS_BOLD_BIT 0x1000 |
#define | WPS_STRIKEOUT_BIT 0x2000 |
#define | WPS_UNDERLINE_BIT 0x4000 |
#define | WPS_SMALL_CAPS_BIT 0x8000 |
#define | WPS_BLINK_BIT 0x10000L |
#define | WPS_REVERSEVIDEO_BIT 0x20000L |
#define | WPS_ALL_CAPS_BIT 0x40000L |
#define | WPS_EMBOSS_BIT 0x80000L |
#define | WPS_ENGRAVE_BIT 0x100000L |
#define | WPS_OVERLINE_BIT 0x400000L |
#define | WPS_HIDDEN_BIT 0x800000L |
#define | WPS_PAGE_BREAK 0x00 |
#define | WPS_SOFT_PAGE_BREAK 0x01 |
#define | WPS_COLUMN_BREAK 0x02 |
#define | WPS_LEFT 0x00 |
#define | WPS_RIGHT 0x01 |
#define | WPS_CENTER 0x02 |
#define | WPS_TOP 0x03 |
#define | WPS_BOTTOM 0x04 |
Typedefs | |
typedef std::shared_ptr< librevenge::RVNGInputStream > | RVNGInputStreamPtr |
shared pointer to librevenge::RVNGInputStream | |
typedef std::shared_ptr< WPSCell > | WPSCellPtr |
shared pointer to WPSCell | |
typedef std::shared_ptr< WPSListener > | WPSListenerPtr |
shared pointer to WPSListener | |
typedef std::shared_ptr< WPSContentListener > | WPSContentListenerPtr |
shared pointer to WPSContentListener | |
typedef std::shared_ptr< WPSHeader > | WPSHeaderPtr |
shared pointer to WPSHeader | |
typedef std::shared_ptr< WPSSubDocument > | WPSSubDocumentPtr |
shared pointer to WPSSubDocument | |
typedef std::shared_ptr< WKSContentListener > | WKSContentListenerPtr |
shared pointer to WKSContentListener | |
typedef std::shared_ptr< WKSSubDocument > | WKSSubDocumentPtr |
shared pointer to WKSSubDocument | |
typedef Vec2< bool > | Vec2b |
Vec2 of bool. | |
typedef Vec2< int > | Vec2i |
Vec2 of int. | |
typedef Vec2< float > | Vec2f |
Vec2 of float. | |
typedef WPSBox2< int > | WPSBox2i |
WPSBox2 of int. | |
typedef WPSBox2< float > | WPSBox2f |
WPSBox2 of float. | |
typedef WPSVec3< unsigned char > | WPSVec3uc |
WPSVec3 of unsigned char. | |
typedef WPSVec3< int > | WPSVec3i |
WPSVec3 of int. | |
typedef WPSVec3< float > | WPSVec3f |
WPSVec3 of float. | |
Functions | |
uint8_t | libwps::readU8 (librevenge::RVNGInputStream *input) |
uint16_t | libwps::readU16 (librevenge::RVNGInputStream *input) |
uint32_t | libwps::readU32 (librevenge::RVNGInputStream *input) |
int8_t | libwps::read8 (librevenge::RVNGInputStream *input) |
int16_t | libwps::read16 (librevenge::RVNGInputStream *input) |
int32_t | libwps::read32 (librevenge::RVNGInputStream *input) |
uint8_t | libwps::readU8 (RVNGInputStreamPtr const &input) |
uint16_t | libwps::readU16 (RVNGInputStreamPtr const &input) |
uint32_t | libwps::readU32 (RVNGInputStreamPtr const &input) |
int8_t | libwps::read8 (RVNGInputStreamPtr const &input) |
int16_t | libwps::read16 (RVNGInputStreamPtr const &input) |
int32_t | libwps::read32 (RVNGInputStreamPtr const &input) |
bool | libwps::readDouble4 (RVNGInputStreamPtr &input, double &res, bool &isNaN) |
read a double store with 4 bytes: mantisse 2.5 bytes, exponent 1.5 bytes | |
bool | libwps::readDouble8 (RVNGInputStreamPtr &input, double &res, bool &isNaN) |
read a double store with 8 bytes: mantisse 6.5 bytes, exponent 1.5 bytes | |
bool | libwps::readDouble10 (RVNGInputStreamPtr &input, double &res, bool &isNaN) |
read a double store with 10 bytes: mantisse 8 bytes, exponent 2 bytes | |
bool | libwps::readDouble2Inv (RVNGInputStreamPtr &input, double &res, bool &isNaN) |
read a double store with 2 bytes: exponent 1.5 bytes, kind of mantisse 0.5 bytes | |
bool | libwps::readDouble4Inv (RVNGInputStreamPtr &input, double &res, bool &isNaN) |
read a double store with 4 bytes: exponent 3.5 bytes, mantisse 0.5 bytes | |
bool | libwps::readData (RVNGInputStreamPtr &input, unsigned long sz, librevenge::RVNGBinaryData &data) |
try to read sz bytes from input and store them in a librevenge::RVNGBinaryData | |
bool | libwps::readDataToEnd (RVNGInputStreamPtr &input, librevenge::RVNGBinaryData &data) |
try to read the last bytes from input and store them in a librevenge::RVNGBinaryData | |
void | libwps::appendUnicode (uint32_t val, librevenge::RVNGString &buffer) |
adds an unicode character to a string ( with correct encoding ). | |
std::string | libwps::numberingTypeToString (NumberingType type) |
std::string | libwps::getCellName (Vec2i const &cellPos, Vec2b const &relative=Vec2b(true, true)) |
returns the cell name corresponding to a cell's position | |
bool | libwps::encodeLotusPassword (char const *password, uint16_t &key, std::vector< uint8_t > &keys, uint8_t const (&defValues)[16]) |
returns the checksum and the keys (to encode a lotus file) given a password file | |
#define M_PI 3.14159265358979323846 |
#define WPS_ALL_CAPS_BIT 0x40000L |
#define WPS_ATTRIBUTE_PRINTF | ( | fmt, | |
arg | |||
) |
#define WPS_BLINK_BIT 0x10000L |
#define WPS_BOLD_BIT 0x1000 |
#define WPS_BOTTOM 0x04 |
#define WPS_CENTER 0x02 |
#define WPS_COLUMN_BREAK 0x02 |
#define WPS_DEBUG_MSG | ( | M | ) |
#define WPS_DOUBLE_UNDERLINE_BIT 0x800 |
#define WPS_EMBOSS_BIT 0x80000L |
#define WPS_ENGRAVE_BIT 0x100000L |
#define WPS_EXTRA_LARGE_BIT 1 |
#define WPS_FALLTHROUGH ((void) 0) |
fall through attributes
#define WPS_FINE_PRINT_BIT 0x10 |
#define WPS_HIDDEN_BIT 0x800000L |
#define WPS_ITALICS_BIT 0x100 |
#define WPS_LARGE_BIT 4 |
#define WPS_LE_GET_GUINT16 | ( | p | ) |
#define WPS_LE_GET_GUINT32 | ( | p | ) |
#define WPS_LE_PUT_GUINT16 | ( | p, | |
v | |||
) |
#define WPS_LE_PUT_GUINT32 | ( | p, | |
v | |||
) |
#define WPS_LEFT 0x00 |
#define WPS_N_ELEMENTS | ( | m | ) | sizeof(m)/sizeof(m[0]) |
#define WPS_OUTLINE_BIT 0x80 |
#define WPS_OVERLINE_BIT 0x400000L |
#define WPS_PAGE_BREAK 0x00 |
#define WPS_REDLINE_BIT 0x400 |
#define WPS_REVERSEVIDEO_BIT 0x20000L |
#define WPS_RIGHT 0x01 |
#define WPS_SHADOW_BIT 0x200 |
#define WPS_SMALL_CAPS_BIT 0x8000 |
#define WPS_SMALL_PRINT_BIT 8 |
#define WPS_SOFT_PAGE_BREAK 0x01 |
#define WPS_STRIKEOUT_BIT 0x2000 |
#define WPS_SUBSCRIPT_BIT 0x40 |
#define WPS_SUPERSCRIPT_BIT 0x20 |
#define WPS_TOP 0x03 |
#define WPS_UNDERLINE_BIT 0x4000 |
#define WPS_VERY_LARGE_BIT 2 |
typedef std::shared_ptr<librevenge::RVNGInputStream> RVNGInputStreamPtr |
shared pointer to librevenge::RVNGInputStream
typedef std::shared_ptr<WKSContentListener> WKSContentListenerPtr |
shared pointer to WKSContentListener
typedef std::shared_ptr<WKSSubDocument> WKSSubDocumentPtr |
shared pointer to WKSSubDocument
typedef std::shared_ptr<WPSCell> WPSCellPtr |
shared pointer to WPSCell
typedef std::shared_ptr<WPSContentListener> WPSContentListenerPtr |
shared pointer to WPSContentListener
typedef std::shared_ptr<WPSHeader> WPSHeaderPtr |
shared pointer to WPSHeader
typedef std::shared_ptr<WPSListener> WPSListenerPtr |
shared pointer to WPSListener
typedef std::shared_ptr<WPSSubDocument> WPSSubDocumentPtr |
shared pointer to WPSSubDocument