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

Method paintImpl

examples/dashboard/java/PanelLegend.java:34–66  ·  view source on GitHub ↗
(Canvas canvas, int width, int height, float scale)

Source from the content-addressed store, hash-verified

32 }
33
34 @Override
35 public void paintImpl(Canvas canvas, int width, int height, float scale) {
36 var modifier = Platform.CURRENT == Platform.MACOS ? "⌘ " : "Ctrl ";
37 var padding = (int) 8 * scale;
38
39 try (var bg = new Paint().setColor(0x40000000);
40 var fg = new Paint().setColor(0xFFFFFFFF);)
41 {
42 var metrics = Example.FONT12.getMetrics();
43 var capHeight = metrics.getCapHeight();
44 float bgWidth = 0;
45 try (var line = TextLine.make(modifier + "W", Example.FONT12);) {
46 bgWidth = line.getWidth() + 2 * padding;
47 }
48 float bgHeight = capHeight + padding * 2;
49 float x = Example.PADDING;
50 float y = Example.PADDING;
51
52 for (var key: shortcuts.keySet()) {
53 try (var line = TextLine.make(modifier + key, Example.FONT12);) {
54 canvas.drawRRect(RRect.makeXYWH(x, y, bgWidth, bgHeight, 4 * scale), bg);
55 canvas.drawTextLine(line, x + (bgWidth - line.getWidth()) / 2, y + padding + capHeight, fg);
56 }
57
58 var value = shortcuts.get(key);
59 try (var line = TextLine.make(value, Example.FONT12);) {
60 canvas.drawTextLine(line, x + bgWidth + padding, y + padding + capHeight, fg);
61 }
62
63 y += padding * 2 + capHeight + 1 * scale;
64 }
65 }
66 }
67}

Callers

nothing calls this directly

Calls 4

makeMethod · 0.80
makeXYWHMethod · 0.80
getWidthMethod · 0.65
getMethod · 0.45

Tested by

no test coverage detected