@@ -20,6 +20,7 @@ public unsafe partial struct ImDrawList
2020 public ImDrawListSplitter _Splitter ;
2121 public ImVector _ClipRectStack ;
2222 public ImVector _TextureIdStack ;
23+ public ImVector _CallbacksDataBuf ;
2324 public float _FringeScale ;
2425 public byte * _OwnerName ;
2526 }
@@ -44,6 +45,7 @@ public unsafe partial struct ImDrawListPtr
4445 public ref ImDrawListSplitter _Splitter => ref Unsafe . AsRef < ImDrawListSplitter > ( & NativePtr ->_Splitter ) ;
4546 public ImVector < Vector4 > _ClipRectStack => new ImVector < Vector4 > ( NativePtr ->_ClipRectStack ) ;
4647 public ImVector < IntPtr > _TextureIdStack => new ImVector < IntPtr > ( NativePtr ->_TextureIdStack ) ;
48+ public ImVector < byte > _CallbacksDataBuf => new ImVector < byte > ( NativePtr ->_CallbacksDataBuf ) ;
4749 public ref float _FringeScale => ref Unsafe . AsRef < float > ( & NativePtr ->_FringeScale ) ;
4850 public NullTerminatedString _OwnerName => new NullTerminatedString ( NativePtr ->_OwnerName ) ;
4951 public int _CalcCircleAutoSegmentCount ( float radius )
@@ -83,6 +85,10 @@ public void _ResetForNewFrame()
8385 {
8486 ImGuiNative . ImDrawList__ResetForNewFrame ( ( ImDrawList * ) ( NativePtr ) ) ;
8587 }
88+ public void _SetTextureID ( IntPtr texture_id )
89+ {
90+ ImGuiNative . ImDrawList__SetTextureID ( ( ImDrawList * ) ( NativePtr ) , texture_id ) ;
91+ }
8692 public void _TryMergeDrawCmds ( )
8793 {
8894 ImGuiNative . ImDrawList__TryMergeDrawCmds ( ( ImDrawList * ) ( NativePtr ) ) ;
@@ -105,10 +111,16 @@ public void AddBezierQuadratic(Vector2 p1, Vector2 p2, Vector2 p3, uint col, flo
105111 {
106112 ImGuiNative . ImDrawList_AddBezierQuadratic ( ( ImDrawList * ) ( NativePtr ) , p1 , p2 , p3 , col , thickness , num_segments ) ;
107113 }
108- public void AddCallback ( IntPtr callback , IntPtr callback_data )
114+ public void AddCallback ( IntPtr callback , IntPtr userdata )
115+ {
116+ void * native_userdata = ( void * ) userdata . ToPointer ( ) ;
117+ uint userdata_size = 0 ;
118+ ImGuiNative . ImDrawList_AddCallback ( ( ImDrawList * ) ( NativePtr ) , callback , native_userdata , userdata_size ) ;
119+ }
120+ public void AddCallback ( IntPtr callback , IntPtr userdata , uint userdata_size )
109121 {
110- void * native_callback_data = ( void * ) callback_data . ToPointer ( ) ;
111- ImGuiNative . ImDrawList_AddCallback ( ( ImDrawList * ) ( NativePtr ) , callback , native_callback_data ) ;
122+ void * native_userdata = ( void * ) userdata . ToPointer ( ) ;
123+ ImGuiNative . ImDrawList_AddCallback ( ( ImDrawList * ) ( NativePtr ) , callback , native_userdata , userdata_size ) ;
112124 }
113125 public void AddCircle ( Vector2 center , float radius , uint col )
114126 {
0 commit comments