LibreOffice Module vcl (master) 1
Namespaces | Macros | Functions | Variables
impvect.cxx File Reference
#include <sal/log.hxx>
#include <vcl/BitmapReadAccess.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.

Namespaces

namespace  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< sal_Int32[]> &pMapIn, const std::unique_ptr< sal_Int32[]> &pMapOut, tools::Long nVal)
 
static constexpr tools::Long BACK_MAP (tools::Long _def_nVal)
 
static void VECT_PROGRESS (const Link< tools::Long, void > *pProgress, tools::Long _def_nVal)
 
static void ImplVectorizer::ImplExpand (std::optional< ImplVectMap > &rMap, const BitmapReadAccess *pRAcc, const Color &rColor)
 
static void ImplVectorizer::ImplCalculate (ImplVectMap &rMap, tools::PolyPolygon &rPolyPoly, sal_uInt8 cReduce)
 
static bool ImplVectorizer::ImplGetChain (ImplVectMap &rMap, const Point &rStartPt, ImplChain &rChain)
 
static bool ImplVectorizer::ImplIsUp (ImplVectMap const &rMap, tools::Long nY, tools::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< tools::Long, void > *pProgress)
 

Variables

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

Macro Definition Documentation

◆ VECT_CONT_INDEX

#define VECT_CONT_INDEX   1

Definition at line 35 of file impvect.cxx.

◆ VECT_DONE_INDEX

#define VECT_DONE_INDEX   2

Definition at line 36 of file impvect.cxx.

◆ VECT_FREE_INDEX

#define VECT_FREE_INDEX   0

Definition at line 34 of file impvect.cxx.

◆ VECT_POLY_INLINE_INNER

#define VECT_POLY_INLINE_INNER   1UL

Definition at line 38 of file impvect.cxx.

◆ VECT_POLY_INLINE_OUTER

#define VECT_POLY_INLINE_OUTER   2UL

Definition at line 39 of file impvect.cxx.

◆ VECT_POLY_MAX

#define VECT_POLY_MAX   8192

Definition at line 32 of file impvect.cxx.

◆ VECT_POLY_OUTLINE_INNER

#define VECT_POLY_OUTLINE_INNER   4UL

Definition at line 40 of file impvect.cxx.

◆ VECT_POLY_OUTLINE_OUTER

#define VECT_POLY_OUTLINE_OUTER   8UL

Definition at line 41 of file impvect.cxx.

Function Documentation

◆ BACK_MAP()

static constexpr tools::Long BACK_MAP ( tools::Long  _def_nVal)
staticconstexpr

Definition at line 48 of file impvect.cxx.

◆ ImplColorSetCmpFnc()

static bool ImplColorSetCmpFnc ( const ImplColorSet &  lhs,
const ImplColorSet &  rhs 
)
static

Definition at line 124 of file impvect.cxx.

Referenced by ImplVectorizer::ImplVectorize().

◆ VECT_MAP()

static void VECT_MAP ( const std::unique_ptr< sal_Int32[]> &  pMapIn,
const std::unique_ptr< sal_Int32[]> &  pMapOut,
tools::Long  nVal 
)
static

Definition at line 43 of file impvect.cxx.

Referenced by ImplVectorizer::ImplExpand().

◆ VECT_PROGRESS()

static void VECT_PROGRESS ( const Link< tools::Long, void > *  pProgress,
tools::Long  _def_nVal 
)
static

Definition at line 52 of file impvect.cxx.

References Link< typename Arg, typename Ret >::Call().

Referenced by ImplVectorizer::ImplVectorize().

Variable Documentation

◆ aImplMove

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

Definition at line 80 of file impvect.cxx.

Referenced by ImplVectorizer::ImplGetChain().

◆ aImplMoveInner

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

Definition at line 91 of file impvect.cxx.

◆ aImplMoveOuter

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

Definition at line 102 of file impvect.cxx.