Update C sources, add new functions

This commit is contained in:
Milan Nikolic 2018-05-06 09:34:11 +02:00
parent e6a1abb290
commit a6d36a3699
98 changed files with 7964 additions and 2985 deletions

View file

@ -13,42 +13,42 @@ func (c *CharInfo) cptr() *C.CharInfo {
}
// cptr returns C pointer
func (s *SpriteFont) cptr() *C.SpriteFont {
return (*C.SpriteFont)(unsafe.Pointer(s))
func (s *Font) cptr() *C.Font {
return (*C.Font)(unsafe.Pointer(s))
}
// GetDefaultFont - Get the default SpriteFont
func GetDefaultFont() SpriteFont {
// GetDefaultFont - Get the default Font
func GetDefaultFont() Font {
ret := C.GetDefaultFont()
v := newSpriteFontFromPointer(unsafe.Pointer(&ret))
v := newFontFromPointer(unsafe.Pointer(&ret))
return v
}
// LoadSpriteFont - Load a SpriteFont image into GPU memory (VRAM)
func LoadSpriteFont(fileName string) SpriteFont {
// LoadFont - Load a Font image into GPU memory (VRAM)
func LoadFont(fileName string) Font {
cfileName := C.CString(fileName)
defer C.free(unsafe.Pointer(cfileName))
ret := C.LoadSpriteFont(cfileName)
v := newSpriteFontFromPointer(unsafe.Pointer(&ret))
ret := C.LoadFont(cfileName)
v := newFontFromPointer(unsafe.Pointer(&ret))
return v
}
// LoadSpriteFontEx - Load SpriteFont from file with extended parameters
func LoadSpriteFontEx(fileName string, fontSize int32, charsCount int32, fontChars *int32) SpriteFont {
// LoadFontEx - Load Font from file with extended parameters
func LoadFontEx(fileName string, fontSize int32, charsCount int32, fontChars *int32) Font {
cfileName := C.CString(fileName)
defer C.free(unsafe.Pointer(cfileName))
cfontSize := (C.int)(fontSize)
ccharsCount := (C.int)(charsCount)
cfontChars := (*C.int)(unsafe.Pointer(fontChars))
ret := C.LoadSpriteFontEx(cfileName, cfontSize, ccharsCount, cfontChars)
v := newSpriteFontFromPointer(unsafe.Pointer(&ret))
ret := C.LoadFontEx(cfileName, cfontSize, ccharsCount, cfontChars)
v := newFontFromPointer(unsafe.Pointer(&ret))
return v
}
// UnloadSpriteFont - Unload SpriteFont from GPU memory (VRAM)
func UnloadSpriteFont(spriteFont SpriteFont) {
cspriteFont := spriteFont.cptr()
C.UnloadSpriteFont(*cspriteFont)
// UnloadFont - Unload Font from GPU memory (VRAM)
func UnloadFont(font Font) {
cfont := font.cptr()
C.UnloadFont(*cfont)
}
// DrawText - Draw text (using default font)
@ -62,16 +62,16 @@ func DrawText(text string, posX int32, posY int32, fontSize int32, color Color)
C.DrawText(ctext, cposX, cposY, cfontSize, *ccolor)
}
// DrawTextEx - Draw text using SpriteFont and additional parameters
func DrawTextEx(spriteFont SpriteFont, text string, position Vector2, fontSize float32, spacing int32, tint Color) {
cspriteFont := spriteFont.cptr()
// DrawTextEx - Draw text using Font and additional parameters
func DrawTextEx(font Font, text string, position Vector2, fontSize float32, spacing float32, tint Color) {
cfont := font.cptr()
ctext := C.CString(text)
defer C.free(unsafe.Pointer(ctext))
cposition := position.cptr()
cfontSize := (C.float)(fontSize)
cspacing := (C.int)(spacing)
cspacing := (C.float)(spacing)
ctint := tint.cptr()
C.DrawTextEx(*cspriteFont, ctext, *cposition, cfontSize, cspacing, *ctint)
C.DrawTextEx(*cfont, ctext, *cposition, cfontSize, cspacing, *ctint)
}
// MeasureText - Measure string width for default font
@ -84,14 +84,14 @@ func MeasureText(text string, fontSize int32) int32 {
return v
}
// MeasureTextEx - Measure string size for SpriteFont
func MeasureTextEx(spriteFont SpriteFont, text string, fontSize float32, spacing int32) Vector2 {
cspriteFont := spriteFont.cptr()
// MeasureTextEx - Measure string size for Font
func MeasureTextEx(font Font, text string, fontSize float32, spacing float32) Vector2 {
cfont := font.cptr()
ctext := C.CString(text)
defer C.free(unsafe.Pointer(ctext))
cfontSize := (C.float)(fontSize)
cspacing := (C.int)(spacing)
ret := C.MeasureTextEx(*cspriteFont, ctext, cfontSize, cspacing)
cspacing := (C.float)(spacing)
ret := C.MeasureTextEx(*cfont, ctext, cfontSize, cspacing)
v := newVector2FromPointer(unsafe.Pointer(&ret))
return v
}