Skip to content

Commit c3176b8

Browse files
committed
Add background color support for PNG canvas, fix example code
1 parent 8d935c4 commit c3176b8

File tree

3 files changed

+16
-11
lines changed

3 files changed

+16
-11
lines changed

geoscript/src/main/scala/render/package.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,17 @@ package render {
179179

180180
package object render {
181181
type Content = gt.map.MapContent
182+
type Color = java.awt.Color
182183
type Draw = (awt.Graphics2D, Dimension) => Unit
183184
type Dimension = (Int, Int)
184185
type Layer = gt.map.Layer
185186
type StyleLayer = gt.map.Layer
186187
type DirectLayer = gt.map.DirectLayer
187188

189+
val White = java.awt.Color.WHITE
190+
val Black = java.awt.Color.BLACK
191+
val Transparent = new java.awt.Color(0, 0, 0, 0)
192+
188193
private def mkChart(geoms: Traversable[_ <: Geometry]) = {
189194
import org.geotools.renderer.chart. { GeometryDataset, GeometryRenderer }
190195
import org.jfree.chart
@@ -273,7 +278,7 @@ package object render {
273278
def file(f: String) = new java.io.File(f)
274279

275280
def png[Spec, Out]
276-
(dest: Spec = (), size: (Int, Int) = (512, 512))
281+
(dest: Spec = (), size: (Int, Int) = (512, 512), background: Color = Transparent)
277282
(implicit encodable: Encodable[Spec, Out])
278283
: Canvas[Out]
279284
= new ImageCanvas(size).map {

geoscript/src/test/scala/tutorial/GeometryAdvanced.scala

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,30 @@ import org.geoscript._, geometry._, render._
44

55
object GeometryBuffer extends App {
66
val poly = point(0, 0).buffer(1)
7-
drawFull(Content(poly), new Window)
7+
draw(Content(poly), canvas = new Window)
88
}
99

1010
object GeometrySimplify extends App {
1111
val poly = point(0, 0).buffer(1)
12-
drawFull(Content(simplify(poly, 0.05)), new Window)
13-
drawFull(Content(simplify(poly, 0.1)), new Window)
12+
draw(Content(simplify(poly, 0.05)), canvas = new Window)
13+
draw(Content(simplify(poly, 0.1)), canvas = new Window)
1414
}
1515

1616
object GeometryTransform extends App {
1717
val circle = point(0, 0).buffer(1)
18-
drawFull(
18+
draw(
1919
Content(Seq(circle, Transform.translated(dx=0.75, dy=0)(circle))),
20-
new Window)
20+
canvas = new Window)
2121

2222
val box = polygon(Seq((0, 0), (1, 0), (1, 1), (0, 1), (0, 0)))
23-
drawFull(
23+
draw(
2424
Content(Seq(
2525
box, Transform.sheared(x=1, y=0).scaled(x=2, y=2)(box))),
26-
new Window)
26+
canvas = new Window)
2727

2828
val bar = polygon(Seq((-5,-2),(5,-2),(5,2),(-5,2), (-5,-2)))
2929
val cross = bar union Transform.rotated(theta=math.toRadians(90))(bar)
30-
drawFull(
30+
draw(
3131
Content(Seq(cross, Transform.rotated(theta=math.toRadians(45))(cross))),
32-
new Window)
32+
canvas = new Window)
3333
}

geoscript/src/test/scala/tutorial/visualize.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ object Visualize extends App {
99
Seq(Seq((20,30), (35,35), (30,20), (20,30))))
1010
val bounds = new ReferencedEnvelope(poly.getEnvelopeInternal, projection.LatLon)
1111
val window = new Window
12-
draw(Content(poly), bounds, window)
12+
draw(Content(poly), Stretch(bounds), window)
1313
}

0 commit comments

Comments
 (0)