MCPcopy Create free account
hub / github.com/HumbleUI/JWM / paintImpl

Method paintImpl

examples/dashboard/java/PanelMouse.java:44–109  ·  view source on GitHub ↗
(Canvas canvas, int width, int height, float scale)

Source from the content-addressed store, hash-verified

42 }
43
44 @Override
45 public void paintImpl(Canvas canvas, int width, int height, float scale) {
46 var capHeight = Example.FONT12.getMetrics().getCapHeight();
47
48 // position
49 if (lastInside && lastMouseMove != null) {
50 try (var paint = new Paint().setColor(0x40FFFFFF)) {
51 var x = lastMouseMove.getX() - lastX;
52 var y = lastMouseMove.getY() - lastY;
53 canvas.drawRect(Rect.makeXYWH(0, y - 1 * scale, width, 2 * scale), paint);
54 canvas.drawRect(Rect.makeXYWH(x - 1 * scale, 0, 2 * scale, height), paint);
55
56 canvas.save();
57 canvas.translate(x + 3 * scale, y - 5 * scale);
58 canvas.drawString(x + ", " + y, 0, 0, Example.FONT12, paint);
59 canvas.translate(0, 10 * scale + capHeight);
60 for (var button: MouseButton.values())
61 if (lastMouseMove.isButtonDown(button)) {
62 canvas.drawString(capitalize(button.toString()), 0, 0, Example.FONT12, paint);
63 canvas.translate(0, 2 * capHeight);
64 }
65 for (var modifier: KeyModifier.values())
66 if (lastMouseMove.isModifierDown(modifier)) {
67 canvas.drawString(capitalize(modifier.toString()), 0, 0, Example.FONT12, paint);
68 canvas.translate(0, 2 * capHeight);
69 }
70 canvas.restore();
71 }
72 }
73
74 // scroll
75 try (var paint = new Paint().setMode(PaintMode.STROKE).setStrokeWidth(2 * scale).setColor(0x40FFFFFF)) {
76 for (int i = 0; i < 100; ++i) {
77 var x = scroll.getX() + i * 10 * scale;
78 if (0 <= x && x <= width)
79 canvas.drawLine(x, 0, x, i * scale, paint);
80 var y = scroll.getY() + i * 10 * scale;
81 if (0 <= y && y <= height)
82 canvas.drawLine(0, y, i * scale, y, paint);
83 }
84 }
85
86 // buttons
87
88 var lines = Arrays.stream(MouseButton._values).map((button) -> TextLine.make(capitalize(button.toString()), Example.FONT12)).collect(Collectors.toList());
89 try (var paint = new Paint();) {
90
91
92 var padding = (int) 8 * scale;
93 int y = Example.PADDING;
94 for (var button: MouseButton._values) {
95 try (var line = TextLine.make(capitalize(button.toString()), Example.FONT12); ) {
96 var pressed = buttons.contains(button);
97 if (pressed) {
98 paint.setColor(0x40000000);
99 canvas.drawRRect(RRect.makeXYWH(Example.PADDING, y, line.getWidth() + 2 * padding, capHeight + 2 * padding, 4 * scale), paint);
100 }
101

Callers

nothing calls this directly

Calls 10

drawRectMethod · 0.80
makeXYWHMethod · 0.80
isButtonDownMethod · 0.80
capitalizeMethod · 0.80
makeMethod · 0.80
containsMethod · 0.80
getWidthMethod · 0.65
toStringMethod · 0.45
isModifierDownMethod · 0.45
restoreMethod · 0.45

Tested by

no test coverage detected