soui 5.0.0.1
Soui5 Doc
 
Loading...
Searching...
No Matches
SMatrix-i.h
1#ifndef __SMATRIX_I__H__
2#define __SMATRIX_I__H__
3#include <interface/SRender-i.h>
4
5SNSBEGIN
6
7#undef INTERFACE
8#define INTERFACE IMatrix
9DECLARE_INTERFACE(IMatrix)
10{
11 /**
12 * @brief 获取矩阵数据
13 * @return IxForm* -- 矩阵数据
14 */
15 STDMETHOD_(IxForm *, Data)(CTHIS) SCONST PURE;
16
17 /**
18 * @brief 清空矩阵
19 * @return void
20 */
21 STDMETHOD_(void, reset)(THIS) PURE;
22
23 /**
24 * @brief 将矩阵设定为单位矩阵
25 * @return void
26 */
27 STDMETHOD_(void, setIdentity)(THIS) PURE;
28
29 /**
30 * @brief 判断矩阵是否为单位矩阵
31 * @return BOOL -- TRUE: 矩阵是单位矩阵
32 */
33 STDMETHOD_(BOOL, isIdentity)(CTHIS) SCONST PURE;
34
35 /**
36 * @brief 设置矩阵平移
37 * @param dx float -- x方向平移量
38 * @param dy float -- y方向平移量
39 * @return void
40 */
41 STDMETHOD_(void, setTranslate)(THIS_ float dx, float dy) PURE;
42
43 /**
44 * @brief 设置矩阵缩放
45 * @param sx float -- x方向缩放比例
46 * @param sy float -- y方向缩放比例
47 * @return void
48 */
49 STDMETHOD_(void, setScale)(THIS_ float sx, float sy) PURE;
50
51 /**
52 * @brief 设置矩阵缩放,并指定缩放中心点
53 * @param sx float -- x方向缩放比例
54 * @param sy float -- y方向缩放比例
55 * @param px float -- 缩放中心点x坐标
56 * @param py float -- 缩放中心点y坐标
57 * @return void
58 */
59 STDMETHOD_(void, setScale2)(THIS_ float sx, float sy, float px, float py) PURE;
60
61 /**
62 * @brief 设置矩阵旋转
63 * @param degrees float -- 旋转角度
64 * @return void
65 */
66 STDMETHOD_(void, setRotate)(THIS_ float degrees) PURE;
67
68 /**
69 * @brief 设置矩阵旋转,并指定旋转中心点
70 * @param degrees float -- 旋转角度
71 * @param px float -- 旋转中心点x坐标
72 * @param py float -- 旋转中心点y坐标
73 * @return void
74 */
75 STDMETHOD_(void, setRotate2)(THIS_ float degrees, float px, float py) PURE;
76
77 /**
78 * @brief 设置矩阵倾斜
79 * @param kx float -- x方向倾斜量
80 * @param ky float -- y方向倾斜量
81 * @return void
82 */
83 STDMETHOD_(void, setSkew)(THIS_ float kx, float ky) PURE;
84
85 /**
86 * @brief 设置矩阵倾斜,并指定倾斜中心点
87 * @param kx float -- x方向倾斜量
88 * @param ky float -- y方向倾斜量
89 * @param px float -- 倾斜中心点x坐标
90 * @param py float -- 倾斜中心点y坐标
91 * @return void
92 */
93 STDMETHOD_(void, setSkew2)(THIS_ float kx, float ky, float px, float py) PURE;
94};
95
96SNSEND
97#endif // __SMATRIX_I__H__