Move functions
This commit is contained in:
parent
9f257fc589
commit
f953e65a3a
6 changed files with 184 additions and 215 deletions
|
@ -12,6 +12,11 @@ import (
|
|||
"unsafe"
|
||||
)
|
||||
|
||||
// newImageFromPointer - Returns new Image from pointer
|
||||
func newImageFromPointer(ptr unsafe.Pointer) *Image {
|
||||
return (*Image)(ptr)
|
||||
}
|
||||
|
||||
// cptr returns C pointer
|
||||
func (i *Image) cptr() *C.Image {
|
||||
return (*C.Image)(unsafe.Pointer(i))
|
||||
|
@ -31,16 +36,51 @@ func (i *Image) ToImage() image.Image {
|
|||
return img
|
||||
}
|
||||
|
||||
// newTexture2DFromPointer - Returns new Texture2D from pointer
|
||||
func newTexture2DFromPointer(ptr unsafe.Pointer) Texture2D {
|
||||
return *(*Texture2D)(ptr)
|
||||
}
|
||||
|
||||
// cptr returns C pointer
|
||||
func (t *Texture2D) cptr() *C.Texture2D {
|
||||
return (*C.Texture2D)(unsafe.Pointer(t))
|
||||
}
|
||||
|
||||
// newRenderTexture2DFromPointer - Returns new RenderTexture2D from pointer
|
||||
func newRenderTexture2DFromPointer(ptr unsafe.Pointer) RenderTexture2D {
|
||||
return *(*RenderTexture2D)(ptr)
|
||||
}
|
||||
|
||||
// cptr returns C pointer
|
||||
func (r *RenderTexture2D) cptr() *C.RenderTexture2D {
|
||||
return (*C.RenderTexture2D)(unsafe.Pointer(r))
|
||||
}
|
||||
|
||||
// NewImageFromImage - Returns new Image from Go image.Image
|
||||
func NewImageFromImage(img image.Image) *Image {
|
||||
size := img.Bounds().Size()
|
||||
|
||||
cx := (C.int)(size.X)
|
||||
cy := (C.int)(size.Y)
|
||||
ccolor := colorCptr(White)
|
||||
ret := C.GenImageColor(cx, cy, *ccolor)
|
||||
|
||||
for y := 0; y < size.Y; y++ {
|
||||
for x := 0; x < size.X; x++ {
|
||||
color := img.At(x, y)
|
||||
r, g, b, a := color.RGBA()
|
||||
rcolor := NewColor(uint8(r), uint8(g), uint8(b), uint8(a))
|
||||
ccolor = colorCptr(rcolor)
|
||||
|
||||
cx = (C.int)(x)
|
||||
cy = (C.int)(y)
|
||||
C.ImageDrawPixel(&ret, cx, cy, *ccolor)
|
||||
}
|
||||
}
|
||||
v := newImageFromPointer(unsafe.Pointer(&ret))
|
||||
return v
|
||||
}
|
||||
|
||||
// LoadImage - Load an image into CPU memory (RAM)
|
||||
func LoadImage(fileName string) *Image {
|
||||
cfileName := C.CString(fileName)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue