Skip to content

Commit

Permalink
Fix bool marshalling bug (#5)
Browse files Browse the repository at this point in the history
  • Loading branch information
tuket authored Jun 18, 2024
1 parent 1c93d82 commit ed37f63
Show file tree
Hide file tree
Showing 14 changed files with 222 additions and 230 deletions.
14 changes: 3 additions & 11 deletions Generator/Common/Helpers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -92,23 +92,15 @@ private static string ConvertToBasicTypes(string type, Family family)
switch (family)
{
case Family.param:
return "[MarshalAs(UnmanagedType.Bool)] bool";
return "[MarshalAs(UnmanagedType.I1)] bool";
case Family.ret:
return "bool";
case Family.field:
default:
return "byte";
}
case "bool*":
switch (family)
{
case Family.ret:
return "bool";
case Family.param:
case Family.field:
default:
return "byte*";
}
return "bool*";
case "char*":
return "byte*";
case "const char*":
Expand Down Expand Up @@ -281,7 +273,7 @@ public static string GetReturnTypeHeader(string csType)
case "string":
return "[return:MarshalAs(UnmanagedType.LPUTF8Str)]";
case "bool":
return "[return:MarshalAs(UnmanagedType.Bool)]";
return "[return:MarshalAs(UnmanagedType.I1)]";
default:
return null;
}
Expand Down
368 changes: 184 additions & 184 deletions Generator/Evergine.Bindings.Imgui/Generated/Funtions.cs

Large diffs are not rendered by default.

24 changes: 12 additions & 12 deletions Generator/Evergine.Bindings.Imgui/Generated/Structs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,7 @@ public void PrimWriteVtx(Vector2 pos, Vector2 uv, uint col)
ImguiNative.ImDrawList_PrimWriteVtx(self, pos, uv, col);
}

public void PushClipRect(Vector2 clip_rect_min, Vector2 clip_rect_max, [MarshalAs(UnmanagedType.Bool)] bool intersect_with_current_clip_rect = true)
public void PushClipRect(Vector2 clip_rect_min, Vector2 clip_rect_max, [MarshalAs(UnmanagedType.I1)] bool intersect_with_current_clip_rect = true)
{
ImguiNative.ImDrawList_PushClipRect(self, clip_rect_min, clip_rect_max, intersect_with_current_clip_rect);
}
Expand Down Expand Up @@ -496,7 +496,7 @@ public void AddGlyph(ImFontConfig* src_cfg, ushort c, float x0, float y0, float
ImguiNative.ImFont_AddGlyph(self, src_cfg, c, x0, y0, x1, y1, u0, v0, u1, v1, advance_x);
}

public void AddRemapChar(ushort dst, ushort src, [MarshalAs(UnmanagedType.Bool)] bool overwrite_dst = true)
public void AddRemapChar(ushort dst, ushort src, [MarshalAs(UnmanagedType.I1)] bool overwrite_dst = true)
{
ImguiNative.ImFont_AddRemapChar(self, dst, src, overwrite_dst);
}
Expand Down Expand Up @@ -564,12 +564,12 @@ public void RenderChar(ImDrawList* draw_list, float size, Vector2 pos, uint col,
ImguiNative.ImFont_RenderChar(self, draw_list, size, pos, col, c);
}

public void RenderText(ImDrawList* draw_list, float size, Vector2 pos, uint col, Vector4 clip_rect, [MarshalAs(UnmanagedType.LPUTF8Str)] string text_begin, [MarshalAs(UnmanagedType.LPUTF8Str)] string text_end, float wrap_width = 0.0f, [MarshalAs(UnmanagedType.Bool)] bool cpu_fine_clip = true)
public void RenderText(ImDrawList* draw_list, float size, Vector2 pos, uint col, Vector4 clip_rect, [MarshalAs(UnmanagedType.LPUTF8Str)] string text_begin, [MarshalAs(UnmanagedType.LPUTF8Str)] string text_end, float wrap_width = 0.0f, [MarshalAs(UnmanagedType.I1)] bool cpu_fine_clip = true)
{
ImguiNative.ImFont_RenderText(self, draw_list, size, pos, col, clip_rect, text_begin, text_end, wrap_width, cpu_fine_clip);
}

public void SetGlyphVisible(ushort c, [MarshalAs(UnmanagedType.Bool)] bool visible)
public void SetGlyphVisible(ushort c, [MarshalAs(UnmanagedType.I1)] bool visible)
{
ImguiNative.ImFont_SetGlyphVisible(self, c, visible);
}
Expand Down Expand Up @@ -1662,7 +1662,7 @@ public unsafe partial struct ImGuiIO
public ushort InputQueueSurrogate;
public ImVector InputQueueCharacters;

public void AddFocusEvent([MarshalAs(UnmanagedType.Bool)] bool focused)
public void AddFocusEvent([MarshalAs(UnmanagedType.I1)] bool focused)
{
ImguiNative.ImGuiIO_AddFocusEvent(self, focused);
}
Expand All @@ -1682,17 +1682,17 @@ public void AddInputCharactersUTF8([MarshalAs(UnmanagedType.LPUTF8Str)] string s
ImguiNative.ImGuiIO_AddInputCharactersUTF8(self, str);
}

public void AddKeyAnalogEvent(ImGuiKey key, [MarshalAs(UnmanagedType.Bool)] bool down, float v)
public void AddKeyAnalogEvent(ImGuiKey key, [MarshalAs(UnmanagedType.I1)] bool down, float v)
{
ImguiNative.ImGuiIO_AddKeyAnalogEvent(self, key, down, v);
}

public void AddKeyEvent(ImGuiKey key, [MarshalAs(UnmanagedType.Bool)] bool down)
public void AddKeyEvent(ImGuiKey key, [MarshalAs(UnmanagedType.I1)] bool down)
{
ImguiNative.ImGuiIO_AddKeyEvent(self, key, down);
}

public void AddMouseButtonEvent(int button, [MarshalAs(UnmanagedType.Bool)] bool down)
public void AddMouseButtonEvent(int button, [MarshalAs(UnmanagedType.I1)] bool down)
{
ImguiNative.ImGuiIO_AddMouseButtonEvent(self, button, down);
}
Expand Down Expand Up @@ -1722,7 +1722,7 @@ public void ClearInputKeys()
ImguiNative.ImGuiIO_ClearInputKeys(self);
}

public void SetAppAcceptingEvents([MarshalAs(UnmanagedType.Bool)] bool accepting_events)
public void SetAppAcceptingEvents([MarshalAs(UnmanagedType.I1)] bool accepting_events)
{
ImguiNative.ImGuiIO_SetAppAcceptingEvents(self, accepting_events);
}
Expand Down Expand Up @@ -1928,12 +1928,12 @@ public void Clear()
ImguiNative.ImGuiStorage_Clear(self);
}

public bool GetBool(uint key, [MarshalAs(UnmanagedType.Bool)] bool default_val = true)
public bool GetBool(uint key, [MarshalAs(UnmanagedType.I1)] bool default_val = true)
{
return ImguiNative.ImGuiStorage_GetBool(self, key, default_val);
}

public bool GetBoolRef(uint key, [MarshalAs(UnmanagedType.Bool)] bool default_val = true)
public bool GetBoolRef(uint key, [MarshalAs(UnmanagedType.I1)] bool default_val = true)
{
return ImguiNative.ImGuiStorage_GetBoolRef(self, key, default_val);
}
Expand Down Expand Up @@ -1973,7 +1973,7 @@ public void SetAllInt(int val)
ImguiNative.ImGuiStorage_SetAllInt(self, val);
}

public void SetBool(uint key, [MarshalAs(UnmanagedType.Bool)] bool val)
public void SetBool(uint key, [MarshalAs(UnmanagedType.I1)] bool val)
{
ImguiNative.ImGuiStorage_SetBool(self, key, val);
}
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Platforms>AnyCPU;x86;x64</Platforms>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Evergine.Common" Version="2022.2.16.9" />
<PackageReference Include="Evergine.Components" Version="2022.2.16.9" />
<PackageReference Include="Evergine.Framework" Version="2022.2.16.9" />
<PackageReference Include="Evergine.Editor.Extension" Version="2022.2.16.9" />
<PackageReference Include="Evergine.Common" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.Components" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.Framework" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.Editor.Extension" Version="2023.9.28.1837" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Evergine.DirectX11" Version="2022.2.16.9" />
<PackageReference Include="Evergine.HLSLEverywhere" Version="2022.2.16.9" />
<PackageReference Include="Evergine.XAudio2" Version="2022.2.16.9" />
<PackageReference Include="Evergine.Forms" Version="2022.2.16.9" />
<PackageReference Include="Evergine.Targets" Version="2022.2.16.9" />
<PackageReference Include="Evergine.Targets.Windows" Version="2022.2.16.9" />
<PackageReference Include="Evergine.DirectX11" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.HLSLEverywhere" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.XAudio2" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.Forms" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.Targets" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.Targets.Windows" Version="2023.9.28.1837" />
</ItemGroup>

<ItemGroup>
Expand Down
24 changes: 12 additions & 12 deletions Generator/Test/EvergineImGUITest/EvergineImGUITest.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Evergine.Bindings.Imgui" Version="2022.9.26.742" />
<PackageReference Include="Evergine.Bindings.Imguizmo" Version="2022.9.26.769" />
<PackageReference Include="Evergine.Bindings.Imnodes" Version="2022.9.26.770" />
<PackageReference Include="Evergine.Bindings.Implot" Version="2022.9.26.770" />
<PackageReference Include="Evergine.Common" Version="2022.2.16.9" />
<PackageReference Include="Evergine.Components" Version="2022.2.16.9" />
<PackageReference Include="Evergine.Framework" Version="2022.2.16.9" />
<PackageReference Include="Evergine.Mathematics" Version="2022.2.16.9" />
<PackageReference Include="Evergine.Platform" Version="2022.2.16.9" />
<PackageReference Include="Evergine.Bullet" Version="2022.2.16.9" />
<PackageReference Include="Evergine.Targets" Version="2022.2.16.9" />
<PackageReference Include="Evergine.CodeScenes" Version="2022.2.16.9" />
<PackageReference Include="Evergine.Bindings.Imgui" Version="2023.4.4.966" />
<PackageReference Include="Evergine.Bindings.Imguizmo" Version="2023.4.4.1231" />
<PackageReference Include="Evergine.Bindings.Imnodes" Version="2023.4.4.1231" />
<PackageReference Include="Evergine.Bindings.Implot" Version="2023.4.4.1231" />
<PackageReference Include="Evergine.Common" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.Components" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.Framework" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.Mathematics" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.Platform" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.Bullet" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.Targets" Version="2023.9.28.1837" />
<PackageReference Include="Evergine.CodeScenes" Version="2023.9.28.1837" />
</ItemGroup>

</Project>

0 comments on commit ed37f63

Please sign in to comment.