From 5a6de1c2148f76067ea0eb6d1da0279bfa3590e2 Mon Sep 17 00:00:00 2001 From: SpaiR Date: Mon, 10 Feb 2020 23:32:55 +0300 Subject: [PATCH] Add ImDrawList#addText with ImFont support --- .../src/main/java/imgui/ImDrawList.java | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/imgui-binding/src/main/java/imgui/ImDrawList.java b/imgui-binding/src/main/java/imgui/ImDrawList.java index 039d7fd..a0bc23f 100644 --- a/imgui-binding/src/main/java/imgui/ImDrawList.java +++ b/imgui-binding/src/main/java/imgui/ImDrawList.java @@ -215,7 +215,38 @@ public final class ImDrawList { IM_DRAW_LIST->AddText(ImVec2(posX, posY), col, textBegin, textEnd); */ - // TODO add text with font support + public void addText(ImFont imFont, float fontSize, float posX, float posY, int col, String textBegin) { + nAddText(imFont.ptr, fontSize, posX, posY, col, textBegin); + } + + private native void nAddText(long imFontPtr, float fontSize, float posX, float posY, int col, String textBegin); /* + IM_DRAW_LIST->AddText((ImFont*)imFontPtr, fontSize, ImVec2(posX, posY), col, textBegin); + */ + + public void addText(ImFont imFont, float fontSize, float posX, float posY, int col, String textBegin, String textEnd) { + nAddText(imFont.ptr, fontSize, posX, posY, col, textBegin, textEnd); + } + + private native void nAddText(long imFontPtr, float fontSize, float posX, float posY, int col, String textBegin, String textEnd); /* + IM_DRAW_LIST->AddText((ImFont*)imFontPtr, fontSize, ImVec2(posX, posY), col, textBegin, textEnd); + */ + + public void addText(ImFont imFont, float fontSize, float posX, float posY, int col, String textBegin, String textEnd, float wrapWidth) { + nAddText(imFont.ptr, fontSize, posX, posY, col, textBegin, textEnd, wrapWidth); + } + + private native void nAddText(long imFontPtr, float fontSize, float posX, float posY, int col, String textBegin, String textEnd, float wrapWidth); /* + IM_DRAW_LIST->AddText((ImFont*)imFontPtr, fontSize, ImVec2(posX, posY), col, textBegin, textEnd, wrapWidth); + */ + + public void addText(ImFont imFont, float fontSize, float posX, float posY, int col, String textBegin, String textEnd, float wrapWidth, float cpuFineClipRectX, float cpuFineClipRectY, float cpuFineClipRectZ, float cpuFineClipRectV) { + nAddText(imFont.ptr, fontSize, posX, posY, col, textBegin, textEnd, wrapWidth, cpuFineClipRectX, cpuFineClipRectY, cpuFineClipRectZ, cpuFineClipRectV); + } + + private native void nAddText(long imFontPtr, float fontSize, float posX, float posY, int col, String textBegin, String textEnd, float wrapWidth, float cpuFineClipRectX, float cpuFineClipRectY, float cpuFineClipRectZ, float cpuFineClipRectV); /* + ImVec4 cpuFineClipRect = ImVec4(cpuFineClipRectX, cpuFineClipRectY, cpuFineClipRectZ, cpuFineClipRectV); + IM_DRAW_LIST->AddText((ImFont*)imFontPtr, fontSize, ImVec2(posX, posY), col, textBegin, textEnd, wrapWidth, &cpuFineClipRect); + */ public native void addPolyline(ImVec2[] points, int numPoints, int col, boolean closed, float thickness); /* int points_num = env->GetArrayLength(points);