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()84RendererDraftSW::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() const142String RendererDraftSW::get_name() const 143 { 144 return _("Cobra Draft (software)"); 145 } 146 147 /* === E N T R Y P O I N T ================================================= */ 148