code.witches.io/go/sdl2@v0.1.1/ttf/render.go (about)

     1  package ttf
     2  
     3  // #include <SDL2/SDL_ttf.h>
     4  import "C"
     5  import (
     6  	"unsafe"
     7  
     8  	"code.witches.io/go/sdl2"
     9  )
    10  
    11  func RenderUTF8Blended(font *Font, text string, fg sdl.Color) (*sdl.Surface, error) {
    12  	nativeText := C.CString(text)
    13  	defer C.free(unsafe.Pointer(nativeText))
    14  
    15  	color := C.struct_SDL_Color{
    16  		r: C.Uint8(fg.R),
    17  		g: C.Uint8(fg.G),
    18  		b: C.Uint8(fg.B),
    19  		a: C.Uint8(fg.A),
    20  	}
    21  
    22  	surface := (*sdl.Surface)(unsafe.Pointer(C.TTF_RenderUTF8_Blended((*C.struct__TTF_Font)(font), nativeText, color)))
    23  	if surface == nil {
    24  		return nil, GetError()
    25  	}
    26  
    27  	return surface, nil
    28  }