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 }