1 /* === S Y N F I G ========================================================= */
2 /*!	\file synfig/rendering/software/rendererdraftsw.cpp
3 **	\brief RendererDraftSW
4 **
5 **	$Id$
6 **
7 **	\legal
8 **	......... ... 2017 Ivan Mahonin
9 **
10 **	This package is free software; you can redistribute it and/or
11 **	modify it under the terms of the GNU General Public License as
12 **	published by the Free Software Foundation; either version 2 of
13 **	the License, or (at your option) any later version.
14 **
15 **	This package is distributed in the hope that it will be useful,
16 **	but WITHOUT ANY WARRANTY; without even the implied warranty of
17 **	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 **	General Public License for more details.
19 **	\endlegal
20 */
21 /* ========================================================================= */
22 
23 /* === H E A D E R S ======================================================= */
24 
25 #ifdef USING_PCH
26 #	include "pch.h"
27 #else
28 #ifdef HAVE_CONFIG_H
29 #	include <config.h>
30 #endif
31 
32 #ifndef _WIN32
33 #include <unistd.h>
34 #include <sys/types.h>
35 #include <signal.h>
36 #endif
37 
38 #include <synfig/localization.h>
39 
40 #include "rendererdraftsw.h"
41 
42 #include "../common/optimizer/optimizerblendassociative.h"
43 #include "../common/optimizer/optimizerblendblend.h"
44 #include "../common/optimizer/optimizerblendcomposite.h"
45 #include "../common/optimizer/optimizerblendseparate.h"
46 #include "../common/optimizer/optimizerblendsplit.h"
47 #include "../common/optimizer/optimizerblendzero.h"
48 #include "../common/optimizer/optimizercalcbounds.h"
49 #include "../common/optimizer/optimizerdraft.h"
50 #include "../common/optimizer/optimizerlinear.h"
51 #include "../common/optimizer/optimizerlist.h"
52 #include "../common/optimizer/optimizerpixelprocessorsplit.h"
53 #include "../common/optimizer/optimizersplit.h"
54 #include "../common/optimizer/optimizersurface.h"
55 #include "../common/optimizer/optimizersurfaceconvert.h"
56 #include "../common/optimizer/optimizersurfacecreate.h"
57 #include "../common/optimizer/optimizersurfacedestroy.h"
58 #include "../common/optimizer/optimizersurfaceresample.h"
59 #include "../common/optimizer/optimizertransformation.h"
60 #include "../common/optimizer/optimizertransformationaffine.h"
61 
62 #include "optimizer/optimizerblendsw.h"
63 #include "optimizer/optimizerblursw.h"
64 #include "optimizer/optimizercontoursw.h"
65 #include "optimizer/optimizerlayersw.h"
66 #include "optimizer/optimizermeshsw.h"
67 #include "optimizer/optimizerpixelcolormatrixsw.h"
68 #include "optimizer/optimizerpixelgammasw.h"
69 #include "optimizer/optimizersurfaceresamplesw.h"
70 
71 #endif
72 
73 using namespace synfig;
74 using namespace rendering;
75 
76 /* === M A C R O S ========================================================= */
77 
78 /* === G L O B A L S ======================================================= */
79 
80 /* === P R O C E D U R E S ================================================= */
81 
82 /* === M E T H O D S ======================================================= */
83 
RendererDraftSW()84 RendererDraftSW::RendererDraftSW()
85 {
86 	// register optimizers
87 	register_optimizer(new OptimizerDraftContour());
88 	register_optimizer(new OptimizerDraftBlur());
89 	register_optimizer(new OptimizerDraftLayerSkip("MotionBlur"));
90 	register_optimizer(new OptimizerDraftLayerSkip("radial_blur"));
91 	register_optimizer(new OptimizerDraftLayerSkip("curve_warp"));
92 	register_optimizer(new OptimizerDraftLayerSkip("inside_out"));
93 	register_optimizer(new OptimizerDraftLayerSkip("noise_distort"));
94 	register_optimizer(new OptimizerDraftLayerSkip("spherize"));
95 	register_optimizer(new OptimizerDraftLayerSkip("twirl"));
96 	register_optimizer(new OptimizerDraftLayerSkip("warp"));
97 	register_optimizer(new OptimizerDraftLayerSkip("metaballs"));
98 	register_optimizer(new OptimizerDraftLayerSkip("clamp"));
99 	register_optimizer(new OptimizerDraftLayerSkip("colorcorrect"));
100 	register_optimizer(new OptimizerDraftLayerSkip("halftone2"));
101 	register_optimizer(new OptimizerDraftLayerSkip("halftone3"));
102 	register_optimizer(new OptimizerDraftLayerSkip("lumakey"));
103 	register_optimizer(new OptimizerDraftLayerSkip("julia"));
104 	register_optimizer(new OptimizerDraftLayerSkip("mandelbrot"));
105 	register_optimizer(new OptimizerDraftLayerSkip("conical_gradient"));
106 	register_optimizer(new OptimizerDraftLayerSkip("curve_gradient"));
107 	register_optimizer(new OptimizerDraftLayerSkip("noise"));
108 	register_optimizer(new OptimizerDraftLayerSkip("spiral_gradient"));
109 	register_optimizer(new OptimizerDraftLayerSkip("duplicate"));
110 	register_optimizer(new OptimizerDraftLayerSkip("plant"));
111 	register_optimizer(new OptimizerDraftLayerSkip("super_sample"));
112 	register_optimizer(new OptimizerDraftLayerSkip("text"));
113 	register_optimizer(new OptimizerDraftLayerSkip("xor_pattern"));
114 	register_optimizer(new OptimizerTransformationAffine());
115 	register_optimizer(new OptimizerSurfaceResample());
116 	register_optimizer(new OptimizerDraftResample());
117 	register_optimizer(new OptimizerCalcBounds());
118 
119 	register_optimizer(new OptimizerBlendSW());
120 	register_optimizer(new OptimizerBlurSW());
121 	register_optimizer(new OptimizerContourSW());
122 	register_optimizer(new OptimizerLayerSW());
123 	register_optimizer(new OptimizerPixelColorMatrixSW());
124 	register_optimizer(new OptimizerPixelGammaSW());
125 	register_optimizer(new OptimizerSurfaceResampleSW());
126 
127 	register_optimizer(new OptimizerBlendZero());
128 	register_optimizer(new OptimizerBlendBlend());
129 	register_optimizer(new OptimizerBlendComposite());
130 	register_optimizer(new OptimizerList());
131 	register_optimizer(new OptimizerBlendAssociative());
132 	register_optimizer(new OptimizerBlendSeparate());
133 	register_optimizer(new OptimizerBlendSplit());
134 	register_optimizer(new OptimizerPixelProcessorSplit());
135 	register_optimizer(new OptimizerSurfaceConvert());
136 
137 	register_optimizer(new OptimizerLinear());
138 	register_optimizer(new OptimizerSurfaceCreate());
139 	//register_optimizer(new OptimizerSplit());
140 }
141 
get_name() const142 String RendererDraftSW::get_name() const
143 {
144 	return _("Cobra Draft (software)");
145 }
146 
147 /* === E N T R Y P O I N T ================================================= */
148