1 #pragma once
2 
3 #ifndef igs_radial_blur_h
4 #define igs_radial_blur_h
5 
6 #ifndef IGS_RADIAL_BLUR_EXPORT
7 #define IGS_RADIAL_BLUR_EXPORT
8 #endif
9 
10 namespace igs {
11 namespace radial_blur {
12 IGS_RADIAL_BLUR_EXPORT void convert(
13     const unsigned char *in /* 余白付き */
14     ,
15     const int margin /* 参照画像(in)がもつ余白 */
16 
17     ,
18     const unsigned char *ref /* outと同じ高さ、幅、チャンネル数 */
19     ,
20     const int ref_bits,
21     const int ref_mode  // R,G,B,A,luminance or R,G,B,luminance
22 
23     ,
24     unsigned char *out /* 余白なし */
25 
26     ,
27     const int height /* 求める画像(out)の高さ */
28     ,
29     const int width /* 求める画像(out)の幅 */
30     ,
31     const int channels, const int bits
32 
33     ,
34     const double xc, const double yc, const double twist_radian = 0.0,
35     const double twist_radius = 0.0,
36     const double intensity    = 0.2 /* 強度。ゼロより大きく2以下 */
37     ,
38     const double radius = 0.0 /* ぼかしの始まる半径 */
39     ,
40     const int sub_div = 4 /* 1ならJaggy、2以上はAntialias */
41     ,
42     const bool alpha_rendering_sw = true);
43 #if 0   //-------------------- comment out start ------------------------
44   IGS_RADIAL_BLUR_EXPORT int enlarge_margin( /* Twist時正確でない... */
45 	 const int height
46 	,const int width
47 	,const double xc
48 	,const double yc
49 	,const double twist_radian
50 	,const double twist_radius
51 	,const double intensity=0.2/* 強度。ゼロより大きく2以下 */
52 	/* radius円境界での平均値ぼかしゼロとするためintensityは2以下 */
53 	,const double radius=0.0	/* 平均値ぼかしの始まる半径 */
54 	,const int sub_div=4	/* 1ならJaggy、2以上はAntialias */
55   );
56 #endif  //-------------------- comment out end -------------------------
57 IGS_RADIAL_BLUR_EXPORT int
58 reference_margin(/* Twist時正確でない... */
59                  const int height, const int width, const double xc,
60                  const double yc, const double twist_radian,
61                  const double twist_radius,
62                  const double intensity = 0.2 /* 強度。ゼロより大きく2以下 */
63                  /* radius円境界での平均値ぼかしゼロとするためintensityは2以下
64                     */
65                  ,
66                  const double radius = 0.0 /* 平均値ぼかしの始まる半径 */
67                  ,
68                  const int sub_div = 4 /* 1ならJaggy、2以上はAntialias */
69                  );
70 }
71 }
72 
73 #endif /* !igs_radial_blur_h */
74