46 if ((event->buttons() & Qt::LeftButton) && pressed)
48 QPoint currentPos =
event->pos();
49 double x = currentPos.x() - (joysize /2);
50 double y = currentPos.y() - (joysize /2);
51 double centerDistance = sqrt((x*x)+(y*y));
52 double centerDirection = atan2(x,y);
53 if (centerDistance < (joysize/2 -cursorSize))
55 mousePoint = currentPos;
59 double newCenterDistance = (joysize/2 -cursorSize);
60 double newX = newCenterDistance * sin(centerDirection)+ joysize/2;
61 double newY = newCenterDistance * cos(centerDirection)+ joysize/2;
62 mousePoint = QPoint(newX, newY);
81 QPainter painter(
this);
82 painter.setPen(QColor(
"#000000"));
83 painter.setBrush(QBrush(
"#FFFFFF"));
84 painter.drawRect(QRect(QPoint(0, 0), QSize(joysize, joysize)));
86 painter.setPen(QColor(
"#000000"));
87 painter.setBrush(QBrush(
"#909090"));
88 painter.drawEllipse(QPoint(joysize / 2, joysize / 2), joysize / 2, joysize / 2);
90 painter.setPen(QColor(
"#000000"));
91 painter.setBrush(QBrush(
"#000000"));
92 painter.drawEllipse(mousePoint,
int(cursorSize),
int(cursorSize));