File: lua-oocairo-pattern.pod

package info (click to toggle)
oocairo 1.4-1.2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 712 kB
  • sloc: ansic: 3,352; makefile: 59; sh: 15
file content (169 lines) | stat: -rw-r--r-- 4,412 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
=head1 Name

lua-oocairo-pattern - Cairo pattern objects

=head1 Introduction

A pattern object is any one of several things that can be used as the
B<source> for a Cairo context, defining what colours and transparencies
will be used for drawing.  These objects can be created explicitly with
the various C<pattern_create_*> functions in the module table (see
L<lua-oocairo(3)> for details), or implicitly by calling methods like
C<cr:set_source_rgb()> on a context object (see L<lua-oocairo-context(3)>).

Pattern objects can be compared with the C<==> operator.  This will compare
the identity of the objects, so different Lua objects which refer to the
same C<cairo_pattern_t> will compare as equal.

=head1 Methods

=over

=item pat:add_color_stop_rgb (offset, r, g, b)

Add a new colour stop to a gradient (either linear or radial, it doesn't
matter).  The offset is a number from zero (the start of the line or the
first circle of the gradient) to one (the end of the line or the second
circle).  The colour values must also be numbers from zero to one.
The alpha level is set to fully transparent.

This will throw an exception if called on a pattern which isn't a gradient.

=item pat:add_color_stop_rgba (offset, r, g, b, a)

Same as C<pat:add_color_stop_rgb()> above, but the alpha value can be
set to less than one to give some transparency to the gradient.  This
can be used for gradients which fade away into nothing for example.

=item pat:get_color_stops ()

Returns the color stops defined on a linear or radial gradient.
Throws an exception if called on any other type of pattern.

The return value will be a table, an array with one entry per color stop.
Each entry will be a table containing five numbers, in the following
order: offset, red, green, blue, alpha.

=item pat:get_extend ()

Return the current method of extending the pattern beyond its limits.
The return value will be one of the strings accepted by the
C<pat:set_extend()> method.

=item pat:get_filter ()

Return the current filter method, which will be one of the strings
accepted by the C<pat:set_filter()> method.

=item pat:get_linear_points ()

Return the start and end points of a linear gradient as four numbers.
Throws an exception if called on any other type of pattern.

=item pat:get_matrix ()

Return the current transformation matrix used for the pattern.
See L<lua-oocairo-matrix(3)>.

=item pat:get_radial_circles ()

Return the start and end circles of a radial gradient as six numbers.
Throws an exception if called on any other type of pattern.

=item pat:get_rgba ()

Return the colour value and alpha level for a solid colour pattern.
Throws an exception for any other type of pattern.  The return values
will be four numbers, in the following order: red, green, blue, alpha.

=item pat:get_surface ()

Return the surface object (see L<lua-oocairo-surface(3)>) used for a
surface pattern.  Throws an exception for any other kind of pattern.

=item pat:get_type ()

Returns a string indicating what kind of pattern object this is.
The return value will be one of the following:

=over

=item linear

=item radial

=item solid

=item surface

=back

=item pat:set_extend (extendtype)

Set the way in which the pattern should be extended beyond its defined
limits.  The argument must be one of the following strings:

=over

=item none

Everything outside the area defined by the pattern is fully transparent.

=item repeat

Pattern tiled by endlessly repeating it.

=item reflect

Pattern tiled by reflecting it at its edges.

=item pad

Whatever is at the edge of the pattern is extended outwards.

=back

=item pat:set_filter (filtertype)

Set the filter method used for picking colours from the pattern when
it is being used to render something.  The argument must be one of the
following strings:

=over

=item fast

Fast interpolation that is likely to be low quality in some cases (but
probably OK for a smooth gradient).

=item good

Reasonably good quality interpolation.

=item best

The highest quality interpolation available, but likely very slow.

=item nearest

Pick colour of nearest pixel.

=item bilinear

Interpolate between pixels.

=item gaussian

Gaussian blur, but this isn't implemented yet.

=back

=item pat:set_matrix (matrix)

Set the transformation matrix used for the pattern, as a table of six
numbers.  See L<lua-oocairo-matrix(3)>.

=back

=for comment
vi:ts=4 sw=4 expandtab