5 @SuppressWarnings public class QPainter {
8 bool bneed_delloc =
false;
12 public static class Paint {
13 public static const int
20 public int textSize = -1;
31 color = ((a & 0xff) << 24) | (color & 0x00ffffff);
51 hpaint = QtXnl.long_get(img.himage, Constant.PAINTERFROMIMG);
58 hpaint = QtXnl.long_get(0l, Constant.PAINTERFROMDEVICE);
65 hpaint = QtXnl.long_get(device.nativehandle, Constant.PAINTERFROMDEVICE);
72 if ((p.style & Paint.FILL) != 0) {
73 setBrush(p.color, QBrush.Style.SolidPattern);
76 if ((p.style & Paint.STROKE) != 0) {
77 setPen(p.color, PenStyle.SolidLine, p.width);
81 setFontPixelSize(p.textSize);
86 QtXnl.widget_set_vint_value(hpaint, Constant.PAINTFONTPTSIZE, size);
90 QtXnl.widget_set_vint_value(hpaint, Constant.PAINTFONTPXSIZE, size);
93 public void setPen(
int color, PenStyle penStyle,
double width) {
94 QtXnl.widget_set_v2int_double_value(hpaint, Constant.SETPEN, color, width, penStyle);
98 QtXnl.widget_set_v2int_double_value(hpaint, Constant.SETPENCLR, color, 0, 0);
101 public void setBrush(
int color, QBrush.Style brushStyle) {
102 QtXnl.widget_set_v2int_value(hpaint, Constant.SETBRUSH, color, brushStyle);
106 QtXnl.widget_set_native_value(hpaint, Constant.SETBRUSH, brush.nativehandle);
109 public void drawLine(
int start_x,
int start_y,
int end_x,
int end_y) {
110 QtXnl.native_int4(hpaint, Constant.QXPAINTDRAWLINE, start_x, start_y, end_x, end_y);
114 QtXnl.native_int4(hpaint, Constant.QXPAINTDRAWRECT, x, y, w, h);
118 QtXnl.native_int4(hpaint, Constant.QXPAINTDRAWRECT, r.left, r.top, r.width(), r.height());
121 public void fillRect(
int x,
int y,
int w,
int h,
int color,
int brushStyle) {
122 QtXnl.long_long_int9(hpaint, Constant.FILLRECT, 0, x, y, w, h, color, brushStyle, 0, 0, 0);
125 public void setClipRect(
int x,
int y,
int w,
int h, ClipOperation op) {
126 QtXnl.long_long_int9(hpaint, Constant.QXPAINTSETCLIPRECT, 0, x, y, w, h, op, 0, 0, 0, 0);
130 QtXnl.widget_slot(hpaint, Constant.PAINTERSAVE);
134 QtXnl.widget_slot(hpaint, Constant.PAINTERRESTORE);
138 QtXnl.widget_slot(hpaint, Constant.PAINTRESETMATRIX);
142 return new QMatrix(QtXnl.long_get(hpaint, Constant.PAINTERGETMATRIX));
146 QtXnl.widget_set_native_value(hpaint, Constant.PAINTSETMATRIX, m.nativehandle);
150 return 0 != QtXnl.long_intlong(hpaint, Constant.PAINTBEGIN, m.nativehandle);
154 return QtXnl.widget_get_int_value(hpaint, Constant.PAINTEND) != 0;
158 QtXnl.widget_slot(hpaint, Constant.PAINTRESETTRANSFORM);
162 QtXnl.widget_set_intintstring_value(hpaint, Constant.DRAWTEXT, x, y,text);
166 long x = (((long)rect.left) << 32) | ((
long)rect.right& 0xffffffffl), y = (((
long)rect.top) << 32) | ((long)rect.bottom & 0xffffffffl);
167 QtXnl.native_long2_string(hpaint, Constant.DRAWTEXT, x, y,align, text);
172 setPen(p.color, PenStyle.SolidLine, p.width);
174 QtXnl.widget_set_intintstring_value(hpaint, Constant.DRAWTEXT, x, y,text);
177 public void fillRect(@NotNilptr QRect r,
int color,
int brushStyle) {
178 QtXnl.long_long_int9(hpaint, Constant.FILLRECT, 0, r.left, r.top, r.width(), r.height(), color, brushStyle, 0, 0, 0);
182 if ((points.length & 1) == 1 || points.length < 4) {
185 QtXnl.array_int2(hpaint, Constant.QXPAINTDRAWLINE, points, 0, 0);
189 QtXnl.widget_set_bool_value(hpaint, Constant.PAINTER_SETBOLD, bb);
193 QtXnl.widget_set_bool_value(hpaint, Constant.PAINTER_SETITALIC, bi);
197 (QtXnl.long_double2(hpaint, Constant.PAINTER_TRANSLATE, x, y));
200 public void scale(
double sx,
double sy){
201 (QtXnl.long_double2(hpaint, Constant.PAINTER_SCALE, sx, sy));
204 public void shear(
double sh,
double sv){
205 (QtXnl.long_double2(hpaint, Constant.PAINTER_SHEAR, sh, sv));
209 (QtXnl.long_double2(hpaint, Constant.PAINTER_ROTATE, a, 0));
211 public void rotate(
double r,
double cx,
double cy) {
212 (QtXnl.native_double4(r, cx, cy, 0, hpaint, Constant.PAINTER_ROTATE));
215 QtXnl.widget_set_v2int_value(hpaint, Constant.SETBKBRUSH, color, brushStyle);
219 QtXnl.widget_set_double_value(hpaint, Constant.QXPAINTOPACITY, fopacity);
223 QtXnl.widget_set_vint_value(hpaint, Constant.QXPAINTBGMMODE, mode);
226 public void drawImage(@NotNilptr QImage image, @NotNilptr QRect dest, @NotNilptr QRect source,
int converFlags) {
227 QtXnl.long_long_int9(hpaint, Constant.DRAWIMAGE, image.himage,
228 dest.left, dest.top, dest.width(), dest.height(),
229 source.left, source.top, source.width(), source.height(),
233 public void drawImage(@NotNilptr QImage image,
int x,
int y) {
234 QtXnl.widget_set_intlongint_value(hpaint, Constant.DRAWIMAGE, image.himage,x, y);
237 public void drawRoundRect(
int x,
int y,
int w,
int h,
int rx,
int ry, Paint p) {
241 QtXnl.long_long_int9(hpaint, Constant.ROUNDRECT, 0, x, y, w, h, rx, ry, 0, 0, 0);
248 QtXnl.long_long_int9(hpaint, Constant.ROUNDEDRECT, 0, x, y, w, h, rx, ry, 0, 0, 0);
255 QtXnl.long_long_int9(hpaint, Constant.ROUNDRECT, 0, r.left, r.top, r.width(), r.height(), rx, ry, 0, 0, 0);
262 QtXnl.long_long_int9(hpaint, Constant.ROUNDEDRECT, 0, r.left, r.top, r.width(), r.height(), rx, ry, 0, 0, 0);
265 public void drawPath(@NotNilptr QPath path, Paint paint) {
267 QtXnl.widget_set_native_value(hpaint, Constant.DRAWPATH, path.nativehandle);
270 public void drawPath(
double [] ys,
int xstep,
int w,
int h){
271 int wh = ((w << 16) & 0xffff0000) | (h & 0x0000ffff);
273 v1 = ((v1 << 48) & 0xffff000000000000l) | ((((long)xstep) << 32) & 0x0000ffff00000000l) | (wh & 0x00ffffffffl);
274 QtXnl.pointer_intlong2(ys, Constant.QXPAINTDRAWFLINE, hpaint, v1);
277 public void drawPathf3i(
double [] ys,
float start,
float xstep,
float yadd,
float ymul,
int pos ,
int length ){
278 QtXnl.pointer_intf3i(hpaint, ys, Constant.QXPAINTDRAWFLINE, start, xstep, yadd, ymul, pos, length);
282 QtXnl.widget_set_native_value(hpaint, Constant.DRAWPATH, path.nativehandle);
286 return QtXnl.widget_get_int_value(hpaint, Constant.PAINTFONTASCENT);
289 return QtXnl.widget_get_int_value(hpaint, Constant.PAINTFONTDESCENT);
292 QtXnl.widget_set_int_bool_value(hpaint, Constant.SETCOMPOSITIONMODE, flag,
false);
296 QtXnl.widget_set_int_bool_value(hpaint, Constant.SETRENDERHINT, flag, on);
300 return new QFont(QtXnl.long_get(hpaint, Constant.PAINTERGETFCONT));
304 QtXnl.widget_set_native_value(hpaint, Constant.PAINTERSETFONT, f.nativehandle);
308 setRenderHint(RenderHint.Antialiasing, ba);
316 QtXnl.native_int4(hpaint, Constant.DRAWELLIPSE, x - r, y - r, r *2, r * 2);
320 long pt= QtXnl.long_longstring(hpaint, Constant.PAINTMEASURETEXT, 0, text);
321 return new QRect(x, y, x + ((
int)(pt >> 32) & 0xffffffff), y + (
int)(pt & 0xffffffff));
326 QtXnl.widget_slot(hpaint, Constant.DELLOCPAINTER);
327 bneed_delloc =
false;
void setStrokeWidth(double sw)
void setTextSize(double ts)
void drawImage(@NotNilptr QImage image, @NotNilptr QRect dest, @NotNilptr QRect source, int converFlags)
void setRenderHint(int flag, bool on)
void drawPathf3i(double [] ys, float start, float xstep, float yadd, float ymul, int pos , int length )
void shear(double sh, double sv)
void drawCircle(int x,int y,int r, Paint p)
void setFontPointSize(int size)
void rotate(double r, double cx, double cy)
void setMatrix(@NotNilptr QMatrix m)
void fillRect(@NotNilptr QRect r, int color, int brushStyle)
void setBackgroundBrush(int color, int brushStyle)
void setFontPixelSize(int size)
void drawPath(double [] ys, int xstep, int w, int h)
void fillRect(int x,int y, int w,int h, int color, int brushStyle)
void drawLines(@NotNilptr int [] points)
void drawText(String text, int x,int y)
QPainter(@NotNilptr QPaintDevice device)
void drawRoundRect(int x,int y, int w,int h, int rx, int ry, Paint p)
void setFont(@NotNilptr QFont f)
QPainter(@NotNilptr QImage img)
void setBrush(@NotNilptr QBrush brush)
void setAntialiasing(bool ba)
void scale(double sx, double sy)
void setBackMode(int mode)
void setClipRect(int x,int y, int w,int h, ClipOperation op)
void drawRect(@NotNilptr QRect r)
void drawPath(@NotNilptr QPath path)
void drawRoundedRect(int x,int y, int w,int h, int rx, int ry, Paint p)
void drawText(String text, QRect rect, int align)
void drawRect(int x, int y, int w, int h)
void drawImage(@NotNilptr QImage image, int x,int y)
void drawRoundRect(@NotNilptr QRect r, int rx, int ry, Paint p)
void setPaint(@NotNilptr Paint p)
void drawRoundedRect(@NotNilptr QRect r, int rx, int ry, Paint p)
bool begin(QPaintDevice m)
QRect measureText(int x, int y, String text)
void setCompositionMode(CompositionMode flag)
void setOpacity(double fopacity)
void setPen(int color, PenStyle penStyle, double width)
void setBrush(int color, QBrush.Style brushStyle)
void drawLine(int start_x, int start_y, int end_x, int end_y)
void translate(double x, double y)
void drawText(String text, int x,int y, Paint p)
void drawPath(@NotNilptr QPath path, Paint paint)