Edit

IABSD.fr/xenocara/lib/fontconfig/doc/fcmatrix.fncs

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2006-12-31 14:57:18
    Hash : 98dd1c2e
    Message : Fontconfig 2.4.2

  • lib/fontconfig/doc/fcmatrix.fncs
  • /*
     * $Id: fcmatrix.fncs,v 1.1.1.2 2006/12/31 14:58:00 matthieu Exp $
     *
     * 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 Keith Packard not be used in
     * advertising or publicity pertaining to distribution of the software without
     * specific, written prior permission.  Keith Packard makes no
     * representations about the suitability of this software for any purpose.  It
     * is provided "as is" without express or implied warranty.
     *
     * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
     * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
     * EVENT SHALL KEITH PACKARD 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.
     */
    @FUNC@		FcMatrixInit
    @PURPOSE@	initialize an FcMatrix structure
    @TYPE1@		FcMatrix *
    @ARG1@		matrix
    @DESC@
    <function>FcMatrixInit</function> initializes <parameter>matrix</parameter>
    to the identity matrix.
    @@
    
    @FUNC@		FcMatrixCopy
    @PURPOSE@	Copy a matrix
    @TYPE1@		const FcMatrix *
    @ARG1@		matrix
    @DESC@
    <function>FcMatrixCopy</function> allocates a new FcMatrix
    and copies <parameter>mat</parameter> into it.
    @@
    
    @FUNC@		FcMatrixEqual
    @PURPOSE@	Compare two matrices
    @TYPE1@		const FcMatrix *
    @ARG1@		matrix1
    @TYPE2@		const FcMatrix *
    @ARG2@		matrix2
    @DESC@
    <function>FcMatrixEqual</function> compares <parameter>matrix1</parameter>
    and <parameter>matrix2</parameter> returning FcTrue when they are equal and
    FcFalse when they are not.
    @@
    
    @FUNC@		FcMatrixMultiply
    @PURPOSE@	Multiply matrices
    @TYPE1@		FcMatrix *
    @ARG1@		result
    @TYPE2@		const FcMatrix *
    @ARG2@		matrix1
    @TYPE3@		const FcMatrix *
    @ARG3@		matrix2
    @DESC@
    <function>FcMatrixMultiply</function> multiplies
    <parameter>matrix1</parameter> and <parameter>matrix2</parameter> storing
    the result in <parameter>result</parameter>.
    @@
    
    @FUNC@		FcMatrixRotate
    @PURPOSE@	Rotate a matrix
    @TYPE1@		FcMatrix *
    @ARG1@		matrix
    @TYPE2@		double%
    @ARG2@		cos
    @TYPE3@		double%
    @ARG3@		sin
    @DESC@
    <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>
    @@
    
    @FUNC@		FcMatrixScale
    @PURPOSE@	Scale a matrix
    @TYPE1@		FcMatrix *
    @ARG1@		matrix
    @TYPE2@		double%
    @ARG2@		sx
    @TYPE3@		double%
    @ARG3@		dy
    @DESC@
    <function>FcMatrixScale</function> multiplies <parameter>matrix</parameter>
    x values by <parameter>sx</parameter> and y values by
    <parameter>sy</parameter>.  This is done by multiplying by
    the matrix:
    <programlisting>
       sx  0
       0   sy
    </programlisting>
    @@
    
    @FUNC@		FcMatrixShear
    @PURPOSE@	Shear a matrix
    @TYPE1@		FcMatrix *
    @ARG1@		matrix
    @TYPE2@		double%
    @ARG2@		sh
    @TYPE3@		double%
    @ARG3@		sv
    @DESC@
    <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>
    @@