Skip to content

Commit

Permalink
Example #10: PNG images with alpha channel
Browse files Browse the repository at this point in the history
  • Loading branch information
tisnik committed May 5, 2020
1 parent c634531 commit 996c567
Showing 1 changed file with 54 additions and 0 deletions.
54 changes: 54 additions & 0 deletions lesson7/sdl/introduction/test10.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package main

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

const (
width = 640
height = 480
)

func main() {
if err := sdl.Init(sdl.INIT_VIDEO); err != nil {
panic(err)
}
defer sdl.Quit()

window, err := sdl.CreateWindow("SDL2 example #10", sdl.WINDOWPOS_UNDEFINED, sdl.WINDOWPOS_UNDEFINED,
width, height, sdl.WINDOW_SHOWN)
if err != nil {
panic(err)
}
defer window.Destroy()

primarySurface, err := window.GetSurface()
if err != nil {
panic(err)
}

image, err := img.Load("globe.png")
if err != nil {
panic(err)
}
defer image.Free()

primarySurface.FillRect(nil, sdl.MapRGB(primarySurface.Format, 192, 255, 192))

dstRect := sdl.Rect{
X: width/2 - image.W/2,
Y: height/2 - image.H/2,
W: 0,
H: 0,
}

err = image.Blit(nil, primarySurface, &dstRect)
if err != nil {
panic(err)
}

window.UpdateSurface()

sdl.Delay(5000)
}

0 comments on commit 996c567

Please sign in to comment.