Merge branch 'sbinet-github-imports'
This commit is contained in:
commit
3d2a09c9e2
43 changed files with 941 additions and 921 deletions
12
Makefile
12
Makefile
|
@ -1,7 +1,7 @@
|
|||
|
||||
#include $(GOROOT)/src/Make.inc
|
||||
|
||||
all: install
|
||||
all: install test
|
||||
|
||||
install:
|
||||
cd draw2d && go install
|
||||
|
@ -15,6 +15,16 @@ build:
|
|||
cd postscript && go 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:
|
||||
cd draw2d && go clean
|
||||
# cd draw2dgl && make clean
|
||||
|
|
8
README
8
README
|
@ -11,14 +11,14 @@ Some algorithm have been translated from http://www.antigrain.com project ([http
|
|||
Once you have Go installed, to install draw2d:
|
||||
|
||||
* 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]):
|
||||
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/TestDrawArc.png]
|
||||
|
|
|
@ -18,8 +18,6 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"code.google.com/p/draw2d/draw2dgl"
|
||||
"code.google.com/p/draw2d/postscript"
|
||||
"gl"
|
||||
"glut"
|
||||
"io/ioutil"
|
||||
|
@ -28,6 +26,9 @@ import (
|
|||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/llgcode/draw2d/draw2dgl"
|
||||
"github.com/llgcode/draw2d/postscript"
|
||||
)
|
||||
|
||||
var postscriptContent string
|
||||
|
|
|
@ -6,12 +6,12 @@ package main
|
|||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"image"
|
||||
"image/png"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"code.google.com/p/draw2d/draw2d"
|
||||
"image"
|
||||
"image/png"
|
||||
"github.com/llgcode/draw2d/draw2d"
|
||||
)
|
||||
|
||||
func saveToPngFile(filePath string, m image.Image) {
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"code.google.com/p/draw2d/draw2d"
|
||||
"exp/gui"
|
||||
"exp/gui/x11"
|
||||
"fmt"
|
||||
"image"
|
||||
"math"
|
||||
|
||||
"github.com/llgcode/draw2d/draw2d"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
|
|
@ -3,14 +3,14 @@ package main
|
|||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"code.google.com/p/draw2d/draw2d"
|
||||
"image"
|
||||
"image/color"
|
||||
"image/png"
|
||||
"log"
|
||||
"math"
|
||||
"os"
|
||||
|
||||
"github.com/llgcode/draw2d/draw2d"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
|
@ -6,14 +6,14 @@ package main
|
|||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"code.google.com/p/draw2d/draw2d"
|
||||
"image"
|
||||
"image/color"
|
||||
"image/png"
|
||||
"log"
|
||||
"math"
|
||||
"os"
|
||||
|
||||
"github.com/llgcode/draw2d/draw2d"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
|
@ -3,14 +3,14 @@ package main
|
|||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"image"
|
||||
"image/color"
|
||||
"image/png"
|
||||
"log"
|
||||
"math"
|
||||
"os"
|
||||
|
||||
"code.google.com/p/draw2d/draw2d"
|
||||
"image"
|
||||
"image/color"
|
||||
"image/png"
|
||||
"github.com/llgcode/draw2d/draw2d"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
|
@ -2,7 +2,6 @@ package main
|
|||
|
||||
import (
|
||||
"bufio"
|
||||
"code.google.com/p/draw2d/draw2d"
|
||||
"fmt"
|
||||
"image"
|
||||
"image/draw"
|
||||
|
@ -10,6 +9,8 @@ import (
|
|||
"log"
|
||||
"math"
|
||||
"os"
|
||||
|
||||
"github.com/llgcode/draw2d/draw2d"
|
||||
)
|
||||
|
||||
func saveToPngFile(filePath string, m image.Image) {
|
||||
|
|
|
@ -2,8 +2,6 @@ package main
|
|||
|
||||
import (
|
||||
"bufio"
|
||||
"code.google.com/p/draw2d/draw2d"
|
||||
"code.google.com/p/draw2d/postscript"
|
||||
"fmt"
|
||||
"image"
|
||||
"image/png"
|
||||
|
@ -11,6 +9,9 @@ import (
|
|||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/llgcode/draw2d/draw2d"
|
||||
"github.com/llgcode/draw2d/postscript"
|
||||
)
|
||||
|
||||
func saveToPngFile(filePath string, m image.Image) {
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
package draw2d
|
||||
|
||||
import (
|
||||
"code.google.com/p/freetype-go/freetype/raster"
|
||||
"math"
|
||||
|
||||
"code.google.com/p/freetype-go/freetype/raster"
|
||||
)
|
||||
|
||||
func arc(t VertexConverter, x, y, rx, ry, start, angle, scale float64) (lastX, lastY float64) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package main
|
||||
|
||||
import "code.google.com/p/draw2d/draw2d/curve"
|
||||
import "github.com/llgcode/draw2d/draw2d/curve"
|
||||
import "testing"
|
||||
import __os__ "os"
|
||||
import __regexp__ "regexp"
|
||||
|
|
|
@ -24,7 +24,7 @@ func SegmentArc(t LineTracer, x, y, rx, ry, start, angle, scale float64) {
|
|||
if (angle < end-da/4) != clockWise {
|
||||
curX = x + math.Cos(end)*rx
|
||||
curY = y + math.Sin(end)*ry
|
||||
break;
|
||||
break
|
||||
}
|
||||
curX = x + math.Cos(angle)*rx
|
||||
curY = y + math.Sin(angle)*ry
|
||||
|
|
|
@ -2,7 +2,6 @@ package curve
|
|||
|
||||
import (
|
||||
"bufio"
|
||||
"code.google.com/p/draw2d/draw2d/raster"
|
||||
"fmt"
|
||||
"image"
|
||||
"image/color"
|
||||
|
@ -11,6 +10,8 @@ import (
|
|||
"log"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/llgcode/draw2d/draw2d/raster"
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
|
@ -4,10 +4,11 @@
|
|||
package draw2d
|
||||
|
||||
import (
|
||||
"code.google.com/p/freetype-go/freetype/truetype"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"path"
|
||||
|
||||
"code.google.com/p/freetype-go/freetype/truetype"
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
|
@ -4,14 +4,15 @@
|
|||
package draw2d
|
||||
|
||||
import (
|
||||
"code.google.com/p/freetype-go/freetype/raster"
|
||||
"code.google.com/p/freetype-go/freetype/truetype"
|
||||
"errors"
|
||||
"image"
|
||||
"image/color"
|
||||
"image/draw"
|
||||
"log"
|
||||
"math"
|
||||
|
||||
"code.google.com/p/freetype-go/freetype/raster"
|
||||
"code.google.com/p/freetype-go/freetype/truetype"
|
||||
)
|
||||
|
||||
type Painter interface {
|
||||
|
|
|
@ -2,14 +2,15 @@ package raster
|
|||
|
||||
import (
|
||||
"bufio"
|
||||
"code.google.com/p/draw2d/draw2d/curve"
|
||||
"code.google.com/p/freetype-go/freetype/raster"
|
||||
"image"
|
||||
"image/color"
|
||||
"image/png"
|
||||
"log"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"code.google.com/p/freetype-go/freetype/raster"
|
||||
"github.com/llgcode/draw2d/draw2d/curve"
|
||||
)
|
||||
|
||||
var flattening_threshold float64 = 0.5
|
||||
|
|
|
@ -4,9 +4,10 @@
|
|||
package draw2d
|
||||
|
||||
import (
|
||||
"code.google.com/p/freetype-go/freetype/truetype"
|
||||
"image"
|
||||
"image/color"
|
||||
|
||||
"code.google.com/p/freetype-go/freetype/truetype"
|
||||
)
|
||||
|
||||
type StackGraphicContext struct {
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
package draw2d
|
||||
|
||||
import (
|
||||
"code.google.com/p/freetype-go/freetype/raster"
|
||||
"math"
|
||||
|
||||
"code.google.com/p/freetype-go/freetype/raster"
|
||||
)
|
||||
|
||||
type MatrixTransform [6]float64
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
package draw2dgl
|
||||
|
||||
import (
|
||||
"code.google.com/p/draw2d/draw2d"
|
||||
"code.google.com/p/freetype-go/freetype/raster"
|
||||
"gl"
|
||||
"image"
|
||||
"image/color"
|
||||
"image/draw"
|
||||
|
||||
"code.google.com/p/freetype-go/freetype/raster"
|
||||
"github.com/llgcode/draw2d/draw2d"
|
||||
//"log"
|
||||
)
|
||||
|
||||
|
|
|
@ -3,14 +3,14 @@ package main
|
|||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"code.google.com/p/draw2d/draw2d"
|
||||
"image"
|
||||
"image/draw"
|
||||
"image/png"
|
||||
"log"
|
||||
"math"
|
||||
"os"
|
||||
|
||||
"github.com/llgcode/draw2d/draw2d"
|
||||
)
|
||||
|
||||
func saveToPngFile(filePath string, m image.Image) {
|
||||
|
@ -58,7 +58,7 @@ func main() {
|
|||
i := image.NewRGBA(image.Rect(0, 0, w, h))
|
||||
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)
|
||||
saveToPngFile("Test2.png", i)
|
||||
}
|
|
@ -4,11 +4,12 @@
|
|||
package postscript
|
||||
|
||||
import (
|
||||
"code.google.com/p/draw2d/draw2d"
|
||||
"io"
|
||||
"log"
|
||||
"os"
|
||||
"strconv"
|
||||
|
||||
"github.com/llgcode/draw2d/draw2d"
|
||||
)
|
||||
|
||||
type Interpreter struct {
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
|
||||
package postscript
|
||||
|
||||
import ()
|
||||
|
||||
//int array array -> Create array of length int
|
||||
func array(interpreter *Interpreter) {
|
||||
interpreter.Push(make([]Value, interpreter.PopInt()))
|
||||
|
|
|
@ -5,10 +5,11 @@
|
|||
package postscript
|
||||
|
||||
import (
|
||||
"code.google.com/p/draw2d/draw2d"
|
||||
"image/color"
|
||||
"log"
|
||||
"math"
|
||||
|
||||
"github.com/llgcode/draw2d/draw2d"
|
||||
)
|
||||
|
||||
//Path Construction Operators
|
||||
|
|
|
@ -4,10 +4,6 @@
|
|||
// Miscellaneous Operators
|
||||
package postscript
|
||||
|
||||
import (
|
||||
//"log"
|
||||
)
|
||||
|
||||
//proc bind proc Replace operator names in proc with operators; perform idiom recognition
|
||||
func bind(interpreter *Interpreter) {
|
||||
pdef := interpreter.PopProcedureDefinition()
|
||||
|
|
|
@ -120,7 +120,7 @@ func SelectObject(hdc syscall.Handle, hgdiobj syscall.Handle) syscall.Handle {
|
|||
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)
|
||||
hdc = syscall.Handle(r0)
|
||||
return
|
||||
|
|
|
@ -5,7 +5,8 @@ import (
|
|||
"os"
|
||||
"syscall"
|
||||
"unsafe"
|
||||
. "code.google.com/p/draw2d/wingui"
|
||||
|
||||
. "github.com/llgcode/draw2d/wingui"
|
||||
)
|
||||
|
||||
// some help functions
|
||||
|
|
|
@ -5,18 +5,19 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"code.google.com/p/draw2d/draw2d"
|
||||
"code.google.com/p/draw2d/wingui"
|
||||
"code.google.com/p/draw2d/postscript"
|
||||
"fmt"
|
||||
"image"
|
||||
"io/ioutil"
|
||||
"image/color"
|
||||
"strings"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"strings"
|
||||
"syscall"
|
||||
"time"
|
||||
"unsafe"
|
||||
|
||||
"github.com/llgcode/draw2d/draw2d"
|
||||
"github.com/llgcode/draw2d/postscript"
|
||||
"github.com/llgcode/draw2d/wingui"
|
||||
)
|
||||
|
||||
// some help functions
|
||||
|
@ -56,7 +57,7 @@ func TestDrawCubicCurve(gc draw2d.GraphicContext) {
|
|||
gc.Stroke()
|
||||
}
|
||||
|
||||
func DrawTiger(gc draw2d.GraphicContext){
|
||||
func DrawTiger(gc draw2d.GraphicContext) {
|
||||
if postscriptContent == "" {
|
||||
src, err := os.OpenFile("../../resource/postscript/tiger.ps", 0, 0)
|
||||
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))
|
||||
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")
|
||||
rc = wingui.DefWindowProc(hwnd, msg, wparam, lparam)
|
||||
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.SetFillColor(color.RGBA{0xFF, 0xFF, 0xFF, 0xFF})
|
||||
gc.Clear()*/
|
||||
for i := 0; i < len(backBuffer.Pix); i+=1 {
|
||||
for i := 0; i < len(backBuffer.Pix); i += 1 {
|
||||
backBuffer.Pix[i] = 0xff
|
||||
}
|
||||
gc.Save()
|
||||
|
@ -143,7 +144,7 @@ func WndProc(hwnd syscall.Handle, msg uint32, wparam, lparam uintptr) (rc uintpt
|
|||
gc.Restore()
|
||||
// back buf in
|
||||
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]
|
||||
backBuffer.Pix[i] = backBuffer.Pix[i+2]
|
||||
backBuffer.Pix[i+2] = tmp
|
||||
|
|
Loading…
Reference in a new issue