FcMatrixInit

3 Fontconfig &version;

FcMatrixInit

initialize an FcMatrix structure

    #include <fontconfig/fontconfig.h>

    	    void FcMatrixInit
    		FcMatrix *matrix

## Description

`FcMatrixInit` initializes `matrix` to the identity matrix.

FcMatrixCopy

3 Fontconfig &version;

FcMatrixCopy

Copy a matrix

    #include <fontconfig/fontconfig.h>

    	    void FcMatrixCopy
    		const FcMatrix *matrix

## Description

`FcMatrixCopy` allocates a new FcMatrix and copies `mat` into it.

FcMatrixEqual

3 Fontconfig &version;

FcMatrixEqual

Compare two matrices

    #include <fontconfig/fontconfig.h>

    	    void FcMatrixEqual
    		const FcMatrix *matrix1
    		const FcMatrix *matrix2

## Description

`FcMatrixEqual` compares `matrix1` and `matrix2` returning FcTrue when they are equal and FcFalse when they are not.

FcMatrixMultiply

3 Fontconfig &version;

FcMatrixMultiply

Multiply matrices

    #include <fontconfig/fontconfig.h>

    	    void FcMatrixMultiply
    		FcMatrix *result
    		const FcMatrix *matrix1
    		const FcMatrix *matrix2

## Description

`FcMatrixMultiply` multiplies `matrix1` and `matrix2` storing the result in `result`.

FcMatrixRotate

3 Fontconfig &version;

FcMatrixRotate

Rotate a matrix

    #include <fontconfig/fontconfig.h>

    	    void FcMatrixRotate
    		FcMatrix *matrix
    		double cos
    		double sin

## Description

`FcMatrixRotate` rotates `matrix` by the angle who's sine is `sin` and cosine is `cos`. This is done by multiplying by the matrix:

      cos -sin
      sin  cos

FcMatrixScale

3 Fontconfig &version;

FcMatrixScale

Scale a matrix

    #include <fontconfig/fontconfig.h>

    	    void FcMatrixScale
    		FcMatrix *matrix
    		double sx
    		double dy

## Description

`FcMatrixScale` multiplies `matrix` x values by `sx` and y values by `dy`. This is done by multiplying by the matrix:

       sx  0
       0   dy

FcMatrixShear

3 Fontconfig &version;

FcMatrixShear

Shear a matrix

    #include <fontconfig/fontconfig.h>

    	    void FcMatrixShear
    		FcMatrix *matrix
    		double sh
    		double sv

## Description

`FcMatrixShare` shears `matrix` horizontally by `sh` and vertically by `sv`. This is done by multiplying by the matrix:

      1  sh
      sv  1