optimize rendering of guitar switches

This commit is contained in:
Bane Stojkovic
2025-05-03 22:05:23 +02:00
parent 3332b727e0
commit c90b722fb6
4 changed files with 15 additions and 0 deletions
@@ -93,6 +93,8 @@ public class LPSwitch extends AbstractTransparentComponent<String> implements IS
g2d.setComposite(oldComposite);
}
drawingObserver.stopTracking();
Color finalBorderColor;
if (outlineMode) {
@@ -127,7 +129,9 @@ public class LPSwitch extends AbstractTransparentComponent<String> implements IS
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(2));
g2d.setColor(METAL_COLOR);
drawingObserver.startTracking();
g2d.draw(body[2]);
drawingObserver.stopTracking();
}
@SuppressWarnings("incomplete-switch")
@@ -111,6 +111,8 @@ public class LeverSwitch extends AbstractAngledComponent<LeverSwitch.LeverSwitch
g2d.setComposite(oldComposite);
}
drawingObserver.stopTracking();
Color finalBorderColor;
if (outlineMode) {
Theme theme =
@@ -142,7 +144,9 @@ public class LeverSwitch extends AbstractAngledComponent<LeverSwitch.LeverSwitch
g2d.draw(body[1]);
g2d.setColor(LUG_COLOR);
drawingObserver.startTracking();
g2d.fill(body[2]);
drawingObserver.stopTracking();
g2d.setColor(LUG_COLOR.darker());
g2d.draw(body[2]);
@@ -162,6 +162,7 @@ public class S1Switch extends AbstractTransparentComponent<Void> implements ISwi
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR);
g2d.fill(body);
drawingObserver.stopTracking();
g2d.setComposite(oldComposite);
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
Color finalBorderColor;
@@ -115,6 +115,8 @@ public class SchallerMegaSwitch extends AbstractAngledComponent<String> implemen
g2d.setComposite(oldComposite);
}
drawingObserver.stopTracking();
Color finalBorderColor;
if (outlineMode) {
Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY,
@@ -150,12 +152,16 @@ public class SchallerMegaSwitch extends AbstractAngledComponent<String> implemen
g2d.draw(body[1]);
g2d.setColor(LUG_COLOR);
drawingObserver.startTracking();
g2d.fill(body[2]);
drawingObserver.stopTracking();
g2d.setColor(LUG_COLOR.darker());
g2d.draw(body[2]);
for (int i = 3; i < body.length; i++) {
g2d.setColor(ISwitch.POLE_COLORS[i - 3]);
drawingObserver.startTracking();
g2d.fill(body[i]);
drawingObserver.stopTracking();
g2d.setColor(ISwitch.POLE_COLORS[i - 3].darker());
g2d.draw(body[i]);
}