Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/jfree/ColorMapper.java @ 8910:d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
author | gernotbelger |
---|---|
date | Thu, 22 Feb 2018 18:46:37 +0100 |
parents | |
children | 5dacb6ea75a1 |
rev | line source |
---|---|
8910
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
2 * Software engineering by |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
3 * Björnsen Beratende Ingenieure GmbH |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
5 * |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
6 * This file is Free Software under the GNU AGPL (>=v3) |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
8 * documentation coming with Dive4Elements River for details. |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
9 */ |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
10 package org.dive4elements.river.jfree; |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
11 |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
12 import java.awt.Color; |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
13 import java.awt.image.LookupTable; |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
14 |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
15 final class ColorMapper extends LookupTable { |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
16 |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
17 private final int[] from; |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
18 private final int[] to; |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
19 |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
20 public ColorMapper(final Color from, final Color to) { |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
21 super(0, 4); |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
22 |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
23 this.from = new int[] { from.getRed(), from.getGreen(), from.getBlue(), from.getAlpha(), }; |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
24 this.to = new int[] { to.getRed(), to.getGreen(), to.getBlue(), to.getAlpha(), }; |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
25 } |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
26 |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
27 @Override |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
28 public int[] lookupPixel(final int[] src, final int[] dest) { |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
29 final int[] out = dest == null ? new int[src.length] : dest; |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
30 |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
31 // REMARK: only compare rgb, so we even keep the transparency level |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
32 if (src[0] == this.from[0] && src[1] == this.from[1] && src[2] == this.from[2]) { |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
33 out[0] = this.to[0]; |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
34 out[1] = this.to[1]; |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
35 out[2] = this.to[2]; |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
36 out[2] = src[3]; |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
37 } else { |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
38 System.arraycopy(src, 0, out, 0, src.length); |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
39 } |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
40 |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
41 return out; |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
42 } |
d9c89651bd67
Area chart layers may now have an 'arebgpattern'. Real pattern yet to be defined.
gernotbelger
parents:
diff
changeset
|
43 } |