1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
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/.
10 #ifndef INCLUDED_BASEGFX_DRAWCOMMANDS_H
11 #define INCLUDED_BASEGFX_DRAWCOMMANDS_H
22 std::vector
<std::shared_ptr
<DrawBase
>> maChildren
;
25 enum class DrawCommandType
32 class DrawBase
: public DrawCommand
35 DrawCommandType meType
;
38 DrawBase(DrawCommandType eType
)
43 DrawCommandType
getType() { return meType
; }
46 class DrawRoot
: public DrawBase
49 basegfx::B2DRange maRectangle
;
52 : DrawBase(DrawCommandType::Root
)
57 class DrawRectangle
: public DrawBase
60 basegfx::B2DRange maRectangle
;
66 std::shared_ptr
<basegfx::BColor
> mpFillColor
;
67 std::shared_ptr
<basegfx::BColor
> mpStrokeColor
;
69 DrawRectangle(basegfx::B2DRange
const& rRectangle
)
70 : DrawBase(DrawCommandType::Rectangle
)
71 , maRectangle(rRectangle
)
80 class DrawPath
: public DrawBase
83 basegfx::B2DPolyPolygon maPolyPolygon
;
87 std::shared_ptr
<basegfx::BColor
> mpFillColor
;
88 std::shared_ptr
<basegfx::BColor
> mpStrokeColor
;
90 DrawPath(basegfx::B2DPolyPolygon
const& rPolyPolygon
)
91 : DrawBase(DrawCommandType::Path
)
92 , maPolyPolygon(rPolyPolygon
)
99 } // end namespace gfx
101 #endif // INCLUDED_BASEGFX_DRAWCOMMANDS_H
103 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */