summaryrefslogtreecommitdiff
path: root/doc/gutenprint/html/curve_8h.html
blob: 365e2a887e410e17fd73559b039d3d5efc1556ec (plain)
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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>libgutenprint API Reference: include/gutenprint/curve.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.3 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<div class="nav">
<a class="el" href="dir_000000.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">gutenprint</a></div>
<h1>curve.h File Reference</h1>Curve functions. <a href="#_details">More...</a>
<p>
<code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;<a class="el" href="sequence_8h.html">gutenprint/sequence.h</a>&gt;</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Point (x,y) for piecewise curve.  <a href="structstp__curve__point__t.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef stp_curve&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga0">stp_curve_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The curve opaque data type.  <a href="group__curve.html#ga0"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga47">stp_curve_type_t</a> { <a class="el" href="group__curve.html#gga47a1">STP_CURVE_TYPE_LINEAR</a>, 
<a class="el" href="group__curve.html#gga47a2">STP_CURVE_TYPE_SPLINE</a>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Curve types.  <a href="group__curve.html#ga47">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga48">stp_curve_wrap_mode_t</a> { <a class="el" href="group__curve.html#gga48a3">STP_CURVE_WRAP_NONE</a>, 
<a class="el" href="group__curve.html#gga48a4">STP_CURVE_WRAP_AROUND</a>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wrapping mode.  <a href="group__curve.html#ga48">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga49">stp_curve_compose_t</a> { <a class="el" href="group__curve.html#gga49a5">STP_CURVE_COMPOSE_ADD</a>, 
<a class="el" href="group__curve.html#gga49a6">STP_CURVE_COMPOSE_MULTIPLY</a>, 
<a class="el" href="group__curve.html#gga49a7">STP_CURVE_COMPOSE_EXPONENTIATE</a>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Composition types.  <a href="group__curve.html#ga49">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga50">stp_curve_bounds_t</a> { <a class="el" href="group__curve.html#gga50a8">STP_CURVE_BOUNDS_RESCALE</a>, 
<a class="el" href="group__curve.html#gga50a9">STP_CURVE_BOUNDS_CLIP</a>, 
<a class="el" href="group__curve.html#gga50a10">STP_CURVE_BOUNDS_ERROR</a>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Behaviour when curve exceeds bounds.  <a href="group__curve.html#ga50">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#ga0">stp_curve_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga1">stp_curve_create</a> (<a class="el" href="group__curve.html#ga48">stp_curve_wrap_mode_t</a> wrap)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new curve.  <a href="group__curve.html#ga1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#ga0">stp_curve_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga2">stp_curve_create_copy</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy and allocate an curve.  <a href="group__curve.html#ga2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga3">stp_curve_copy</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *dest, const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *source)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy an curve.  <a href="group__curve.html#ga3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga4">stp_curve_destroy</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy an curve.  <a href="group__curve.html#ga4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga5">stp_curve_set_bounds</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, double low, double high)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the lower and upper bounds on a curve.  <a href="group__curve.html#ga5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga6">stp_curve_get_bounds</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, double *low, double *high)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the lower and upper bounds on a curve.  <a href="group__curve.html#ga6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#ga48">stp_curve_wrap_mode_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga7">stp_curve_get_wrap</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the wrapping mode.  <a href="group__curve.html#ga7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga8">stp_curve_is_piecewise</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether the curve is piecewise.  <a href="group__curve.html#ga8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga9">stp_curve_get_range</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, double *low, double *high)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga10">stp_curve_count_points</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of allocated points in the curve.  <a href="group__curve.html#ga10"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga11">stp_curve_set_interpolation_type</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, <a class="el" href="group__curve.html#ga47">stp_curve_type_t</a> itype)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the curve interpolation type.  <a href="group__curve.html#ga11"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#ga47">stp_curve_type_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga12">stp_curve_get_interpolation_type</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the curve interpolation type.  <a href="group__curve.html#ga12"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga13">stp_curve_set_data</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t count, const double *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set all data points of the curve.  <a href="group__curve.html#ga13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga14">stp_curve_set_data_points</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t count, const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a> *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set all data points of the curve.  <a href="group__curve.html#ga14"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga15">stp_curve_set_float_data</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t count, const float *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the data points in a curve from float values.  <a href="group__curve.html#ga15"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga16">stp_curve_set_long_data</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t count, const long *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the data points in a curve from long values.  <a href="group__curve.html#ga16"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga17">stp_curve_set_ulong_data</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t count, const unsigned long *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the data points in a curve from unsigned long values.  <a href="group__curve.html#ga17"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga18">stp_curve_set_int_data</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t count, const int *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the data points in a curve from integer values.  <a href="group__curve.html#ga18"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga19">stp_curve_set_uint_data</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t count, const unsigned int *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the data points in a curve from unsigned integer values.  <a href="group__curve.html#ga19"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga20">stp_curve_set_short_data</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t count, const short *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the data points in a curve from short values.  <a href="group__curve.html#ga20"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga21">stp_curve_set_ushort_data</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t count, const unsigned short *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the data points in a curve from unsigned short values.  <a href="group__curve.html#ga21"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#ga0">stp_curve_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga22">stp_curve_get_subrange</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t start, size_t count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a curve containing a subrange of data.  <a href="group__curve.html#ga22"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga23">stp_curve_set_subrange</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *range, size_t start)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga24">stp_curve_get_data</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t *count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the curve's raw data.  <a href="group__curve.html#ga24"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga25">stp_curve_get_data_points</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t *count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the curve's raw data as points.  <a href="group__curve.html#ga25"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const float *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga26">stp_curve_get_float_data</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t *count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get pointer to the curve's raw data as floats.  <a href="group__curve.html#ga26"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const long *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga27">stp_curve_get_long_data</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t *count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get pointer to the curve's raw data as longs.  <a href="group__curve.html#ga27"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned long *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga28">stp_curve_get_ulong_data</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t *count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get pointer to the curve's raw data as unsigned longs.  <a href="group__curve.html#ga28"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const int *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga29">stp_curve_get_int_data</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t *count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get pointer to the curve's raw data as integers.  <a href="group__curve.html#ga29"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned int *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga30">stp_curve_get_uint_data</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t *count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get pointer to the curve's raw data as unsigned integers.  <a href="group__curve.html#ga30"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const short *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga31">stp_curve_get_short_data</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t *count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get pointer to the curve's raw data as shorts.  <a href="group__curve.html#ga31"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned short *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga32">stp_curve_get_ushort_data</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t *count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get pointer to the curve's raw data as unsigned shorts.  <a href="group__curve.html#ga32"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="group__sequence.html#ga0">stp_sequence_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga33">stp_curve_get_sequence</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the underlying stp_sequence_t data structure which stp_curve_t is derived from.  <a href="group__curve.html#ga33"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga34">stp_curve_set_gamma</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, double f_gamma)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the gamma of a curve.  <a href="group__curve.html#ga34"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga35">stp_curve_get_gamma</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the gamma value of the curve.  <a href="group__curve.html#ga35"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga36">stp_curve_set_point</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t where, double data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a point along the curve.  <a href="group__curve.html#ga36"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga37">stp_curve_get_point</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t where, double *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a point along the curve.  <a href="group__curve.html#ga37"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga38">stp_curve_interpolate_value</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, double where, double *result)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interpolate a point along the curve.  <a href="group__curve.html#ga38"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga39">stp_curve_resample</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, size_t points)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resample a curve (change the number of points).  <a href="group__curve.html#ga39"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga40">stp_curve_rescale</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve, double scale, <a class="el" href="group__curve.html#ga49">stp_curve_compose_t</a> mode, <a class="el" href="group__curve.html#ga50">stp_curve_bounds_t</a> bounds_mode)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rescale a curve (multiply all points by a scaling constant).  <a href="group__curve.html#ga40"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga41">stp_curve_write</a> (FILE *file, const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write a curve to a file.  <a href="group__curve.html#ga41"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga42">stp_curve_write_string</a> (const <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *curve)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write a curve to a string.  <a href="group__curve.html#ga42"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#ga0">stp_curve_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga43">stp_curve_create_from_stream</a> (FILE *fp)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a curve from a stream.  <a href="group__curve.html#ga43"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#ga0">stp_curve_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga44">stp_curve_create_from_file</a> (const char *file)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a curve from a stream.  <a href="group__curve.html#ga44"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#ga0">stp_curve_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga45">stp_curve_create_from_string</a> (const char *string)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a curve from a string.  <a href="group__curve.html#ga45"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga46">stp_curve_compose</a> (<a class="el" href="group__curve.html#ga0">stp_curve_t</a> **retval, <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *a, <a class="el" href="group__curve.html#ga0">stp_curve_t</a> *b, <a class="el" href="group__curve.html#ga49">stp_curve_compose_t</a> mode, int points)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compose two curves, creating a third curve.  <a href="group__curve.html#ga46"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Curve functions. 
<p>
<hr size="1"><address style="align: right;"><small>Generated on Fri Jul 15 19:52:20 2005 for libgutenprint API Reference by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.3 </small></address>
</body>
</html>