From 9ab06414c0c3bf1221315ed3c9b845e8d63eb0b3 Mon Sep 17 00:00:00 2001 From: "J. Neugebauer" Date: Sun, 2 Jan 2022 22:14:36 +0100 Subject: [PATCH] Hintergund als ColorLayer implementiert --- src/schule/ngb/zm/Zeichenmaschine.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/schule/ngb/zm/Zeichenmaschine.java b/src/schule/ngb/zm/Zeichenmaschine.java index e202435..56cd028 100644 --- a/src/schule/ngb/zm/Zeichenmaschine.java +++ b/src/schule/ngb/zm/Zeichenmaschine.java @@ -1,6 +1,6 @@ package schule.ngb.zm; -import schule.ngb.zm.formen.ShapesLayer; +import schule.ngb.zm.shapes.ShapesLayer; import javax.swing.*; import javax.swing.event.MouseInputListener; @@ -27,6 +27,8 @@ public class Zeichenmaschine extends Constants implements MouseInputListener, Ke */ protected Zeichenleinwand canvas; + protected ColorLayer background; + protected DrawingLayer drawing; protected ShapesLayer shapes; @@ -91,6 +93,7 @@ public class Zeichenmaschine extends Constants implements MouseInputListener, Ke framesPerSecond = STD_FPS; + background = getBackgroundLayer(); drawing = getDrawingLayer(); shapes = getShapesLayer(); @@ -187,13 +190,23 @@ public class Zeichenmaschine extends Constants implements MouseInputListener, Ke public final void addLayer( Layer layer ) { canvas.addLayer(layer); + layer.setSize(getWidth(), getHeight()); + } + + public final ColorLayer getBackgroundLayer() { + ColorLayer layer = canvas.getLayer(ColorLayer.class); + if( layer == null ) { + layer = new ColorLayer(STD_BACKGROUND); + canvas.addLayer(0, layer); + } + return layer; } public final DrawingLayer getDrawingLayer() { DrawingLayer layer = canvas.getLayer(DrawingLayer.class); if( layer == null ) { layer = new DrawingLayer(getWidth(), getHeight()); - canvas.addLayer(0, layer); + canvas.addLayer(1, layer); } return layer; }