From e171bb37511ed34a693ef306b0d192fb72f77729 Mon Sep 17 00:00:00 2001
From: JupiterRider <60042618+JupiterRider@users.noreply.github.com>
Date: Tue, 5 Nov 2024 17:33:03 +0100
Subject: [PATCH] DrawTextCodepoint(s) functions added to cgo version

---
 raylib/rtext.go | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/raylib/rtext.go b/raylib/rtext.go
index 1e0c305e..6c91974d 100644
--- a/raylib/rtext.go
+++ b/raylib/rtext.go
@@ -237,3 +237,25 @@ func GenImageFontAtlas(glyphs []GlyphInfo, glyphRecs []*Rectangle, fontSize int3
 	v := newImageFromPointer(unsafe.Pointer(&ret))
 	return *v
 }
+
+// DrawTextCodepoint - Draw one character (codepoint)
+func DrawTextCodepoint(font Font, codepoint rune, position Vector2, fontSize float32, tint color.RGBA) {
+	cfont := font.cptr()
+	ccodepoint := (C.int)(codepoint)
+	cposition := position.cptr()
+	cfontSize := (C.float)(fontSize)
+	ctint := colorCptr(tint)
+	C.DrawTextCodepoint(*cfont, ccodepoint, *cposition, cfontSize, *ctint)
+}
+
+// DrawTextCodepoints - Draw multiple character (codepoint)
+func DrawTextCodepoints(font Font, codepoints []rune, position Vector2, fontSize float32, spacing float32, tint color.RGBA) {
+	cfont := font.cptr()
+	ccodepoints := (*C.int)(unsafe.SliceData(codepoints))
+	ccodepointCount := C.int(len(codepoints))
+	cposition := position.cptr()
+	cfontSize := (C.float)(fontSize)
+	cspacing := (C.float)(spacing)
+	ctint := colorCptr(tint)
+	C.DrawTextCodepoints(*cfont, ccodepoints, ccodepointCount, *cposition, cfontSize, cspacing, *ctint)
+}