Merge branch 'sbinet-github-imports'

This commit is contained in:
Laurent Le Goff 2015-04-17 11:17:23 +02:00
commit 3d2a09c9e2
43 changed files with 941 additions and 921 deletions

View file

@ -1,7 +1,7 @@
#include $(GOROOT)/src/Make.inc #include $(GOROOT)/src/Make.inc
all: install all: install test
install: install:
cd draw2d && go install cd draw2d && go install
@ -15,6 +15,16 @@ build:
cd postscript && go build cd postscript && go build
# cd wingui && make build # cd wingui && make build
test:
#cd cmd && go build draw2dgl.go
cd cmd && go build gettingStarted.go
cd cmd && go build testandroid.go
cd cmd && go build testdraw2d.go
cd cmd && go build testgopher.go
cd cmd && go build testimage.go
cd cmd && go build testpostscript.go
#cd cmd && go build testX11draw.go
clean: clean:
cd draw2d && go clean cd draw2d && go clean
# cd draw2dgl && make clean # cd draw2dgl && make clean

8
README
View file

@ -11,14 +11,14 @@ Some algorithm have been translated from http://www.antigrain.com project ([http
Once you have Go installed, to install draw2d: Once you have Go installed, to install draw2d:
* First see the installation procedure of [http://code.google.com/p/freetype-go/ freetype-go] * First see the installation procedure of [http://code.google.com/p/freetype-go/ freetype-go]
* goinstall draw2d.googlecode.com/svn/trunk/draw2d/src/pkg/draw2d * `go get github.com/llgcode/draw2d/draw2d`
a good starting point is the [http://code.google.com/p/draw2d/wiki/GettingStarted getting started] a good starting point is the [http://github.com/llgcode/draw2d/wiki/GettingStarted getting started]
=== [http://code.google.com/p/draw2d/wiki/Samples Samples] === === [http://github.com/llgcode/draw2d/wiki/Samples Samples] ===
Sample images generated by draw2d (inspired by [http://cairographics.org/samples/ cairo samples]): Sample images generated by draw2d (inspired by [http://cairographics.org/samples/ cairo samples]):
there's already some bugs please refer to [http://code.google.com/p/draw2d/issues/list issue tracking] there's already some bugs please refer to [http://github.com/llgcode/draw2d/issues issue tracking]
[http://draw2d.googlecode.com/svn/wiki/test_results/TestPath.png] [http://draw2d.googlecode.com/svn/wiki/test_results/TestPath.png]
[http://draw2d.googlecode.com/svn/wiki/test_results/TestDrawArc.png] [http://draw2d.googlecode.com/svn/wiki/test_results/TestDrawArc.png]

View file

@ -18,8 +18,6 @@
package main package main
import ( import (
"code.google.com/p/draw2d/draw2dgl"
"code.google.com/p/draw2d/postscript"
"gl" "gl"
"glut" "glut"
"io/ioutil" "io/ioutil"
@ -28,6 +26,9 @@ import (
"os" "os"
"strings" "strings"
"time" "time"
"github.com/llgcode/draw2d/draw2dgl"
"github.com/llgcode/draw2d/postscript"
) )
var postscriptContent string var postscriptContent string

View file

@ -6,12 +6,12 @@ package main
import ( import (
"bufio" "bufio"
"fmt" "fmt"
"image"
"image/png"
"log" "log"
"os" "os"
"code.google.com/p/draw2d/draw2d" "github.com/llgcode/draw2d/draw2d"
"image"
"image/png"
) )
func saveToPngFile(filePath string, m image.Image) { func saveToPngFile(filePath string, m image.Image) {

View file

@ -1,12 +1,13 @@
package main package main
import ( import (
"code.google.com/p/draw2d/draw2d"
"exp/gui" "exp/gui"
"exp/gui/x11" "exp/gui/x11"
"fmt" "fmt"
"image" "image"
"math" "math"
"github.com/llgcode/draw2d/draw2d"
) )
func main() { func main() {

View file

@ -3,14 +3,14 @@ package main
import ( import (
"bufio" "bufio"
"fmt" "fmt"
"log"
"os"
"code.google.com/p/draw2d/draw2d"
"image" "image"
"image/color" "image/color"
"image/png" "image/png"
"log"
"math" "math"
"os"
"github.com/llgcode/draw2d/draw2d"
) )
const ( const (

View file

@ -6,14 +6,14 @@ package main
import ( import (
"bufio" "bufio"
"fmt" "fmt"
"log"
"os"
"code.google.com/p/draw2d/draw2d"
"image" "image"
"image/color" "image/color"
"image/png" "image/png"
"log"
"math" "math"
"os"
"github.com/llgcode/draw2d/draw2d"
) )
const ( const (

View file

@ -3,14 +3,14 @@ package main
import ( import (
"bufio" "bufio"
"fmt" "fmt"
"image"
"image/color"
"image/png"
"log" "log"
"math" "math"
"os" "os"
"code.google.com/p/draw2d/draw2d" "github.com/llgcode/draw2d/draw2d"
"image"
"image/color"
"image/png"
) )
const ( const (

View file

@ -2,7 +2,6 @@ package main
import ( import (
"bufio" "bufio"
"code.google.com/p/draw2d/draw2d"
"fmt" "fmt"
"image" "image"
"image/draw" "image/draw"
@ -10,6 +9,8 @@ import (
"log" "log"
"math" "math"
"os" "os"
"github.com/llgcode/draw2d/draw2d"
) )
func saveToPngFile(filePath string, m image.Image) { func saveToPngFile(filePath string, m image.Image) {

View file

@ -2,8 +2,6 @@ package main
import ( import (
"bufio" "bufio"
"code.google.com/p/draw2d/draw2d"
"code.google.com/p/draw2d/postscript"
"fmt" "fmt"
"image" "image"
"image/png" "image/png"
@ -11,6 +9,9 @@ import (
"log" "log"
"os" "os"
"strings" "strings"
"github.com/llgcode/draw2d/draw2d"
"github.com/llgcode/draw2d/postscript"
) )
func saveToPngFile(filePath string, m image.Image) { func saveToPngFile(filePath string, m image.Image) {

View file

@ -4,8 +4,9 @@
package draw2d package draw2d
import ( import (
"code.google.com/p/freetype-go/freetype/raster"
"math" "math"
"code.google.com/p/freetype-go/freetype/raster"
) )
func arc(t VertexConverter, x, y, rx, ry, start, angle, scale float64) (lastX, lastY float64) { func arc(t VertexConverter, x, y, rx, ry, start, angle, scale float64) (lastX, lastY float64) {

View file

@ -1,6 +1,6 @@
package main package main
import "code.google.com/p/draw2d/draw2d/curve" import "github.com/llgcode/draw2d/draw2d/curve"
import "testing" import "testing"
import __os__ "os" import __os__ "os"
import __regexp__ "regexp" import __regexp__ "regexp"

View file

@ -24,7 +24,7 @@ func SegmentArc(t LineTracer, x, y, rx, ry, start, angle, scale float64) {
if (angle < end-da/4) != clockWise { if (angle < end-da/4) != clockWise {
curX = x + math.Cos(end)*rx curX = x + math.Cos(end)*rx
curY = y + math.Sin(end)*ry curY = y + math.Sin(end)*ry
break; break
} }
curX = x + math.Cos(angle)*rx curX = x + math.Cos(angle)*rx
curY = y + math.Sin(angle)*ry curY = y + math.Sin(angle)*ry

View file

@ -2,7 +2,6 @@ package curve
import ( import (
"bufio" "bufio"
"code.google.com/p/draw2d/draw2d/raster"
"fmt" "fmt"
"image" "image"
"image/color" "image/color"
@ -11,6 +10,8 @@ import (
"log" "log"
"os" "os"
"testing" "testing"
"github.com/llgcode/draw2d/draw2d/raster"
) )
var ( var (

View file

@ -4,10 +4,11 @@
package draw2d package draw2d
import ( import (
"code.google.com/p/freetype-go/freetype/truetype"
"io/ioutil" "io/ioutil"
"log" "log"
"path" "path"
"code.google.com/p/freetype-go/freetype/truetype"
) )
var ( var (

View file

@ -4,14 +4,15 @@
package draw2d package draw2d
import ( import (
"code.google.com/p/freetype-go/freetype/raster"
"code.google.com/p/freetype-go/freetype/truetype"
"errors" "errors"
"image" "image"
"image/color" "image/color"
"image/draw" "image/draw"
"log" "log"
"math" "math"
"code.google.com/p/freetype-go/freetype/raster"
"code.google.com/p/freetype-go/freetype/truetype"
) )
type Painter interface { type Painter interface {

View file

@ -2,14 +2,15 @@ package raster
import ( import (
"bufio" "bufio"
"code.google.com/p/draw2d/draw2d/curve"
"code.google.com/p/freetype-go/freetype/raster"
"image" "image"
"image/color" "image/color"
"image/png" "image/png"
"log" "log"
"os" "os"
"testing" "testing"
"code.google.com/p/freetype-go/freetype/raster"
"github.com/llgcode/draw2d/draw2d/curve"
) )
var flattening_threshold float64 = 0.5 var flattening_threshold float64 = 0.5

View file

@ -4,9 +4,10 @@
package draw2d package draw2d
import ( import (
"code.google.com/p/freetype-go/freetype/truetype"
"image" "image"
"image/color" "image/color"
"code.google.com/p/freetype-go/freetype/truetype"
) )
type StackGraphicContext struct { type StackGraphicContext struct {

View file

@ -4,8 +4,9 @@
package draw2d package draw2d
import ( import (
"code.google.com/p/freetype-go/freetype/raster"
"math" "math"
"code.google.com/p/freetype-go/freetype/raster"
) )
type MatrixTransform [6]float64 type MatrixTransform [6]float64

View file

@ -1,12 +1,13 @@
package draw2dgl package draw2dgl
import ( import (
"code.google.com/p/draw2d/draw2d"
"code.google.com/p/freetype-go/freetype/raster"
"gl" "gl"
"image" "image"
"image/color" "image/color"
"image/draw" "image/draw"
"code.google.com/p/freetype-go/freetype/raster"
"github.com/llgcode/draw2d/draw2d"
//"log" //"log"
) )

View file

@ -3,14 +3,14 @@ package main
import ( import (
"bufio" "bufio"
"fmt" "fmt"
"log"
"os"
"code.google.com/p/draw2d/draw2d"
"image" "image"
"image/draw" "image/draw"
"image/png" "image/png"
"log"
"math" "math"
"os"
"github.com/llgcode/draw2d/draw2d"
) )
func saveToPngFile(filePath string, m image.Image) { func saveToPngFile(filePath string, m image.Image) {
@ -58,7 +58,7 @@ func main() {
i := image.NewRGBA(image.Rect(0, 0, w, h)) i := image.NewRGBA(image.Rect(0, 0, w, h))
draw.Draw(i, ar, a, ar.Min, draw.Src) draw.Draw(i, ar, a, ar.Min, draw.Src)
tr := draw2d.NewRotationMatrix(x*(math.Pi / 180.0)) tr := draw2d.NewRotationMatrix(x * (math.Pi / 180.0))
draw2d.DrawImage(g, i, tr, draw.Over, draw2d.LinearFilter) draw2d.DrawImage(g, i, tr, draw.Over, draw2d.LinearFilter)
saveToPngFile("Test2.png", i) saveToPngFile("Test2.png", i)
} }

View file

@ -4,11 +4,12 @@
package postscript package postscript
import ( import (
"code.google.com/p/draw2d/draw2d"
"io" "io"
"log" "log"
"os" "os"
"strconv" "strconv"
"github.com/llgcode/draw2d/draw2d"
) )
type Interpreter struct { type Interpreter struct {

View file

@ -3,8 +3,6 @@
package postscript package postscript
import ()
//int array array -> Create array of length int //int array array -> Create array of length int
func array(interpreter *Interpreter) { func array(interpreter *Interpreter) {
interpreter.Push(make([]Value, interpreter.PopInt())) interpreter.Push(make([]Value, interpreter.PopInt()))

View file

@ -5,10 +5,11 @@
package postscript package postscript
import ( import (
"code.google.com/p/draw2d/draw2d"
"image/color" "image/color"
"log" "log"
"math" "math"
"github.com/llgcode/draw2d/draw2d"
) )
//Path Construction Operators //Path Construction Operators

View file

@ -4,10 +4,6 @@
// Miscellaneous Operators // Miscellaneous Operators
package postscript package postscript
import (
//"log"
)
//proc bind proc Replace operator names in proc with operators; perform idiom recognition //proc bind proc Replace operator names in proc with operators; perform idiom recognition
func bind(interpreter *Interpreter) { func bind(interpreter *Interpreter) {
pdef := interpreter.PopProcedureDefinition() pdef := interpreter.PopProcedureDefinition()

View file

@ -120,7 +120,7 @@ func SelectObject(hdc syscall.Handle, hgdiobj syscall.Handle) syscall.Handle {
return syscall.Handle(r0) return syscall.Handle(r0)
} }
func BeginPaint(hwnd syscall.Handle, ps *PAINTSTRUCT) (hdc syscall.Handle){ func BeginPaint(hwnd syscall.Handle, ps *PAINTSTRUCT) (hdc syscall.Handle) {
r0, _, _ := syscall.Syscall(procBeginPaint.Addr(), 2, uintptr(hwnd), uintptr(unsafe.Pointer(ps)), 0) r0, _, _ := syscall.Syscall(procBeginPaint.Addr(), 2, uintptr(hwnd), uintptr(unsafe.Pointer(ps)), 0)
hdc = syscall.Handle(r0) hdc = syscall.Handle(r0)
return return

View file

@ -5,7 +5,8 @@ import (
"os" "os"
"syscall" "syscall"
"unsafe" "unsafe"
. "code.google.com/p/draw2d/wingui"
. "github.com/llgcode/draw2d/wingui"
) )
// some help functions // some help functions

View file

@ -5,18 +5,19 @@
package main package main
import ( import (
"code.google.com/p/draw2d/draw2d"
"code.google.com/p/draw2d/wingui"
"code.google.com/p/draw2d/postscript"
"fmt" "fmt"
"image" "image"
"io/ioutil"
"image/color" "image/color"
"strings" "io/ioutil"
"os" "os"
"strings"
"syscall" "syscall"
"time" "time"
"unsafe" "unsafe"
"github.com/llgcode/draw2d/draw2d"
"github.com/llgcode/draw2d/postscript"
"github.com/llgcode/draw2d/wingui"
) )
// some help functions // some help functions
@ -56,7 +57,7 @@ func TestDrawCubicCurve(gc draw2d.GraphicContext) {
gc.Stroke() gc.Stroke()
} }
func DrawTiger(gc draw2d.GraphicContext){ func DrawTiger(gc draw2d.GraphicContext) {
if postscriptContent == "" { if postscriptContent == "" {
src, err := os.OpenFile("../../resource/postscript/tiger.ps", 0, 0) src, err := os.OpenFile("../../resource/postscript/tiger.ps", 0, 0)
if err != nil { if err != nil {
@ -119,7 +120,7 @@ func WndProc(hwnd syscall.Handle, msg uint32, wparam, lparam uintptr) (rc uintpt
pixel := (*[600 * 800 * 4]uint8)(unsafe.Pointer(ppvBits)) pixel := (*[600 * 800 * 4]uint8)(unsafe.Pointer(ppvBits))
pixelSlice := pixel[:] pixelSlice := pixel[:]
backBuffer = &image.RGBA{pixelSlice, 4*600, image.Rect(0, 0, 600, 800)} backBuffer = &image.RGBA{pixelSlice, 4 * 600, image.Rect(0, 0, 600, 800)}
fmt.Println("Create windows") fmt.Println("Create windows")
rc = wingui.DefWindowProc(hwnd, msg, wparam, lparam) rc = wingui.DefWindowProc(hwnd, msg, wparam, lparam)
case wingui.WM_COMMAND: case wingui.WM_COMMAND:
@ -134,7 +135,7 @@ func WndProc(hwnd syscall.Handle, msg uint32, wparam, lparam uintptr) (rc uintpt
gc := draw2d.NewGraphicContext(backBuffer) gc := draw2d.NewGraphicContext(backBuffer)
/*gc.SetFillColor(color.RGBA{0xFF, 0xFF, 0xFF, 0xFF}) /*gc.SetFillColor(color.RGBA{0xFF, 0xFF, 0xFF, 0xFF})
gc.Clear()*/ gc.Clear()*/
for i := 0; i < len(backBuffer.Pix); i+=1 { for i := 0; i < len(backBuffer.Pix); i += 1 {
backBuffer.Pix[i] = 0xff backBuffer.Pix[i] = 0xff
} }
gc.Save() gc.Save()
@ -143,7 +144,7 @@ func WndProc(hwnd syscall.Handle, msg uint32, wparam, lparam uintptr) (rc uintpt
gc.Restore() gc.Restore()
// back buf in // back buf in
var tmp uint8 var tmp uint8
for i := 0; i < len(backBuffer.Pix); i+=4 { for i := 0; i < len(backBuffer.Pix); i += 4 {
tmp = backBuffer.Pix[i] tmp = backBuffer.Pix[i]
backBuffer.Pix[i] = backBuffer.Pix[i+2] backBuffer.Pix[i] = backBuffer.Pix[i+2]
backBuffer.Pix[i+2] = tmp backBuffer.Pix[i+2] = tmp