Blender V4.3
StrokeLayer.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
12#include <deque>
13
14#ifdef WITH_CXX_GUARDEDALLOC
15# include "MEM_guardedalloc.h"
16#endif
17
18namespace Freestyle {
19
20class Stroke;
21class StrokeRenderer;
23 public:
24 typedef std::deque<Stroke *> stroke_container;
25
26 protected:
28
29 public:
31
33 {
34 _strokes = iStrokes;
35 }
36
37 StrokeLayer(const StrokeLayer &iBrother)
38 {
39 _strokes = iBrother._strokes;
40 }
41
42 virtual ~StrokeLayer();
43
45 void ScaleThickness(float iFactor);
46 void Render(const StrokeRenderer *iRenderer);
47 void RenderBasic(const StrokeRenderer *iRenderer);
48
50 void clear();
51
53 inline stroke_container::iterator strokes_begin()
54 {
55 return _strokes.begin();
56 }
57
58 inline stroke_container::iterator strokes_end()
59 {
60 return _strokes.end();
61 }
62
63 inline int strokes_size() const
64 {
65 return _strokes.size();
66 }
67
68 inline bool empty() const
69 {
70 return _strokes.empty();
71 }
72
74 inline void setStrokes(stroke_container &iStrokes)
75 {
76 _strokes = iStrokes;
77 }
78
79 inline void AddStroke(Stroke *iStroke)
80 {
81 _strokes.push_back(iStroke);
82 }
83
84#ifdef WITH_CXX_GUARDEDALLOC
85 MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:StrokeLayer")
86#endif
87};
88
89} /* namespace Freestyle */
Read Guarded memory(de)allocation.
struct Render Render
Definition RE_pipeline.h:43
stroke_container _strokes
Definition StrokeLayer.h:27
stroke_container::iterator strokes_begin()
Definition StrokeLayer.h:53
StrokeLayer(const StrokeLayer &iBrother)
Definition StrokeLayer.h:37
void setStrokes(stroke_container &iStrokes)
Definition StrokeLayer.h:74
StrokeLayer(const stroke_container &iStrokes)
Definition StrokeLayer.h:32
int strokes_size() const
Definition StrokeLayer.h:63
std::deque< Stroke * > stroke_container
Definition StrokeLayer.h:24
void AddStroke(Stroke *iStroke)
Definition StrokeLayer.h:79
stroke_container::iterator strokes_end()
Definition StrokeLayer.h:58
void RenderBasic(const StrokeRenderer *iRenderer)
void ScaleThickness(float iFactor)
inherits from class Rep
Definition AppCanvas.cpp:20