]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * fontconfig/doc/fcmatrix.fncs | |
3 | * | |
4 | * Copyright © 2003 Keith Packard | |
5 | * | |
6 | * Permission to use, copy, modify, distribute, and sell this software and its | |
7 | * documentation for any purpose is hereby granted without fee, provided that | |
8 | * the above copyright notice appear in all copies and that both that | |
9 | * copyright notice and this permission notice appear in supporting | |
10 | * documentation, and that the name of Keith Packard not be used in | |
11 | * advertising or publicity pertaining to distribution of the software without | |
12 | * specific, written prior permission. Keith Packard makes no | |
13 | * representations about the suitability of this software for any purpose. It | |
14 | * is provided "as is" without express or implied warranty. | |
15 | * | |
16 | * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, | |
17 | * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO | |
18 | * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR | |
19 | * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, | |
20 | * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER | |
21 | * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR | |
22 | * PERFORMANCE OF THIS SOFTWARE. | |
23 | */ | |
24 | ||
25 | @RET@ void | |
26 | @FUNC@ FcMatrixInit | |
27 | @PURPOSE@ initialize an FcMatrix structure | |
28 | @TYPE1@ FcMatrix * | |
29 | @ARG1@ matrix | |
30 | @DESC@ | |
31 | <function>FcMatrixInit</function> initializes <parameter>matrix</parameter> | |
32 | to the identity matrix. | |
33 | @@ | |
34 | ||
35 | @FUNC@ FcMatrixCopy | |
36 | @PURPOSE@ Copy a matrix | |
37 | @TYPE1@ const FcMatrix * | |
38 | @ARG1@ matrix | |
39 | @DESC@ | |
40 | <function>FcMatrixCopy</function> allocates a new FcMatrix | |
41 | and copies <parameter>mat</parameter> into it. | |
42 | @@ | |
43 | ||
44 | @FUNC@ FcMatrixEqual | |
45 | @PURPOSE@ Compare two matrices | |
46 | @TYPE1@ const FcMatrix * | |
47 | @ARG1@ matrix1 | |
48 | @TYPE2@ const FcMatrix * | |
49 | @ARG2@ matrix2 | |
50 | @DESC@ | |
51 | <function>FcMatrixEqual</function> compares <parameter>matrix1</parameter> | |
52 | and <parameter>matrix2</parameter> returning FcTrue when they are equal and | |
53 | FcFalse when they are not. | |
54 | @@ | |
55 | ||
56 | @FUNC@ FcMatrixMultiply | |
57 | @PURPOSE@ Multiply matrices | |
58 | @TYPE1@ FcMatrix * | |
59 | @ARG1@ result | |
60 | @TYPE2@ const FcMatrix * | |
61 | @ARG2@ matrix1 | |
62 | @TYPE3@ const FcMatrix * | |
63 | @ARG3@ matrix2 | |
64 | @DESC@ | |
65 | <function>FcMatrixMultiply</function> multiplies | |
66 | <parameter>matrix1</parameter> and <parameter>matrix2</parameter> storing | |
67 | the result in <parameter>result</parameter>. | |
68 | @@ | |
69 | ||
70 | @FUNC@ FcMatrixRotate | |
71 | @PURPOSE@ Rotate a matrix | |
72 | @TYPE1@ FcMatrix * | |
73 | @ARG1@ matrix | |
74 | @TYPE2@ double% | |
75 | @ARG2@ cos | |
76 | @TYPE3@ double% | |
77 | @ARG3@ sin | |
78 | @DESC@ | |
79 | <function>FcMatrixRotate</function> rotates <parameter>matrix</parameter> | |
80 | by the angle who's sine is <parameter>sin</parameter> and cosine is | |
81 | <parameter>cos</parameter>. This is done by multiplying by the | |
82 | matrix: | |
83 | <programlisting> | |
84 | cos -sin | |
85 | sin cos | |
86 | </programlisting> | |
87 | @@ | |
88 | ||
89 | @FUNC@ FcMatrixScale | |
90 | @PURPOSE@ Scale a matrix | |
91 | @TYPE1@ FcMatrix * | |
92 | @ARG1@ matrix | |
93 | @TYPE2@ double% | |
94 | @ARG2@ sx | |
95 | @TYPE3@ double% | |
96 | @ARG3@ dy | |
97 | @DESC@ | |
98 | <function>FcMatrixScale</function> multiplies <parameter>matrix</parameter> | |
99 | x values by <parameter>sx</parameter> and y values by | |
100 | <parameter>sy</parameter>. This is done by multiplying by | |
101 | the matrix: | |
102 | <programlisting> | |
103 | sx 0 | |
104 | 0 sy | |
105 | </programlisting> | |
106 | @@ | |
107 | ||
108 | @FUNC@ FcMatrixShear | |
109 | @PURPOSE@ Shear a matrix | |
110 | @TYPE1@ FcMatrix * | |
111 | @ARG1@ matrix | |
112 | @TYPE2@ double% | |
113 | @ARG2@ sh | |
114 | @TYPE3@ double% | |
115 | @ARG3@ sv | |
116 | @DESC@ | |
117 | <function>FcMatrixShare</function> shears <parameter>matrix</parameter> | |
118 | horizontally by <parameter>sh</parameter> and vertically by | |
119 | <parameter>sv</parameter>. This is done by multiplying by | |
120 | the matrix: | |
121 | <programlisting> | |
122 | 1 sh | |
123 | sv 1 | |
124 | </programlisting> | |
125 | @@ |