MCPcopy Create free account
hub / github.com/CE-Programming/CEmu / ArrowKey

Method ArrowKey

gui/qt/keypad/arrowkey.cpp:17–32  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15}
16
17ArrowKey::ArrowKey(KeyConfig &config, const QRect &outer, const QRect &inner,
18 int offset, const QString &labelText, qreal gap)
19 : Key{config.next(), inner, outer, config.graphColor}, mLabelColor{config.blackColor},
20 mOuter{outer}, mInner{inner}, mOffset{2 * offset} {
21 qreal innerAngle = computeAngle(inner, gap),
22 outerAngle = computeAngle(outer, gap);
23 int offsetAngle = 90 * offset;
24 mLabelText = labelText;
25 mKeyShape.arcMoveTo(inner, offsetAngle + innerAngle);
26 mKeyShape.arcTo(outer, offsetAngle + outerAngle, -2 * outerAngle);
27 mKeyShape.arcTo(inner, offsetAngle - innerAngle, 2 * innerAngle);
28 mArrow.moveTo(rotatePoint({2 * gap, 0}, offset));
29 mArrow.lineTo(rotatePoint({gap, gap}, offset));
30 mArrow.lineTo(rotatePoint({gap, -gap}, offset));
31 mArrow.translate(QRectF{outer}.center() + rotatePoint({inner.width() * .5, 0}, offset) + QPointF{.5, .5});
32}
33
34void ArrowKey::paint(QPainter &painter) const {
35 Key::paint(painter);

Callers

nothing calls this directly

Calls 2

nextMethod · 0.80
translateMethod · 0.80

Tested by

no test coverage detected