Skip to content

Commit

Permalink
Added a transparent texture example and go fmt'd all the examples
Browse files Browse the repository at this point in the history
Signed-off-by: Jacky Boen <aqiank@gmail.com>
  • Loading branch information
Jacky Boen committed Jul 16, 2014
1 parent e70fda6 commit 05a7bff
Show file tree
Hide file tree
Showing 8 changed files with 98 additions and 36 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
@@ -0,0 +1,2 @@
*.bmp
*.png
20 changes: 10 additions & 10 deletions examples/events.go
Expand Up @@ -3,8 +3,8 @@
package main

import (
"github.com/veandco/go-sdl2/sdl"
"fmt"
"github.com/veandco/go-sdl2/sdl"
"os"
)

Expand All @@ -18,16 +18,16 @@ func main() {
var running bool

window = sdl.CreateWindow(winTitle, sdl.WINDOWPOS_UNDEFINED, sdl.WINDOWPOS_UNDEFINED,
winWidth, winHeight, sdl.WINDOW_SHOWN)
winWidth, winHeight, sdl.WINDOW_SHOWN)
if window == nil {
fmt.Fprintf(os.Stderr, "Failed to create window: %s\n", sdl.GetError());
os.Exit(1);
fmt.Fprintf(os.Stderr, "Failed to create window: %s\n", sdl.GetError())
os.Exit(1)
}

renderer = sdl.CreateRenderer(window, -1, sdl.RENDERER_ACCELERATED)
if renderer == nil {
fmt.Fprintf(os.Stderr, "Failed to create renderer: %s\n", sdl.GetError());
os.Exit(2);
fmt.Fprintf(os.Stderr, "Failed to create renderer: %s\n", sdl.GetError())
os.Exit(2)
}

running = true
Expand All @@ -38,16 +38,16 @@ func main() {
running = false
case *sdl.MouseMotionEvent:
fmt.Printf("[%d ms] MouseMotion\ttype:%d\tid:%d\tx:%d\ty:%d\txrel:%d\tyrel:%d\n",
t.Timestamp, t.Type, t.Which, t.X, t.Y, t.XRel, t.YRel)
t.Timestamp, t.Type, t.Which, t.X, t.Y, t.XRel, t.YRel)
case *sdl.MouseButtonEvent:
fmt.Printf("[%d ms] MouseButton\ttype:%d\tid:%d\tx:%d\ty:%d\tbutton:%d\tstate:%d\n",
t.Timestamp, t.Type, t.Which, t.X, t.Y, t.Button, t.State)
t.Timestamp, t.Type, t.Which, t.X, t.Y, t.Button, t.State)
case *sdl.MouseWheelEvent:
fmt.Printf("[%d ms] MouseWheel\ttype:%d\tid:%d\tx:%d\ty:%d\n",
t.Timestamp, t.Type, t.Which, t.X, t.Y)
t.Timestamp, t.Type, t.Which, t.X, t.Y)
case *sdl.KeyUpEvent:
fmt.Printf("[%d ms] Keyboard\ttype:%d\tsym:%c\tmodifiers:%d\tstate:%d\trepeat:%d\n",
t.Timestamp, t.Type, t.Keysym.Sym, t.Keysym.Mod, t.State, t.Repeat)
t.Timestamp, t.Type, t.Keysym.Sym, t.Keysym.Mod, t.State, t.Repeat)
}
}
}
Expand Down
22 changes: 11 additions & 11 deletions examples/render.go
Expand Up @@ -3,8 +3,8 @@
package main

import (
"github.com/veandco/go-sdl2/sdl"
"fmt"
"github.com/veandco/go-sdl2/sdl"
"os"
)

Expand All @@ -19,16 +19,16 @@ func main() {
var rects []sdl.Rect

window = sdl.CreateWindow(winTitle, sdl.WINDOWPOS_UNDEFINED, sdl.WINDOWPOS_UNDEFINED,
winWidth, winHeight, sdl.WINDOW_SHOWN)
winWidth, winHeight, sdl.WINDOW_SHOWN)
if window == nil {
fmt.Fprintf(os.Stderr, "Failed to create window: %s\n", sdl.GetError());
os.Exit(1);
fmt.Fprintf(os.Stderr, "Failed to create window: %s\n", sdl.GetError())
os.Exit(1)
}

renderer = sdl.CreateRenderer(window, -1, sdl.RENDERER_ACCELERATED)
if renderer == nil {
fmt.Fprintf(os.Stderr, "Failed to create renderer: %s\n", sdl.GetError());
os.Exit(2);
fmt.Fprintf(os.Stderr, "Failed to create renderer: %s\n", sdl.GetError())
os.Exit(2)
}

renderer.SetDrawColor(255, 255, 255, 255)
Expand All @@ -37,23 +37,23 @@ func main() {
renderer.SetDrawColor(0, 0, 255, 255)
renderer.DrawLine(0, 0, 200, 200)

points = []sdl.Point { {0, 0}, {100, 300}, {100, 300}, {200, 0} }
points = []sdl.Point{{0, 0}, {100, 300}, {100, 300}, {200, 0}}
renderer.SetDrawColor(255, 255, 0, 255)
renderer.DrawLines(points)

rect = sdl.Rect { 300, 0, 200, 200 }
rect = sdl.Rect{300, 0, 200, 200}
renderer.SetDrawColor(255, 0, 0, 255)
renderer.DrawRect(&rect)

rects = []sdl.Rect { {400, 400, 100, 100}, {550, 350, 200, 200} }
rects = []sdl.Rect{{400, 400, 100, 100}, {550, 350, 200, 200}}
renderer.SetDrawColor(0, 255, 255, 255)
renderer.DrawRects(rects)

rect = sdl.Rect { 250, 250, 200, 200 }
rect = sdl.Rect{250, 250, 200, 200}
renderer.SetDrawColor(0, 255, 0, 255)
renderer.FillRect(&rect)

rects = []sdl.Rect { {500, 300, 100, 100}, {200, 300, 200, 200} }
rects = []sdl.Rect{{500, 300, 100, 100}, {200, 300, 200, 200}}
renderer.SetDrawColor(255, 0, 255, 255)
renderer.FillRects(rects)

Expand Down
2 changes: 1 addition & 1 deletion examples/syswminfo.go
Expand Up @@ -3,8 +3,8 @@
package main

import (
"github.com/veandco/go-sdl2/sdl"
"fmt"
"github.com/veandco/go-sdl2/sdl"
"os"
)

Expand Down
Binary file added examples/test.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 11 additions & 11 deletions examples/texture.go
Expand Up @@ -3,8 +3,8 @@
package main

import (
"github.com/veandco/go-sdl2/sdl"
"fmt"
"github.com/veandco/go-sdl2/sdl"
"os"
)

Expand All @@ -20,32 +20,32 @@ func main() {
var src, dst sdl.Rect

window = sdl.CreateWindow(winTitle, sdl.WINDOWPOS_UNDEFINED, sdl.WINDOWPOS_UNDEFINED,
winWidth, winHeight, sdl.WINDOW_SHOWN)
winWidth, winHeight, sdl.WINDOW_SHOWN)
if window == nil {
fmt.Fprintf(os.Stderr, "Failed to create window: %s\n", sdl.GetError());
os.Exit(1);
fmt.Fprintf(os.Stderr, "Failed to create window: %s\n", sdl.GetError())
os.Exit(1)
}

renderer = sdl.CreateRenderer(window, -1, sdl.RENDERER_ACCELERATED)
if renderer == nil {
fmt.Fprintf(os.Stderr, "Failed to create renderer: %s\n", sdl.GetError());
os.Exit(2);
fmt.Fprintf(os.Stderr, "Failed to create renderer: %s\n", sdl.GetError())
os.Exit(2)
}

image = sdl.LoadBMP(imageName)
if image == nil {
fmt.Fprintf(os.Stderr, "Failed to load BMP: %s", sdl.GetError())
os.Exit(3);
os.Exit(3)
}

texture = renderer.CreateTextureFromSurface(image)
if texture == nil {
fmt.Fprintf(os.Stderr, "Failed to create texture: %s\n", sdl.GetError());
os.Exit(4);
fmt.Fprintf(os.Stderr, "Failed to create texture: %s\n", sdl.GetError())
os.Exit(4)
}

src = sdl.Rect { 0, 0, 512, 512 }
dst = sdl.Rect { 100, 50, 512, 512 }
src = sdl.Rect{0, 0, 512, 512}
dst = sdl.Rect{100, 50, 512, 512}

renderer.Clear()
renderer.Copy(texture, &src, &dst)
Expand Down
62 changes: 62 additions & 0 deletions examples/texture_png.go
@@ -0,0 +1,62 @@
// author: Jacky Boen

package main

import (
"fmt"
"github.com/veandco/go-sdl2/sdl"
"github.com/veandco/go-sdl2/sdl_image"
"os"
)

var winTitle string = "Go-SDL2 Texture"
var winWidth, winHeight int = 800, 600
var imageName string = "test.png"

func main() {
var window *sdl.Window
var renderer *sdl.Renderer
var texture *sdl.Texture
var src, dst sdl.Rect

window = sdl.CreateWindow(winTitle, sdl.WINDOWPOS_UNDEFINED, sdl.WINDOWPOS_UNDEFINED,
winWidth, winHeight, sdl.WINDOW_SHOWN)
if window == nil {
fmt.Fprintf(os.Stderr, "Failed to create window: %s\n", sdl.GetError())
os.Exit(1)
}

renderer = sdl.CreateRenderer(window, -1, sdl.RENDERER_ACCELERATED)
if renderer == nil {
fmt.Fprintf(os.Stderr, "Failed to create renderer: %s\n", sdl.GetError())
os.Exit(2)
}

image := img.Load(imageName)
if image == nil {
fmt.Fprintf(os.Stderr, "Failed to load PNG: %s\n", sdl.GetError())
os.Exit(3)
}

texture = renderer.CreateTextureFromSurface(image)
if texture == nil {
fmt.Fprintf(os.Stderr, "Failed to create texture: %s\n", sdl.GetError())
os.Exit(4)
}

src = sdl.Rect{0, 0, 512, 512}
dst = sdl.Rect{100, 50, 512, 512}

renderer.Clear()
renderer.SetDrawColor(255, 0, 0, 255)
renderer.FillRect(&sdl.Rect{0, 0, int32(winWidth), int32(winHeight)})
renderer.Copy(texture, &src, &dst)
renderer.Present()

sdl.Delay(2000)

image.Free()
texture.Destroy()
renderer.Destroy()
window.Destroy()
}
4 changes: 1 addition & 3 deletions sdl/events.go
Expand Up @@ -2,7 +2,7 @@ package sdl

/*
#include <SDL2/SDL.h>
//#include "events.h"
#include "events.h"
*/
import "C"
import "unsafe"
Expand Down Expand Up @@ -475,7 +475,6 @@ func PushEvent(event Event) int {
return int(C.SDL_PushEvent(_event))
}

/*
//export goFilter
func goFilter(userdata interface{}, e Event) int {
a := reflect.ValueOf(&userdata).Elem()
Expand Down Expand Up @@ -503,7 +502,6 @@ func DelEventWatch(filter EventFilter, userdata interface{}) {

func FilterEvents(filter EventFilter, userdata interface{}) {
}
*/

func EventState(type_ uint32, state int) uint8 {
return uint8(C.SDL_EventState(C.Uint32(type_), C.int(state)))
Expand Down

0 comments on commit 05a7bff

Please sign in to comment.