Skip to content

[Bug]: STB_TexteditState not properly exported #123

@wolfcomp

Description

@wolfcomp

Pre-submission Checklist

  • I have read the FAQ Wiki
  • I have searched existing issues and this is not a duplicate
  • I am using the latest version of Hexa.NET.ImGui

Hexa.NET.ImGui Version

1.91.9b

Bug Description

References to STB_TexteditState result in an empty struct. The actual compiled DLL has a full STB_TexteditState struct that isn't exported.

Steps to Reproduce

  1. Try to use ImGuiInputTextStatePtr or ImGuiInputTextState* where you try to access Stb.SelectStart (offset 0x4 from struct start of STB_TexteditState)

Expected Behavior

Stb.SelectStart, Stb.SelectEnd, Stb.Cursor is accessible.

Code Sample

public static void SanitizeSelectionRange(this ImGuiInputTextStatePtr self)
{
    ref var s = ref self.Stb.SelectStart;
    ref var e = ref self.Stb.SelectEnd;
    ref var c = ref self.Stb.Cursor;
    s = Math.Clamp(s, 0, self.TextLen);
    e = Math.Clamp(e, 0, self.TextLen);
    c = Math.Clamp(c, 0, self.TextLen);
    if (s == e)
        s = e = c;
    if (s > e)
        (s, e) = (e, s);
}

Platform

Windows

.NET Version

.net 10

Additional Context

https://github.com/ocornut/imgui/blob/v1.91.9b-docking/imstb_textedit.h#L329-L365 is not exported to https://github.com/JunaMeinhold/cimgui/blob/docking_inter/cimgui.h#L2119-L2120

Possbily an upstream issue due to fork: https://github.com/cimgui/cimgui/blob/docking_inter/cimgui.h#L2129-L2130

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions