MWAWPictBitmap.hxx
Go to the documentation of this file.
/* -*- Mode: C++; c-default-style: "k&r"; indent-tabs-mode: nil; tab-width: 2; c-basic-offset: 2 -*- */
/* libmwaw
* Version: MPL 2.0 / LGPLv2+
*
* The contents of this file are subject to the Mozilla Public License Version
* 2.0 (the "License"); you may not use this file except in compliance with
* the License or as specified alternatively below. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* Major Contributor(s):
* Copyright (C) 2002 William Lachance (wrlach@gmail.com)
* Copyright (C) 2002,2004 Marc Maurer (uwog@uwog.net)
* Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch)
* Copyright (C) 2006, 2007 Andrew Ziem
* Copyright (C) 2011, 2012 Alonso Laurent (alonso@loria.fr)
*
*
* All Rights Reserved.
*
* For minor contributions see the git repository.
*
* Alternatively, the contents of this file may be used under the terms of
* the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
* in which case the provisions of the LGPLv2+ are applicable
* instead of those above.
*/
/* This header contains code specific to some bitmap
*/
#ifndef MWAW_PICT_BITMAP
# define MWAW_PICT_BITMAP
#include <vector>
#include "libmwaw_internal.hxx"
#include "MWAWDebug.hxx"
#include "MWAWPict.hxx"
//
// Some container
//
template <class T> class MWAWPictBitmapContainer
{
public:
explicit MWAWPictBitmapContainer(MWAWVec2i const &sz)
: m_size(sz)
, m_data(nullptr)
{
if (m_size[0]*m_size[1] == 0) return;
m_data = new T[size_t(m_size[0]*m_size[1])];
std::uninitialized_fill_n(m_data, m_size[0] * m_size[1], T());
}
virtual ~MWAWPictBitmapContainer()
{
if (m_data) delete [] m_data;
}
bool ok() const
{
return (m_data != nullptr);
}
int cmp(MWAWPictBitmapContainer<T> const &orig) const
{
int diff = m_size.cmpY(orig.m_size);
if (diff) return diff;
if (!m_data) return orig.m_data ? 1 : 0;
if (!orig.m_data) return -1;
for (int i=0; i < m_size[0]*m_size[1]; i++) {
if (m_data[i] < orig.m_data[i]) return -1;
if (m_data[i] > orig.m_data[i]) return 1;
}
return 0;
}
MWAWVec2i const &size() const
{
return m_size;
}
int numRows() const
{
return m_size[0];
}
int numColumns() const
{
return m_size[1];
}
T const &get(int i, int j) const
{
if (m_data == nullptr || i<0 || i >= m_size[0] || j<0 || j >= m_size[1])
throw libmwaw::GenericException();
return m_data[i+m_size[0]*j];
}
T const *getRow(int j) const
{
if (m_data == nullptr || j<0 || j >= m_size[1])
throw libmwaw::GenericException();
return m_data+m_size[0]*j;
}
void set(int i, int j, T const &v)
{
if (m_data == nullptr || i<0 || i >= m_size[0] || j<0 || j >= m_size[1]) {
MWAW_DEBUG_MSG(("MWAWPictBitmapContainer::set: call with bad coordinate %d %d\n", i, j));
return;
}
m_data[i+j*m_size[0]] = v;
}
template <class U>
void setRow(int j, U const *val)
{
if (m_data == nullptr || j<0 || j >= m_size[1]) {
MWAW_DEBUG_MSG(("MWAWPictBitmapContainer::setRow: call with bad coordinate %d\n", j));
return;
}
for (int i = 0, ind=j*m_size[0]; i < m_size[0]; i++, ind++) m_data[ind] = T(val[i]);
}
template <class U>
void setColumn(int i, U const *val)
{
if (m_data == nullptr || i<0 || i >= m_size[0]) {
MWAW_DEBUG_MSG(("MWAWPictBitmapContainer::setColumn: call with bad coordinate %d\n", i));
return;
}
for (int j = 0, ind=i; j < m_size[1]; j++, ind+=m_size[0]) m_data[ind] = T(val[i]);
}
private:
MWAWPictBitmapContainer(MWAWPictBitmapContainer const &orig) = delete;
MWAWPictBitmapContainer &operator=(MWAWPictBitmapContainer const &orig) = delete;
protected:
MWAWVec2i m_size;
T *m_data;
};
class MWAWPictBitmapContainerBool final : public MWAWPictBitmapContainer<bool>
{
public:
explicit MWAWPictBitmapContainerBool(MWAWVec2i const &sz)
: MWAWPictBitmapContainer<bool>(sz)
{
}
~MWAWPictBitmapContainerBool() final;
int cmp(MWAWPictBitmapContainerBool const &orig) const
{
int diff = m_size.cmpY(orig.m_size);
if (diff) return diff;
if (!m_data) return orig.m_data ? 1 : 0;
if (!orig.m_data) return -1;
for (int i=0; i < m_size[0]*m_size[1]; i++) {
if (m_data[i] == orig.m_data[i]) continue;
return m_data[i] ? 1 : -1;
}
return 0;
}
void setRowPacked(int j, unsigned char const *val, unsigned char const *end)
{
if (m_data == nullptr || j<0 || j >= m_size[1] || val >= end) {
MWAW_DEBUG_MSG(("MWAWPictBitmapContainerBool::setRowPacked: call with bad coordinate %d\n", j));
return;
}
for (int i = 0, ind = j*m_size[0]; i < m_size[0];) {
unsigned char v = (val < end) ? *(val++) : 0;
unsigned char mask = 0x80;
for (int p = 0; p < 8 && i < m_size[0]; i++, p++, ind++) {
m_data[ind] = ((v&mask) != 0);
mask = static_cast<unsigned char>(mask >> 1);
}
}
}
};
class MWAWPictBitmap : public MWAWPict
{
public:
~MWAWPictBitmap() override;
enum SubType { BW, Indexed, Color };
Type getType() const override
{
return MWAWPict::Bitmap;
}
virtual SubType getSubType() const = 0;
bool getBinary(MWAWEmbeddedObject &picture) const override
{
if (!valid()) return false;
librevenge::RVNGBinaryData data;
createFileData(data);
picture=MWAWEmbeddedObject(data, "image/pict");
return true;
}
virtual bool valid() const
{
return false;
}
virtual MWAWColor getAverageColor() const = 0;
int cmp(MWAWPict const &a) const override
{
int diff = MWAWPict::cmp(a);
if (diff) return diff;
auto const &aPict = static_cast<MWAWPictBitmap const &>(a);
// the type
diff = getSubType() - aPict.getSubType();
if (diff) return (diff < 0) ? -1 : 1;
return 0;
}
protected:
virtual bool createFileData(librevenge::RVNGBinaryData &result) const = 0;
explicit MWAWPictBitmap(MWAWVec2i const &sz)
{
setBdBox(MWAWBox2f(MWAWVec2f(0,0), MWAWVec2f(sz)));
}
};
class MWAWPictBitmapBW final : public MWAWPictBitmap
{
public:
SubType getSubType() const final
{
return BW;
}
int cmp(MWAWPict const &a) const final
{
int diff = MWAWPictBitmap::cmp(a);
if (diff) return diff;
auto const &aPict = static_cast<MWAWPictBitmapBW const &>(a);
return m_data.cmp(aPict.m_data);
}
bool valid() const final
{
return m_data.ok();
}
explicit MWAWPictBitmapBW(MWAWVec2i const &sz)
: MWAWPictBitmap(sz)
, m_data(sz)
{
}
MWAWVec2i const &size() const
{
return m_data.size();
}
int numRows() const
{
return m_data.numRows();
}
int numColumns() const
{
return m_data.numColumns();
}
bool get(int i, int j) const
{
return m_data.get(i,j);
}
bool const *getRow(int j) const
{
return m_data.getRow(j);
}
void set(int i, int j, bool v)
{
m_data.set(i,j, v);
}
void setRow(int j, bool const *val)
{
m_data.setRow(j, val);
}
void setRowPacked(int j, unsigned char const *val, unsigned char const *end)
{
m_data.setRowPacked(j, val, end);
}
void setColumn(int i, bool const *val)
{
m_data.setColumn(i, val);
}
MWAWColor getAverageColor() const final;
protected:
bool createFileData(librevenge::RVNGBinaryData &result) const final;
MWAWPictBitmapContainerBool m_data;
};
class MWAWPictBitmapIndexed final : public MWAWPictBitmap
{
public:
SubType getSubType() const final
{
return Indexed;
}
int cmp(MWAWPict const &a) const final
{
int diff = MWAWPictBitmap::cmp(a);
if (diff) return diff;
auto const &aPict = static_cast<MWAWPictBitmapIndexed const &>(a);
diff=int(m_colors.size())-int(aPict.m_colors.size());
if (diff) return (diff < 0) ? -1 : 1;
for (size_t c=0; c < m_colors.size(); c++) {
if (m_colors[c] < aPict.m_colors[c])
return 1;
if (m_colors[c] > aPict.m_colors[c])
return -1;
}
return m_data.cmp(aPict.m_data);
}
bool valid() const final
{
return m_data.ok();
}
MWAWColor getAverageColor() const final;
explicit MWAWPictBitmapIndexed(MWAWVec2i const &sz)
: MWAWPictBitmap(sz)
, m_data(sz)
, m_colors()
{
}
MWAWVec2i const &size() const
{
return m_data.size();
}
int numRows() const
{
return m_data.numRows();
}
int numColumns() const
{
return m_data.numColumns();
}
int get(int i, int j) const
{
return m_data.get(i,j);
}
int const *getRow(int j) const
{
return m_data.getRow(j);
}
void set(int i, int j, int v)
{
m_data.set(i,j, v);
}
template <class U> void setRow(int j, U const *val)
{
m_data.setRow(j, val);
}
template <class U> void setColumn(int i, U const *val)
{
m_data.setColumn(i, val);
}
std::vector<MWAWColor> const &getColors() const
{
return m_colors;
}
void setColors(std::vector<MWAWColor> const &cols)
{
m_colors = cols;
}
protected:
bool createFileData(librevenge::RVNGBinaryData &result) const final;
MWAWPictBitmapContainer<int> m_data;
std::vector<MWAWColor> m_colors;
};
class MWAWPictBitmapColor final : public MWAWPictBitmap
{
public:
SubType getSubType() const final
{
return Color;
}
int cmp(MWAWPict const &a) const final
{
int diff = MWAWPictBitmap::cmp(a);
if (diff) return diff;
auto const &aPict = static_cast<MWAWPictBitmapColor const &>(a);
return m_data.cmp(aPict.m_data);
}
bool valid() const final
{
return m_data.ok();
}
MWAWColor getAverageColor() const final;
explicit MWAWPictBitmapColor(MWAWVec2i const &sz, bool useAlphaChannel=false)
: MWAWPictBitmap(sz)
, m_data(sz)
, m_hasAlpha(useAlphaChannel)
{
}
MWAWVec2i const &size() const
{
return m_data.size();
}
int numRows() const
{
return m_data.numRows();
}
int numColumns() const
{
return m_data.numColumns();
}
MWAWColor get(int i, int j) const
{
return m_data.get(i,j);
}
MWAWColor const *getRow(int j) const
{
return m_data.getRow(j);
}
void set(int i, int j, MWAWColor const &v)
{
m_data.set(i,j, v);
}
void setRow(int j, MWAWColor const *val)
{
m_data.setRow(j, val);
}
void setColumn(int i, MWAWColor const *val)
{
m_data.setColumn(i, val);
}
protected:
bool createFileData(librevenge::RVNGBinaryData &result) const final;
MWAWPictBitmapContainer<MWAWColor> m_data;
bool m_hasAlpha;
};
#endif
// vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
MWAWDebug.hxx
MWAWPict.hxx
MWAWPictBitmapBW::setColumn
void setColumn(int i, bool const *val)
sets all cell contents of a column
Definition MWAWPictBitmap.hxx:344
MWAWPictBitmapBW::setRowPacked
void setRowPacked(int j, unsigned char const *val, unsigned char const *end)
sets all cell contents of a row given packed m_data
Definition MWAWPictBitmap.hxx:339
MWAWPictBitmapBW::set
void set(int i, int j, bool v)
sets a cell contents
Definition MWAWPictBitmap.hxx:329
MWAWPictBitmapBW::size
MWAWVec2i const & size() const
the picture size
Definition MWAWPictBitmap.hxx:304
MWAWPictBitmapBW::numRows
int numRows() const
the number of rows
Definition MWAWPictBitmap.hxx:309
MWAWPictBitmapBW::get
bool get(int i, int j) const
returns a cell content
Definition MWAWPictBitmap.hxx:319
MWAWPictBitmapBW::getRow
bool const * getRow(int j) const
returns the cells content of a row
Definition MWAWPictBitmap.hxx:324
MWAWPictBitmapBW::getSubType
SubType getSubType() const final
returns the picture subtype
Definition MWAWPictBitmap.hxx:274
MWAWPictBitmapBW::MWAWPictBitmapBW
MWAWPictBitmapBW(MWAWVec2i const &sz)
the constructor
Definition MWAWPictBitmap.hxx:297
MWAWPictBitmapBW::cmp
int cmp(MWAWPict const &a) const final
a virtual function used to obtain a strict order, must be redefined in the subs class
Definition MWAWPictBitmap.hxx:281
MWAWPictBitmapBW::numColumns
int numColumns() const
the number of columns
Definition MWAWPictBitmap.hxx:314
MWAWPictBitmapBW::getAverageColor
MWAWColor getAverageColor() const final
returns the average color
Definition MWAWPictBitmap.cxx:514
MWAWPictBitmapBW::createFileData
bool createFileData(librevenge::RVNGBinaryData &result) const final
function which creates the result file
Definition MWAWPictBitmap.cxx:505
MWAWPictBitmapBW::m_data
MWAWPictBitmapContainerBool m_data
the data
Definition MWAWPictBitmap.hxx:356
MWAWPictBitmapBW::setRow
void setRow(int j, bool const *val)
sets all cell contents of a row
Definition MWAWPictBitmap.hxx:334
MWAWPictBitmapBW::valid
bool valid() const final
returns true if the picture is valid
Definition MWAWPictBitmap.hxx:291
MWAWPictBitmapColor::getSubType
SubType getSubType() const final
return the picture subtype
Definition MWAWPictBitmap.hxx:478
MWAWPictBitmapColor::set
void set(int i, int j, MWAWColor const &v)
sets a cell contents
Definition MWAWPictBitmap.hxx:537
MWAWPictBitmapColor::m_hasAlpha
bool m_hasAlpha
true if the bitmap has alpha color
Definition MWAWPictBitmap.hxx:560
MWAWPictBitmapColor::cmp
int cmp(MWAWPict const &a) const final
a virtual function used to obtain a strict order, must be redefined in the subs class
Definition MWAWPictBitmap.hxx:485
MWAWPictBitmapColor::setColumn
void setColumn(int i, MWAWColor const *val)
sets all cell contents of a column
Definition MWAWPictBitmap.hxx:547
MWAWPictBitmapColor::size
MWAWVec2i const & size() const
the picture size
Definition MWAWPictBitmap.hxx:511
MWAWPictBitmapColor::valid
bool valid() const final
returns true if the picture is valid
Definition MWAWPictBitmap.hxx:495
MWAWPictBitmapColor::MWAWPictBitmapColor
MWAWPictBitmapColor(MWAWVec2i const &sz, bool useAlphaChannel=false)
the constructor
Definition MWAWPictBitmap.hxx:503
MWAWPictBitmapColor::numColumns
int numColumns() const
the number of columns
Definition MWAWPictBitmap.hxx:521
MWAWPictBitmapColor::m_data
MWAWPictBitmapContainer< MWAWColor > m_data
the data
Definition MWAWPictBitmap.hxx:557
MWAWPictBitmapColor::numRows
int numRows() const
the number of rows
Definition MWAWPictBitmap.hxx:516
MWAWPictBitmapColor::setRow
void setRow(int j, MWAWColor const *val)
sets all cell contents of a row
Definition MWAWPictBitmap.hxx:542
MWAWPictBitmapColor::get
MWAWColor get(int i, int j) const
returns a cell content
Definition MWAWPictBitmap.hxx:526
MWAWPictBitmapColor::getRow
MWAWColor const * getRow(int j) const
returns the cells content of a row
Definition MWAWPictBitmap.hxx:531
MWAWPictBitmapContainerBool
a bool container with a function to put packed row
Definition MWAWPictBitmap.hxx:166
MWAWPictBitmapContainerBool::~MWAWPictBitmapContainerBool
~MWAWPictBitmapContainerBool() final
destructor
Definition MWAWPictBitmap.cxx:494
MWAWPictBitmapContainerBool::cmp
int cmp(MWAWPictBitmapContainerBool const &orig) const
a comparison operator
Definition MWAWPictBitmap.hxx:176
MWAWPictBitmapContainerBool::MWAWPictBitmapContainerBool
MWAWPictBitmapContainerBool(MWAWVec2i const &sz)
constructor
Definition MWAWPictBitmap.hxx:169
MWAWPictBitmapContainerBool::setRowPacked
void setRowPacked(int j, unsigned char const *val, unsigned char const *end)
allows to use packed m_data
Definition MWAWPictBitmap.hxx:190
MWAWPictBitmapContainer
a template class to store a 2D array of m_data
Definition MWAWPictBitmap.hxx:55
MWAWPictBitmapContainer::m_data
T * m_data
the m_data placed by row ie. d_00, d_10, ... , d_{X-1}0, ..
Definition MWAWPictBitmap.hxx:161
MWAWPictBitmapContainer::MWAWPictBitmapContainer
MWAWPictBitmapContainer(MWAWPictBitmapContainer const &orig)=delete
MWAWPictBitmapContainer::set
void set(int i, int j, T const &v)
sets a cell m_data
Definition MWAWPictBitmap.hxx:123
MWAWPictBitmapContainer::numRows
int numRows() const
gets the number of row
Definition MWAWPictBitmap.hxx:97
MWAWPictBitmapContainer::MWAWPictBitmapContainer
MWAWPictBitmapContainer(MWAWVec2i const &sz)
constructor given size
Definition MWAWPictBitmap.hxx:58
MWAWPictBitmapContainer::setColumn
void setColumn(int i, U const *val)
sets a column of m_data
Definition MWAWPictBitmap.hxx:145
MWAWPictBitmapContainer::m_size
MWAWVec2i m_size
the size
Definition MWAWPictBitmap.hxx:159
MWAWPictBitmapContainer::setRow
void setRow(int j, U const *val)
sets a line of m_data
Definition MWAWPictBitmap.hxx:134
MWAWPictBitmapContainer::operator=
MWAWPictBitmapContainer & operator=(MWAWPictBitmapContainer const &orig)=delete
MWAWPictBitmapContainer::ok
bool ok() const
returns ok, if the m_data is allocated
Definition MWAWPictBitmap.hxx:73
MWAWPictBitmapContainer::~MWAWPictBitmapContainer
virtual ~MWAWPictBitmapContainer()
destructor
Definition MWAWPictBitmap.hxx:67
MWAWPictBitmapContainer::getRow
T const * getRow(int j) const
accessor of a row m_data
Definition MWAWPictBitmap.hxx:115
MWAWPictBitmapContainer::cmp
int cmp(MWAWPictBitmapContainer< T > const &orig) const
a comparison operator
Definition MWAWPictBitmap.hxx:79
MWAWPictBitmapContainer::size
MWAWVec2i const & size() const
return the array size
Definition MWAWPictBitmap.hxx:92
MWAWPictBitmapContainer::get
T const & get(int i, int j) const
accessor of a cell m_data
Definition MWAWPictBitmap.hxx:108
MWAWPictBitmapContainer::numColumns
int numColumns() const
gets the number of column
Definition MWAWPictBitmap.hxx:102
MWAWPictBitmapIndexed::MWAWPictBitmapIndexed
MWAWPictBitmapIndexed(MWAWVec2i const &sz)
the constructor
Definition MWAWPictBitmap.hxx:397
MWAWPictBitmapIndexed::setColumn
void setColumn(int i, U const *val)
sets all cell contents of a column
Definition MWAWPictBitmap.hxx:441
MWAWPictBitmapIndexed::size
MWAWVec2i const & size() const
the picture size
Definition MWAWPictBitmap.hxx:405
MWAWPictBitmapIndexed::setColors
void setColors(std::vector< MWAWColor > const &cols)
sets the array of indexed colors
Definition MWAWPictBitmap.hxx:452
MWAWPictBitmapIndexed::setRow
void setRow(int j, U const *val)
sets all cell contents of a row
Definition MWAWPictBitmap.hxx:436
MWAWPictBitmapIndexed::get
int get(int i, int j) const
returns a cell content
Definition MWAWPictBitmap.hxx:420
MWAWPictBitmapIndexed::m_colors
std::vector< MWAWColor > m_colors
the colors
Definition MWAWPictBitmap.hxx:464
MWAWPictBitmapIndexed::getColors
std::vector< MWAWColor > const & getColors() const
returns the array of indexed colors
Definition MWAWPictBitmap.hxx:447
MWAWPictBitmapIndexed::getRow
int const * getRow(int j) const
returns the cells content of a row
Definition MWAWPictBitmap.hxx:425
MWAWPictBitmapIndexed::getSubType
SubType getSubType() const final
return the picture subtype
Definition MWAWPictBitmap.hxx:364
MWAWPictBitmapIndexed::m_data
MWAWPictBitmapContainer< int > m_data
the m_data
Definition MWAWPictBitmap.hxx:462
MWAWPictBitmapIndexed::numRows
int numRows() const
the number of rows
Definition MWAWPictBitmap.hxx:410
MWAWPictBitmapIndexed::cmp
int cmp(MWAWPict const &a) const final
a virtual function used to obtain a strict order, must be redefined in the subs class
Definition MWAWPictBitmap.hxx:371
MWAWPictBitmapIndexed::valid
bool valid() const final
returns true if the picture is valid
Definition MWAWPictBitmap.hxx:389
MWAWPictBitmapIndexed::numColumns
int numColumns() const
the number of columns
Definition MWAWPictBitmap.hxx:415
MWAWPictBitmapIndexed::set
void set(int i, int j, int v)
sets a cell contents
Definition MWAWPictBitmap.hxx:431
MWAWPictBitmap::getAverageColor
virtual MWAWColor getAverageColor() const =0
returns the average color
MWAWPictBitmap::SubType
SubType
the picture subtype: blackwhite, indexed, color
Definition MWAWPictBitmap.hxx:215
MWAWPictBitmap::BW
@ BW
Definition MWAWPictBitmap.hxx:215
MWAWPictBitmap::Color
@ Color
Definition MWAWPictBitmap.hxx:215
MWAWPictBitmap::Indexed
@ Indexed
Definition MWAWPictBitmap.hxx:215
MWAWPictBitmap::MWAWPictBitmap
MWAWPictBitmap(MWAWVec2i const &sz)
protected constructor: use check to construct a picture
Definition MWAWPictBitmap.hxx:263
MWAWPictBitmap::getSubType
virtual SubType getSubType() const =0
returns the picture subtype
MWAWPictBitmap::getType
Type getType() const override
returns the picture type
Definition MWAWPictBitmap.hxx:217
MWAWPictBitmap::createFileData
virtual bool createFileData(librevenge::RVNGBinaryData &result) const =0
abstract function which creates the result file
MWAWPictBitmap::~MWAWPictBitmap
~MWAWPictBitmap() override
destructor
Definition MWAWPictBitmap.cxx:498
MWAWPictBitmap::cmp
int cmp(MWAWPict const &a) const override
a virtual function used to obtain a strict order, must be redefined in the subs class
Definition MWAWPictBitmap.hxx:245
MWAWPictBitmap::getBinary
bool getBinary(MWAWEmbeddedObject &picture) const override
returns the final picture
Definition MWAWPictBitmap.hxx:225
MWAWPictBitmap::valid
virtual bool valid() const
returns true if the picture is valid
Definition MWAWPictBitmap.hxx:236
MWAWPict::MWAWPict
MWAWPict()
protected constructor must not be called directly
Definition MWAWPict.hxx:143
MWAWPict::Type
Type
the different picture types:
Definition MWAWPict.hxx:63
MWAWPict::Bitmap
@ Bitmap
Definition MWAWPict.hxx:63
MWAWPict::cmp
virtual int cmp(MWAWPict const &a) const
a virtual function used to obtain a strict order, must be redefined in the subs class
Definition MWAWPict.hxx:101
MWAWPict::setBdBox
void setBdBox(MWAWBox2f const &box)
sets the bdbox of the picture
Definition MWAWPict.hxx:84
libmwaw::GenericException
Definition libmwaw_internal.hxx:148
libmwaw_internal.hxx
MWAWVec2i
MWAWVec2< int > MWAWVec2i
MWAWVec2 of int.
Definition libmwaw_internal.hxx:838
MWAWBox2f
MWAWBox2< float > MWAWBox2f
MWAWBox2 of float.
Definition libmwaw_internal.hxx:1193
MWAWVec2f
MWAWVec2< float > MWAWVec2f
MWAWVec2 of float.
Definition libmwaw_internal.hxx:842
MWAW_DEBUG_MSG
#define MWAW_DEBUG_MSG(M)
Definition libmwaw_internal.hxx:129
librevenge
Definition MWAWDocument.hxx:57
MWAWColor
the class to store a color
Definition libmwaw_internal.hxx:192
MWAWEmbeddedObject
small class use to define a embedded object
Definition libmwaw_internal.hxx:467