performance upgrade

This commit is contained in:
Branislav Stojkovic
2025-03-17 12:05:26 +01:00
parent 44c776194f
commit 2ead5592d8
3 changed files with 78 additions and 36 deletions
@@ -338,28 +338,9 @@ public class CanvasPanel extends JComponent implements Autoscroll {
double x = visibleRect.x;// / scaleFactor;
double y = visibleRect.y;// / scaleFactor;
bufferG2d.translate(-x, -y);
bufferG2d.setClip(visibleRect);
Set<DrawOption> drawOptions =
EnumSet.of(DrawOption.SELECTION, DrawOption.ZOOM, DrawOption.CONTROL_POINTS);
if (configManager.readBoolean(IPlugInPort.ANTI_ALIASING_KEY, true)) {
drawOptions.add(DrawOption.ANTIALIASING);
}
if (configManager.readBoolean(IPlugInPort.OUTLINE_KEY, false)) {
drawOptions.add(DrawOption.OUTLINE_MODE);
}
if (configManager.readBoolean(IPlugInPort.SHOW_GRID_KEY, true)) {
drawOptions.add(DrawOption.GRID);
}
if (configManager.readBoolean(IPlugInPort.EXTRA_SPACE_KEY, true)) {
drawOptions.add(DrawOption.EXTRA_SPACE);
}
if (configManager.readBoolean(IPlugInPort.CACHING_ENABLED_KEY, true)) {
drawOptions.add(DrawOption.ENABLE_CACHING);
}
if (configManager.readBoolean(IPlugInPort.LOCKED_ALPHA, true)) {
drawOptions.add(DrawOption.LOCKED_ALPHA);
}
Set<DrawOption> drawOptions = getDrawOptions();
plugInPort.draw(bufferG2d, drawOptions, null, null, scaleFactor, visibleRect);
@@ -389,6 +370,31 @@ public class CanvasPanel extends JComponent implements Autoscroll {
bufferG2d.dispose();
}
private Set<DrawOption> getDrawOptions() {
Set<DrawOption> drawOptions =
EnumSet.of(DrawOption.SELECTION, DrawOption.ZOOM, DrawOption.CONTROL_POINTS);
if (configManager.readBoolean(IPlugInPort.ANTI_ALIASING_KEY, true)) {
drawOptions.add(DrawOption.ANTIALIASING);
}
if (configManager.readBoolean(IPlugInPort.OUTLINE_KEY, false)) {
drawOptions.add(DrawOption.OUTLINE_MODE);
}
if (configManager.readBoolean(IPlugInPort.SHOW_GRID_KEY, true)) {
drawOptions.add(DrawOption.GRID);
}
if (configManager.readBoolean(IPlugInPort.EXTRA_SPACE_KEY, true)) {
drawOptions.add(DrawOption.EXTRA_SPACE);
}
if (configManager.readBoolean(IPlugInPort.CACHING_ENABLED_KEY, true)) {
drawOptions.add(DrawOption.ENABLE_CACHING);
}
if (configManager.readBoolean(IPlugInPort.LOCKED_ALPHA, true)) {
drawOptions.add(DrawOption.LOCKED_ALPHA);
}
return drawOptions;
}
@Override
public void update(Graphics g) {
paint(g);