]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * $Id$ | |
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 | @FUNC@ FcMatrixInit | |
25 | @PURPOSE@ initialize an FcMatrix structure | |
26 | @TYPE1@ FcMatrix * | |
27 | @ARG1@ matrix | |
28 | @DESC@ | |
29 | <function>FcMatrixInit</function> initializes <parameter>matrix</parameter> | |
30 | to the identity matrix. | |
31 | @@ | |
32 | ||
33 | @FUNC@ FcMatrixCopy | |
34 | @PURPOSE@ Copy a matrix | |
35 | @TYPE1@ const FcMatrix * | |
36 | @ARG1@ matrix | |
37 | @DESC@ | |
38 | <function>FcMatrixCopy</function> allocates a new FcMatrix | |
39 | and copies <parameter>mat</parameter> into it. | |
40 | @@ | |
41 | ||
42 | @FUNC@ FcMatrixEqual | |
43 | @PURPOSE@ Compare two matrices | |
44 | @TYPE1@ const FcMatrix * | |
45 | @ARG1@ matrix1 | |
46 | @TYPE2@ const FcMatrix * | |
47 | @ARG2@ matrix2 | |
48 | @DESC@ | |
49 | <function>FcMatrixEqual</function> compares <parameter>matrix1</parameter> | |
50 | and <parameter>matrix2</parameter> returning FcTrue when they are equal and | |
51 | FcFalse when they are not. | |
52 | @@ | |
53 | ||
54 | @FUNC@ FcMatrixMultiply | |
55 | @PURPOSE@ Multiply matrices | |
56 | @TYPE1@ FcMatrix * | |
57 | @ARG1@ result | |
58 | @TYPE2@ const FcMatrix * | |
59 | @ARG2@ matrix1 | |
60 | @TYPE3@ const FcMatrix * | |
61 | @ARG3@ matrix2 | |
62 | @DESC@ | |
63 | <function>FcMatrixMultiply</function> multiplies | |
64 | <parameter>matrix1</parameter> and <parameter>matrix2</parameter> storing | |
65 | the result in <parameter>result</parameter>. | |
66 | @@ | |
67 | ||
68 | @FUNC@ FcMatrixRotate | |
69 | @PURPOSE@ Rotate a matrix | |
70 | @TYPE1@ FcMatrix * | |
71 | @ARG1@ matrix | |
72 | @TYPE2@ double% | |
73 | @ARG2@ cos | |
74 | @TYPE3@ double% | |
75 | @ARG3@ sin | |
76 | @DESC@ | |
77 | <function>FcMatrixRotate</function> rotates <parameter>matrix</parameter> | |
78 | by the angle who's sine is <parameter>sin</parameter> and cosine is | |
79 | <parameter>cos</parameter>. This is done by multiplying by the | |
80 | matrix: | |
81 | <programlisting> | |
82 | cos -sin | |
83 | sin cos | |
84 | </programlisting> | |
85 | @@ | |
86 | ||
87 | @FUNC@ FcMatrixScale | |
88 | @PURPOSE@ Scale a matrix | |
89 | @TYPE1@ FcMatrix * | |
90 | @ARG1@ matrix | |
91 | @TYPE2@ double% | |
92 | @ARG2@ sx | |
93 | @TYPE3@ double% | |
94 | @ARG3@ dy | |
95 | @DESC@ | |
96 | <function>FcMatrixScale</function> multiplies <parameter>matrix</parameter> | |
97 | x values by <parameter>sx</parameter> and y values by | |
98 | <parameter>sy</parameter>. This is done by multiplying by | |
99 | the matrix: | |
100 | <programlisting> | |
101 | sx 0 | |
102 | 0 sy | |
103 | </programlisting> | |
104 | @@ | |
105 | ||
106 | @FUNC@ FcMatrixShear | |
107 | @PURPOSE@ Shear a matrix | |
108 | @TYPE1@ FcMatrix * | |
109 | @ARG1@ matrix | |
110 | @TYPE2@ double% | |
111 | @ARG2@ sh | |
112 | @TYPE3@ double% | |
113 | @ARG3@ sv | |
114 | @DESC@ | |
115 | <function>FcMatrixShare</function> shears <parameter>matrix</parameter> | |
116 | horizontally by <parameter>sh</parameter> and vertically by | |
117 | <parameter>sv</parameter>. This is done by multiplying by | |
118 | the matrix: | |
119 | <programlisting> | |
120 | 1 sh | |
121 | sv 1 | |
122 | </programlisting> | |
123 | @@ |