Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4358 Serge 1
/**************************************************************************
2
 *
3
 * Copyright 2009 VMware, Inc.  All Rights Reserved.
4
 *
5
 * Permission is hereby granted, free of charge, to any person obtaining a
6
 * copy of this software and associated documentation files (the
7
 * "Software"), to deal in the Software without restriction, including
8
 * without limitation the rights to use, copy, modify, merge, publish,
9
 * distribute, sub license, and/or sell copies of the Software, and to
10
 * permit persons to whom the Software is furnished to do so, subject to
11
 * the following conditions:
12
 *
13
 * The above copyright notice and this permission notice (including the
14
 * next paragraph) shall be included in all copies or substantial portions
15
 * of the Software.
16
 *
17
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
20
 * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
21
 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22
 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23
 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24
 *
25
 **************************************************************************/
26
 
27
#ifndef PAINT_H
28
#define PAINT_H
29
 
30
#include "vg_context.h"
31
 
32
#include "VG/openvg.h"
33
#include "pipe/p_state.h"
34
 
35
struct vg_paint;
36
struct vg_image;
37
struct pipe_sampler_state;
38
struct pipe_resource;
39
 
40
struct vg_paint *paint_create(struct vg_context *ctx);
41
void paint_destroy(struct vg_paint *paint);
42
 
43
void paint_set_color(struct vg_paint *paint,
44
                     const VGfloat *color);
45
void paint_get_color(struct vg_paint *paint,
46
                     VGfloat *color);
47
 
48
void paint_set_coloriv(struct vg_paint *paint,
49
                      const VGint *color);
50
void paint_get_coloriv(struct vg_paint *paint,
51
                      VGint *color);
52
 
53
void paint_set_colori(struct vg_paint *paint,
54
                      VGuint rgba);
55
 
56
VGuint paint_colori(struct vg_paint *paint);
57
 
58
void paint_set_type(struct vg_paint *paint, VGPaintType type);
59
VGPaintType paint_type(struct vg_paint *paint);
60
void paint_resolve_type(struct vg_paint *paint);
61
 
62
void paint_set_linear_gradient(struct vg_paint *paint,
63
                               const VGfloat *coords);
64
void paint_linear_gradient(struct vg_paint *paint,
65
                           VGfloat *coords);
66
void paint_set_linear_gradienti(struct vg_paint *paint,
67
                               const VGint *coords);
68
void paint_linear_gradienti(struct vg_paint *paint,
69
                           VGint *coords);
70
 
71
 
72
void paint_set_radial_gradient(struct vg_paint *paint,
73
                               const VGfloat *values);
74
void paint_radial_gradient(struct vg_paint *paint,
75
                           VGfloat *coords);
76
void paint_set_radial_gradienti(struct vg_paint *paint,
77
                                const VGint *values);
78
void paint_radial_gradienti(struct vg_paint *paint,
79
                            VGint *coords);
80
 
81
 
82
void paint_set_ramp_stops(struct vg_paint *paint, const VGfloat *stops,
83
                          int num);
84
void paint_ramp_stops(struct vg_paint *paint, VGfloat *stops,
85
                      int num);
86
 
87
void paint_set_ramp_stopsi(struct vg_paint *paint, const VGint *stops,
88
                           int num);
89
void paint_ramp_stopsi(struct vg_paint *paint, VGint *stops,
90
                       int num);
91
 
92
int paint_num_ramp_stops(struct vg_paint *paint);
93
 
94
void paint_set_spread_mode(struct vg_paint *paint,
95
                           VGint mode);
96
VGColorRampSpreadMode paint_spread_mode(struct vg_paint *paint);
97
 
98
 
99
void paint_set_pattern(struct vg_paint *paint,
100
                       struct vg_image *img);
101
void paint_set_pattern_tiling(struct vg_paint *paint,
102
                              VGTilingMode mode);
103
VGTilingMode paint_pattern_tiling(struct vg_paint *paint);
104
 
105
void paint_set_color_ramp_premultiplied(struct vg_paint *paint,
106
                                        VGboolean set);
107
VGboolean paint_color_ramp_premultiplied(struct vg_paint *paint);
108
 
109
 
110
VGint paint_bind_samplers(struct vg_paint *paint, struct pipe_sampler_state **samplers,
111
                          struct pipe_sampler_view **sampler_views);
112
 
113
VGboolean paint_is_degenerate(struct vg_paint *paint);
114
 
115
VGint paint_constant_buffer_size(struct vg_paint *paint);
116
 
117
void paint_fill_constant_buffer(struct vg_paint *paint,
118
                                const struct matrix *mat,
119
                                void *buffer);
120
 
121
VGboolean paint_is_opaque(struct vg_paint *paint);
122
 
123
#endif