soui 5.0.0.1
Soui5 Doc
 
Loading...
Searching...
No Matches
STransform-i.h
1#ifndef __STRANSFORM_I__H__
2#define __STRANSFORM_I__H__
3
4#include <interface/SMatrix-i.h>
5SNSBEGIN
6
7enum
8{
9 /**
10 * Indicates a transformation that has no effect (alpha = 1 and identity matrix.)
11 */
12 TYPE_IDENTITY = 0x0,
13 /**
14 * Indicates a transformation that applies an alpha only (uses an identity matrix.)
15 */
16 TYPE_ALPHA = 0x1,
17 /**
18 * Indicates a transformation that applies a matrix only (alpha = 1.)
19 */
20 TYPE_MATRIX = 0x2,
21 /**
22 * Indicates a transformation that applies an alpha and a matrix.
23 */
24 TYPE_BOTH = TYPE_ALPHA | TYPE_MATRIX,
25};
26
27#undef INTERFACE
28#define INTERFACE ITransformation
29
30DECLARE_INTERFACE(ITransformation)
31{
32 /**
33 * @brief 获取变换矩阵
34 * @return IMatrix *--变换矩阵
35 */
36 STDMETHOD_(IMatrix *, GetMatrix)(THIS) PURE;
37
38 /**
39 * @brief 获取透明度
40 * @return BYTE--透明度
41 */
42 STDMETHOD_(BYTE, GetAlpha)(CTHIS) SCONST PURE;
43
44 /**
45 * @brief 设置透明度
46 * @param alpha BYTE--透明度
47 * @return
48 */
49 STDMETHOD_(void, SetAlpha)(THIS_ BYTE alpha) PURE;
50
51 /**
52 * @brief 清空变换矩阵及透明度
53 * @return
54 */
55 STDMETHOD_(void, Clear)(THIS) PURE;
56
57 /**
58 * @brief 设置变化类型
59 * @param type int--类型
60 * @return
61 */
62 STDMETHOD_(void, SetTransformationType)(THIS_ int type) PURE;
63
64 /**
65 * @brief 组合变换矩阵及透明度
66 * @param t ITransformation *--变换对象
67 * @return
68 */
69 STDMETHOD_(void, Compose)(const ITransformation *t) PURE;
70};
71
72SNSEND
73#endif // __STRANSFORM_I__H__