Skip to content

Commit 5afed42

Browse files
committed
Add example variants.json that adds IntPtr* as a parameter variant for ImFontAtlas_GetTexDataAsAlpha8 and ImFontAtlas_GetTexDataAsRGBA32.
Rerun code generation.
1 parent cd5c026 commit 5afed42

4 files changed

Lines changed: 87 additions & 0 deletions

File tree

src/CodeGenerator/CodeGenerator.csproj

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,16 @@
55
<TargetFramework>netcoreapp2.1</TargetFramework>
66
</PropertyGroup>
77

8+
<ItemGroup>
9+
<None Remove="variants.json" />
10+
</ItemGroup>
11+
812
<ItemGroup>
913
<Content Include="structs_and_enums.json" CopyToOutputDirectory="PreserveNewest" />
1014
<Content Include="definitions.json" CopyToOutputDirectory="PreserveNewest" />
15+
<Content Include="variants.json">
16+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
17+
</Content>
1118
</ItemGroup>
1219

1320
<ItemGroup>

src/CodeGenerator/variants.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"ImFontAtlas_GetTexDataAsAlpha8": [
3+
{
4+
"name": "out_pixels",
5+
"type": "unsigned char**",
6+
"variants": [ "IntPtr*" ]
7+
}
8+
],
9+
"ImFontAtlas_GetTexDataAsRGBA32": [
10+
{
11+
"name": "out_pixels",
12+
"type": "unsigned char**",
13+
"variants": [ "IntPtr*" ]
14+
}
15+
]
16+
}

src/ImGui.NET/Generated/ImFontAtlas.gen.cs

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,36 @@ public void GetTexDataAsAlpha8(out byte* out_pixels, out int out_width, out int
434434
}
435435
}
436436
}
437+
public void GetTexDataAsAlpha8(out IntPtr out_pixels, out int out_width, out int out_height)
438+
{
439+
int* out_bytes_per_pixel = null;
440+
fixed (IntPtr* native_out_pixels = &out_pixels)
441+
{
442+
fixed (int* native_out_width = &out_width)
443+
{
444+
fixed (int* native_out_height = &out_height)
445+
{
446+
ImGuiNative.ImFontAtlas_GetTexDataAsAlpha8(NativePtr, native_out_pixels, native_out_width, native_out_height, out_bytes_per_pixel);
447+
}
448+
}
449+
}
450+
}
451+
public void GetTexDataAsAlpha8(out IntPtr out_pixels, out int out_width, out int out_height, out int out_bytes_per_pixel)
452+
{
453+
fixed (IntPtr* native_out_pixels = &out_pixels)
454+
{
455+
fixed (int* native_out_width = &out_width)
456+
{
457+
fixed (int* native_out_height = &out_height)
458+
{
459+
fixed (int* native_out_bytes_per_pixel = &out_bytes_per_pixel)
460+
{
461+
ImGuiNative.ImFontAtlas_GetTexDataAsAlpha8(NativePtr, native_out_pixels, native_out_width, native_out_height, native_out_bytes_per_pixel);
462+
}
463+
}
464+
}
465+
}
466+
}
437467
public void GetTexDataAsRGBA32(out byte* out_pixels, out int out_width, out int out_height)
438468
{
439469
int* out_bytes_per_pixel = null;
@@ -464,6 +494,36 @@ public void GetTexDataAsRGBA32(out byte* out_pixels, out int out_width, out int
464494
}
465495
}
466496
}
497+
public void GetTexDataAsRGBA32(out IntPtr out_pixels, out int out_width, out int out_height)
498+
{
499+
int* out_bytes_per_pixel = null;
500+
fixed (IntPtr* native_out_pixels = &out_pixels)
501+
{
502+
fixed (int* native_out_width = &out_width)
503+
{
504+
fixed (int* native_out_height = &out_height)
505+
{
506+
ImGuiNative.ImFontAtlas_GetTexDataAsRGBA32(NativePtr, native_out_pixels, native_out_width, native_out_height, out_bytes_per_pixel);
507+
}
508+
}
509+
}
510+
}
511+
public void GetTexDataAsRGBA32(out IntPtr out_pixels, out int out_width, out int out_height, out int out_bytes_per_pixel)
512+
{
513+
fixed (IntPtr* native_out_pixels = &out_pixels)
514+
{
515+
fixed (int* native_out_width = &out_width)
516+
{
517+
fixed (int* native_out_height = &out_height)
518+
{
519+
fixed (int* native_out_bytes_per_pixel = &out_bytes_per_pixel)
520+
{
521+
ImGuiNative.ImFontAtlas_GetTexDataAsRGBA32(NativePtr, native_out_pixels, native_out_width, native_out_height, native_out_bytes_per_pixel);
522+
}
523+
}
524+
}
525+
}
526+
}
467527
public bool IsBuilt()
468528
{
469529
byte ret = ImGuiNative.ImFontAtlas_IsBuilt(NativePtr);

src/ImGui.NET/Generated/ImGuiNative.gen.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -895,8 +895,12 @@ public static unsafe partial class ImGuiNative
895895
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
896896
public static extern void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* self, byte** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel);
897897
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
898+
public static extern void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* self, IntPtr* out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel);
899+
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
898900
public static extern void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* self, byte** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel);
899901
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
902+
public static extern void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* self, IntPtr* out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel);
903+
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
900904
public static extern ImFontAtlas* ImFontAtlas_ImFontAtlas();
901905
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
902906
public static extern byte ImFontAtlas_IsBuilt(ImFontAtlas* self);

0 commit comments

Comments
 (0)