2016-05-17 03:04:11 +12:00
|
|
|
#pragma once
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
#ifndef BLEND_INCLUDE
|
|
|
|
#define BLEND_INCLUDE
|
|
|
|
|
|
|
|
#include "traster.h"
|
|
|
|
#include "trastercm.h"
|
|
|
|
|
|
|
|
#include "ttoonzimage.h"
|
|
|
|
|
|
|
|
//------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
struct BlendParam {
|
2016-06-15 18:43:10 +12:00
|
|
|
std::vector<int>
|
|
|
|
colorsIndexes; // List of color indexes to be blended together
|
|
|
|
double intensity; // Blur radius
|
|
|
|
int smoothness; // Number of neighbouring Blur Samples per pixel
|
|
|
|
bool stopAtCountour; // Blur is obstacled by not chosen color indexes
|
|
|
|
int superSampling;
|
2016-03-19 06:57:51 +13:00
|
|
|
};
|
|
|
|
|
|
|
|
//------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
template <typename PIXEL>
|
2016-06-15 18:43:10 +12:00
|
|
|
void blend(TToonzImageP ti, TRasterPT<PIXEL> rasOut,
|
|
|
|
const std::vector<BlendParam> ¶ms);
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
#endif // BLEND_INCLUDE
|