Merge pull request #352 from uprun/only-changes-2024-02-24

added LoadFontExByRunesNumber
This commit is contained in:
Milan Nikolic 2024-02-25 13:24:01 +01:00 committed by GitHub
commit 0b7f0bb776
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 10 additions and 2 deletions

View file

@ -2829,9 +2829,12 @@ func LoadFont(fileName string) Font {
} }
// LoadFontEx - Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont // LoadFontEx - Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont
func LoadFontEx(fileName string, fontSize int32, codepoints []rune) Font { func LoadFontEx(fileName string, fontSize int32, codepoints []rune, runesNumber ...int32) Font {
var font Font var font Font
codepointCount := int32(len(codepoints)) codepointCount := int32(len(codepoints))
if len(runesNumber) > 0 {
codepointCount = int32(runesNumber[0])
}
loadFontEx(uintptr(unsafe.Pointer(&font)), fileName, fontSize, codepoints, codepointCount) loadFontEx(uintptr(unsafe.Pointer(&font)), fileName, fontSize, codepoints, codepointCount)
return font return font
} }

View file

@ -47,7 +47,7 @@ func LoadFont(fileName string) Font {
} }
// LoadFontEx - Load Font from file with extended parameters // LoadFontEx - Load Font from file with extended parameters
func LoadFontEx(fileName string, fontSize int32, fontChars []rune) Font { func LoadFontEx(fileName string, fontSize int32, fontChars []rune, runesNumber ...int32) Font {
var cfontChars *C.int var cfontChars *C.int
var ccharsCount C.int var ccharsCount C.int
@ -58,6 +58,11 @@ func LoadFontEx(fileName string, fontSize int32, fontChars []rune) Font {
cfontChars = (*C.int)(unsafe.Pointer(&fontChars[0])) cfontChars = (*C.int)(unsafe.Pointer(&fontChars[0]))
ccharsCount = (C.int)(len(fontChars)) ccharsCount = (C.int)(len(fontChars))
} }
if fontChars == nil {
if len(runesNumber) > 0 {
ccharsCount = (C.int)(runesNumber[0])
}
}
ret := C.LoadFontEx(cfileName, cfontSize, cfontChars, ccharsCount) ret := C.LoadFontEx(cfileName, cfontSize, cfontChars, ccharsCount)
v := newFontFromPointer(unsafe.Pointer(&ret)) v := newFontFromPointer(unsafe.Pointer(&ret))
return v return v