xlang v4.0 Release
程序设计语言基础库文档
载入中...
搜索中...
未找到
Public 成员函数
QMatrix类 参考
类 QMatrix 继承关系图:
QCore

Public 成员函数

额外继承的成员函数

详细描述

在文件 QMatrix.xcsm4 行定义.

构造及析构函数说明

◆ QMatrix() [1/5]

QMatrix ( double  m11,
double  m12,
double  m21,
double  m22,
double  dx,
double  dy 
)

在文件 QMatrix.xcsm5 行定义.

7 {
8 double [] param = new double[]{m11, m12, m21, m22, dx, dy};
9 nativehandle = QtXnl.createPObject(QType.qtMatrix, param);
10 }
long nativehandle
Definition QNative.xcsm:91

◆ QMatrix() [2/5]

QMatrix ( )

在文件 QMatrix.xcsm12 行定义.

12 {
13 nativehandle = QtXnl.createNObject(QType.qtMatrix, 0);
14 }

◆ QMatrix() [3/5]

QMatrix ( double []  param)

在文件 QMatrix.xcsm15 行定义.

15 {
16 nativehandle = QtXnl.createPObject(QType.qtMatrix, param);
17 }

◆ QMatrix() [4/5]

QMatrix ( QMatrix  m)

在文件 QMatrix.xcsm18 行定义.

18 {
19 double [] param = m.getValues();
20 nativehandle = QtXnl.createPObject(QType.qtMatrix, param);
21 }

◆ QMatrix() [5/5]

QMatrix ( long  h)

在文件 QMatrix.xcsm23 行定义.

23 {
24 nativehandle = h;
25 }

成员函数说明

◆ finalize()

void finalize ( )

在文件 QMatrix.xcsm99 行定义.

99 {
100 if (nativehandle != 0){
101 QtXnl.widget_slot(nativehandle, Constant.MATRIXDTOR);
102 }
103 }

◆ getValues()

double [] getValues ( )

在文件 QMatrix.xcsm27 行定义.

27 {
28 double [] param = new double[6];
29 QtXnl.int_get_valuep(nativehandle, Constant.QMATRIX_GET_VALUES, param);
30 return param;
31 }

◆ mapPoint()

QPoint mapPoint ( @NotNilptr QPoint  p)

在文件 QMatrix.xcsm33 行定义.

33 {
34 long v = QtXnl.object_get_long_int(nativehandle, Constant.MATRIXMAPPOINT, p.x, p.y);
35 return new QPoint((int)(v >> 32) & 0xffffffff, (int)v & 0xffffffff);
36 }

◆ mapPoints()

void mapPoints ( @NotNilptr float []  p)

在文件 QMatrix.xcsm37 行定义.

37 {
38 for (int i = 0; i < p.length; i += 2){
39 long v = QtXnl.object_get_long_int(nativehandle, Constant.MATRIXMAPPOINT, p[0 + i], p[1 + i]);
40 p[0 + i] = (int)(v >> 32) & 0xffffffff;
41 p[1 + i] = (int)v & 0xffffffff;
42 }
43 }

◆ mapRect()

QRect mapRect ( @NotNilptr QRect  r)

在文件 QMatrix.xcsm44 行定义.

44 {
45 long lt = QtXnl.object_get_long_int(nativehandle, Constant.MATRIXMAPPOINT, r.left, r.top);
46 long rb = QtXnl.object_get_long_int(nativehandle, Constant.MATRIXMAPPOINT, r.right, r.bottom);
47 long lb = QtXnl.object_get_long_int(nativehandle, Constant.MATRIXMAPPOINT, r.left, r.bottom);
48 long rt = QtXnl.object_get_long_int(nativehandle, Constant.MATRIXMAPPOINT, r.right, r.top);
49
50 int x1 = (int)(lt >> 32) & 0xffffffff,
51 x2 = (int)(rb >> 32) & 0xffffffff,
52 x3 = (int)(lb >> 32) & 0xffffffff,
53 x4 = (int)(rt >> 32) & 0xffffffff;
54
55 int y1 = (int)lt & 0xffffffff,
56 y2 = (int)rb & 0xffffffff,
57 y3 = (int)lb & 0xffffffff,
58 y4 = (int)rt & 0xffffffff;
59
60 return new QRect(
61 Math.min(x1,Math.min(x2,Math.min(x3,x4))), Math.min(y1,Math.min(y2,Math.min(y3,y4))),
62 Math.max(x1,Math.max(x2,Math.max(x3,x4))), Math.max(y1,Math.max(y2,Math.max(y3,y4)))
63 );
64 }
Math类
static final int min(int, int)
static final int max(int, int)

引用了 Math.max() , 以及 Math.min().

◆ operator *()

QMatrix operator * ( @NotNilptr QMatrix  m)

在文件 QMatrix.xcsm88 行定义.

88 {
89 return new QMatrix(QtXnl.object_get_long_int(nativehandle, Constant.MATRIXMUL, m.nativehandle, 0));
90 }
QMatrix(double m11, double m12, double m21, double m22, double dx, double dy )
Definition QMatrix.xcsm:5

◆ recycle()

void recycle ( )

在文件 QMatrix.xcsm92 行定义.

92 {
93 if (nativehandle != 0){
94 QtXnl.widget_slot(nativehandle, Constant.MATRIXDTOR);
95 nativehandle = 0;
96 }
97 }

◆ rotate() [1/2]

QMatrix rotate ( double  a)

在文件 QMatrix.xcsm78 行定义.

78 {
79 return new QMatrix(QtXnl.long_double2(nativehandle, Constant.MATRIXROTATE, a, 0));
80 }

◆ rotate() [2/2]

QMatrix rotate ( double  a,
double  cx,
double  cy 
)

在文件 QMatrix.xcsm81 行定义.

81 {
82 translate(cx, cy);
83 QMatrix q = new QMatrix(QtXnl.long_double2(nativehandle, Constant.MATRIXROTATE, a, 0));
84 translate(-cx, -cy);
85 return q;
86 }
QMatrix translate(double x, double y)
Definition QMatrix.xcsm:66

◆ scale()

QMatrix scale ( double  sx,
double  sy 
)

在文件 QMatrix.xcsm70 行定义.

70 {
71 return new QMatrix(QtXnl.long_double2(nativehandle, Constant.MATRIXSCALE, sx, sy));
72 }

◆ shear()

QMatrix shear ( double  sh,
double  sv 
)

在文件 QMatrix.xcsm74 行定义.

74 {
75 return new QMatrix(QtXnl.long_double2(nativehandle, Constant.MATRIXSHEAR, sh, sv));
76 }

◆ translate()

QMatrix translate ( double  x,
double  y 
)

在文件 QMatrix.xcsm66 行定义.

66 {
67 return new QMatrix(QtXnl.long_double2(nativehandle, Constant.MATRIXTRANSLATE, x, y));
68 }