add support for UDT returning functions

This commit is contained in:
sonoro1234
2018-08-22 17:42:16 +02:00
parent 4b1ae5a6c5
commit af67beb082
9 changed files with 804 additions and 87 deletions

View File

@@ -1139,7 +1139,7 @@ CIMGUI_API void igMemFree(void* ptr);
CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self,float scale_factor);
CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self,ImWchar c);
CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self,const char* utf8_chars);
CIMGUI_API inline void ImGuiIO_ClearInputCharacters(ImGuiIO* self);
CIMGUI_API void ImGuiIO_ClearInputCharacters(ImGuiIO* self);
CIMGUI_API const char* TextRange_begin(TextRange* self);
CIMGUI_API const char* TextRange_end(TextRange* self);
CIMGUI_API bool TextRange_empty(TextRange* self);
@@ -1182,7 +1182,7 @@ CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self);
CIMGUI_API bool ImGuiPayload_IsDataType(ImGuiPayload* self,const char* type);
CIMGUI_API bool ImGuiPayload_IsPreview(ImGuiPayload* self);
CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self);
CIMGUI_API inline void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a);
CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a);
CIMGUI_API ImColor ImColor_HSV(ImColor* self,float h,float s,float v,float a);
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self);
CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self,int items_count,float items_height);
@@ -1192,8 +1192,8 @@ CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self);
CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self);
CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* self,ImTextureID texture_id);
CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self);
CIMGUI_API inline ImVec2 ImDrawList_GetClipRectMin(ImDrawList* self);
CIMGUI_API inline ImVec2 ImDrawList_GetClipRectMax(ImDrawList* self);
CIMGUI_API ImVec2 ImDrawList_GetClipRectMin(ImDrawList* self);
CIMGUI_API ImVec2 ImDrawList_GetClipRectMax(ImDrawList* self);
CIMGUI_API void ImDrawList_AddLine(ImDrawList* self,const ImVec2 a,const ImVec2 b,ImU32 col,float thickness);
CIMGUI_API void ImDrawList_AddRect(ImDrawList* self,const ImVec2 a,const ImVec2 b,ImU32 col,float rounding,int rounding_corners_flags,float thickness);
CIMGUI_API void ImDrawList_AddRectFilled(ImDrawList* self,const ImVec2 a,const ImVec2 b,ImU32 col,float rounding,int rounding_corners_flags);
@@ -1212,11 +1212,11 @@ CIMGUI_API void ImDrawList_AddImageRounded(ImDrawList* self,ImTextureID user_tex
CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self,const ImVec2* points,const int num_points,ImU32 col,bool closed,float thickness);
CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* self,const ImVec2* points,const int num_points,ImU32 col);
CIMGUI_API void ImDrawList_AddBezierCurve(ImDrawList* self,const ImVec2 pos0,const ImVec2 cp0,const ImVec2 cp1,const ImVec2 pos1,ImU32 col,float thickness,int num_segments);
CIMGUI_API inline void ImDrawList_PathClear(ImDrawList* self);
CIMGUI_API inline void ImDrawList_PathLineTo(ImDrawList* self,const ImVec2 pos);
CIMGUI_API inline void ImDrawList_PathLineToMergeDuplicate(ImDrawList* self,const ImVec2 pos);
CIMGUI_API inline void ImDrawList_PathFillConvex(ImDrawList* self,ImU32 col);
CIMGUI_API inline void ImDrawList_PathStroke(ImDrawList* self,ImU32 col,bool closed,float thickness);
CIMGUI_API void ImDrawList_PathClear(ImDrawList* self);
CIMGUI_API void ImDrawList_PathLineTo(ImDrawList* self,const ImVec2 pos);
CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(ImDrawList* self,const ImVec2 pos);
CIMGUI_API void ImDrawList_PathFillConvex(ImDrawList* self,ImU32 col);
CIMGUI_API void ImDrawList_PathStroke(ImDrawList* self,ImU32 col,bool closed,float thickness);
CIMGUI_API void ImDrawList_PathArcTo(ImDrawList* self,const ImVec2 centre,float radius,float a_min,float a_max,int num_segments);
CIMGUI_API void ImDrawList_PathArcToFast(ImDrawList* self,const ImVec2 centre,float radius,int a_min_of_12,int a_max_of_12);
CIMGUI_API void ImDrawList_PathBezierCurveTo(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,int num_segments);
@@ -1233,9 +1233,9 @@ CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* self,int idx_count,int vtx_co
CIMGUI_API void ImDrawList_PrimRect(ImDrawList* self,const ImVec2 a,const ImVec2 b,ImU32 col);
CIMGUI_API void ImDrawList_PrimRectUV(ImDrawList* self,const ImVec2 a,const ImVec2 b,const ImVec2 uv_a,const ImVec2 uv_b,ImU32 col);
CIMGUI_API void ImDrawList_PrimQuadUV(ImDrawList* self,const ImVec2 a,const ImVec2 b,const ImVec2 c,const ImVec2 d,const ImVec2 uv_a,const ImVec2 uv_b,const ImVec2 uv_c,const ImVec2 uv_d,ImU32 col);
CIMGUI_API inline void ImDrawList_PrimWriteVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,ImU32 col);
CIMGUI_API inline void ImDrawList_PrimWriteIdx(ImDrawList* self,ImDrawIdx idx);
CIMGUI_API inline void ImDrawList_PrimVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,ImU32 col);
CIMGUI_API void ImDrawList_PrimWriteVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,ImU32 col);
CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* self,ImDrawIdx idx);
CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,ImU32 col);
CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* self);
CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* self);
CIMGUI_API void ImDrawData_Clear(ImDrawData* self);
@@ -1290,6 +1290,28 @@ CIMGUI_API void ImFont_RenderText(ImFont* self,ImDrawList* draw_list,float size,
CIMGUI_API void ImFont_GrowIndex(ImFont* self,int new_size);
CIMGUI_API void ImFont_AddGlyph(ImFont* self,ImWchar c,float x0,float y0,float x1,float y1,float u0,float v0,float u1,float v1,float advance_x);
CIMGUI_API void ImFont_AddRemapChar(ImFont* self,ImWchar dst,ImWchar src,bool overwrite_dst);
CIMGUI_API void igGetWindowPos_nonUDT(ImVec2 *pOut);
CIMGUI_API void igGetWindowSize_nonUDT(ImVec2 *pOut);
CIMGUI_API void igGetContentRegionMax_nonUDT(ImVec2 *pOut);
CIMGUI_API void igGetContentRegionAvail_nonUDT(ImVec2 *pOut);
CIMGUI_API void igGetWindowContentRegionMin_nonUDT(ImVec2 *pOut);
CIMGUI_API void igGetWindowContentRegionMax_nonUDT(ImVec2 *pOut);
CIMGUI_API void igGetFontTexUvWhitePixel_nonUDT(ImVec2 *pOut);
CIMGUI_API void igGetCursorPos_nonUDT(ImVec2 *pOut);
CIMGUI_API void igGetCursorStartPos_nonUDT(ImVec2 *pOut);
CIMGUI_API void igGetCursorScreenPos_nonUDT(ImVec2 *pOut);
CIMGUI_API void igGetItemRectMin_nonUDT(ImVec2 *pOut);
CIMGUI_API void igGetItemRectMax_nonUDT(ImVec2 *pOut);
CIMGUI_API void igGetItemRectSize_nonUDT(ImVec2 *pOut);
CIMGUI_API void igCalcTextSize_nonUDT(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width);
CIMGUI_API void igColorConvertU32ToFloat4_nonUDT(ImVec4 *pOut,ImU32 in);
CIMGUI_API void igGetMousePos_nonUDT(ImVec2 *pOut);
CIMGUI_API void igGetMousePosOnOpeningCurrentPopup_nonUDT(ImVec2 *pOut);
CIMGUI_API void igGetMouseDragDelta_nonUDT(ImVec2 *pOut,int button,float lock_threshold);
CIMGUI_API void ImColor_HSV_nonUDT(ImColor* self,ImColor *pOut,float h,float s,float v,float a);
CIMGUI_API void ImDrawList_GetClipRectMin_nonUDT(ImDrawList* self,ImVec2 *pOut);
CIMGUI_API void ImDrawList_GetClipRectMax_nonUDT(ImDrawList* self,ImVec2 *pOut);
CIMGUI_API void ImFont_CalcTextSizeA_nonUDT(ImFont* self,ImVec2 *pOut,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining);
/////////////////////////hand written functions