1 #pragma once
2 
3 #ifndef BLEND_INCLUDE
4 #define BLEND_INCLUDE
5 
6 #include "traster.h"
7 #include "trastercm.h"
8 
9 #include "ttoonzimage.h"
10 
11 //------------------------------------------------------------------------------------------
12 
13 struct BlendParam {
14   std::vector<int>
15       colorsIndexes;    // List of color indexes to be blended together
16   double intensity;     // Blur radius
17   int smoothness;       // Number of neighbouring Blur Samples per pixel
18   bool stopAtCountour;  // Blur is obstacled by not chosen color indexes
19   int superSampling;
20 };
21 
22 //------------------------------------------------------------------------------------------
23 
24 template <typename PIXEL>
25 void blend(TToonzImageP ti, TRasterPT<PIXEL> rasOut,
26            const std::vector<BlendParam> &params);
27 
28 #endif  // BLEND_INCLUDE
29