1
////////////////////////////////////////////////////////////////////////////////
2
//3456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
3
// 10 20 30 40 50 60 70 80
7
// raico-blur.h - implements public API for blurring cairo image-surfaces
9
// Copyright 2009 Canonical Ltd.
12
// Mirco "MacSlow" Mueller <mirco.mueller@canonical.com>
14
// This program is free software: you can redistribute it and/or modify it
15
// under the terms of the GNU General Public License version 3, as published
16
// by the Free Software Foundation.
18
// This program is distributed in the hope that it will be useful, but
19
// WITHOUT ANY WARRANTY; without even the implied warranties of
20
// MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
21
// PURPOSE. See the GNU General Public License for more details.
23
// You should have received a copy of the GNU General Public License along
24
// with this program. If not, see <http://www.gnu.org/licenses/>.
26
////////////////////////////////////////////////////////////////////////////////
34
typedef enum _raico_blur_quality_t
36
RAICO_BLUR_QUALITY_LOW = 0, // low quality, but fast, maybe interactive
37
RAICO_BLUR_QUALITY_MEDIUM, // compromise between speed and quality
38
RAICO_BLUR_QUALITY_HIGH // quality before speed
39
} raico_blur_quality_t;
41
typedef struct _raico_blur_private_t raico_blur_private_t;
43
typedef struct _raico_blur_t
45
raico_blur_private_t* priv;
49
raico_blur_create (raico_blur_quality_t quality);
52
raico_blur_get_quality (raico_blur_t* blur);
55
raico_blur_set_quality (raico_blur_t* blur,
56
raico_blur_quality_t quality);
59
raico_blur_get_radius (raico_blur_t* blur);
62
raico_blur_set_radius (raico_blur_t* blur,
66
raico_blur_apply (raico_blur_t* blur,
67
cairo_surface_t* surface);
70
raico_blur_destroy (raico_blur_t* blur);
72
#endif // _RAICO_BLUR_H