LibreOffice Module vcl (master)  1
Classes | Namespaces | Macros | Functions | Variables
impvect.cxx File Reference
#include <sal/log.hxx>
#include <vcl/bitmapaccess.hxx>
#include <tools/link.hxx>
#include <tools/poly.hxx>
#include <tools/helpers.hxx>
#include <vcl/gdimtf.hxx>
#include <vcl/metaact.hxx>
#include <vcl/virdev.hxx>
#include "impvect.hxx"
#include <array>
#include <memory>
Include dependency graph for impvect.cxx:

Go to the source code of this file.

Classes

struct  ChainMove
 
struct  ImplColorSet
 
class  ImplPointArray
 
class  ImplVectMap
 
class  ImplChain
 

Namespaces

 ImplVectorizer
 

Macros

#define VECT_POLY_MAX   8192
 
#define VECT_FREE_INDEX   0
 
#define VECT_CONT_INDEX   1
 
#define VECT_DONE_INDEX   2
 
#define VECT_POLY_INLINE_INNER   1UL
 
#define VECT_POLY_INLINE_OUTER   2UL
 
#define VECT_POLY_OUTLINE_INNER   4UL
 
#define VECT_POLY_OUTLINE_OUTER   8UL
 

Functions

static void VECT_MAP (const std::unique_ptr< long[]> &pMapIn, const std::unique_ptr< long[]> &pMapOut, long nVal)
 
static constexpr long BACK_MAP (long _def_nVal)
 
static void VECT_PROGRESS (const Link< long, void > *pProgress, long _def_nVal)
 
static ImplVectMapImplVectorizer::ImplExpand (BitmapReadAccess *pRAcc, const Color &rColor)
 
static void ImplVectorizer::ImplCalculate (ImplVectMap *pMap, tools::PolyPolygon &rPolyPoly, sal_uInt8 cReduce)
 
static bool ImplVectorizer::ImplGetChain (ImplVectMap *pMap, const Point &rStartPt, ImplChain &rChain)
 
static bool ImplVectorizer::ImplIsUp (ImplVectMap const *pMap, long nY, long nX)
 
static void ImplVectorizer::ImplLimitPolyPoly (tools::PolyPolygon &rPolyPoly)
 
static bool ImplColorSetCmpFnc (const ImplColorSet &lhs, const ImplColorSet &rhs)
 
bool ImplVectorizer::ImplVectorize (const Bitmap &rColorBmp, GDIMetaFile &rMtf, sal_uInt8 cReduce, const Link< long, void > *pProgress)
 

Variables

static const ChainMove aImplMove [8]
 
static const ChainMove aImplMoveInner [8]
 
static const ChainMove aImplMoveOuter [8]
 

Macro Definition Documentation

#define VECT_CONT_INDEX   1

Definition at line 35 of file impvect.cxx.

Referenced by ImplVectorizer::ImplExpand(), and ImplVectMap::IsCont().

#define VECT_DONE_INDEX   2

Definition at line 36 of file impvect.cxx.

Referenced by ImplVectorizer::ImplGetChain(), and ImplVectMap::IsDone().

#define VECT_FREE_INDEX   0

Definition at line 34 of file impvect.cxx.

Referenced by ImplVectMap::IsFree().

#define VECT_POLY_INLINE_INNER   1UL

Definition at line 38 of file impvect.cxx.

Referenced by ImplChain::ImplEndAdd().

#define VECT_POLY_INLINE_OUTER   2UL

Definition at line 39 of file impvect.cxx.

Referenced by ImplChain::ImplEndAdd().

#define VECT_POLY_MAX   8192

Definition at line 32 of file impvect.cxx.

Referenced by ImplVectorizer::ImplLimitPolyPoly().

#define VECT_POLY_OUTLINE_INNER   4UL

Definition at line 40 of file impvect.cxx.

Referenced by ImplVectorizer::ImplCalculate().

#define VECT_POLY_OUTLINE_OUTER   8UL

Definition at line 41 of file impvect.cxx.

Referenced by ImplVectorizer::ImplCalculate().

Function Documentation

static constexpr long BACK_MAP ( long  _def_nVal)
static

Definition at line 48 of file impvect.cxx.

Referenced by ImplChain::ImplPostProcess().

static bool ImplColorSetCmpFnc ( const ImplColorSet lhs,
const ImplColorSet rhs 
)
static
static void VECT_MAP ( const std::unique_ptr< long[]> &  pMapIn,
const std::unique_ptr< long[]> &  pMapOut,
long  nVal 
)
static

Definition at line 43 of file impvect.cxx.

Referenced by ImplVectorizer::ImplExpand().

static void VECT_PROGRESS ( const Link< long, void > *  pProgress,
long  _def_nVal 
)
static

Definition at line 52 of file impvect.cxx.

References Link< class, class >::Call().

Referenced by ImplVectorizer::ImplVectorize().

Variable Documentation

const ChainMove aImplMove[8]
static
Initial value:
= {
{ 1, 0 },
{ 0, -1 },
{ -1, 0 },
{ 0, 1 },
{ 1, -1 },
{ -1, -1 },
{ -1, 1 },
{ 1, 1 }
}

Definition at line 72 of file impvect.cxx.

const ChainMove aImplMoveInner[8]
static
Initial value:
= {
{ 0, 1 },
{ 1, 0 },
{ 0, -1 },
{ -1, 0 },
{ 0, 1 },
{ 1, 0 },
{ 0, -1 },
{ -1, 0 }
}

Definition at line 83 of file impvect.cxx.

const ChainMove aImplMoveOuter[8]
static
Initial value:
= {
{ 0, -1 },
{ -1, 0 },
{ 0, 1 },
{ 1, 0 },
{ -1, 0 },
{ 0, 1 },
{ 1, 0 },
{ 0, -1 }
}

Definition at line 94 of file impvect.cxx.