forked from inkyblackness/imgui-go
-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Try to fix Unsafe pointer arithmetic issue
- Loading branch information
Showing
5 changed files
with
389 additions
and
901 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,147 +1,121 @@ | ||
#include "imguiWrappedHeader.h" | ||
#include "FontAtlasWrapper.h" | ||
#include "WrapperConverter.h" | ||
#include "imguiWrappedHeader.h" | ||
|
||
|
||
IggGlyphRanges iggGetGlyphRangesAll() | ||
{ | ||
static const ImWchar ranges[] = { | ||
0x0001, 0xFFFF, | ||
IggGlyphRanges iggGetGlyphRangesAll() { | ||
static const ImWchar ranges[] = { | ||
0x0001, | ||
0xFFFF, | ||
0, | ||
}; | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(&ranges[0])); | ||
}; | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(&ranges[0])); | ||
} | ||
|
||
IggGlyphRanges iggGetGlyphRangesDefault(IggFontAtlas handle) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(fontAtlas->GetGlyphRangesDefault())); | ||
IggGlyphRanges iggGetGlyphRangesDefault(IggFontAtlas handle) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(fontAtlas->GetGlyphRangesDefault())); | ||
} | ||
|
||
IggGlyphRanges iggGetGlyphRangesKorean(IggFontAtlas handle) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(fontAtlas->GetGlyphRangesKorean())); | ||
IggGlyphRanges iggGetGlyphRangesKorean(IggFontAtlas handle) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(fontAtlas->GetGlyphRangesKorean())); | ||
} | ||
|
||
IggGlyphRanges iggGetGlyphRangesJapanese(IggFontAtlas handle) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(fontAtlas->GetGlyphRangesJapanese())); | ||
IggGlyphRanges iggGetGlyphRangesJapanese(IggFontAtlas handle) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(fontAtlas->GetGlyphRangesJapanese())); | ||
} | ||
|
||
IggGlyphRanges iggGetGlyphRangesChineseFull(IggFontAtlas handle) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(fontAtlas->GetGlyphRangesChineseFull())); | ||
IggGlyphRanges iggGetGlyphRangesChineseFull(IggFontAtlas handle) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(fontAtlas->GetGlyphRangesChineseFull())); | ||
} | ||
|
||
IggGlyphRanges iggGetGlyphRangesChineseSimplifiedCommon(IggFontAtlas handle) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(fontAtlas->GetGlyphRangesChineseSimplifiedCommon())); | ||
IggGlyphRanges iggGetGlyphRangesChineseSimplifiedCommon(IggFontAtlas handle) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(fontAtlas->GetGlyphRangesChineseSimplifiedCommon())); | ||
} | ||
|
||
IggGlyphRanges iggGetGlyphRangesCyrillic(IggFontAtlas handle) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(fontAtlas->GetGlyphRangesCyrillic())); | ||
IggGlyphRanges iggGetGlyphRangesCyrillic(IggFontAtlas handle) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(fontAtlas->GetGlyphRangesCyrillic())); | ||
} | ||
|
||
IggGlyphRanges iggGetGlyphRangesThai(IggFontAtlas handle) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(fontAtlas->GetGlyphRangesThai())); | ||
IggGlyphRanges iggGetGlyphRangesThai(IggFontAtlas handle) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return static_cast<IggGlyphRanges>(const_cast<ImWchar *>(fontAtlas->GetGlyphRangesThai())); | ||
} | ||
|
||
IggFont iggAddFontDefault(IggFontAtlas handle) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
ImFont *font = fontAtlas->AddFontDefault(); | ||
return static_cast<IggFont>(font); | ||
IggFont iggAddFontDefault(IggFontAtlas handle) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
ImFont *font = fontAtlas->AddFontDefault(); | ||
return static_cast<IggFont>(font); | ||
} | ||
|
||
IggFont iggAddFontDefaultV(IggFontAtlas handle, IggFontConfig config) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
ImFontConfig *fontConfig = reinterpret_cast<ImFontConfig *>(config); | ||
ImFont *font = fontAtlas->AddFontDefault(fontConfig); | ||
return static_cast<IggFont>(font); | ||
IggFont iggAddFontDefaultV(IggFontAtlas handle, IggFontConfig config) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
ImFontConfig *fontConfig = reinterpret_cast<ImFontConfig *>(config); | ||
ImFont *font = fontAtlas->AddFontDefault(fontConfig); | ||
return static_cast<IggFont>(font); | ||
} | ||
|
||
IggFont iggAddFontFromFileTTF(IggFontAtlas handle, char const *filename, float sizePixels, | ||
IggFontConfig config, IggGlyphRanges glyphRanges) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
ImFontConfig *fontConfig = reinterpret_cast<ImFontConfig *>(config); | ||
ImWchar *glyphChars = reinterpret_cast<ImWchar *>(glyphRanges); | ||
ImFont *font = fontAtlas->AddFontFromFileTTF(filename, sizePixels, fontConfig, glyphChars); | ||
return static_cast<IggFont>(font); | ||
IggFont iggAddFontFromFileTTF(IggFontAtlas handle, char const *filename, float sizePixels, IggFontConfig config, IggGlyphRanges glyphRanges) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
ImFontConfig *fontConfig = reinterpret_cast<ImFontConfig *>(config); | ||
ImWchar *glyphChars = reinterpret_cast<ImWchar *>(glyphRanges); | ||
ImFont *font = fontAtlas->AddFontFromFileTTF(filename, sizePixels, fontConfig, glyphChars); | ||
return static_cast<IggFont>(font); | ||
} | ||
|
||
IggFont iggAddFontFromMemoryTTF(IggFontAtlas handle, char *font_data, int font_size, float sizePixels, | ||
IggFontConfig config, IggGlyphRanges glyphRanges) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
ImFontConfig *fontConfig = reinterpret_cast<ImFontConfig *>(config); | ||
ImWchar *glyphChars = reinterpret_cast<ImWchar *>(glyphRanges); | ||
ImFont *font = fontAtlas->AddFontFromMemoryTTF(font_data, font_size, sizePixels, fontConfig, glyphChars); | ||
return static_cast<IggFont>(font); | ||
IggFont iggAddFontFromMemoryTTF(IggFontAtlas handle, char *font_data, int font_size, float sizePixels, IggFontConfig config, IggGlyphRanges glyphRanges) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
ImFontConfig *fontConfig = reinterpret_cast<ImFontConfig *>(config); | ||
ImWchar *glyphChars = reinterpret_cast<ImWchar *>(glyphRanges); | ||
ImFont *font = fontAtlas->AddFontFromMemoryTTF(font_data, font_size, sizePixels, fontConfig, glyphChars); | ||
return static_cast<IggFont>(font); | ||
} | ||
|
||
|
||
void iggFontAtlasSetTexDesiredWidth(IggFontAtlas handle, int value) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
fontAtlas->TexDesiredWidth = value; | ||
void iggFontAtlasSetTexDesiredWidth(IggFontAtlas handle, int value) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
fontAtlas->TexDesiredWidth = value; | ||
} | ||
|
||
void iggFontAtlasGetTexDataAsAlpha8(IggFontAtlas handle, unsigned char **pixels, | ||
int *width, int *height, int *bytesPerPixel) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
fontAtlas->GetTexDataAsAlpha8(pixels, width, height, bytesPerPixel); | ||
void iggFontAtlasGetTexDataAsAlpha8(IggFontAtlas handle, unsigned char **pixels, int *width, int *height, int *bytesPerPixel) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
fontAtlas->GetTexDataAsAlpha8(pixels, width, height, bytesPerPixel); | ||
} | ||
|
||
void iggFontAtlasGetTexDataAsRGBA32(IggFontAtlas handle, unsigned char **pixels, | ||
int *width, int *height, int *bytesPerPixel) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
fontAtlas->GetTexDataAsRGBA32(pixels, width, height, bytesPerPixel); | ||
void iggFontAtlasGetTexDataAsRGBA32(IggFontAtlas handle, unsigned char **pixels, int *width, int *height, int *bytesPerPixel) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
fontAtlas->GetTexDataAsRGBA32(pixels, width, height, bytesPerPixel); | ||
} | ||
|
||
void iggFontAtlasSetTextureID(IggFontAtlas handle, IggTextureID id) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
fontAtlas->SetTexID(id); | ||
void iggFontAtlasSetTextureID(IggFontAtlas handle, IggTextureID id) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
fontAtlas->SetTexID(reinterpret_cast<ImTextureID>(id)); | ||
} | ||
|
||
void iggFontAtlasBuild(IggFontAtlas handle) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
fontAtlas->Build(); | ||
void iggFontAtlasBuild(IggFontAtlas handle) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
fontAtlas->Build(); | ||
} | ||
|
||
void iggFontAtlasClear(IggFontAtlas handle) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
fontAtlas->Clear(); | ||
void iggFontAtlasClear(IggFontAtlas handle) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
fontAtlas->Clear(); | ||
} | ||
|
||
unsigned int iggFontAtlasGetFontBuilderFlags(IggFontAtlas handle) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return fontAtlas->FontBuilderFlags; | ||
unsigned int iggFontAtlasGetFontBuilderFlags(IggFontAtlas handle) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return fontAtlas->FontBuilderFlags; | ||
} | ||
|
||
void iggFontAtlasSetFontBuilderFlags(IggFontAtlas handle, unsigned int flags) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
fontAtlas->FontBuilderFlags = flags; | ||
void iggFontAtlasSetFontBuilderFlags(IggFontAtlas handle, unsigned int flags) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
fontAtlas->FontBuilderFlags = flags; | ||
} | ||
|
||
int iggFontAtlasFontCount(IggFontAtlas handle) | ||
{ | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return fontAtlas->Fonts.size(); | ||
int iggFontAtlasFontCount(IggFontAtlas handle) { | ||
ImFontAtlas *fontAtlas = reinterpret_cast<ImFontAtlas *>(handle); | ||
return fontAtlas->Fonts.size(); | ||
} |
Oops, something went wrong.