Blender
V2.93
source
blender
compositor
operations
COM_CurveBaseOperation.cc
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or
3
* modify it under the terms of the GNU General Public License
4
* as published by the Free Software Foundation; either version 2
5
* of the License, or (at your option) any later version.
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* along with this program; if not, write to the Free Software Foundation,
14
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15
*
16
* Copyright 2011, Blender Foundation.
17
*/
18
19
#include "
COM_CurveBaseOperation.h
"
20
21
#include "
BKE_colortools.h
"
22
23
namespace
blender::compositor
{
24
25
CurveBaseOperation::CurveBaseOperation
()
26
{
27
this->
m_curveMapping
=
nullptr
;
28
}
29
30
CurveBaseOperation::~CurveBaseOperation
()
31
{
32
if
(this->
m_curveMapping
) {
33
BKE_curvemapping_free
(this->
m_curveMapping
);
34
this->
m_curveMapping
=
nullptr
;
35
}
36
}
37
38
void
CurveBaseOperation::initExecution
()
39
{
40
BKE_curvemapping_init
(this->
m_curveMapping
);
41
}
42
void
CurveBaseOperation::deinitExecution
()
43
{
44
if
(this->
m_curveMapping
) {
45
BKE_curvemapping_free
(this->
m_curveMapping
);
46
this->
m_curveMapping
=
nullptr
;
47
}
48
}
49
50
void
CurveBaseOperation::setCurveMapping
(
CurveMapping
*mapping)
51
{
52
/* duplicate the curve to avoid glitches while drawing, see bug T32374. */
53
if
(this->
m_curveMapping
) {
54
BKE_curvemapping_free
(this->
m_curveMapping
);
55
}
56
this->
m_curveMapping
=
BKE_curvemapping_copy
(mapping);
57
}
58
59
}
// namespace blender::compositor
BKE_colortools.h
BKE_curvemapping_init
void BKE_curvemapping_init(struct CurveMapping *cumap)
Definition:
colortools.c:1200
BKE_curvemapping_copy
struct CurveMapping * BKE_curvemapping_copy(const struct CurveMapping *cumap)
BKE_curvemapping_free
void BKE_curvemapping_free(struct CurveMapping *cumap)
Definition:
colortools.c:119
COM_CurveBaseOperation.h
blender::compositor::CurveBaseOperation::initExecution
void initExecution() override
Definition:
COM_CurveBaseOperation.cc:38
blender::compositor::CurveBaseOperation::~CurveBaseOperation
~CurveBaseOperation()
Definition:
COM_CurveBaseOperation.cc:30
blender::compositor::CurveBaseOperation::CurveBaseOperation
CurveBaseOperation()
Definition:
COM_CurveBaseOperation.cc:25
blender::compositor::CurveBaseOperation::deinitExecution
void deinitExecution() override
Definition:
COM_CurveBaseOperation.cc:42
blender::compositor::CurveBaseOperation::setCurveMapping
void setCurveMapping(CurveMapping *mapping)
Definition:
COM_CurveBaseOperation.cc:50
blender::compositor::CurveBaseOperation::m_curveMapping
CurveMapping * m_curveMapping
Definition:
COM_CurveBaseOperation.h:31
blender::compositor
Definition:
COM_defines.h:21
CurveMapping
Definition:
DNA_color_types.h:75
Generated on Tue Jan 31 2023 14:37:24 for Blender by
doxygen
1.9.1