Ginga
0.13.6
Main Page
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Functions
Variables
gingacc-mb
include
mb
interface
Matrix.h
1
/******************************************************************************
2
Este arquivo eh parte da implementacao do ambiente declarativo do middleware
3
Ginga (Ginga-NCL).
4
5
Direitos Autorais Reservados (c) 1989-2007 PUC-Rio/Laboratorio TeleMidia
6
7
Este programa eh software livre; voce pode redistribui-lo e/ou modificah-lo sob
8
os termos da Licenca Publica Geral GNU versao 2 conforme publicada pela Free
9
Software Foundation.
10
11
Este programa eh distribuido na expectativa de que seja util, porem, SEM
12
NENHUMA GARANTIA; nem mesmo a garantia implicita de COMERCIABILIDADE OU
13
ADEQUACAO A UMA FINALIDADE ESPECIFICA. Consulte a Licenca Publica Geral do
14
GNU versao 2 para mais detalhes.
15
16
Voce deve ter recebido uma copia da Licenca Publica Geral do GNU versao 2 junto
17
com este programa; se nao, escreva para a Free Software Foundation, Inc., no
18
endereco 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
19
20
Para maiores informacoes:
21
ncl @ telemidia.puc-rio.br
22
http://www.ncl.org.br
23
http://www.ginga.org.br
24
http://www.telemidia.puc-rio.br
25
******************************************************************************
26
This file is part of the declarative environment of middleware Ginga (Ginga-NCL)
27
28
Copyright: 1989-2007 PUC-RIO/LABORATORIO TELEMIDIA, All Rights Reserved.
29
30
This program is free software; you can redistribute it and/or modify it under
31
the terms of the GNU General Public License version 2 as published by
32
the Free Software Foundation.
33
34
This program is distributed in the hope that it will be useful, but WITHOUT ANY
35
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
36
PARTICULAR PURPOSE. See the GNU General Public License version 2 for more
37
details.
38
39
You should have received a copy of the GNU General Public License version 2
40
along with this program; if not, write to the Free Software
41
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
42
43
For further information contact:
44
ncl @ telemidia.puc-rio.br
45
http://www.ncl.org.br
46
http://www.ginga.org.br
47
http://www.telemidia.puc-rio.br
48
*******************************************************************************/
49
50
#ifndef GINGAMATRIX_H_
51
#define GINGAMATRIX_H_
52
53
#include "ISurface.h"
54
55
#include "system/compat/SystemCompat.h"
56
using namespace
::br::pucrio::telemidia::ginga::core::system::compat;
57
58
namespace
br {
59
namespace
pucrio {
60
namespace
telemidia {
61
namespace
ginga {
62
namespace
core {
63
namespace
mb {
64
typedef
struct
matrix
{
65
double
xx;
double
yx;
66
double
xy;
double
yy;
67
double
x0;
double
y0;
68
}
matrix_t
;
69
70
class
Matrix
{
71
public
:
72
static
void
multiply(
73
matrix_t
* result,
const
matrix_t
* a,
const
matrix_t
* b);
74
75
static
void
init(
76
matrix_t
*
matrix
,
77
double
xx,
double
yx,
78
double
xy,
double
yy,
79
double
x0,
double
y0);
80
81
static
void
initIdentity(
matrix_t
* matrix);
82
static
void
initTranslate(
matrix_t
* matrix,
double
tx,
double
ty);
83
static
void
translate(
matrix_t
* matrix,
double
tx,
double
ty);
84
static
void
initScale(
matrix_t
* matrix,
double
sx,
double
sy);
85
static
void
scale(
matrix_t
* matrix,
double
sx,
double
sy);
86
static
void
initRotate(
matrix_t
* matrix,
double
radians);
87
static
void
rotate(
matrix_t
* matrix,
double
radians);
88
static
void
setMatrix(
const
matrix_t
* cairo,
ISurface
* primary);
89
};
90
}
91
}
92
}
93
}
94
}
95
}
96
97
#endif //GINGAMATRIX_H_
br::pucrio::telemidia::ginga::core::mb::Matrix
Definition:
Matrix.h:70
br::pucrio::telemidia::ginga::core::mb::matrix
Definition:
Matrix.h:64
br::pucrio::telemidia::ginga::core::mb::ISurface
Definition:
ISurface.h:64
Generated on Tue Aug 5 2014 15:34:53 for Ginga by
1.8.6