LibreOffice Module drawinglayer (master)
1
drawinglayer
source
processor2d
baseprocessor2d.cxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
* This file is part of the LibreOffice project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*
9
* This file incorporates work covered by the following license notice:
10
*
11
* Licensed to the Apache Software Foundation (ASF) under one or more
12
* contributor license agreements. See the NOTICE file distributed
13
* with this work for additional information regarding copyright
14
* ownership. The ASF licenses this file to you under the Apache
15
* License, Version 2.0 (the "License"); you may not use this file
16
* except in compliance with the License. You may obtain a copy of
17
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
*/
19
20
#include <
drawinglayer/primitive2d/Primitive2DContainer.hxx
>
21
#include <
drawinglayer/processor2d/baseprocessor2d.hxx
>
22
#include <utility>
23
24
25
using namespace
com::sun::star
;
26
27
28
namespace
drawinglayer::processor2d
29
{
30
void
BaseProcessor2D::processBasePrimitive2D
(
const
primitive2d::BasePrimitive2D
&
/*rCandidate*/
)
31
{
32
}
33
34
BaseProcessor2D::BaseProcessor2D
(
geometry::ViewInformation2D
aViewInformation)
35
: maViewInformation2D(
std
::move(aViewInformation))
36
{
37
}
38
39
BaseProcessor2D::~BaseProcessor2D
()
40
{
41
}
42
43
void
BaseProcessor2D::process
(
const
primitive2d::BasePrimitive2D
& rCandidate)
44
{
45
// use the visitor API to avoid the cost of constructing Primitive2DContainers
46
rCandidate.
get2DDecomposition
(*
this
,
getViewInformation2D
());
47
}
48
49
// Primitive2DDecompositionVisitor
50
void
BaseProcessor2D::visit
(
const
primitive2d::Primitive2DReference
& rCandidate)
51
{
52
processBasePrimitive2D
(*rCandidate);
53
}
54
void
BaseProcessor2D::visit
(
const
primitive2d::Primitive2DContainer
& rContainer)
55
{
56
process
(rContainer);
57
}
58
void
BaseProcessor2D::visit
(
primitive2d::Primitive2DContainer
&& rCandidate)
59
{
60
process
(rCandidate);
61
}
62
63
void
BaseProcessor2D::process
(
const
primitive2d::Primitive2DContainer
& rSource)
64
{
65
for
(
const
primitive2d::Primitive2DReference
& rCandidate : rSource)
66
{
67
if
(rCandidate)
68
processBasePrimitive2D
(*rCandidate);
69
}
70
}
71
72
}
// end of namespace
73
74
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Primitive2DContainer.hxx
baseprocessor2d.hxx
drawinglayer::geometry::ViewInformation2D
ViewInformation2D class.
Definition:
viewinformation2d.hxx:64
drawinglayer::primitive2d::BasePrimitive2D
BasePrimitive2D class.
Definition:
baseprimitive2d.hxx:121
drawinglayer::primitive2d::BasePrimitive2D::get2DDecomposition
virtual void get2DDecomposition(Primitive2DDecompositionVisitor &rVisitor, const geometry::ViewInformation2D &rViewInformation) const
The default implementation will return an empty sequence.
Definition:
baseprimitive2d.cxx:77
drawinglayer::primitive2d::Primitive2DContainer
Definition:
Primitive2DContainer.hxx:41
drawinglayer::processor2d::BaseProcessor2D::~BaseProcessor2D
virtual ~BaseProcessor2D()
Definition:
baseprocessor2d.cxx:39
drawinglayer::processor2d::BaseProcessor2D::process
void process(const primitive2d::BasePrimitive2D &rCandidate)
Definition:
baseprocessor2d.cxx:43
drawinglayer::processor2d::BaseProcessor2D::visit
virtual void visit(const primitive2d::Primitive2DReference &) override final
Definition:
baseprocessor2d.cxx:50
drawinglayer::processor2d::BaseProcessor2D::getViewInformation2D
const geometry::ViewInformation2D & getViewInformation2D() const
data read access
Definition:
baseprocessor2d.hxx:192
drawinglayer::processor2d::BaseProcessor2D::processBasePrimitive2D
virtual void processBasePrimitive2D(const primitive2d::BasePrimitive2D &rCandidate)
Definition:
baseprocessor2d.cxx:30
drawinglayer::processor2d::BaseProcessor2D::BaseProcessor2D
BaseProcessor2D(geometry::ViewInformation2D aViewInformation)
constructor/destructor
Definition:
baseprocessor2d.cxx:34
rtl::Reference
com::sun::star
drawinglayer::processor2d
std
Generated on Sun Jul 30 2023 04:42:54 for LibreOffice Module drawinglayer (master) by
1.9.3