xenocara/dist/fontconfig/doc/fcmatrix.sgml

387 lines
15 KiB
Plaintext
Raw Normal View History

<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcMatrixInit">
<refmeta>
<refentrytitle>FcMatrixInit</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcMatrixInit</refname>
<refpurpose>initialize an FcMatrix structure</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>FcMatrixInit</function></funcdef>
<paramdef>FcMatrix *<parameter>matrix</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
<function>FcMatrixInit</function> initializes <parameter>matrix</parameter>
to the identity matrix.
</para>
</refsect1>
</refentry>
<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcMatrixCopy">
<refmeta>
<refentrytitle>FcMatrixCopy</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcMatrixCopy</refname>
<refpurpose>Copy a matrix</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>FcMatrixCopy</function></funcdef>
<paramdef>const FcMatrix *<parameter>matrix</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
<function>FcMatrixCopy</function> allocates a new FcMatrix
and copies <parameter>mat</parameter> into it.
</para>
</refsect1>
</refentry>
<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcMatrixEqual">
<refmeta>
<refentrytitle>FcMatrixEqual</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcMatrixEqual</refname>
<refpurpose>Compare two matrices</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>FcMatrixEqual</function></funcdef>
<paramdef>const FcMatrix *<parameter>matrix1</parameter></paramdef>
<paramdef>const FcMatrix *<parameter>matrix2</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
<function>FcMatrixEqual</function> compares <parameter>matrix1</parameter>
and <parameter>matrix2</parameter> returning FcTrue when they are equal and
FcFalse when they are not.
</para>
</refsect1>
</refentry>
<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcMatrixMultiply">
<refmeta>
<refentrytitle>FcMatrixMultiply</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcMatrixMultiply</refname>
<refpurpose>Multiply matrices</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>FcMatrixMultiply</function></funcdef>
<paramdef>FcMatrix *<parameter>result</parameter></paramdef>
<paramdef>const FcMatrix *<parameter>matrix1</parameter></paramdef>
<paramdef>const FcMatrix *<parameter>matrix2</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
<function>FcMatrixMultiply</function> multiplies
<parameter>matrix1</parameter> and <parameter>matrix2</parameter> storing
the result in <parameter>result</parameter>.
</para>
</refsect1>
</refentry>
<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcMatrixRotate">
<refmeta>
<refentrytitle>FcMatrixRotate</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcMatrixRotate</refname>
<refpurpose>Rotate a matrix</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>FcMatrixRotate</function></funcdef>
<paramdef>FcMatrix *<parameter>matrix</parameter></paramdef>
<paramdef>double <parameter>cos</parameter></paramdef>
<paramdef>double <parameter>sin</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
<function>FcMatrixRotate</function> rotates <parameter>matrix</parameter>
by the angle who's sine is <parameter>sin</parameter> and cosine is
<parameter>cos</parameter>. This is done by multiplying by the
matrix:
<programlisting>
cos -sin
sin cos
</programlisting>
</para>
</refsect1>
</refentry>
<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcMatrixScale">
<refmeta>
<refentrytitle>FcMatrixScale</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcMatrixScale</refname>
<refpurpose>Scale a matrix</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>FcMatrixScale</function></funcdef>
<paramdef>FcMatrix *<parameter>matrix</parameter></paramdef>
<paramdef>double <parameter>sx</parameter></paramdef>
<paramdef>double <parameter>dy</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
<function>FcMatrixScale</function> multiplies <parameter>matrix</parameter>
x values by <parameter>sx</parameter> and y values by
<parameter>dy</parameter>. This is done by multiplying by
the matrix:
<programlisting>
sx 0
0 dy
</programlisting>
</para>
</refsect1>
</refentry>
<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcMatrixShear">
<refmeta>
<refentrytitle>FcMatrixShear</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcMatrixShear</refname>
<refpurpose>Shear a matrix</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>FcMatrixShear</function></funcdef>
<paramdef>FcMatrix *<parameter>matrix</parameter></paramdef>
<paramdef>double <parameter>sh</parameter></paramdef>
<paramdef>double <parameter>sv</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
<function>FcMatrixShare</function> shears <parameter>matrix</parameter>
horizontally by <parameter>sh</parameter> and vertically by
<parameter>sv</parameter>. This is done by multiplying by
the matrix:
<programlisting>
1 sh
sv 1
</programlisting>
</para>
</refsect1>
</refentry>