xenocara/dist/fontconfig/doc/fcmatrix.sgml

415 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>
</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>
<refsect1><title>Version</title>
<para>
Fontconfig version &version;
</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>
</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>
<refsect1><title>Version</title>
<para>
Fontconfig version &version;
</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>
</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>
<refsect1><title>Version</title>
<para>
Fontconfig version &version;
</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>
</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>
<refsect1><title>Version</title>
<para>
Fontconfig version &version;
</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>
</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>
<refsect1><title>Version</title>
<para>
Fontconfig version &version;
</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>
</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>
<refsect1><title>Version</title>
<para>
Fontconfig version &version;
</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>
</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>
<refsect1><title>Version</title>
<para>
Fontconfig version &version;
</para>
</refsect1>
</refentry>