mirror of
https://github.com/jneug/zeichenmaschine.git
synced 2026-10-12 01:45:18 +02:00
Bug: Linearer Farbverlauf wurde nicht korrekt berechnet
This commit is contained in:
@@ -1,13 +1,8 @@
|
|||||||
package schule.ngb.zm;
|
package schule.ngb.zm;
|
||||||
|
|
||||||
import schule.ngb.zm.shapes.Shape;
|
|
||||||
|
|
||||||
import java.awt.GradientPaint;
|
import java.awt.GradientPaint;
|
||||||
import java.awt.MultipleGradientPaint;
|
|
||||||
import java.awt.Paint;
|
import java.awt.Paint;
|
||||||
import java.awt.RadialGradientPaint;
|
import java.awt.RadialGradientPaint;
|
||||||
import java.awt.geom.Point2D;
|
|
||||||
import java.awt.geom.Rectangle2D;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Eine Ebene, die nur aus einer Farbe (oder einem Farbverlauf) besteht.
|
* Eine Ebene, die nur aus einer Farbe (oder einem Farbverlauf) besteht.
|
||||||
@@ -16,6 +11,7 @@ import java.awt.geom.Rectangle2D;
|
|||||||
* Hintergundfarbe für eine Szene dienen, oder als halbtransparente "Abdeckung",
|
* Hintergundfarbe für eine Szene dienen, oder als halbtransparente "Abdeckung",
|
||||||
* wenn ein {@code ColorLayer} über den anderen Ebenen eingefügt wird.
|
* wenn ein {@code ColorLayer} über den anderen Ebenen eingefügt wird.
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings( "unused" )
|
||||||
public class ColorLayer extends Layer {
|
public class ColorLayer extends Layer {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -30,6 +26,7 @@ public class ColorLayer extends Layer {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Erstellt eine neue Farbebene mit der angegebenen Farbe.
|
* Erstellt eine neue Farbebene mit der angegebenen Farbe.
|
||||||
|
*
|
||||||
* @param color Die Hintergrundfarbe.
|
* @param color Die Hintergrundfarbe.
|
||||||
*/
|
*/
|
||||||
public ColorLayer( Color color ) {
|
public ColorLayer( Color color ) {
|
||||||
@@ -40,6 +37,7 @@ public class ColorLayer extends Layer {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Erstellt eine neue Farbebene mit der angegebenen Größe und Farbe.
|
* Erstellt eine neue Farbebene mit der angegebenen Größe und Farbe.
|
||||||
|
*
|
||||||
* @param width Breite der Ebene.
|
* @param width Breite der Ebene.
|
||||||
* @param height Höhe der Ebene.
|
* @param height Höhe der Ebene.
|
||||||
* @param color Die Hintergrundfarbe.
|
* @param color Die Hintergrundfarbe.
|
||||||
@@ -62,6 +60,7 @@ public class ColorLayer extends Layer {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Gibt die Hintergrundfarbe der Ebene zurück.
|
* Gibt die Hintergrundfarbe der Ebene zurück.
|
||||||
|
*
|
||||||
* @return Die aktuelle Hintergrundfarbe.
|
* @return Die aktuelle Hintergrundfarbe.
|
||||||
*/
|
*/
|
||||||
public Color getColor() {
|
public Color getColor() {
|
||||||
@@ -70,6 +69,7 @@ public class ColorLayer extends Layer {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Setzt die Farbe der Ebene neu.
|
* Setzt die Farbe der Ebene neu.
|
||||||
|
*
|
||||||
* @param color Die neue Hintergrundfarbe.
|
* @param color Die neue Hintergrundfarbe.
|
||||||
*/
|
*/
|
||||||
public void setColor( Color color ) {
|
public void setColor( Color color ) {
|
||||||
@@ -100,10 +100,10 @@ public class ColorLayer extends Layer {
|
|||||||
|
|
||||||
Options.Direction inv = dir.inverse();
|
Options.Direction inv = dir.inverse();
|
||||||
int fromX = (int) (halfW + inv.x * halfW);
|
int fromX = (int) (halfW + inv.x * halfW);
|
||||||
int fromY = (int)(halfH + inv.x * halfH);
|
int fromY = (int) (halfH + inv.y * halfH);
|
||||||
|
|
||||||
int toX = (int) (halfW + dir.x * halfW);
|
int toX = (int) (halfW + dir.x * halfW);
|
||||||
int toY = (int)(halfH + dir.x * halfH);
|
int toY = (int) (halfH + dir.y * halfH);
|
||||||
|
|
||||||
setGradient(fromX, fromY, from, toX, toY, to);
|
setGradient(fromX, fromY, from, toX, toY, to);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user