From 743e1133496600cc0746912b2f3e35146ba5c3e4 Mon Sep 17 00:00:00 2001 From: Stani Date: Sat, 11 Jul 2015 18:39:51 +0200 Subject: [PATCH 01/11] fix arc angle bug --- draw2dpdf/path_converter.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/draw2dpdf/path_converter.go b/draw2dpdf/path_converter.go index 77bbfb6..befb3f8 100644 --- a/draw2dpdf/path_converter.go +++ b/draw2dpdf/path_converter.go @@ -47,10 +47,11 @@ func (c *PathConverter) ConvertCommand(cmd draw2d.PathCmd, vertices ...float64) c.pdf.CurveBezierCubicTo(vertices[0], vertices[1], vertices[2], vertices[3], vertices[4], vertices[5]) return 6 case draw2d.ArcTo: + // draw2d: angles clockwise, fpdf angles counter clockwise c.pdf.ArcTo(vertices[0], vertices[1], vertices[2], vertices[3], - 0, // degRotate - vertices[4]*deg, // degStart = startAngle - (vertices[4]-vertices[5])*deg) // degEnd = startAngle-angle + 0, // degRotate + -vertices[4]*deg, // degStart = -startAngle + (-vertices[4]-vertices[5])*deg) // degEnd = -startAngle-angle return 6 default: // case draw2d.Close: c.pdf.ClosePath() From 6e1b43c32fbf155b99ffa962374b53be8643764b Mon Sep 17 00:00:00 2001 From: Stani Date: Sat, 11 Jul 2015 18:41:38 +0200 Subject: [PATCH 02/11] fix typo --- samples/gopher/gopher.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/gopher/gopher.go b/samples/gopher/gopher.go index dbd488d..2d5119f 100644 --- a/samples/gopher/gopher.go +++ b/samples/gopher/gopher.go @@ -13,7 +13,7 @@ import ( ) // Main draws a left hand and ear of a gopher. Afterwards it returns -// the filename. This should only be during testing. +// the filename. This should only be used during testing. func Main(gc draw2d.GraphicContext, ext string) (string, error) { gc.Save() gc.Scale(0.5, 0.5) From a43544c31db04d651e65ea93a4399ca9e868ec5b Mon Sep 17 00:00:00 2001 From: Stani Date: Sat, 11 Jul 2015 18:44:36 +0200 Subject: [PATCH 03/11] add geometry and gopher2 samples --- draw2dpdf/samples_test.go | 15 ++ samples/geometry/geometry.go | 317 +++++++++++++++++++++++++++++++++++ samples/gopher2/gopher2.go | 106 ++++++++++++ samples_test.go | 14 ++ 4 files changed, 452 insertions(+) create mode 100644 samples/geometry/geometry.go create mode 100644 samples/gopher2/gopher2.go diff --git a/draw2dpdf/samples_test.go b/draw2dpdf/samples_test.go index 8da8b8d..ca3441f 100644 --- a/draw2dpdf/samples_test.go +++ b/draw2dpdf/samples_test.go @@ -10,7 +10,9 @@ import ( "github.com/llgcode/draw2d" "github.com/llgcode/draw2d/samples/android" "github.com/llgcode/draw2d/samples/frameimage" + "github.com/llgcode/draw2d/samples/geometry" "github.com/llgcode/draw2d/samples/gopher" + "github.com/llgcode/draw2d/samples/gopher2" "github.com/llgcode/draw2d/samples/helloworld" "github.com/llgcode/draw2d/samples/line" "github.com/llgcode/draw2d/samples/linecapjoin" @@ -21,10 +23,23 @@ func TestSampleAndroid(t *testing.T) { test(t, android.Main) } +// TODO: FillString: w (width) is incorrect +func TestSampleGeometry(t *testing.T) { + // Set the global folder for searching fonts + // The pdf backend needs for every ttf file its corresponding + // json/.z file which is generated by gofpdf/makefont. + draw2d.SetFontFolder("../resource/font") + test(t, geometry.Main) +} + func TestSampleGopher(t *testing.T) { test(t, gopher.Main) } +func TestSampleGopher2(t *testing.T) { + test(t, gopher2.Main) +} + func TestSampleHelloWorld(t *testing.T) { // Set the global folder for searching fonts // The pdf backend needs for every ttf file its corresponding diff --git a/samples/geometry/geometry.go b/samples/geometry/geometry.go new file mode 100644 index 0000000..f6b6551 --- /dev/null +++ b/samples/geometry/geometry.go @@ -0,0 +1,317 @@ +// Copyright 2010 The draw2d Authors. All rights reserved. +// created: 21/11/2010 by Laurent Le Goff + +// Package geometry draws some geometric tests. +package geometry + +import ( + "image" + "image/color" + "math" + + "github.com/llgcode/draw2d" + "github.com/llgcode/draw2d/samples" + "github.com/llgcode/draw2d/samples/gopher2" +) + +// Main draws geometry and returns the filename. This should only be +// used during testing. +func Main(gc draw2d.GraphicContext, ext string) (string, error) { + // Draw the droid + Draw(gc, 297, 210) + + // Return the output filename + return samples.Output("geometry", ext), nil +} + +// Bubble draws a text balloon +func Bubble(gc draw2d.GraphicContext, x, y, width, height float64) { + sx, sy := width/100, height/100 + gc.MoveTo(x+sx*50, y) + gc.QuadCurveTo(x, y, x, y+sy*37.5) + gc.QuadCurveTo(x, y+sy*75, x+sx*25, y+sy*75) + gc.QuadCurveTo(x+sx*25, y+sy*95, x+sx*5, y+sy*100) + gc.QuadCurveTo(x+sx*35, y+sy*95, x+sx*40, y+sy*75) + gc.QuadCurveTo(x+sx*100, y+sy*75, x+sx*100, y+sy*37.5) + gc.QuadCurveTo(x+sx*100, y, x+sx*50, y) + gc.Stroke() +} + +func CurveRectangle(gc draw2d.GraphicContext, x0, y0, + rect_width, rect_height float64, stroke, fill color.Color) { + radius := (rect_width + rect_height) / 4 + + x1 := x0 + rect_width + y1 := y0 + rect_height + if rect_width/2 < radius { + if rect_height/2 < radius { + gc.MoveTo(x0, (y0+y1)/2) + gc.CubicCurveTo(x0, y0, x0, y0, (x0+x1)/2, y0) + gc.CubicCurveTo(x1, y0, x1, y0, x1, (y0+y1)/2) + gc.CubicCurveTo(x1, y1, x1, y1, (x1+x0)/2, y1) + gc.CubicCurveTo(x0, y1, x0, y1, x0, (y0+y1)/2) + } else { + gc.MoveTo(x0, y0+radius) + gc.CubicCurveTo(x0, y0, x0, y0, (x0+x1)/2, y0) + gc.CubicCurveTo(x1, y0, x1, y0, x1, y0+radius) + gc.LineTo(x1, y1-radius) + gc.CubicCurveTo(x1, y1, x1, y1, (x1+x0)/2, y1) + gc.CubicCurveTo(x0, y1, x0, y1, x0, y1-radius) + } + } else { + if rect_height/2 < radius { + gc.MoveTo(x0, (y0+y1)/2) + gc.CubicCurveTo(x0, y0, x0, y0, x0+radius, y0) + gc.LineTo(x1-radius, y0) + gc.CubicCurveTo(x1, y0, x1, y0, x1, (y0+y1)/2) + gc.CubicCurveTo(x1, y1, x1, y1, x1-radius, y1) + gc.LineTo(x0+radius, y1) + gc.CubicCurveTo(x0, y1, x0, y1, x0, (y0+y1)/2) + } else { + gc.MoveTo(x0, y0+radius) + gc.CubicCurveTo(x0, y0, x0, y0, x0+radius, y0) + gc.LineTo(x1-radius, y0) + gc.CubicCurveTo(x1, y0, x1, y0, x1, y0+radius) + gc.LineTo(x1, y1-radius) + gc.CubicCurveTo(x1, y1, x1, y1, x1-radius, y1) + gc.LineTo(x0+radius, y1) + gc.CubicCurveTo(x0, y1, x0, y1, x0, y1-radius) + } + } + gc.Close() + + gc.SetStrokeColor(stroke) + gc.SetFillColor(fill) + gc.SetLineWidth(10.0) + gc.FillStroke() +} + +func Dash(gc draw2d.GraphicContext, x, y, width, height float64) { + sx, sy := width/162, height/205 + gc.SetStrokeColor(image.Black) + gc.SetLineDash([]float64{height / 10, height / 50, height / 50, height / 50}, -50.0) + gc.SetLineCap(draw2d.ButtCap) + gc.SetLineJoin(draw2d.RoundJoin) + gc.SetLineWidth(height / 50) + + gc.MoveTo(x+sx*60.0, y) + gc.LineTo(x+sx*60.0, y) + gc.LineTo(x+sx*162, y+sy*205) + gc.RLineTo(sx*-102.4, 0.0) + gc.CubicCurveTo(x+sx*-17, y+sy*205, x+sx*-17, y+sy*103, x+sx*60.0, y+sy*103.0) + gc.Stroke() + gc.SetLineDash(nil, 0.0) +} + +func Arc(gc draw2d.GraphicContext, xc, yc, width, height float64) { + // draw an arc + xc += width / 2 + yc += height / 2 + radiusX, radiusY := width/2, height/2 + startAngle := 45 * (math.Pi / 180.0) /* angles are specified */ + angle := 135 * (math.Pi / 180.0) /* clockwise in radians */ + gc.SetLineWidth(width / 10) + gc.SetLineCap(draw2d.ButtCap) + gc.SetStrokeColor(image.Black) + gc.MoveTo(xc+math.Cos(startAngle)*radiusX, yc+math.Sin(startAngle)*radiusY) + gc.ArcTo(xc, yc, radiusX, radiusY, startAngle, angle) + gc.Stroke() + + // fill a circle + gc.SetStrokeColor(color.NRGBA{255, 0x33, 0x33, 0x80}) + gc.SetFillColor(color.NRGBA{255, 0x33, 0x33, 0x80}) + gc.SetLineWidth(width / 20) + + gc.MoveTo(xc, yc) + gc.LineTo(xc+math.Cos(startAngle)*radiusX, yc+math.Sin(startAngle)*radiusY) + gc.MoveTo(xc, yc) + gc.LineTo(xc-radiusX, yc) + gc.Stroke() + + gc.MoveTo(xc, yc) + gc.ArcTo(xc, yc, width/10.0, height/10.0, 0, 2*math.Pi) + gc.Fill() +} + +func ArcNegative(gc draw2d.GraphicContext, xc, yc, width, height float64) { + xc += width / 2 + yc += height / 2 + radiusX, radiusY := width/2, height/2 + startAngle := 45.0 * (math.Pi / 180.0) /* angles are specified */ + angle := -225 * (math.Pi / 180.0) /* clockwise in radians */ + gc.SetLineWidth(width / 10) + gc.SetLineCap(draw2d.ButtCap) + gc.SetStrokeColor(image.Black) + + gc.ArcTo(xc, yc, radiusX, radiusY, startAngle, angle) + gc.Stroke() + // fill a circle + gc.SetStrokeColor(color.NRGBA{255, 0x33, 0x33, 0x80}) + gc.SetFillColor(color.NRGBA{255, 0x33, 0x33, 0x80}) + gc.SetLineWidth(width / 20) + + gc.MoveTo(xc, yc) + gc.LineTo(xc+math.Cos(startAngle)*radiusX, yc+math.Sin(startAngle)*radiusY) + gc.MoveTo(xc, yc) + gc.LineTo(xc-radiusX, yc) + gc.Stroke() + + gc.ArcTo(xc, yc, width/10.0, height/10.0, 0, 2*math.Pi) + gc.Fill() +} + +func CubicCurve(gc draw2d.GraphicContext, x, y, width, height float64) { + sx, sy := width/162, height/205 + x0, y0 := x, y+sy*100.0 + x1, y1 := x+sx*75, y+sy*205 + x2, y2 := x+sx*125, y + x3, y3 := x+sx*205, y+sy*100 + + gc.SetStrokeColor(image.Black) + gc.SetFillColor(color.NRGBA{0xAA, 0xAA, 0xAA, 0xFF}) + gc.SetLineWidth(width / 10) + gc.MoveTo(x0, y0) + gc.CubicCurveTo(x1, y1, x2, y2, x3, y3) + gc.Stroke() + + gc.SetStrokeColor(color.NRGBA{0xFF, 0x33, 0x33, 0x88}) + + gc.SetLineWidth(width / 20) + // draw segment of curve + gc.MoveTo(x0, y0) + gc.LineTo(x1, y1) + gc.LineTo(x2, y2) + gc.LineTo(x3, y3) + gc.Stroke() +} + +func FillString(gc draw2d.GraphicContext, x, y, width, height float64) { + sx, sy := width/100, height/100 + gc.Save() + gc.SetStrokeColor(image.Black) + gc.SetLineWidth(1) + draw2d.RoundRect(gc, x+sx*5, y+sy*5, x+sx*95, y+sy*95, sx*10, sy*10) + gc.FillStroke() + gc.SetFillColor(image.Black) + gc.SetFontSize(height / 6) + gc.Translate(x+sx*6, y+sy*52) + gc.SetFontData(draw2d.FontData{"luxi", draw2d.FontFamilyMono, draw2d.FontStyleBold | draw2d.FontStyleItalic}) + w := gc.FillString("cou") + gc.Translate(w+sx, 0) + left, top, right, bottom := gc.GetStringBounds("cou") + gc.SetStrokeColor(color.NRGBA{255, 0x33, 0x33, 0x80}) + draw2d.Rect(gc, left, top, right, bottom) + gc.SetLineWidth(height / 20) + gc.Stroke() + gc.SetStrokeColor(color.NRGBA{0x33, 0x33, 0xff, 0xff}) + gc.SetLineWidth(height / 100) + gc.StrokeString("cou") + gc.Restore() +} + +func FillStroke(gc draw2d.GraphicContext, x, y, width, height float64) { + sx, sy := width/210, height/215 + gc.MoveTo(x+sx*113.0, y) + gc.LineTo(x+sx*215.0, y+sy*215) + gc.RLineTo(sx*-100, 0) + gc.CubicCurveTo(x+sx*35, y+sy*215, x+sx*35, y+sy*113, x+sx*113.0, y+sy*113) + gc.Close() + + gc.MoveTo(x+sx*50.0, y) + gc.RLineTo(sx*51.2, sy*51.2) + gc.RLineTo(sx*-51.2, sy*51.2) + gc.RLineTo(sx*-51.2, sy*-51.2) + gc.Close() + + gc.SetLineWidth(width / 20.0) + gc.SetFillColor(color.NRGBA{0, 0, 0xFF, 0xFF}) + gc.SetStrokeColor(image.Black) + gc.FillStroke() +} + +func FillStyle(gc draw2d.GraphicContext, x, y, width, height float64) { + sx, sy := width/232, height/220 + gc.SetLineWidth(width / 40) + + draw2d.Rect(gc, x+sx*0, y+sy*12, x+sx*232, y+sy*70) + + wheel1 := new(draw2d.PathStorage) + wheel1.ArcTo(x+sx*52, y+sy*70, sx*40, sy*40, 0, 2*math.Pi) + wheel2 := new(draw2d.PathStorage) + wheel2.ArcTo(x+sx*180, y+sy*70, sx*40, sy*40, 0, -2*math.Pi) + + gc.SetFillRule(draw2d.FillRuleEvenOdd) + gc.SetFillColor(color.NRGBA{0, 0xB2, 0, 0xFF}) + + gc.SetStrokeColor(image.Black) + gc.FillStroke(wheel1, wheel2) + + draw2d.Rect(gc, x, y+sy*140, x+sx*232, y+sy*198) + wheel1 = new(draw2d.PathStorage) + wheel1.ArcTo(x+sx*52, y+sy*198, sx*40, sy*40, 0, 2*math.Pi) + wheel2 = new(draw2d.PathStorage) + wheel2.ArcTo(x+sx*180, y+sy*198, sx*40, sy*40, 0, -2*math.Pi) + + gc.SetFillRule(draw2d.FillRuleWinding) + gc.SetFillColor(color.NRGBA{0, 0, 0xE5, 0xFF}) + gc.FillStroke(wheel1, wheel2) +} + +func PathTransform(gc draw2d.GraphicContext, x, y, width, height float64) { + gc.Save() + gc.SetLineWidth(width / 10) + gc.Translate(x+width/2, y+height/2) + gc.Scale(1, 4) + gc.ArcTo(0, 0, width/8, height/8, 0, math.Pi*2) + gc.Close() + gc.Stroke() + gc.Restore() +} + +func Star(gc draw2d.GraphicContext, x, y, width, height float64) { + gc.Save() + gc.Translate(x+width/2, y+height/2) + gc.SetLineWidth(width / 40) + for i := 0.0; i < 360; i = i + 10 { // Go from 0 to 360 degrees in 10 degree steps + gc.Save() // Keep rotations temporary + gc.Rotate(i * (math.Pi / 180.0)) // Rotate by degrees on stack from 'for' + gc.MoveTo(0, 0) + gc.LineTo(width/2, 0) + gc.Stroke() + gc.Restore() + } + gc.Restore() +} + +func Draw(gc draw2d.GraphicContext, width, height float64) { + mx, my := width*0.025, height*0.025 // margin + dx, dy := (width-2*mx)/4, (height-2*my)/3 + w, h := dx-2*mx, dy-2*my + x0, y := 2*mx, 2*my + x := x0 + Bubble(gc, x, y, w, h) + x += dx + CurveRectangle(gc, x, y, w, h, color.NRGBA{0x80, 0, 0, 0x80}, color.NRGBA{0x80, 0x80, 0xFF, 0xFF}) + x += dx + Dash(gc, x, y, w, h) + x += dx + Arc(gc, x, y, w, h) + x = x0 + y += dy + ArcNegative(gc, x, y, w, h) + x += dx + CubicCurve(gc, x, y, w, h) + x += dx + FillString(gc, x, y, w, h) + x += dx + FillStroke(gc, x, y, w, h) + x = x0 + y += dy + FillStyle(gc, x, y, w, h) + x += dx + PathTransform(gc, x, y, w, h) + x += dx + Star(gc, x, y, w, h) + x += dx + gopher2.Draw(gc, x, y, w, h/2) +} diff --git a/samples/gopher2/gopher2.go b/samples/gopher2/gopher2.go new file mode 100644 index 0000000..012c3ca --- /dev/null +++ b/samples/gopher2/gopher2.go @@ -0,0 +1,106 @@ +// Copyright 2010 The draw2d Authors. All rights reserved. +// created: 21/11/2010 by Laurent Le Goff + +// Package gopher2 draws a gopher avatar based on a svg of: +// https://github.com/golang-samples/gopher-vector/ +package gopher2 + +import ( + "image" + "image/color" + "math" + + "github.com/llgcode/draw2d" + "github.com/llgcode/draw2d/samples" +) + +// Main draws a rotated face of the gopher. Afterwards it returns +// the filename. This should only be used during testing. +func Main(gc draw2d.GraphicContext, ext string) (string, error) { + gc.SetStrokeColor(image.Black) + gc.SetFillColor(image.White) + gc.Save() + // Draw a (partial) gopher + gc.Translate(-65, 65) + gc.Rotate(-30 * (math.Pi / 180.0)) + Draw(gc, 48, 48, 240, 72) + gc.Restore() + + // Return the output filename + return samples.Output("gopher2", ext), nil +} + +// Draw a gopher head (not rotated) +func Draw(gc draw2d.GraphicContext, x, y, w, h float64) { + h23 := (h * 2) / 3 + + blf := color.RGBA{0, 0, 0, 0xff} // black + wf := color.RGBA{0xff, 0xff, 0xff, 0xff} // white + nf := color.RGBA{0x8B, 0x45, 0x13, 0xff} // brown opaque + brf := color.RGBA{0x8B, 0x45, 0x13, 0x99} // brown transparant + brb := color.RGBA{0x8B, 0x45, 0x13, 0xBB} // brown transparant + + // round head top + gc.MoveTo(x, y+h) + gc.CubicCurveTo(x, y+h*1.05, x+w/2, y-h, x+w, y+h*1.05) + gc.Close() + gc.SetFillColor(brb) + gc.Fill() + // rectangle head bottom + draw2d.RoundRect(gc, x, y+h, x+w, y+h+h, w/5, h/5) + gc.Fill() + // left ear outside + draw2d.Circle(gc, x, y+h, w/12) + gc.SetFillColor(brf) + gc.Fill() + // left ear inside + draw2d.Circle(gc, x, y+h, 0.5*w/12) + gc.SetFillColor(nf) + gc.Fill() + // right ear outside + draw2d.Circle(gc, x+w, y+h, w/12) + gc.SetFillColor(brf) + gc.Fill() + // right ear inside + draw2d.Circle(gc, x+w, y+h, 0.5*w/12) + gc.SetFillColor(nf) + gc.Fill() + // left eye outside white + draw2d.Circle(gc, x+w/3, y+h23, w/9) + gc.SetFillColor(wf) + gc.Fill() + // left eye black + draw2d.Circle(gc, x+w/3+w/24, y+h23, 0.5*w/9) + gc.SetFillColor(blf) + gc.Fill() + // left eye inside white + draw2d.Circle(gc, x+w/3+w/24+w/48, y+h23, 0.2*w/9) + gc.SetFillColor(wf) + gc.Fill() + // right eye outside white + draw2d.Circle(gc, x+w-w/3, y+h23, w/9) + gc.Fill() + // right eye black + draw2d.Circle(gc, x+w-w/3+w/24, y+h23, 0.5*w/9) + gc.SetFillColor(blf) + gc.Fill() + // right eye inside white + draw2d.Circle(gc, x+w-(w/3)+w/24+w/48, y+h23, 0.2*w/9) + gc.SetFillColor(wf) + gc.Fill() + // left tooth + gc.SetFillColor(wf) + draw2d.RoundRect(gc, x+w/2-w/8, y+h+h/2.5, x+w/2-w/8+w/8, y+h+h/2.5+w/6, w/10, w/10) + gc.Fill() + // right tooth + draw2d.RoundRect(gc, x+w/2, y+h+h/2.5, x+w/2+w/8, y+h+h/2.5+w/6, w/10, w/10) + gc.Fill() + // snout + draw2d.Ellipse(gc, x+(w/2), y+h+h/2.5, w/6, w/12) + gc.SetFillColor(nf) + gc.Fill() + // nose + draw2d.Ellipse(gc, x+(w/2), y+h+h/7, w/10, w/12) + gc.SetFillColor(blf) + gc.Fill() +} diff --git a/samples_test.go b/samples_test.go index fdf7614..fe22f06 100644 --- a/samples_test.go +++ b/samples_test.go @@ -8,7 +8,9 @@ import ( "github.com/llgcode/draw2d" "github.com/llgcode/draw2d/samples/android" "github.com/llgcode/draw2d/samples/frameimage" + "github.com/llgcode/draw2d/samples/geometry" "github.com/llgcode/draw2d/samples/gopher" + "github.com/llgcode/draw2d/samples/gopher2" "github.com/llgcode/draw2d/samples/helloworld" "github.com/llgcode/draw2d/samples/line" "github.com/llgcode/draw2d/samples/linecapjoin" @@ -19,10 +21,22 @@ func TestSampleAndroid(t *testing.T) { test(t, android.Main) } +func TestSampleGeometry(t *testing.T) { + // Set the global folder for searching fonts + // The pdf backend needs for every ttf file its corresponding + // json/.z file which is generated by gofpdf/makefont. + draw2d.SetFontFolder("resource/font") + test(t, geometry.Main) +} + func TestSampleGopher(t *testing.T) { test(t, gopher.Main) } +func TestSampleGopher2(t *testing.T) { + test(t, gopher2.Main) +} + func TestSampleHelloWorld(t *testing.T) { // Set the global folder for searching fonts draw2d.SetFontFolder("resource/font") From 99f1fece69aa19a9f40779874e9bf0310aa8bdf5 Mon Sep 17 00:00:00 2001 From: Stani Date: Sat, 11 Jul 2015 18:58:28 +0200 Subject: [PATCH 04/11] implement SetLineDash for draw2dpdf --- draw2dpdf/gc.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/draw2dpdf/gc.go b/draw2dpdf/gc.go index fd9563a..2eb5ed8 100644 --- a/draw2dpdf/gc.go +++ b/draw2dpdf/gc.go @@ -261,6 +261,12 @@ func (gc *GraphicContext) SetFontSize(fontSize float64) { gc.pdf.SetFontSize(fontSize * gc.Current.Scale) } +// SetLineDash sets the line dash pattern +func (gc *GraphicContext) SetLineDash(Dash []float64, DashOffset float64) { + gc.StackGraphicContext.SetLineDash(Dash, DashOffset) + gc.pdf.SetDashPattern(Dash, DashOffset) +} + // SetLineWidth sets the line width func (gc *GraphicContext) SetLineWidth(LineWidth float64) { gc.StackGraphicContext.SetLineWidth(LineWidth) From 224b85d99a68fa69f8650c20f638a603415c8987 Mon Sep 17 00:00:00 2001 From: Stani Date: Sat, 11 Jul 2015 19:04:02 +0200 Subject: [PATCH 05/11] include geometry sample to show on the frontpage --- output/samples/.gitignore | 3 ++- output/samples/geometry.pdf | Bin 0 -> 38125 bytes output/samples/geometry.png | Bin 0 -> 24640 bytes 3 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 output/samples/geometry.pdf create mode 100644 output/samples/geometry.png diff --git a/output/samples/.gitignore b/output/samples/.gitignore index 86d0cb2..7abb424 100644 --- a/output/samples/.gitignore +++ b/output/samples/.gitignore @@ -1,4 +1,5 @@ # Ignore everything in this directory * # Except this file -!.gitignore \ No newline at end of file +!.gitignore +!geometry.png \ No newline at end of file diff --git a/output/samples/geometry.pdf b/output/samples/geometry.pdf new file mode 100644 index 0000000000000000000000000000000000000000..78f689a5d77eb6644f071880d516ec76d27f5503 GIT binary patch literal 38125 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 T{^}Yn7+e!7qM~AMV}djz>tHKV1<;h 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 D2|}S^ literal 0 HcmV?d00001 From 16a86e75881113cd95f2c19a8e22dc1e3e448755 Mon Sep 17 00:00:00 2001 From: Stani Date: Sat, 11 Jul 2015 19:06:10 +0200 Subject: [PATCH 06/11] remove resource/result --- resource/result/TestAndroid.png | Bin 4597 -> 0 bytes resource/result/TestBigPicture.png | Bin 1883 -> 0 bytes resource/result/TestBubble.png | Bin 4317 -> 0 bytes resource/result/TestCurveRectangle.png | Bin 9670 -> 0 bytes resource/result/TestDash.png | Bin 4835 -> 0 bytes resource/result/TestDrawArc.png | Bin 5332 -> 0 bytes resource/result/TestDrawArcNegative.png | Bin 6539 -> 0 bytes resource/result/TestDrawCubicCurve.png | Bin 8271 -> 0 bytes resource/result/TestDrawImage.png | Bin 23445 -> 0 bytes resource/result/TestFillString.png | Bin 3267 -> 0 bytes resource/result/TestFillStroke.png | Bin 5887 -> 0 bytes resource/result/TestFillStyle.png | Bin 10021 -> 0 bytes resource/result/TestGopher.png | Bin 13826 -> 0 bytes resource/result/TestLineCap.png | Bin 2234 -> 0 bytes resource/result/TestLineJoin.png | Bin 3710 -> 0 bytes resource/result/TestMultiSegmentCaps.png | Bin 2228 -> 0 bytes resource/result/TestPath.png | Bin 2295 -> 0 bytes resource/result/TestPathTransform.png | Bin 10413 -> 0 bytes resource/result/TestRoundRectangle.png | Bin 5122 -> 0 bytes resource/result/TestStar.png | Bin 12855 -> 0 bytes resource/result/TestTransform.png | Bin 6210 -> 0 bytes 21 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 resource/result/TestAndroid.png delete mode 100644 resource/result/TestBigPicture.png delete mode 100644 resource/result/TestBubble.png delete mode 100644 resource/result/TestCurveRectangle.png delete mode 100644 resource/result/TestDash.png delete mode 100644 resource/result/TestDrawArc.png delete mode 100644 resource/result/TestDrawArcNegative.png delete mode 100644 resource/result/TestDrawCubicCurve.png delete mode 100644 resource/result/TestDrawImage.png delete mode 100644 resource/result/TestFillString.png delete mode 100644 resource/result/TestFillStroke.png delete mode 100644 resource/result/TestFillStyle.png delete mode 100644 resource/result/TestGopher.png delete mode 100644 resource/result/TestLineCap.png delete mode 100644 resource/result/TestLineJoin.png delete mode 100644 resource/result/TestMultiSegmentCaps.png delete mode 100644 resource/result/TestPath.png delete mode 100644 resource/result/TestPathTransform.png delete mode 100644 resource/result/TestRoundRectangle.png delete mode 100644 resource/result/TestStar.png delete mode 100644 resource/result/TestTransform.png diff --git a/resource/result/TestAndroid.png b/resource/result/TestAndroid.png deleted file mode 100644 index ffa068bbfaf0c68fe2479eb60bdc3d73cf820cb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4597 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 U>jIUYf9KGc8d@4OLOf9a0kFr%o&W#< diff --git a/resource/result/TestBigPicture.png b/resource/result/TestBigPicture.png deleted file mode 100644 index 791a9dfc6db2e5c020768350f908b950ab22b591..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1883 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&t&wwUqN(1_pK|PZ!6KiaBqt8VWKf@EmaH zJG}p?(qiX-qA90m&t!Huf0vITp`DSzMUuf`$|yA&1f!{7G$V|b1*65`h^P^+@G~&{ Z|KC{4&T#3s3aA=o@O1TaS?83{1OT+@O>zJL diff --git a/resource/result/TestBubble.png b/resource/result/TestBubble.png deleted file mode 100644 index 29fff3fe60e616bf3d02df4794785d135c5bfdce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4317 zcmeHJ`&*Mo7M?^9C>2Ck(W+pfmbyiy;ulaZK|!fS#o`5&KvGdIfeZi(gwRP?xw zi$?fPJAv-WPitMTK93d#a?wf6aGCMV8v0bEIkSK8HQQ^}d{I^-vD{gw4UYopM;j= z??O7ylTO~VboS~XKQV!egQIDqPC+=3_PpMPKTIpR6NmC8KzCC3gQcVe@919mJ9=)20TXJ6R);{AjF}wl>*x$Vr*p;|xf<^AeE#5bqVCZYEhjkGiI&-^&(BjsTJY z=k^}{bvUm4xg)F92E;^}#gbAv@_gx13 zqv|hZaYWVKzRUL*WvS_Rbp;D(A7PLkFdB49?eXQiI*PtJI6>_JPWziK1Y3@&*44Tm z+bMs;j*O}d&T#>fyES(;)6D3S_>-67`q%-EJ2oz5T$)u;c8v9Qi_S+{WSTN8F~Dl6 zI8gV7sFL(uw()O3dvH~2?SX~*l#&5ILVY2g@9+b`V4Mnq3}jhAmMge0*IPfo+|rq@ z_SmVfT0~7tIN=Q3W`1Py)^WqG)3*-K7sq261oz}%jo)vV$uhqj2e36RO7#GJX>loT z&{g1uQd~gdoQN5HCEi1F3W{E^4{Q}x`sNgoBJZ|ktCxY3V->fC@Hq|xanPMB*6rD1 z*4P<+w>fy5AmPkOQ_`^KRq%2pa1|O=`$~QHls~dpZw<_Ig zx57rv)(8BG+B2l&o=Ph?XbZWg z3xY7f9v2Ss9&X3p|6=n!-LPTnoY_FSWlEZEngwj=Yd&Y)k~J#;-x{RKb^r z&xhkjlyb7hdOX05`_*RmC^j5D4F3)vLY6O9VnAWm5kz?<{)8>}AzF^(B3R%!`VLq1 zan>`%?xRl~Al^}0J`%k|W($hP=OA8CPSJ{2p5sFhm3k-!!`~$pu*)#Ke6>eJJ&|AM z{+`!}evjVz29*EnHl=;%D_P%V?`ui@#spTpj_6}8AxXL4HmYq}|20Z`4P3&maIzA2 zdQVVovvvhMq@R#akb@s*tJc9lAHv56g&~ z(K6SN;{$R^3-m?#y$x*-Q4Ukyl>HrR{wxA~o(RaYXcfwQYp2{=LD!fC(u`!DyX~0Q z{G8{fcZvxg0rY$n;@&dW!Jr?L9&s$7=bM#eL1{5BO<-GU=I$@l_OAKG6?k8aAe-wq zW!eX}qivLSU-=QJRWul{>S0EUJFcT&b+s&7KX8*6!Y<^mptN_Ih~f^I!f9xuzB=HX zDp;WvjjI1<&a9!ocx!$qqvi>nCt%W)n6-G)5fsL#K};qcX-?hD(dltj+q5@uLmI1Y z<&x>O=rf8@8rhhAjK!(r1$(7y^WoSNZ_DzW837_xk5 zn|ue<-xx|Eyo_CDM{K#FT(o~ZsE1w$BSwv@v2kSUf8wiZSKTSQmQ$z%R)ba zxVFqH)zMnHh~2tsda!^CNE_GsE zdxOF3r8MpU_q9hy)-ocb8KqT?!+hmZ-WIt2?z4%}LFL-))md~1K}n{yRG)~1m= zknvshp%(3EO_ZvRNz0^o0+KjClQmu6y27-q)5J95ALUK}K+_sA58`l`}YW z4lss9O@GXfwCIX{n20n}DYAJx#%)pWJ6;Q#i__7njTq9Uj++#7AFr9rNncoQAPCvg z_rX(Nz-;%`+LOq?DG=uz0DW!(Hp|?hu(xnw@B74eqr}wB)hS+pgE2)E8f;ch#r z)VZ%+4EW2&3ytvY{a(hPq$$fplE#w3s#Y6Z3Mz13It>3CMWn*iPlx+06VRwIkBAV3 zlT^W8x?I@thaKbR(`2NipFpH#BC!J*cX&?*GQO&zck>FJrA|Qdl?fYUEe;N9ULxp4 zl}%l!Z^D~7ybkK C*vfwZ diff --git a/resource/result/TestCurveRectangle.png b/resource/result/TestCurveRectangle.png deleted file mode 100644 index 2220ee7fda2fe06699a637cc71f60d53c0884a1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9670 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 diff --git a/resource/result/TestDrawCubicCurve.png b/resource/result/TestDrawCubicCurve.png deleted file mode 100644 index 7cff37136a05b0293508720914b40d3925125347..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8271 zcmeHN`6HBT-@gVYI;Wb-Nu7k$5rrrTS!P75>}&RuGuc8J3^HaqPP9_lvW`wk_NBxa z3~kDuZA4>~WiT`}3x=8dy)*Coynn&-{Pg_fa^Iit=ll77?rU>hZrWI#+W7O%p8)_H z&zv^513&_9N&uO4@DFZep8$Z}a%ap<9U`-5>FZPebdFM*cQY=&*n8*qKP8XfiI8*q zuI-}ijYe+{-7OO*DdV%@FZA&X`l@fP?YgrOG4>|WS|&o~;R$b(H0YIbwoefEQl#r_#4o!lS$Abptn_5$Fd{$3oOYVcG1xmT^-dVL0a#I4TJC+NJ z18MHqw-q(W-Nz8b#%CmKXOw?`(Jzz6w#EIuCqzCBgrIc z=rv}CB-n5dpu04NAX0XH{;KT?zoxv?aAmR>WWqcCQcP}S6lsWNSdBQ9nBx2-v5zw z3z+gu5JFL2!ElJT6sV(}5Wi`L<($}LM z$AiudMG)h?5kOnZfUt{bSeaIcBFIyPVLDA>7+n_l4Qq>)g|*24J}2)amYldAya+iB zhoCxPf)*(-r1wS~lCuT)wW)E}#Q2f)P7LWB5JD#>5nyN!=+50T4Rx(7{Oh+FNbfKb zbi*Aq?d}CJ^FZX@C*hBW#J%N=1SpmNC?>Xmwa{f2*N9!a~a_Nhy%_@|@UKqtn3KzpYkGbpm+X zsy|w56ZH(zs_eu*G_MC5!PmtF{v!)qKL0GvV7?Dj5ro4!-o0xQKsXrw$xnQ?z?)$i*Yu#U*TphYQwJoXb`Q9NGSCO~U4Dpvh>9m_7LZkb=`g*#qrYQeaYkP6TDTCv{Z&JdIVR8IX@n ze_(fo2bNLWcszGfTX0{vD=c;w+l z$*);Zdd>dE)GgUYQp%Cj{2y;P<>w8G?&t(}$5ZjLNZ;m^Ubb0BVjR zE+$QV+CqHV4lcj=I1Q!SFKcy$N0k|d;*Zd-7vc<|>)ENSnoztZEeY%KfK@n&Af}!K zqkgZc@TB5S>f|Lm%*Bv$0_h+&SOn%eMW`c zn8TWJP?#>C9_wPgkwsnUGFFQHrdeae9+pOSLWWf)prZXDViaLE1s5_=jBPkb+bftC z7%!5qvhiFqr}9|tnBJwOg)zP0)puIKgO__Ht>Nh>ZHq66>>d?B@>ro&8MTX-;GZ$O z>gy4)NS}Ur^Cn5yhF|fVZ!~1D@{ALZr1_>~xC+d1Fls7fL+ON&@^k(95g`^i9(8(Q z(oYL|TiA8#mNeFMZed}9@GTujUA?ui;1x6a3p~Wzh@dG>FbrwYK6+)bB*}^caWwg& zm_Ab3=Nk6=7K7hP>-dc;xuR=^?3e}XeX2DNVSSQ1VAsbM5!5vyc8QG||TSQgnP%bOQp;{qR12Lv!%&y^K534Ab%89e z=eay?nbqi{2zFqq{|Et(A2ni`AEKDh(6V(OGT(zTGSF;Q(!RA`g(h!L*e9@1+wZ(# zHnWgrS6$^*e0E9Gbaa2A>z~iKb4mWVy+;%8=F>=#7lwK&!oHh1mp6Wia;u3|Mv0b( zbZPD%zp*5^SvtTWnj(V8WRsMlZT#rzt7H=cdkQ6{^n*jrAvIpJ!`!NcjM^W0B|k^T zsB0ZIM9$C1TAlW(mgaDi_NjIWxXIBRXO~V8_9OvI)brd!89Y2WoR7P;iS;X8*wiv2*~-%*aB~sAziy5 zT45TSr1oT%&oQ7L3sqHyBP~?&arKMR>W!_TDYZ`9r;ySP?ZW4;I(B^098E} z4ZA~!!wF$4*B$6Xi%QJ8qBh!0^;W6YY_z}W>Xo9uT8*$YX}?M3zybHwH+SVx53<*T zlSF`46+(xNT%(0v?Y#E~3DN%YDHc)$1IOgm$0hCSQ!uyNGS}7Ut^9R;5^<}FMtGN| zsb%=brIHPYI#FX1+Gq*%Wd$x|eYSsE)Wc#=o_;xt*6QTdx;sZK9D8l^a*>G@Mm<;E zo++)?iiy+G|5nSS73nBut<>BEw`IXUf#r}_Vqcr?qV?=o)wDMDNJdd(G?~s0_4u9n z&3$`EAN{WN!6QhU?5bdo=*cuq>oz6N+<08E&u)Fh?z#a1G{HDS{YxOUW zN;05Hhtlqvttrm|CgMv7)1%_=t` zhj{}zhD!I7xFl`%&1hkFCY_?BlhZ?*=t`WMpJ>}J3RNOj-RrbAWVB-PrLqryfpo}< zsFl&X37hg2c6mdpq4K}kOyf04#=3pNOQmYiO%Nwc@FM%!@A=#i~6*UGbnPu@lmH!k-=sjQOb zOM5n_g3bNyJV=%&D6(KTuB21L=SP=Se%+OsYlX`8ySgk4O-294UAf5C3;U#Q0f{J| ztX*A{@?u>OjpyVNn%lMD;t&_ii`O~)_Icu8X8(BMex?V#yY+dPsf~2gKCB`oOd%?yr zwW;Z~dug0dyuQH%<5p z0(8xG)J-K;)VD(F&T{s`)`L3&yZ1fv@M=~G`zbwzK52m9GU~`7b;-q`c8)DBES)K9H zy%8icOJde(bZAVwZDnv?23Zsba1z?KPeD{I8p<*eeYMnGcL54*&`%(`ju|yI7Zx@! zP+?QfCbc-WirMgS?-Q)6;Qc8flT`P|>wY)qa+9i=&w|QI?(@KbCxL8Ad5mk~ISa$l zcd;R-&=cBFL!s*f{xt??@At&X_40b1D_?sc>gvc5C1e7BcrCqgczdPQ z(csmjAS=tL`vVfGdK@!}6;|kNb|DLP0#EGfLI^5IC|E4}P2Mmd347e6C!>UB(M8@B zpB6h+fSsFTzLc`>EQ?X5VRw=Sue2YU=JHrfyqSTJTKqHS#BcNJ)buX?75PH<9M*n# zB=D)In8=wy$KnxAF1&Y0Wm}%xwSymzP;HJpN;A zfG@@u(@NGmc&`6^YEDP)rALsL6Gt6awZbyFB+p5GuCCP?Zn^1=HS}YM7|d>zxG?1m z2GdxdCSFWB%k8*)pa!iOND3(lzF%idV`77*d->)zJKtjzM4?CXr?*y3gha1MAiOUM zp&quDv;XQdEw}f_V;>YX@%#S>k=cBTDuMoV%{?V>=Jwc_f0sn>L`#`#s%LG`@NB`v zrZ5b%e|4v>9B1Bv{@3Eh+j!ga?iYiSzffQI_V%JO9;zizV!SKzF#zE*B8d9Udpf8w zzda>AFbAnoQRjZ1&#kx2x`@&|MN+aHK!uz-e?P>zXx)MB{j&lnyn0Ba8Z^Z1ygB2^ z1yUc`;h@#h#>DxcCPgEGcwO!eNe5|DuT7%}>OIs=m+1|fjvQH}|AhR`70AuGv`(1c zqOf?sAY>>E!`4F*Z3o!EhQF-U7LJwYfVZsBhRUwtm)WU~zqWN?T2*2-g`4D8AcM;u zR~HsqyrN&t^sm5wWNYF-odqWcb~{PbtJ0oh=Yo6`^Ol4T*QFEr;|@9B2`3F1M~0y; z>U<#<-bTK<{W6Gh!Lsyd>I~0pTEHr0Avd?@rAZw8CD+LJSbkhkyJU(15jhb(;eGVV zcq%oCkj2unuP!6ForR!>u5%;5)C3C$;l*r3I9fcw@9Vix1Aw>6&hZA&8a|=5ilz}>-B-US+FuWJ=98y+aZ7FuI(gbOUtImZGuXZ{CwODLSw1Dv95K_DNTr)wF_5n|? z`x5D1^sT|`TN7>i)(uR8h*DU`ShY?vI(&4%2uwkef9t{ zHRM1y$Ec{`EHu)MMI;B!o1Y5}Lvu();L7;>M$gz5AD`i@*lN~~v=@O|>*gkGqrORO zcoqkoh??)o2oU_#hF)GFI2Oh4WuzR-o+sIM-b%3-IVV zY1{*cFY1UQo}bWY;uRkI?qSusUl1xcCM=}5DW`90RT__uF8Ve`I3gr~%pKQ(&8|jl zw7|JsQ3-kudwMaI@+B3X7xlwU4x!Yj_gJ?aJbIQm9*qNw_Tf5tRhPd1*<0QXN$1_P zT@OwOS<;(U-+9Q&Dh2Sz_i(`T*0WL20otNnxGUb0aP+wk=9EXoD&{vvaFEZMWao0x>Cz8>p>DTJwmX(>QY+{WY3I!x`Mlf4>ip`- zvMO#cIi_-Z(5A4Cv!4}AAha&Qx(ZhO|WNGDu z7VOJl;ZmJz5MhjC(Jp!9fUnd@auI^u<5{asi_Z<3jce6iWuNQc5^eAmn(L!qX1HVC zFRU-Dvl|tqQ7wLG>Wgnc+%9AfUTI$9a(^N14>HitV3ig3n4^NcV54m<<6KJ&tk#HbJ;jic@AVQ zv>B>q1-SxH8UB3!93wTy0ncbmD)33d3zPMN1fAzuG-&ks;%ClmgS~x{Mpsv-WK0xP zf6$cD>al2*TUZdWa>3)kTwK){WanHCAAuBSex9|3{Wt|){Zrt#A>P{T+vLN;wZ8NJTCjLZR1r(Ry+FSLXV zUd9$;k%~sV0$JIlhM1VuL$5z~%B2hoMYd(uPcx35?E2B4|DM3E+pS=X>|XlZxlulN z`Lllke)6qbO`}G2olWQHu1+4xUe`M^xU9{N8X>waLIDdGCq$lKwzR(B!_Z)UL2k62 zaP~PVwJ0a({1P+KG?=jq)0|t?iC+J^>ST0m(ZH@Lb=V8n%2|n~EgLytW1?lTGgaHs zaM<~2fNrB|{!AK~!Q!N)RxhJcSt^A?)9H@VsLUc$YV(ir`cvCsuxr{UJ&NcW^eF2~ zwj+v}&ADiD(3lVF}Ww+lbps8LBNf8C*G$P3-~)r0Jr%gT0l!#3=u<$Kfz z<4PbT`j?Z@Doy$0Ijb4Ve$ck%sR$9_RD(&*(*o$l%d3mIa-K6w4w@4b{A5=s*E1pw za~NvOK=~HWF11BNnEs}y=Q6LI;G>(b_0LgQkt`4L7_Kg6Ys!GM1Ppc?S_h-Jn?2w7 z02j&ZAXFVqb1JQS7R&#{F7v?Azt(hE`m@jBi;-Cd+DI4G+}dE#&Bp%1RDaX3%7?bf*Ljo-qH}1}_Tv1JVyOqzCm! zJ9h5)@i1|lEJ(azgv^5@<((XWjPbvkYOgva;px3Qe%p3%%Z~#D5O@)IVjXeso{qKW zPq)c~8wE#j;|wLAdA`WRv<=iOo+8_KQ2wgh_(M{Uic)| zetjO1=MpSVY5^WrXHO#FrEcm0(Dpemmac;EPQ-}0)1`>(9-FMC(UJijcfPM>H{K17 z9O_x4;1WRv@qUij4Q2_42(dNMK zV+C_9w+bRp;dS;JM}idb=!S4bH2et_w}PP~FT~)}V5%uk4Aw>D*~f{&EmFiy8^gq4 zSx~24AqJlVQ+8A_SQ?SHU0|@5TS*2OchlAo0yLPq-zY9tS^|yaMXzzhZUNDy>Eg0( zf^HvUaaq<MM{|+{wDPnLI z&{mrhgMB5Mh%dxo(t04-C$<#74{R8Gzya`CKnEfB6E{k1(T@1HlZb$7OG_mhY%pw& zvfm$yc^~wCtoDWyP4_emklm-nUd8);j3SUf`{s(ASjUE61 diff --git a/resource/result/TestDrawImage.png b/resource/result/TestDrawImage.png deleted file mode 100644 index c1b377dacf0a99a82aeb03bccca753cf1d2c5ff9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23445 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 z zL^leKVKhr8i5qY5)~26PF{lUn>--)wPHwUdkcOmC;}e!S}xe0>5P6?|H4T)V*TiGS`pgYhY%L;B^?a!GvTVJro!4AJ^;LnGrLply_a}jM{--kh; zYkHp46#ge?pB2Th(vZWFcPsAC$ICy@#@!lNIU77wyWD6M0px^N6bUx#mDBeK7NlBc z*RGY4qt9fne8nY@d_68j@tQurp6Et%GgR@6l)>2sy4J;$9Iel^DeTK!U)VA=!>BJ~ z76d9yke8wG;!F?HXq=#gN1KkHvHst%X8jZAYV&nm(=l_rMKE1+72E9fRv z$WqeeS|VHafKz0v^dZq=SmAL7wn1=GM|(@=ZSi_uZLPwoZmYnKywJnld}kk2yyOb3 zB{4+9W~ov^jVm{a7e}$yCI$NYH-kXj+wt^z^ zlkWr_)_yCB5z{BomJbxo(*920;ku{Fis^e1>!RE^4sLy{0?d{5)_z6=B-c>t#w5@0 zrdaekfOR%a?XkJQg_M<4$jC}XrU0D!x@{~G+}QCQ$LG*%3tg4%v&CBE1=0{be4Is? zCNCZQ<5`|HL$v~q^x$i%{F$b@nXy*Nhbjv)i9;Yz<33IfOlto5iC|;4>+-u4_C{D1 zG&FxIlLd3VF?{;;OIDRDcI|WyZU2ztJ~IdG?%zV^^yiUpl@MbP_Vg^TKdD+QpE5i8 z)3iy3J@d*NC9dya{QR`2daGc9m!0f-!n?%}1VjnzI%dvsyx61ab7BJZwo2UOp9MOA zKi*V){pEtvs9Q&3#?ea@Drch!SXDH?u0538m(7l}EzF`tqm2?KuYuF`?|nmNm)vC+ z_5M*Z#9Y?H?5>@(`ObgYEgz7bAx`+5%|CogPkE06McbIUPZdbWuAEYGRG%3HO~;RHZ6tn6-yZxto4^ChE;EX@mbEgF^@0_j4QruKpYHAHB~2 diff --git a/resource/result/TestFillStyle.png b/resource/result/TestFillStyle.png deleted file mode 100644 index ad23dda9f4464a266c489428367bba9b87734c5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10021 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 diff --git a/resource/result/TestGopher.png b/resource/result/TestGopher.png deleted file mode 100644 index aac6491b7073390c632c0ff3c1b5e02ae2d6a26d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13826 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

WTzvbx}+k*el`VlTGvm!MmLL6d&#ZmpVU<4s&Z( zq{L*5zQp~1&f>s|P;v#XdCE+r%l#5+#~L$i=P?^}`t%S^btXHO#ui<<{k!8>2s5;Q wB?KD3U$*sQxM+Sz4fn7MJiNnv`0)Oopgpd}+YOTm{cqO?IVojum4tENf9P=mCIA2c diff --git a/resource/result/TestLineCap.png b/resource/result/TestLineCap.png deleted file mode 100644 index 0474d9172ff5d5cf31d460383c6ab96e73f25e8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2234 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&zE~)R&4YzZe)e8a-VcLn`LHxp9z_$xwnV zaASkXWTh?t+ZNquNa3$Ov4`FMP3FVhyp?tg4Kj=j430n(nphYZSU7=tg%}tFR2Uc( zJQx@pCNMBGC=3||%UKTG+WTE1`|Qu%*T4ThWuF)Qeg5CKe;IE30sWQGJf!?GJYr;I z`GSE#q=IoMWtfo_Jwv>78;z_XR27Zj$a*2n!0`Y7=e&%FMS&URz%~hkr>mdKI;Vst E0P6Yj+W-In diff --git a/resource/result/TestLineJoin.png b/resource/result/TestLineJoin.png deleted file mode 100644 index f6605e56a636070acee339aeb59515891198cf09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3710 zcmeH~dsGuw9>?#5YzPBL4~SG3Caa}I z5a7CAfVahu~Z-}LMmbI-aDS2{kPltr~hQ~o!{f$ znfZS1ojD)4&u95k>!kpI<$L#d1p&Z9e_4R@20F~9_PhY#Ey-T5KL)23f8VdoiVuHG z846pM*)P4}y}9C4=^NhXO8rN9M{j&}db#zaB<|4DjZZW4LQ6T(hsM3k%BIdne$bg5 zT2g(pxi^x$*0m(v!9VFvO5dCA!$&*SmcYUX0MB&<0DoZvz+MS}#hzbxLIo!mL9pTa zGY@j+7@efi+L#J~?p#9re0K`mW$di^>A6|D2N=nV)Z4Rw>e3KCjL6EBS`Lt(Q*Nhi z0kB?u(j)=E+3AH*0YF9k6@wK40`JD-RN0r|?NT<-U5&LNxd6CE9LA~dAF0PVGiMJl zK~V@3%>9Dty5tBh%=~Nz>MakOU_=bAio)S_N?iG|BMv%HsI>)!M{VJu_MSYP%=yL1 zV(L74N-?JP9jG>mB0DSz;EbdPk|!xL2g%?V(-?~CKBUM_BnR&syVB6eMSSS8j|~#* zFB@Q@M*P-{0G*r)qM+-*B5Ykuk&kf+kbG%7oq=W?@*krW3cF3{rI`Rk^I!n#w6)79 z-M|82R}AD%E~u>yZMIRBJAo|=GR=I$f-y&Yh87JEO`SSW66bCXZNSXmf4VfR-M1*t z$eFzh>+(smlcp=#b}CG?RS zmW+HT^ww?EOO-s_;jwp?yqnVUHnEgq@SW0vD9<4scjI<9C;3EqF4--@k^8fm@^DH! z&c!vOIZF8>O6%r?BcHx&%ZgnCpJs9#XdtLQ%{^Hog>^^{j7^SdSwQ8#l0m+O_CcDfTp* zo=umxT@{YFCzfbt>Q^+JNzmkOY3kGrq}^_rzuh+6u#lE9os=V&Cd^kYlP-)u8HTr8 zCV{T>oy85RQ9C%DFkkZU8*Mn*byfP~nf&xm{IupXcWvYo&3s~ulAOfz->Mf7TK6gu zU1d8GYNuZTtg@ZxZ3vV`+1J>-5B^z!eX7dq#_sn#e2cNYZ|rJJ$j#T?Fh`@_OVm|!r3oqTNlqMhGKdKm5 zeBMLKz1P6#=N#j`6lukb2jP&HFH})RE44Q=EThesw{|Y z?b?D}*dGCi2p=WscnrJknoA5@@GjjJk5NeN_UAr`F)6|s6zci5sxhNgIfFv1&_~BX zC|F}#YqEKS5Wy6IJEW}M#PUXiUdDq4i*~b>?zCi@5q%<7EDx52;347MP2R?b=if@c+077)bkfOJ8T}{3YL- zB-%q-HQQW$GN&klNJ_U)pY1sI=Ohgoe0mLV>$pD5?lJufDi93^v}5U!hOtyr5hyVc z1w%#L+J6}Tss#EKI;T!<;zZxzymgf6PhPs*0LliuV|@hu2WUmhWH2brV=yoiF&JdU zT4M}Wb+};+QqY}1EB|0r1~zx%xqQ6h>sEyba85$q4-6ygqHs>r+eh%B*a>&D*v8c5 zz3Ls~B`6Ce$k~AuS&W=5XffuVLe9RSglO>raY&L#-c&+&Br95sT{wDB37e2?R2WJi zx^!1ZdJ@4hve{e@r=JZCPia=b!G(`djhJ-6_3<*I$Fk8n)3R7f-%|M&%A#;>$M4+Rw0chdeZoKmC%{i_nIn_R-liEcj>4o6FBvS`+oi``81X zwcpvQ=1^FI0FiypiF2XbHZx{FKF5heo51&si0Opt$grAM;xkzvN?l&1Os1U zm8~ov2^>)s^>b_cjaKzc&A}>8*h!Nj0(aw4L!7WQlcJdsoz2_}PITK#(Obp6u$^wJ zVj@HJ+zUJCwt6fIC_nB654z2d5uHisAbxfmUyuLf2{sSjTZ<C8APD$%uVb&`mF{(q-~3km`WC*vg}?2)>Qy*M1%C$sgw9~c VvRzI6PtbQI*eluRRlQqw_P?dYpaB2? diff --git a/resource/result/TestMultiSegmentCaps.png b/resource/result/TestMultiSegmentCaps.png deleted file mode 100644 index 1ac6698a528b77e32ae1f27fe941006ac14cd153..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2228 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&zE~)R&4YzZe)esy$sCLn`LHxpA@6RZ)cH z;NI?^%inlAStf+L8q7cY=RYHZB~Vin3j+fSCs4T%1A~AH1A~GG1B1f^28IR&Mg|7Q z;in+#GBe+;%ghy*%xxJSu<;Lw=Yb*I$WGOuAN3VggA*w)P(QAa3?I%JZPc41s$3n7 l?$PK5wHE4t&4&N~+0U>uCWh@61GYvOJYD@<);T3K0RT3$>7D=p diff --git a/resource/result/TestPath.png b/resource/result/TestPath.png deleted file mode 100644 index d961ad24faaac8a4c6e03bf2109faba1d55e9e6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2295 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&zE~)R&4YzZe)e_IbKEhE&XXbL-&BR}Ktr ziT4lNZP`*%l&l^+tE?!QeeraGLqF{#3JkmDW1i?d`_Ia7LXd$$K!t%p!GnRpVFCj~ zg90N1gCo%3CKd(;7EYj%yZr9$&QHIY&lWFnyHaisW5eWGybVvwcK_8mz3I7_TCbtr z`s=U%7TZ>EF{qnLGfe+}ygv52?D7wt#~&AdVPWt)BMme}h>$I#3Lv3Phj7?+E>0%- zjYYHn4}FFotLrC!e|J0b+w6nl$I9lh=L3_{1D!pLSkeI%*Raw$KW k9!Ar{0H%ivpo-`Jf3a`k9y6cw*#bEXp00i_>zopr0KPXA_5c6? diff --git a/resource/result/TestPathTransform.png b/resource/result/TestPathTransform.png deleted file mode 100644 index 45bf578c54a5f2f93592b2aff6e294fb91492b58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10413 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 FJ^i^GljJ;k()~~OsmbP1 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 GH~#`J+RSVK From 99aee4504518297e613221736dbd4d4d06d5e91d Mon Sep 17 00:00:00 2001 From: Stani Date: Sat, 11 Jul 2015 19:17:24 +0200 Subject: [PATCH 07/11] golint fixes --- samples/geometry/geometry.go | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/samples/geometry/geometry.go b/samples/geometry/geometry.go index f6b6551..692c43a 100644 --- a/samples/geometry/geometry.go +++ b/samples/geometry/geometry.go @@ -24,7 +24,7 @@ func Main(gc draw2d.GraphicContext, ext string) (string, error) { return samples.Output("geometry", ext), nil } -// Bubble draws a text balloon +// Bubble draws a text balloon. func Bubble(gc draw2d.GraphicContext, x, y, width, height float64) { sx, sy := width/100, height/100 gc.MoveTo(x+sx*50, y) @@ -37,14 +37,15 @@ func Bubble(gc draw2d.GraphicContext, x, y, width, height float64) { gc.Stroke() } +// CurveRectangle draws a rectangle with bezier curves (not rounded rectangle). func CurveRectangle(gc draw2d.GraphicContext, x0, y0, - rect_width, rect_height float64, stroke, fill color.Color) { - radius := (rect_width + rect_height) / 4 + rectWidth, rectHeight float64, stroke, fill color.Color) { + radius := (rectWidth + rectHeight) / 4 - x1 := x0 + rect_width - y1 := y0 + rect_height - if rect_width/2 < radius { - if rect_height/2 < radius { + x1 := x0 + rectWidth + y1 := y0 + rectHeight + if rectWidth/2 < radius { + if rectHeight/2 < radius { gc.MoveTo(x0, (y0+y1)/2) gc.CubicCurveTo(x0, y0, x0, y0, (x0+x1)/2, y0) gc.CubicCurveTo(x1, y0, x1, y0, x1, (y0+y1)/2) @@ -59,7 +60,7 @@ func CurveRectangle(gc draw2d.GraphicContext, x0, y0, gc.CubicCurveTo(x0, y1, x0, y1, x0, y1-radius) } } else { - if rect_height/2 < radius { + if rectHeight/2 < radius { gc.MoveTo(x0, (y0+y1)/2) gc.CubicCurveTo(x0, y0, x0, y0, x0+radius, y0) gc.LineTo(x1-radius, y0) @@ -86,6 +87,7 @@ func CurveRectangle(gc draw2d.GraphicContext, x0, y0, gc.FillStroke() } +// Dash draws a line with a dash pattern func Dash(gc draw2d.GraphicContext, x, y, width, height float64) { sx, sy := width/162, height/205 gc.SetStrokeColor(image.Black) @@ -103,6 +105,7 @@ func Dash(gc draw2d.GraphicContext, x, y, width, height float64) { gc.SetLineDash(nil, 0.0) } +// Arc draws an arc with a positive angle (clockwise) func Arc(gc draw2d.GraphicContext, xc, yc, width, height float64) { // draw an arc xc += width / 2 @@ -133,6 +136,7 @@ func Arc(gc draw2d.GraphicContext, xc, yc, width, height float64) { gc.Fill() } +// ArcNegative draws an arc with a negative angle (anti clockwise). func ArcNegative(gc draw2d.GraphicContext, xc, yc, width, height float64) { xc += width / 2 yc += height / 2 @@ -160,6 +164,7 @@ func ArcNegative(gc draw2d.GraphicContext, xc, yc, width, height float64) { gc.Fill() } +// CubicCurve draws a cubic curve with its control points. func CubicCurve(gc draw2d.GraphicContext, x, y, width, height float64) { sx, sy := width/162, height/205 x0, y0 := x, y+sy*100.0 @@ -185,6 +190,7 @@ func CubicCurve(gc draw2d.GraphicContext, x, y, width, height float64) { gc.Stroke() } +// FillString draws a filled and stroked string. func FillString(gc draw2d.GraphicContext, x, y, width, height float64) { sx, sy := width/100, height/100 gc.Save() @@ -195,7 +201,10 @@ func FillString(gc draw2d.GraphicContext, x, y, width, height float64) { gc.SetFillColor(image.Black) gc.SetFontSize(height / 6) gc.Translate(x+sx*6, y+sy*52) - gc.SetFontData(draw2d.FontData{"luxi", draw2d.FontFamilyMono, draw2d.FontStyleBold | draw2d.FontStyleItalic}) + gc.SetFontData(draw2d.FontData{ + Name: "luxi", + Family: draw2d.FontFamilyMono, + Style: draw2d.FontStyleBold | draw2d.FontStyleItalic}) w := gc.FillString("cou") gc.Translate(w+sx, 0) left, top, right, bottom := gc.GetStringBounds("cou") @@ -209,6 +218,7 @@ func FillString(gc draw2d.GraphicContext, x, y, width, height float64) { gc.Restore() } +// FillStroke first fills and afterwards strokes a path. func FillStroke(gc draw2d.GraphicContext, x, y, width, height float64) { sx, sy := width/210, height/215 gc.MoveTo(x+sx*113.0, y) @@ -229,6 +239,7 @@ func FillStroke(gc draw2d.GraphicContext, x, y, width, height float64) { gc.FillStroke() } +// FillStyle demonstrates the difference between even odd and non zero winding rule. func FillStyle(gc draw2d.GraphicContext, x, y, width, height float64) { sx, sy := width/232, height/220 gc.SetLineWidth(width / 40) @@ -257,6 +268,7 @@ func FillStyle(gc draw2d.GraphicContext, x, y, width, height float64) { gc.FillStroke(wheel1, wheel2) } +// PathTransform scales a path differently in horizontal and vertical direction. func PathTransform(gc draw2d.GraphicContext, x, y, width, height float64) { gc.Save() gc.SetLineWidth(width / 10) @@ -268,6 +280,7 @@ func PathTransform(gc draw2d.GraphicContext, x, y, width, height float64) { gc.Restore() } +// Star draws many lines from a center. func Star(gc draw2d.GraphicContext, x, y, width, height float64) { gc.Save() gc.Translate(x+width/2, y+height/2) @@ -283,6 +296,7 @@ func Star(gc draw2d.GraphicContext, x, y, width, height float64) { gc.Restore() } +// Draw all figures in a nice 4x3 grid. func Draw(gc draw2d.GraphicContext, width, height float64) { mx, my := width*0.025, height*0.025 // margin dx, dy := (width-2*mx)/4, (height-2*my)/3 From a5918dc963458898ff51c07b9a9ab7bb140da661 Mon Sep 17 00:00:00 2001 From: Stani Date: Sat, 11 Jul 2015 19:19:03 +0200 Subject: [PATCH 08/11] only regenerate pdf if it has been deleted --- draw2dpdf/test_test.go | 15 ++++++++------- output/samples/.gitignore | 2 +- output/samples/geometry.pdf | Bin 38125 -> 38125 bytes 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/draw2dpdf/test_test.go b/draw2dpdf/test_test.go index 801ff36..332f278 100644 --- a/draw2dpdf/test_test.go +++ b/draw2dpdf/test_test.go @@ -7,6 +7,7 @@ package draw2dpdf_test import ( + "os" "testing" "github.com/llgcode/draw2d" @@ -25,13 +26,13 @@ func test(t *testing.T, draw sample) { t.Errorf("Drawing %q failed: %v", output, err) return } - /* - // Save to pdf only if it doesn't exist because of git - if _, err = os.Stat(output); err == nil { - t.Skipf("Saving %q skipped, as it exists already. (Git would consider it modified.)", output) - return - } - */ + + // Save to pdf only if it doesn't exist because of git + if _, err = os.Stat(output); err == nil { + t.Skipf("Saving %q skipped, as it exists already. (Git would consider it modified.)", output) + return + } + err = draw2dpdf.SaveToPdfFile(output, dest) if err != nil { t.Errorf("Saving %q failed: %v", output, err) diff --git a/output/samples/.gitignore b/output/samples/.gitignore index 7abb424..1996c5a 100644 --- a/output/samples/.gitignore +++ b/output/samples/.gitignore @@ -2,4 +2,4 @@ * # Except this file !.gitignore -!geometry.png \ No newline at end of file +!geometry.* \ No newline at end of file diff --git a/output/samples/geometry.pdf b/output/samples/geometry.pdf index 78f689a5d77eb6644f071880d516ec76d27f5503..ee16da2079e78a6ef9ba8cc59d6bedafd77ac4f5 100644 GIT binary patch delta 20 ccmaF6lIiVArVVwISuG7sOpG@-PtIZl0AU>nFaQ7m delta 20 ccmaF6lIiVArVVwISuIS>3=B6nPtIZl0AU{pF8}}l From d3a9977ae5b8c69a34ed4c0b03780966d8f5bac0 Mon Sep 17 00:00:00 2001 From: Stani Date: Sat, 11 Jul 2015 19:21:23 +0200 Subject: [PATCH 09/11] Added Stani to authors --- AUTHORS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index a7d71ab..6490085 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1 +1,2 @@ -Laurent Le Goff \ No newline at end of file +Laurent Le Goff +Stani Michiels, gmail:stani.be \ No newline at end of file From 790eaf6842f3527fe6afa06b85675d8566267a4c Mon Sep 17 00:00:00 2001 From: Stani Date: Sat, 11 Jul 2015 19:31:36 +0200 Subject: [PATCH 10/11] add image to README --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index db90f91..6f7eed3 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,9 @@ Package draw2d is a pure [go](http://golang.org) 2D vector graphics library with See the [documentation](http://godoc.org/github.com/llgcode/draw2d) for more details. +![demonstration of the image backend](https://raw.githubusercontent.com/llgcode/draw2d/master/output/samples/geometry.png) +The image above is generated with the image backend. The pdf which is generated with exactly the same code is [here](https://raw.githubusercontent.com/llgcode/draw2d/master/output/samples/geometry.pdf). + Features -------- From 2099d15a26a6a4f3a8b659dc4f60b9fa3e56737f Mon Sep 17 00:00:00 2001 From: Stani Date: Sat, 11 Jul 2015 19:34:48 +0200 Subject: [PATCH 11/11] add readme to output folder --- output/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 output/README.md diff --git a/output/README.md b/output/README.md new file mode 100644 index 0000000..037f0e2 --- /dev/null +++ b/output/README.md @@ -0,0 +1,11 @@ +Demo output +=========== + +These folders are empty when you check out the git repository. The output is generated by the tests: +``` +go test ./... +``` +or with coverage: +``` +go test -cover ./... | grep -v "no test" +```