some work

This commit is contained in:
sonoro1234
2018-05-03 16:38:32 +02:00
parent 06a5331b9c
commit 7b03588b3a
6 changed files with 1596 additions and 1480 deletions

View File

@@ -16,11 +16,11 @@ CIMGUI_API void igSetCurrentContext(ImGuiContext* ctx)
} }
CIMGUI_API ImGuiIO* igGetIO() CIMGUI_API ImGuiIO* igGetIO()
{ {
return ImGui::GetIO(); return &ImGui::GetIO();
} }
CIMGUI_API ImGuiStyle* igGetStyle() CIMGUI_API ImGuiStyle* igGetStyle()
{ {
return ImGui::GetStyle(); return &ImGui::GetStyle();
} }
CIMGUI_API void igNewFrame() CIMGUI_API void igNewFrame()
{ {
@@ -288,7 +288,7 @@ CIMGUI_API void igPopStyleVar(int count)
} }
CIMGUI_API const ImVec4* igGetStyleColorVec4(ImGuiCol idx) CIMGUI_API const ImVec4* igGetStyleColorVec4(ImGuiCol idx)
{ {
return ImGui::GetStyleColorVec4(idx); return &ImGui::GetStyleColorVec4(idx);
} }
CIMGUI_API ImFont* igGetFont() CIMGUI_API ImFont* igGetFont()
{ {
@@ -480,7 +480,10 @@ CIMGUI_API void igTextUnformatted(const char* text,const char* text_end)
} }
CIMGUI_API void igText(const char* fmt,...) CIMGUI_API void igText(const char* fmt,...)
{ {
return ImGui::Text(fmt,...); va_list args;
va_start(args, fmt);
ImGui::TextV(fmt,args);
va_end(args);
} }
CIMGUI_API void igTextV(const char* fmt,va_list args) CIMGUI_API void igTextV(const char* fmt,va_list args)
{ {
@@ -488,7 +491,10 @@ CIMGUI_API void igTextV(const char* fmt,va_list args)
} }
CIMGUI_API void igTextColored(const ImVec4 col,const char* fmt,...) CIMGUI_API void igTextColored(const ImVec4 col,const char* fmt,...)
{ {
return ImGui::TextColored(col,fmt,...); va_list args;
va_start(args, fmt);
ImGui::TextColoredV(col,fmt,args);
va_end(args);
} }
CIMGUI_API void igTextColoredV(const ImVec4 col,const char* fmt,va_list args) CIMGUI_API void igTextColoredV(const ImVec4 col,const char* fmt,va_list args)
{ {
@@ -496,7 +502,10 @@ CIMGUI_API void igTextColoredV(const ImVec4 col,const char* fmt,va_list args)
} }
CIMGUI_API void igTextDisabled(const char* fmt,...) CIMGUI_API void igTextDisabled(const char* fmt,...)
{ {
return ImGui::TextDisabled(fmt,...); va_list args;
va_start(args, fmt);
ImGui::TextDisabledV(fmt,args);
va_end(args);
} }
CIMGUI_API void igTextDisabledV(const char* fmt,va_list args) CIMGUI_API void igTextDisabledV(const char* fmt,va_list args)
{ {
@@ -504,7 +513,10 @@ CIMGUI_API void igTextDisabledV(const char* fmt,va_list args)
} }
CIMGUI_API void igTextWrapped(const char* fmt,...) CIMGUI_API void igTextWrapped(const char* fmt,...)
{ {
return ImGui::TextWrapped(fmt,...); va_list args;
va_start(args, fmt);
ImGui::TextWrappedV(fmt,args);
va_end(args);
} }
CIMGUI_API void igTextWrappedV(const char* fmt,va_list args) CIMGUI_API void igTextWrappedV(const char* fmt,va_list args)
{ {
@@ -512,7 +524,10 @@ CIMGUI_API void igTextWrappedV(const char* fmt,va_list args)
} }
CIMGUI_API void igLabelText(const char* label,const char* fmt,...) CIMGUI_API void igLabelText(const char* label,const char* fmt,...)
{ {
return ImGui::LabelText(label,fmt,...); va_list args;
va_start(args, fmt);
ImGui::LabelTextV(label,fmt,args);
va_end(args);
} }
CIMGUI_API void igLabelTextV(const char* label,const char* fmt,va_list args) CIMGUI_API void igLabelTextV(const char* label,const char* fmt,va_list args)
{ {
@@ -520,7 +535,10 @@ CIMGUI_API void igLabelTextV(const char* label,const char* fmt,va_list args)
} }
CIMGUI_API void igBulletText(const char* fmt,...) CIMGUI_API void igBulletText(const char* fmt,...)
{ {
return ImGui::BulletText(fmt,...); va_list args;
va_start(args, fmt);
ImGui::BulletTextV(fmt,args);
va_end(args);
} }
CIMGUI_API void igBulletTextV(const char* fmt,va_list args) CIMGUI_API void igBulletTextV(const char* fmt,va_list args)
{ {
@@ -570,17 +588,17 @@ CIMGUI_API void igPlotLinesFloatPtr(const char* label,const float* values,int va
{ {
return ImGui::PlotLines(label,values,values_count,values_offset,overlay_text,scale_min,scale_max,graph_size,stride); return ImGui::PlotLines(label,values,values_count,values_offset,overlay_text,scale_min,scale_max,graph_size,stride);
} }
CIMGUI_API void igPlotLinesvalues_getter(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size) CIMGUI_API void igPlotLinesPtr(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size)
{ {
return ImGui::PlotLines(label,values_getter)(data,idx)data,values_count,values_offset,overlay_text,scale_min,scale_max,graph_size); return ImGui::PlotLines(label,values_getter,data,values_count,values_offset,overlay_text,scale_min,scale_max,graph_size);
} }
CIMGUI_API void igPlotHistogramFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride) CIMGUI_API void igPlotHistogramFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride)
{ {
return ImGui::PlotHistogram(label,values,values_count,values_offset,overlay_text,scale_min,scale_max,graph_size,stride); return ImGui::PlotHistogram(label,values,values_count,values_offset,overlay_text,scale_min,scale_max,graph_size,stride);
} }
CIMGUI_API void igPlotHistogramvalues_getter(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size) CIMGUI_API void igPlotHistogramPtr(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size)
{ {
return ImGui::PlotHistogram(label,values_getter)(data,idx)data,values_count,values_offset,overlay_text,scale_min,scale_max,graph_size); return ImGui::PlotHistogram(label,values_getter,data,values_count,values_offset,overlay_text,scale_min,scale_max,graph_size);
} }
CIMGUI_API void igProgressBar(float fraction,const ImVec2 size_arg,const char* overlay) CIMGUI_API void igProgressBar(float fraction,const ImVec2 size_arg,const char* overlay)
{ {
@@ -600,15 +618,15 @@ CIMGUI_API void igEndCombo()
} }
CIMGUI_API bool igComboStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items) CIMGUI_API bool igComboStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items)
{ {
return ImGui::Combo(label,current_item,items_count,popup_max_height_in_items); return ImGui::Combo(label,current_item,items,items_count,popup_max_height_in_items);
} }
CIMGUI_API bool igComboStr(const char* label,int* current_item,const char* items_separated_by_zeros,int popup_max_height_in_items) CIMGUI_API bool igComboStr(const char* label,int* current_item,const char* items_separated_by_zeros,int popup_max_height_in_items)
{ {
return ImGui::Combo(label,current_item,items_separated_by_zeros,popup_max_height_in_items); return ImGui::Combo(label,current_item,items_separated_by_zeros,popup_max_height_in_items);
} }
CIMGUI_API bool igComboitems_getter(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int popup_max_height_in_items) CIMGUI_API bool igComboPtr(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int popup_max_height_in_items)
{ {
return ImGui::Combo(label,current_item,items_getter)(data,idx,out_text)data,items_count,popup_max_height_in_items); return ImGui::Combo(label,current_item,items_getter,data,items_count,popup_max_height_in_items);
} }
CIMGUI_API bool igDragFloat(const char* label,float* v,float v_speed,float v_min,float v_max,const char* display_format,float power) CIMGUI_API bool igDragFloat(const char* label,float* v,float v_speed,float v_min,float v_max,const char* display_format,float power)
{ {
@@ -616,15 +634,15 @@ CIMGUI_API bool igDragFloat(const char* label,float* v,float v_speed,float v_min
} }
CIMGUI_API bool igDragFloat2(const char* label,float v[2],float v_speed,float v_min,float v_max,const char* display_format,float power) CIMGUI_API bool igDragFloat2(const char* label,float v[2],float v_speed,float v_min,float v_max,const char* display_format,float power)
{ {
return ImGui::DragFloat2(label,v_speed,v_min,v_max,display_format,power); return ImGui::DragFloat2(label,v,v_speed,v_min,v_max,display_format,power);
} }
CIMGUI_API bool igDragFloat3(const char* label,float v[3],float v_speed,float v_min,float v_max,const char* display_format,float power) CIMGUI_API bool igDragFloat3(const char* label,float v[3],float v_speed,float v_min,float v_max,const char* display_format,float power)
{ {
return ImGui::DragFloat3(label,v_speed,v_min,v_max,display_format,power); return ImGui::DragFloat3(label,v,v_speed,v_min,v_max,display_format,power);
} }
CIMGUI_API bool igDragFloat4(const char* label,float v[4],float v_speed,float v_min,float v_max,const char* display_format,float power) CIMGUI_API bool igDragFloat4(const char* label,float v[4],float v_speed,float v_min,float v_max,const char* display_format,float power)
{ {
return ImGui::DragFloat4(label,v_speed,v_min,v_max,display_format,power); return ImGui::DragFloat4(label,v,v_speed,v_min,v_max,display_format,power);
} }
CIMGUI_API bool igDragFloatRange2(const char* label,float* v_current_min,float* v_current_max,float v_speed,float v_min,float v_max,const char* display_format,const char* display_format_max,float power) CIMGUI_API bool igDragFloatRange2(const char* label,float* v_current_min,float* v_current_max,float v_speed,float v_min,float v_max,const char* display_format,const char* display_format_max,float power)
{ {
@@ -636,15 +654,15 @@ CIMGUI_API bool igDragInt(const char* label,int* v,float v_speed,int v_min,int v
} }
CIMGUI_API bool igDragInt2(const char* label,int v[2],float v_speed,int v_min,int v_max,const char* display_format) CIMGUI_API bool igDragInt2(const char* label,int v[2],float v_speed,int v_min,int v_max,const char* display_format)
{ {
return ImGui::DragInt2(label,v_speed,v_min,v_max,display_format); return ImGui::DragInt2(label,v,v_speed,v_min,v_max,display_format);
} }
CIMGUI_API bool igDragInt3(const char* label,int v[3],float v_speed,int v_min,int v_max,const char* display_format) CIMGUI_API bool igDragInt3(const char* label,int v[3],float v_speed,int v_min,int v_max,const char* display_format)
{ {
return ImGui::DragInt3(label,v_speed,v_min,v_max,display_format); return ImGui::DragInt3(label,v,v_speed,v_min,v_max,display_format);
} }
CIMGUI_API bool igDragInt4(const char* label,int v[4],float v_speed,int v_min,int v_max,const char* display_format) CIMGUI_API bool igDragInt4(const char* label,int v[4],float v_speed,int v_min,int v_max,const char* display_format)
{ {
return ImGui::DragInt4(label,v_speed,v_min,v_max,display_format); return ImGui::DragInt4(label,v,v_speed,v_min,v_max,display_format);
} }
CIMGUI_API bool igDragIntRange2(const char* label,int* v_current_min,int* v_current_max,float v_speed,int v_min,int v_max,const char* display_format,const char* display_format_max) CIMGUI_API bool igDragIntRange2(const char* label,int* v_current_min,int* v_current_max,float v_speed,int v_min,int v_max,const char* display_format,const char* display_format_max)
{ {
@@ -664,15 +682,15 @@ CIMGUI_API bool igInputFloat(const char* label,float* v,float step,float step_fa
} }
CIMGUI_API bool igInputFloat2(const char* label,float v[2],int decimal_precision,ImGuiInputTextFlags extra_flags) CIMGUI_API bool igInputFloat2(const char* label,float v[2],int decimal_precision,ImGuiInputTextFlags extra_flags)
{ {
return ImGui::InputFloat2(label,decimal_precision,extra_flags); return ImGui::InputFloat2(label,v,decimal_precision,extra_flags);
} }
CIMGUI_API bool igInputFloat3(const char* label,float v[3],int decimal_precision,ImGuiInputTextFlags extra_flags) CIMGUI_API bool igInputFloat3(const char* label,float v[3],int decimal_precision,ImGuiInputTextFlags extra_flags)
{ {
return ImGui::InputFloat3(label,decimal_precision,extra_flags); return ImGui::InputFloat3(label,v,decimal_precision,extra_flags);
} }
CIMGUI_API bool igInputFloat4(const char* label,float v[4],int decimal_precision,ImGuiInputTextFlags extra_flags) CIMGUI_API bool igInputFloat4(const char* label,float v[4],int decimal_precision,ImGuiInputTextFlags extra_flags)
{ {
return ImGui::InputFloat4(label,decimal_precision,extra_flags); return ImGui::InputFloat4(label,v,decimal_precision,extra_flags);
} }
CIMGUI_API bool igInputInt(const char* label,int* v,int step,int step_fast,ImGuiInputTextFlags extra_flags) CIMGUI_API bool igInputInt(const char* label,int* v,int step,int step_fast,ImGuiInputTextFlags extra_flags)
{ {
@@ -680,15 +698,15 @@ CIMGUI_API bool igInputInt(const char* label,int* v,int step,int step_fast,ImGui
} }
CIMGUI_API bool igInputInt2(const char* label,int v[2],ImGuiInputTextFlags extra_flags) CIMGUI_API bool igInputInt2(const char* label,int v[2],ImGuiInputTextFlags extra_flags)
{ {
return ImGui::InputInt2(label,extra_flags); return ImGui::InputInt2(label,v,extra_flags);
} }
CIMGUI_API bool igInputInt3(const char* label,int v[3],ImGuiInputTextFlags extra_flags) CIMGUI_API bool igInputInt3(const char* label,int v[3],ImGuiInputTextFlags extra_flags)
{ {
return ImGui::InputInt3(label,extra_flags); return ImGui::InputInt3(label,v,extra_flags);
} }
CIMGUI_API bool igInputInt4(const char* label,int v[4],ImGuiInputTextFlags extra_flags) CIMGUI_API bool igInputInt4(const char* label,int v[4],ImGuiInputTextFlags extra_flags)
{ {
return ImGui::InputInt4(label,extra_flags); return ImGui::InputInt4(label,v,extra_flags);
} }
CIMGUI_API bool igInputDouble(const char* label,double* v,double step,double step_fast,const char* display_format,ImGuiInputTextFlags extra_flags) CIMGUI_API bool igInputDouble(const char* label,double* v,double step,double step_fast,const char* display_format,ImGuiInputTextFlags extra_flags)
{ {
@@ -700,15 +718,15 @@ CIMGUI_API bool igSliderFloat(const char* label,float* v,float v_min,float v_max
} }
CIMGUI_API bool igSliderFloat2(const char* label,float v[2],float v_min,float v_max,const char* display_format,float power) CIMGUI_API bool igSliderFloat2(const char* label,float v[2],float v_min,float v_max,const char* display_format,float power)
{ {
return ImGui::SliderFloat2(label,v_min,v_max,display_format,power); return ImGui::SliderFloat2(label,v,v_min,v_max,display_format,power);
} }
CIMGUI_API bool igSliderFloat3(const char* label,float v[3],float v_min,float v_max,const char* display_format,float power) CIMGUI_API bool igSliderFloat3(const char* label,float v[3],float v_min,float v_max,const char* display_format,float power)
{ {
return ImGui::SliderFloat3(label,v_min,v_max,display_format,power); return ImGui::SliderFloat3(label,v,v_min,v_max,display_format,power);
} }
CIMGUI_API bool igSliderFloat4(const char* label,float v[4],float v_min,float v_max,const char* display_format,float power) CIMGUI_API bool igSliderFloat4(const char* label,float v[4],float v_min,float v_max,const char* display_format,float power)
{ {
return ImGui::SliderFloat4(label,v_min,v_max,display_format,power); return ImGui::SliderFloat4(label,v,v_min,v_max,display_format,power);
} }
CIMGUI_API bool igSliderAngle(const char* label,float* v_rad,float v_degrees_min,float v_degrees_max) CIMGUI_API bool igSliderAngle(const char* label,float* v_rad,float v_degrees_min,float v_degrees_max)
{ {
@@ -720,15 +738,15 @@ CIMGUI_API bool igSliderInt(const char* label,int* v,int v_min,int v_max,const c
} }
CIMGUI_API bool igSliderInt2(const char* label,int v[2],int v_min,int v_max,const char* display_format) CIMGUI_API bool igSliderInt2(const char* label,int v[2],int v_min,int v_max,const char* display_format)
{ {
return ImGui::SliderInt2(label,v_min,v_max,display_format); return ImGui::SliderInt2(label,v,v_min,v_max,display_format);
} }
CIMGUI_API bool igSliderInt3(const char* label,int v[3],int v_min,int v_max,const char* display_format) CIMGUI_API bool igSliderInt3(const char* label,int v[3],int v_min,int v_max,const char* display_format)
{ {
return ImGui::SliderInt3(label,v_min,v_max,display_format); return ImGui::SliderInt3(label,v,v_min,v_max,display_format);
} }
CIMGUI_API bool igSliderInt4(const char* label,int v[4],int v_min,int v_max,const char* display_format) CIMGUI_API bool igSliderInt4(const char* label,int v[4],int v_min,int v_max,const char* display_format)
{ {
return ImGui::SliderInt4(label,v_min,v_max,display_format); return ImGui::SliderInt4(label,v,v_min,v_max,display_format);
} }
CIMGUI_API bool igVSliderFloat(const char* label,const ImVec2 size,float* v,float v_min,float v_max,const char* display_format,float power) CIMGUI_API bool igVSliderFloat(const char* label,const ImVec2 size,float* v,float v_min,float v_max,const char* display_format,float power)
{ {
@@ -740,19 +758,19 @@ CIMGUI_API bool igVSliderInt(const char* label,const ImVec2 size,int* v,int v_mi
} }
CIMGUI_API bool igColorEdit3(const char* label,float col[3],ImGuiColorEditFlags flags) CIMGUI_API bool igColorEdit3(const char* label,float col[3],ImGuiColorEditFlags flags)
{ {
return ImGui::ColorEdit3(label,flags); return ImGui::ColorEdit3(label,col,flags);
} }
CIMGUI_API bool igColorEdit4(const char* label,float col[4],ImGuiColorEditFlags flags) CIMGUI_API bool igColorEdit4(const char* label,float col[4],ImGuiColorEditFlags flags)
{ {
return ImGui::ColorEdit4(label,flags); return ImGui::ColorEdit4(label,col,flags);
} }
CIMGUI_API bool igColorPicker3(const char* label,float col[3],ImGuiColorEditFlags flags) CIMGUI_API bool igColorPicker3(const char* label,float col[3],ImGuiColorEditFlags flags)
{ {
return ImGui::ColorPicker3(label,flags); return ImGui::ColorPicker3(label,col,flags);
} }
CIMGUI_API bool igColorPicker4(const char* label,float col[4],ImGuiColorEditFlags flags,const float* ref_col) CIMGUI_API bool igColorPicker4(const char* label,float col[4],ImGuiColorEditFlags flags,const float* ref_col)
{ {
return ImGui::ColorPicker4(label,flags,ref_col); return ImGui::ColorPicker4(label,col,flags,ref_col);
} }
CIMGUI_API bool igColorButton(const char* desc_id,const ImVec4 col,ImGuiColorEditFlags flags,ImVec2 size) CIMGUI_API bool igColorButton(const char* desc_id,const ImVec4 col,ImGuiColorEditFlags flags,ImVec2 size)
{ {
@@ -768,11 +786,17 @@ CIMGUI_API bool igTreeNodeStr(const char* label)
} }
CIMGUI_API bool igTreeNodeStrStr(const char* str_id,const char* fmt,...) CIMGUI_API bool igTreeNodeStrStr(const char* str_id,const char* fmt,...)
{ {
return ImGui::TreeNode(str_id,fmt,...); va_list args;
va_start(args, fmt);
ImGui::TreeNodeV(str_id,fmt,args);
va_end(args);
} }
CIMGUI_API bool igTreeNodePtr(const void* ptr_id,const char* fmt,...) CIMGUI_API bool igTreeNodePtr(const void* ptr_id,const char* fmt,...)
{ {
return ImGui::TreeNode(ptr_id,fmt,...); va_list args;
va_start(args, fmt);
ImGui::TreeNodeV(ptr_id,fmt,args);
va_end(args);
} }
CIMGUI_API bool igTreeNodeVStr(const char* str_id,const char* fmt,va_list args) CIMGUI_API bool igTreeNodeVStr(const char* str_id,const char* fmt,va_list args)
{ {
@@ -788,11 +812,17 @@ CIMGUI_API bool igTreeNodeExStr(const char* label,ImGuiTreeNodeFlags flags)
} }
CIMGUI_API bool igTreeNodeExStrStr(const char* str_id,ImGuiTreeNodeFlags flags,const char* fmt,...) CIMGUI_API bool igTreeNodeExStrStr(const char* str_id,ImGuiTreeNodeFlags flags,const char* fmt,...)
{ {
return ImGui::TreeNodeEx(str_id,flags,fmt,...); va_list args;
va_start(args, fmt);
ImGui::TreeNodeExV(str_id,flags,fmt,args);
va_end(args);
} }
CIMGUI_API bool igTreeNodeExPtr(const void* ptr_id,ImGuiTreeNodeFlags flags,const char* fmt,...) CIMGUI_API bool igTreeNodeExPtr(const void* ptr_id,ImGuiTreeNodeFlags flags,const char* fmt,...)
{ {
return ImGui::TreeNodeEx(ptr_id,flags,fmt,...); va_list args;
va_start(args, fmt);
ImGui::TreeNodeExV(ptr_id,flags,fmt,args);
va_end(args);
} }
CIMGUI_API bool igTreeNodeExVStr(const char* str_id,ImGuiTreeNodeFlags flags,const char* fmt,va_list args) CIMGUI_API bool igTreeNodeExVStr(const char* str_id,ImGuiTreeNodeFlags flags,const char* fmt,va_list args)
{ {
@@ -844,11 +874,11 @@ CIMGUI_API bool igSelectableBoolPtr(const char* label,bool* p_selected,ImGuiSele
} }
CIMGUI_API bool igListBoxStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int height_in_items) CIMGUI_API bool igListBoxStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int height_in_items)
{ {
return ImGui::ListBox(label,current_item,items_count,height_in_items); return ImGui::ListBox(label,current_item,items,items_count,height_in_items);
} }
CIMGUI_API bool igListBoxitems_getter(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int height_in_items) CIMGUI_API bool igListBoxPtr(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int height_in_items)
{ {
return ImGui::ListBox(label,current_item,items_getter)(data,idx,out_text)data,items_count,height_in_items); return ImGui::ListBox(label,current_item,items_getter,data,items_count,height_in_items);
} }
CIMGUI_API bool igListBoxHeaderVec2(const char* label,const ImVec2 size) CIMGUI_API bool igListBoxHeaderVec2(const char* label,const ImVec2 size)
{ {
@@ -880,7 +910,10 @@ CIMGUI_API void igValueFloat(const char* prefix,float v,const char* float_format
} }
CIMGUI_API void igSetTooltip(const char* fmt,...) CIMGUI_API void igSetTooltip(const char* fmt,...)
{ {
return ImGui::SetTooltip(fmt,...); va_list args;
va_start(args, fmt);
ImGui::SetTooltipV(fmt,args);
va_end(args);
} }
CIMGUI_API void igSetTooltipV(const char* fmt,va_list args) CIMGUI_API void igSetTooltipV(const char* fmt,va_list args)
{ {
@@ -1018,10 +1051,6 @@ CIMGUI_API void igLogButtons()
{ {
return ImGui::LogButtons(); return ImGui::LogButtons();
} }
CIMGUI_API void igLogText(const char* fmt,...)
{
return ImGui::LogText(fmt,...);
}
CIMGUI_API bool igBeginDragDropSource(ImGuiDragDropFlags flags) CIMGUI_API bool igBeginDragDropSource(ImGuiDragDropFlags flags)
{ {
return ImGui::BeginDragDropSource(flags); return ImGui::BeginDragDropSource(flags);
@@ -1272,7 +1301,7 @@ CIMGUI_API void igSetClipboardText(const char* text)
} }
CIMGUI_API void igSetAllocatorFunctions(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data) CIMGUI_API void igSetAllocatorFunctions(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data)
{ {
return ImGui::SetAllocatorFunctions(alloc_func)(sz,user_data)free_func)(ptr,user_data)user_data); return ImGui::SetAllocatorFunctions(alloc_func,free_func,user_data);
} }
CIMGUI_API void* igMemAlloc(size_t size) CIMGUI_API void* igMemAlloc(size_t size)
{ {
@@ -1294,39 +1323,35 @@ CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self,const char* utf8_ch
{ {
return self->AddInputCharactersUTF8(utf8_chars); return self->AddInputCharactersUTF8(utf8_chars);
} }
CIMGUI_API inline void ImGuiIO_ClearInputCharacters(ImGuiIO* self,) CIMGUI_API inline void ImGuiIO_ClearInputCharacters(ImGuiIO* self)
{ {
return self->ClearInputCharacters(); return self->ClearInputCharacters();
} }
CIMGUI_API template<typename T> void _IM_DELETE(* self,T* p) CIMGUI_API const char* TextRange_begin(ImGuiTextFilter::TextRange* self)
{
return self->IM_DELETE(p);
}
CIMGUI_API const char* TextRange_begin(TextRange* self,)
{ {
return self->begin(); return self->begin();
} }
CIMGUI_API const char* TextRange_end(TextRange* self,) CIMGUI_API const char* TextRange_end(ImGuiTextFilter::TextRange* self)
{ {
return self->end(); return self->end();
} }
CIMGUI_API bool TextRange_empty(TextRange* self,) CIMGUI_API bool TextRange_empty(ImGuiTextFilter::TextRange* self)
{ {
return self->empty(); return self->empty();
} }
CIMGUI_API char TextRange_front(TextRange* self,) CIMGUI_API char TextRange_front(ImGuiTextFilter::TextRange* self)
{ {
return self->front(); return self->front();
} }
CIMGUI_API static bool TextRange_is_blank(TextRange* self,char c) CIMGUI_API bool TextRange_is_blank(ImGuiTextFilter::TextRange* self,char c)
{ {
return self->is_blank(c); return self->is_blank(c);
} }
CIMGUI_API void TextRange_trim_blanks(TextRange* self,) CIMGUI_API void TextRange_trim_blanks(ImGuiTextFilter::TextRange* self)
{ {
return self->trim_blanks(); return self->trim_blanks();
} }
CIMGUI_API void TextRange_split(TextRange* self,char separator,ImVector<TextRange> out) CIMGUI_API void TextRange_split(ImGuiTextFilter::TextRange* self,char separator,ImVector<TextRange> out)
{ {
return self->split(separator,out); return self->split(separator,out);
} }
@@ -1338,35 +1363,35 @@ CIMGUI_API bool ImGuiTextFilter_PassFilter(ImGuiTextFilter* self,const char* tex
{ {
return self->PassFilter(text,text_end); return self->PassFilter(text,text_end);
} }
CIMGUI_API void ImGuiTextFilter_Build(ImGuiTextFilter* self,) CIMGUI_API void ImGuiTextFilter_Build(ImGuiTextFilter* self)
{ {
return self->Build(); return self->Build();
} }
CIMGUI_API void ImGuiTextFilter_Clear(ImGuiTextFilter* self,) CIMGUI_API void ImGuiTextFilter_Clear(ImGuiTextFilter* self)
{ {
return self->Clear(); return self->Clear();
} }
CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self,) CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self)
{ {
return self->IsActive(); return self->IsActive();
} }
CIMGUI_API const char* ImGuiTextBuffer_begin(ImGuiTextBuffer* self,) CIMGUI_API const char* ImGuiTextBuffer_begin(ImGuiTextBuffer* self)
{ {
return self->begin(); return self->begin();
} }
CIMGUI_API const char* ImGuiTextBuffer_end(ImGuiTextBuffer* self,) CIMGUI_API const char* ImGuiTextBuffer_end(ImGuiTextBuffer* self)
{ {
return self->end(); return self->end();
} }
CIMGUI_API int ImGuiTextBuffer_size(ImGuiTextBuffer* self,) CIMGUI_API int ImGuiTextBuffer_size(ImGuiTextBuffer* self)
{ {
return self->size(); return self->size();
} }
CIMGUI_API bool ImGuiTextBuffer_empty(ImGuiTextBuffer* self,) CIMGUI_API bool ImGuiTextBuffer_empty(ImGuiTextBuffer* self)
{ {
return self->empty(); return self->empty();
} }
CIMGUI_API void ImGuiTextBuffer_clear(ImGuiTextBuffer* self,) CIMGUI_API void ImGuiTextBuffer_clear(ImGuiTextBuffer* self)
{ {
return self->clear(); return self->clear();
} }
@@ -1374,19 +1399,15 @@ CIMGUI_API void ImGuiTextBuffer_reserve(ImGuiTextBuffer* self,int capacity)
{ {
return self->reserve(capacity); return self->reserve(capacity);
} }
CIMGUI_API const char* ImGuiTextBuffer_c_str(ImGuiTextBuffer* self,) CIMGUI_API const char* ImGuiTextBuffer_c_str(ImGuiTextBuffer* self)
{ {
return self->c_str(); return self->c_str();
} }
CIMGUI_API void ImGuiTextBuffer_appendf(ImGuiTextBuffer* self,const char* fmt,...)
{
return self->appendf(fmt,...);
}
CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self,const char* fmt,va_list args) CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self,const char* fmt,va_list args)
{ {
return self->appendfv(fmt,args); return self->appendfv(fmt,args);
} }
CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self,) CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self)
{ {
return self->Clear(); return self->Clear();
} }
@@ -1442,7 +1463,7 @@ CIMGUI_API void ImGuiStorage_SetAllInt(ImGuiStorage* self,int val)
{ {
return self->SetAllInt(val); return self->SetAllInt(val);
} }
CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self,) CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self)
{ {
return self->BuildSortByKey(); return self->BuildSortByKey();
} }
@@ -1454,11 +1475,11 @@ CIMGUI_API void ImGuiTextEditCallbackData_InsertChars(ImGuiTextEditCallbackData*
{ {
return self->InsertChars(pos,text,text_end); return self->InsertChars(pos,text,text_end);
} }
CIMGUI_API bool ImGuiTextEditCallbackData_HasSelection(ImGuiTextEditCallbackData* self,) CIMGUI_API bool ImGuiTextEditCallbackData_HasSelection(ImGuiTextEditCallbackData* self)
{ {
return self->HasSelection(); return self->HasSelection();
} }
CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self,) CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self)
{ {
return self->Clear(); return self->Clear();
} }
@@ -1466,11 +1487,11 @@ CIMGUI_API bool ImGuiPayload_IsDataType(ImGuiPayload* self,const char* type)
{ {
return self->IsDataType(type); return self->IsDataType(type);
} }
CIMGUI_API bool ImGuiPayload_IsPreview(ImGuiPayload* self,) CIMGUI_API bool ImGuiPayload_IsPreview(ImGuiPayload* self)
{ {
return self->IsPreview(); return self->IsPreview();
} }
CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self,) CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self)
{ {
return self->IsDelivery(); return self->IsDelivery();
} }
@@ -1478,11 +1499,11 @@ CIMGUI_API inline void ImColor_SetHSV(ImColor* self,float h,float s,float v,floa
{ {
return self->SetHSV(h,s,v,a); return self->SetHSV(h,s,v,a);
} }
CIMGUI_API static ImColor ImColor_HSV(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)
{ {
return self->HSV(h,s,v,a); return self->HSV(h,s,v,a);
} }
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self,) CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self)
{ {
return self->Step(); return self->Step();
} }
@@ -1490,7 +1511,7 @@ CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self,int items_count,fl
{ {
return self->Begin(items_count,items_height); return self->Begin(items_count,items_height);
} }
CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self,) CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self)
{ {
return self->End(); return self->End();
} }
@@ -1498,11 +1519,11 @@ CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* self,ImVec2 clip_rect_min,Im
{ {
return self->PushClipRect(clip_rect_min,clip_rect_max,intersect_with_current_clip_rect); return self->PushClipRect(clip_rect_min,clip_rect_max,intersect_with_current_clip_rect);
} }
CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self,) CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self)
{ {
return self->PushClipRectFullScreen(); return self->PushClipRectFullScreen();
} }
CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self,) CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self)
{ {
return self->PopClipRect(); return self->PopClipRect();
} }
@@ -1510,15 +1531,15 @@ CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* self,ImTextureID texture_id
{ {
return self->PushTextureID(texture_id); return self->PushTextureID(texture_id);
} }
CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self,) CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self)
{ {
return self->PopTextureID(); return self->PopTextureID();
} }
CIMGUI_API inline ImVec2 ImDrawList_GetClipRectMin(ImDrawList* self,) CIMGUI_API inline ImVec2 ImDrawList_GetClipRectMin(ImDrawList* self)
{ {
return self->GetClipRectMin(); return self->GetClipRectMin();
} }
CIMGUI_API inline ImVec2 ImDrawList_GetClipRectMax(ImDrawList* self,) CIMGUI_API inline ImVec2 ImDrawList_GetClipRectMax(ImDrawList* self)
{ {
return self->GetClipRectMax(); return self->GetClipRectMax();
} }
@@ -1594,7 +1615,7 @@ CIMGUI_API void ImDrawList_AddBezierCurve(ImDrawList* self,const ImVec2 pos0,con
{ {
return self->AddBezierCurve(pos0,cp0,cp1,pos1,col,thickness,num_segments); return self->AddBezierCurve(pos0,cp0,cp1,pos1,col,thickness,num_segments);
} }
CIMGUI_API inline void ImDrawList_PathClear(ImDrawList* self,) CIMGUI_API inline void ImDrawList_PathClear(ImDrawList* self)
{ {
return self->PathClear(); return self->PathClear();
} }
@@ -1634,7 +1655,7 @@ CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* self,int channels_count)
{ {
return self->ChannelsSplit(channels_count); return self->ChannelsSplit(channels_count);
} }
CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* self,) CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* self)
{ {
return self->ChannelsMerge(); return self->ChannelsMerge();
} }
@@ -1646,19 +1667,19 @@ CIMGUI_API void ImDrawList_AddCallback(ImDrawList* self,ImDrawCallback callback,
{ {
return self->AddCallback(callback,callback_data); return self->AddCallback(callback,callback_data);
} }
CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* self,) CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* self)
{ {
return self->AddDrawCmd(); return self->AddDrawCmd();
} }
CIMGUI_API ImDrawList* ImDrawList_CloneOutput(ImDrawList* self,) CIMGUI_API ImDrawList* ImDrawList_CloneOutput(ImDrawList* self)
{ {
return self->CloneOutput(); return self->CloneOutput();
} }
CIMGUI_API void ImDrawList_Clear(ImDrawList* self,) CIMGUI_API void ImDrawList_Clear(ImDrawList* self)
{ {
return self->Clear(); return self->Clear();
} }
CIMGUI_API void ImDrawList_ClearFreeMemory(ImDrawList* self,) CIMGUI_API void ImDrawList_ClearFreeMemory(ImDrawList* self)
{ {
return self->ClearFreeMemory(); return self->ClearFreeMemory();
} }
@@ -1690,19 +1711,19 @@ CIMGUI_API inline void ImDrawList_PrimVtx(ImDrawList* self,const ImVec2 pos,cons
{ {
return self->PrimVtx(pos,uv,col); return self->PrimVtx(pos,uv,col);
} }
CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* self,) CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* self)
{ {
return self->UpdateClipRect(); return self->UpdateClipRect();
} }
CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* self,) CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* self)
{ {
return self->UpdateTextureID(); return self->UpdateTextureID();
} }
CIMGUI_API void ImDrawData_Clear(ImDrawData* self,) CIMGUI_API void ImDrawData_Clear(ImDrawData* self)
{ {
return self->Clear(); return self->Clear();
} }
CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* self,) CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* self)
{ {
return self->DeIndexAllBuffers(); return self->DeIndexAllBuffers();
} }
@@ -1734,23 +1755,23 @@ CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedBase85TTF(ImFontAtlas*
{ {
return self->AddFontFromMemoryCompressedBase85TTF(compressed_font_data_base85,size_pixels,font_cfg,glyph_ranges); return self->AddFontFromMemoryCompressedBase85TTF(compressed_font_data_base85,size_pixels,font_cfg,glyph_ranges);
} }
CIMGUI_API void ImFontAtlas_ClearInputData(ImFontAtlas* self,) CIMGUI_API void ImFontAtlas_ClearInputData(ImFontAtlas* self)
{ {
return self->ClearInputData(); return self->ClearInputData();
} }
CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* self,) CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* self)
{ {
return self->ClearTexData(); return self->ClearTexData();
} }
CIMGUI_API void ImFontAtlas_ClearFonts(ImFontAtlas* self,) CIMGUI_API void ImFontAtlas_ClearFonts(ImFontAtlas* self)
{ {
return self->ClearFonts(); return self->ClearFonts();
} }
CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* self,) CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* self)
{ {
return self->Clear(); return self->Clear();
} }
CIMGUI_API bool ImFontAtlas_Build(ImFontAtlas* self,) CIMGUI_API bool ImFontAtlas_Build(ImFontAtlas* self)
{ {
return self->Build(); return self->Build();
} }
@@ -1766,55 +1787,55 @@ CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* self,ImTextureID id)
{ {
return self->SetTexID(id); return self->SetTexID(id);
} }
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesDefault(ImFontAtlas* self,) CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesDefault(ImFontAtlas* self)
{ {
return self->GetGlyphRangesDefault(); return self->GetGlyphRangesDefault();
} }
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesKorean(ImFontAtlas* self,) CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesKorean(ImFontAtlas* self)
{ {
return self->GetGlyphRangesKorean(); return self->GetGlyphRangesKorean();
} }
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesJapanese(ImFontAtlas* self,) CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesJapanese(ImFontAtlas* self)
{ {
return self->GetGlyphRangesJapanese(); return self->GetGlyphRangesJapanese();
} }
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChinese(ImFontAtlas* self,) CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChinese(ImFontAtlas* self)
{ {
return self->GetGlyphRangesChinese(); return self->GetGlyphRangesChinese();
} }
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(ImFontAtlas* self,) CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(ImFontAtlas* self)
{ {
return self->GetGlyphRangesCyrillic(); return self->GetGlyphRangesCyrillic();
} }
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self,) CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self)
{ {
return self->GetGlyphRangesThai(); return self->GetGlyphRangesThai();
} }
CIMGUI_API bool GlyphRangesBuilder_GetBit(GlyphRangesBuilder* self,int n) CIMGUI_API bool GlyphRangesBuilder_GetBit(ImFontAtlas::GlyphRangesBuilder* self,int n)
{ {
return self->GetBit(n); return self->GetBit(n);
} }
CIMGUI_API void GlyphRangesBuilder_SetBit(GlyphRangesBuilder* self,int n) CIMGUI_API void GlyphRangesBuilder_SetBit(ImFontAtlas::GlyphRangesBuilder* self,int n)
{ {
return self->SetBit(n); return self->SetBit(n);
} }
CIMGUI_API void GlyphRangesBuilder_AddChar(GlyphRangesBuilder* self,ImWchar c) CIMGUI_API void GlyphRangesBuilder_AddChar(ImFontAtlas::GlyphRangesBuilder* self,ImWchar c)
{ {
return self->AddChar(c); return self->AddChar(c);
} }
CIMGUI_API void GlyphRangesBuilder_AddText(GlyphRangesBuilder* self,const char* text,const char* text_end) CIMGUI_API void GlyphRangesBuilder_AddText(ImFontAtlas::GlyphRangesBuilder* self,const char* text,const char* text_end)
{ {
return self->AddText(text,text_end); return self->AddText(text,text_end);
} }
CIMGUI_API void GlyphRangesBuilder_AddRanges(GlyphRangesBuilder* self,const ImWchar* ranges) CIMGUI_API void GlyphRangesBuilder_AddRanges(ImFontAtlas::GlyphRangesBuilder* self,const ImWchar* ranges)
{ {
return self->AddRanges(ranges); return self->AddRanges(ranges);
} }
CIMGUI_API void GlyphRangesBuilder_BuildRanges(GlyphRangesBuilder* self,ImVector<ImWchar>* out_ranges) CIMGUI_API void GlyphRangesBuilder_BuildRanges(ImFontAtlas::GlyphRangesBuilder* self,ImVector<ImWchar>* out_ranges)
{ {
return self->BuildRanges(out_ranges); return self->BuildRanges(out_ranges);
} }
CIMGUI_API bool CustomRect_IsPacked(CustomRect* self,) CIMGUI_API bool CustomRect_IsPacked(ImFontAtlas::CustomRect* self)
{ {
return self->IsPacked(); return self->IsPacked();
} }
@@ -1828,7 +1849,7 @@ CIMGUI_API int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self,ImFont* font
} }
CIMGUI_API const CustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index) CIMGUI_API const CustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index)
{ {
return self->GetCustomRectByIndex(index); return (CustomRect*) self->GetCustomRectByIndex(index);
} }
CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self,const CustomRect* rect,ImVec2* out_uv_min,ImVec2* out_uv_max) CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self,const CustomRect* rect,ImVec2* out_uv_min,ImVec2* out_uv_max)
{ {
@@ -1836,21 +1857,21 @@ CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self,const CustomRect*
} }
CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self,ImGuiMouseCursor cursor,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2]) CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self,ImGuiMouseCursor cursor,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2])
{ {
return self->GetMouseCursorTexData(cursor,out_offset,out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2]); return self->GetMouseCursorTexData(cursor,out_offset,out_size,out_uv_border,out_uv_fill);
} }
CIMGUI_API void ImFont_ClearOutputData(ImFont* self,) CIMGUI_API void ImFont_ClearOutputData(ImFont* self)
{ {
return self->ClearOutputData(); return self->ClearOutputData();
} }
CIMGUI_API void ImFont_BuildLookupTable(ImFont* self,) CIMGUI_API void ImFont_BuildLookupTable(ImFont* self)
{ {
return self->BuildLookupTable(); return self->BuildLookupTable();
} }
CIMGUI_API const ImFontGlyph ImFont_FindGlyph(ImFont* self,ImWchar c) CIMGUI_API const ImFontGlyph* ImFont_FindGlyph(ImFont* self,ImWchar c)
{ {
return self->FindGlyph(c); return self->FindGlyph(c);
} }
CIMGUI_API const ImFontGlyph ImFont_FindGlyphNoFallback(ImFont* self,ImWchar c) CIMGUI_API const ImFontGlyph* ImFont_FindGlyphNoFallback(ImFont* self,ImWchar c)
{ {
return self->FindGlyphNoFallback(c); return self->FindGlyphNoFallback(c);
} }
@@ -1862,11 +1883,11 @@ CIMGUI_API float ImFont_GetCharAdvance(ImFont* self,ImWchar c)
{ {
return self->GetCharAdvance(c); return self->GetCharAdvance(c);
} }
CIMGUI_API bool ImFont_IsLoaded(ImFont* self,) CIMGUI_API bool ImFont_IsLoaded(ImFont* self)
{ {
return self->IsLoaded(); return self->IsLoaded();
} }
CIMGUI_API const char* ImFont_GetDebugName(ImFont* self,) CIMGUI_API const char* ImFont_GetDebugName(ImFont* self)
{ {
return self->GetDebugName(); return self->GetDebugName();
} }

View File

@@ -141,16 +141,16 @@ CIMGUI_API bool igCheckboxFlags(const char* label,unsigned int* flags,unsigned i
CIMGUI_API bool igRadioButtonBool(const char* label,bool active); CIMGUI_API bool igRadioButtonBool(const char* label,bool active);
CIMGUI_API bool igRadioButtonIntPtr(const char* label,int* v,int v_button); CIMGUI_API bool igRadioButtonIntPtr(const char* label,int* v,int v_button);
CIMGUI_API void igPlotLinesFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride); CIMGUI_API void igPlotLinesFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride);
CIMGUI_API void igPlotLinesvalues_getter(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size); CIMGUI_API void igPlotLinesPtr(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size);
CIMGUI_API void igPlotHistogramFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride); CIMGUI_API void igPlotHistogramFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride);
CIMGUI_API void igPlotHistogramvalues_getter(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size); CIMGUI_API void igPlotHistogramPtr(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size);
CIMGUI_API void igProgressBar(float fraction,const ImVec2 size_arg,const char* overlay); CIMGUI_API void igProgressBar(float fraction,const ImVec2 size_arg,const char* overlay);
CIMGUI_API void igBullet(); CIMGUI_API void igBullet();
CIMGUI_API bool igBeginCombo(const char* label,const char* preview_value,ImGuiComboFlags flags); CIMGUI_API bool igBeginCombo(const char* label,const char* preview_value,ImGuiComboFlags flags);
CIMGUI_API void igEndCombo(); CIMGUI_API void igEndCombo();
CIMGUI_API bool igComboStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items); CIMGUI_API bool igComboStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items);
CIMGUI_API bool igComboStr(const char* label,int* current_item,const char* items_separated_by_zeros,int popup_max_height_in_items); CIMGUI_API bool igComboStr(const char* label,int* current_item,const char* items_separated_by_zeros,int popup_max_height_in_items);
CIMGUI_API bool igComboitems_getter(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int popup_max_height_in_items); CIMGUI_API bool igComboPtr(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int popup_max_height_in_items);
CIMGUI_API bool igDragFloat(const char* label,float* v,float v_speed,float v_min,float v_max,const char* display_format,float power); CIMGUI_API bool igDragFloat(const char* label,float* v,float v_speed,float v_min,float v_max,const char* display_format,float power);
CIMGUI_API bool igDragFloat2(const char* label,float v[2],float v_speed,float v_min,float v_max,const char* display_format,float power); CIMGUI_API bool igDragFloat2(const char* label,float v[2],float v_speed,float v_min,float v_max,const char* display_format,float power);
CIMGUI_API bool igDragFloat3(const char* label,float v[3],float v_speed,float v_min,float v_max,const char* display_format,float power); CIMGUI_API bool igDragFloat3(const char* label,float v[3],float v_speed,float v_min,float v_max,const char* display_format,float power);
@@ -210,7 +210,7 @@ CIMGUI_API bool igCollapsingHeaderBoolPtr(const char* label,bool* p_open,ImGuiTr
CIMGUI_API bool igSelectableBool(const char* label,bool selected,ImGuiSelectableFlags flags,const ImVec2 size); CIMGUI_API bool igSelectableBool(const char* label,bool selected,ImGuiSelectableFlags flags,const ImVec2 size);
CIMGUI_API bool igSelectableBoolPtr(const char* label,bool* p_selected,ImGuiSelectableFlags flags,const ImVec2 size); CIMGUI_API bool igSelectableBoolPtr(const char* label,bool* p_selected,ImGuiSelectableFlags flags,const ImVec2 size);
CIMGUI_API bool igListBoxStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int height_in_items); CIMGUI_API bool igListBoxStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int height_in_items);
CIMGUI_API bool igListBoxitems_getter(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int height_in_items); CIMGUI_API bool igListBoxPtr(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int height_in_items);
CIMGUI_API bool igListBoxHeaderVec2(const char* label,const ImVec2 size); CIMGUI_API bool igListBoxHeaderVec2(const char* label,const ImVec2 size);
CIMGUI_API bool igListBoxHeaderInt(const char* label,int items_count,int height_in_items); CIMGUI_API bool igListBoxHeaderInt(const char* label,int items_count,int height_in_items);
CIMGUI_API void igListBoxFooter(); CIMGUI_API void igListBoxFooter();
@@ -253,7 +253,6 @@ CIMGUI_API void igLogToFile(int max_depth,const char* filename);
CIMGUI_API void igLogToClipboard(int max_depth); CIMGUI_API void igLogToClipboard(int max_depth);
CIMGUI_API void igLogFinish(); CIMGUI_API void igLogFinish();
CIMGUI_API void igLogButtons(); CIMGUI_API void igLogButtons();
CIMGUI_API void igLogText(const char* fmt,...);
CIMGUI_API bool igBeginDragDropSource(ImGuiDragDropFlags flags); CIMGUI_API bool igBeginDragDropSource(ImGuiDragDropFlags flags);
CIMGUI_API bool igSetDragDropPayload(const char* type,const void* data,size_t size,ImGuiCond cond); CIMGUI_API bool igSetDragDropPayload(const char* type,const void* data,size_t size,ImGuiCond cond);
CIMGUI_API void igEndDragDropSource(); CIMGUI_API void igEndDragDropSource();
@@ -322,30 +321,28 @@ CIMGUI_API void igMemFree(void* ptr);
CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self,float scale_factor); CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self,float scale_factor);
CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self,ImWchar c); CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self,ImWchar c);
CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self,const char* utf8_chars); CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self,const char* utf8_chars);
CIMGUI_API inline void ImGuiIO_ClearInputCharacters(ImGuiIO* self,); CIMGUI_API inline void ImGuiIO_ClearInputCharacters(ImGuiIO* self);
CIMGUI_API template<typename T> void _IM_DELETE(* self,T* p); CIMGUI_API const char* TextRange_begin(ImGuiTextFilter::TextRange* self);
CIMGUI_API const char* TextRange_begin(TextRange* self,); CIMGUI_API const char* TextRange_end(ImGuiTextFilter::TextRange* self);
CIMGUI_API const char* TextRange_end(TextRange* self,); CIMGUI_API bool TextRange_empty(ImGuiTextFilter::TextRange* self);
CIMGUI_API bool TextRange_empty(TextRange* self,); CIMGUI_API char TextRange_front(ImGuiTextFilter::TextRange* self);
CIMGUI_API char TextRange_front(TextRange* self,); CIMGUI_API bool TextRange_is_blank(ImGuiTextFilter::TextRange* self,char c);
CIMGUI_API static bool TextRange_is_blank(TextRange* self,char c); CIMGUI_API void TextRange_trim_blanks(ImGuiTextFilter::TextRange* self);
CIMGUI_API void TextRange_trim_blanks(TextRange* self,); CIMGUI_API void TextRange_split(ImGuiTextFilter::TextRange* self,char separator,ImVector<TextRange> out);
CIMGUI_API void TextRange_split(TextRange* self,char separator,ImVector<TextRange> out);
CIMGUI_API bool ImGuiTextFilter_Draw(ImGuiTextFilter* self,const char* label,float width); CIMGUI_API bool ImGuiTextFilter_Draw(ImGuiTextFilter* self,const char* label,float width);
CIMGUI_API bool ImGuiTextFilter_PassFilter(ImGuiTextFilter* self,const char* text,const char* text_end); CIMGUI_API bool ImGuiTextFilter_PassFilter(ImGuiTextFilter* self,const char* text,const char* text_end);
CIMGUI_API void ImGuiTextFilter_Build(ImGuiTextFilter* self,); CIMGUI_API void ImGuiTextFilter_Build(ImGuiTextFilter* self);
CIMGUI_API void ImGuiTextFilter_Clear(ImGuiTextFilter* self,); CIMGUI_API void ImGuiTextFilter_Clear(ImGuiTextFilter* self);
CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self,); CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self);
CIMGUI_API const char* ImGuiTextBuffer_begin(ImGuiTextBuffer* self,); CIMGUI_API const char* ImGuiTextBuffer_begin(ImGuiTextBuffer* self);
CIMGUI_API const char* ImGuiTextBuffer_end(ImGuiTextBuffer* self,); CIMGUI_API const char* ImGuiTextBuffer_end(ImGuiTextBuffer* self);
CIMGUI_API int ImGuiTextBuffer_size(ImGuiTextBuffer* self,); CIMGUI_API int ImGuiTextBuffer_size(ImGuiTextBuffer* self);
CIMGUI_API bool ImGuiTextBuffer_empty(ImGuiTextBuffer* self,); CIMGUI_API bool ImGuiTextBuffer_empty(ImGuiTextBuffer* self);
CIMGUI_API void ImGuiTextBuffer_clear(ImGuiTextBuffer* self,); CIMGUI_API void ImGuiTextBuffer_clear(ImGuiTextBuffer* self);
CIMGUI_API void ImGuiTextBuffer_reserve(ImGuiTextBuffer* self,int capacity); CIMGUI_API void ImGuiTextBuffer_reserve(ImGuiTextBuffer* self,int capacity);
CIMGUI_API const char* ImGuiTextBuffer_c_str(ImGuiTextBuffer* self,); CIMGUI_API const char* ImGuiTextBuffer_c_str(ImGuiTextBuffer* self);
CIMGUI_API void ImGuiTextBuffer_appendf(ImGuiTextBuffer* self,const char* fmt,...);
CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self,const char* fmt,va_list args); CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self,const char* fmt,va_list args);
CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self,); CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self);
CIMGUI_API int ImGuiStorage_GetInt(ImGuiStorage* self,ImGuiID key,int default_val); CIMGUI_API int ImGuiStorage_GetInt(ImGuiStorage* self,ImGuiID key,int default_val);
CIMGUI_API void ImGuiStorage_SetInt(ImGuiStorage* self,ImGuiID key,int val); CIMGUI_API void ImGuiStorage_SetInt(ImGuiStorage* self,ImGuiID key,int val);
CIMGUI_API bool ImGuiStorage_GetBool(ImGuiStorage* self,ImGuiID key,bool default_val); CIMGUI_API bool ImGuiStorage_GetBool(ImGuiStorage* self,ImGuiID key,bool default_val);
@@ -359,26 +356,26 @@ CIMGUI_API bool* ImGuiStorage_GetBoolRef(ImGuiStorage* self,ImGuiID key,bool def
CIMGUI_API float* ImGuiStorage_GetFloatRef(ImGuiStorage* self,ImGuiID key,float default_val); CIMGUI_API float* ImGuiStorage_GetFloatRef(ImGuiStorage* self,ImGuiID key,float default_val);
CIMGUI_API void** ImGuiStorage_GetVoidPtrRef(ImGuiStorage* self,ImGuiID key,void* default_val); CIMGUI_API void** ImGuiStorage_GetVoidPtrRef(ImGuiStorage* self,ImGuiID key,void* default_val);
CIMGUI_API void ImGuiStorage_SetAllInt(ImGuiStorage* self,int val); CIMGUI_API void ImGuiStorage_SetAllInt(ImGuiStorage* self,int val);
CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self,); CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self);
CIMGUI_API void ImGuiTextEditCallbackData_DeleteChars(ImGuiTextEditCallbackData* self,int pos,int bytes_count); CIMGUI_API void ImGuiTextEditCallbackData_DeleteChars(ImGuiTextEditCallbackData* self,int pos,int bytes_count);
CIMGUI_API void ImGuiTextEditCallbackData_InsertChars(ImGuiTextEditCallbackData* self,int pos,const char* text,const char* text_end); CIMGUI_API void ImGuiTextEditCallbackData_InsertChars(ImGuiTextEditCallbackData* self,int pos,const char* text,const char* text_end);
CIMGUI_API bool ImGuiTextEditCallbackData_HasSelection(ImGuiTextEditCallbackData* self,); CIMGUI_API bool ImGuiTextEditCallbackData_HasSelection(ImGuiTextEditCallbackData* self);
CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self,); CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self);
CIMGUI_API bool ImGuiPayload_IsDataType(ImGuiPayload* self,const char* type); CIMGUI_API bool ImGuiPayload_IsDataType(ImGuiPayload* self,const char* type);
CIMGUI_API bool ImGuiPayload_IsPreview(ImGuiPayload* self,); CIMGUI_API bool ImGuiPayload_IsPreview(ImGuiPayload* self);
CIMGUI_API bool ImGuiPayload_IsDelivery(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 inline void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a);
CIMGUI_API static ImColor ImColor_HSV(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 bool ImGuiListClipper_Step(ImGuiListClipper* self);
CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self,int items_count,float items_height); CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self,int items_count,float items_height);
CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self,); CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self);
CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* self,ImVec2 clip_rect_min,ImVec2 clip_rect_max,bool intersect_with_current_clip_rect); CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* self,ImVec2 clip_rect_min,ImVec2 clip_rect_max,bool intersect_with_current_clip_rect);
CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self,); CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self);
CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self,); CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self);
CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* self,ImTextureID texture_id); CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* self,ImTextureID texture_id);
CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self,); CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self);
CIMGUI_API inline ImVec2 ImDrawList_GetClipRectMin(ImDrawList* self,); CIMGUI_API inline ImVec2 ImDrawList_GetClipRectMin(ImDrawList* self);
CIMGUI_API inline ImVec2 ImDrawList_GetClipRectMax(ImDrawList* self,); CIMGUI_API inline 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_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_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); CIMGUI_API void ImDrawList_AddRectFilled(ImDrawList* self,const ImVec2 a,const ImVec2 b,ImU32 col,float rounding,int rounding_corners_flags);
@@ -397,7 +394,7 @@ 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_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_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 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_PathClear(ImDrawList* self);
CIMGUI_API inline void ImDrawList_PathLineTo(ImDrawList* self,const ImVec2 pos); 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_PathLineToMergeDuplicate(ImDrawList* self,const ImVec2 pos);
CIMGUI_API inline void ImDrawList_PathFillConvex(ImDrawList* self,ImU32 col); CIMGUI_API inline void ImDrawList_PathFillConvex(ImDrawList* self,ImU32 col);
@@ -407,13 +404,13 @@ CIMGUI_API void ImDrawList_PathArcToFast(ImDrawList* self,const ImVec2 centre,fl
CIMGUI_API void ImDrawList_PathBezierCurveTo(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,int num_segments); CIMGUI_API void ImDrawList_PathBezierCurveTo(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,int num_segments);
CIMGUI_API void ImDrawList_PathRect(ImDrawList* self,const ImVec2 rect_min,const ImVec2 rect_max,float rounding,int rounding_corners_flags); CIMGUI_API void ImDrawList_PathRect(ImDrawList* self,const ImVec2 rect_min,const ImVec2 rect_max,float rounding,int rounding_corners_flags);
CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* self,int channels_count); CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* self,int channels_count);
CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* self,); CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* self);
CIMGUI_API void ImDrawList_ChannelsSetCurrent(ImDrawList* self,int channel_index); CIMGUI_API void ImDrawList_ChannelsSetCurrent(ImDrawList* self,int channel_index);
CIMGUI_API void ImDrawList_AddCallback(ImDrawList* self,ImDrawCallback callback,void* callback_data); CIMGUI_API void ImDrawList_AddCallback(ImDrawList* self,ImDrawCallback callback,void* callback_data);
CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* self,); CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* self);
CIMGUI_API ImDrawList* ImDrawList_CloneOutput(ImDrawList* self,); CIMGUI_API ImDrawList* ImDrawList_CloneOutput(ImDrawList* self);
CIMGUI_API void ImDrawList_Clear(ImDrawList* self,); CIMGUI_API void ImDrawList_Clear(ImDrawList* self);
CIMGUI_API void ImDrawList_ClearFreeMemory(ImDrawList* self,); CIMGUI_API void ImDrawList_ClearFreeMemory(ImDrawList* self);
CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* self,int idx_count,int vtx_count); CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* self,int idx_count,int vtx_count);
CIMGUI_API void ImDrawList_PrimRect(ImDrawList* self,const ImVec2 a,const ImVec2 b,ImU32 col); 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_PrimRectUV(ImDrawList* self,const ImVec2 a,const ImVec2 b,const ImVec2 uv_a,const ImVec2 uv_b,ImU32 col);
@@ -421,10 +418,10 @@ CIMGUI_API void ImDrawList_PrimQuadUV(ImDrawList* self,const ImVec2 a,const ImVe
CIMGUI_API inline void ImDrawList_PrimWriteVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,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_PrimWriteIdx(ImDrawList* self,ImDrawIdx idx);
CIMGUI_API inline void ImDrawList_PrimVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,ImU32 col); CIMGUI_API inline void ImDrawList_PrimVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,ImU32 col);
CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* self,); CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* self);
CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* self,); CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* self);
CIMGUI_API void ImDrawData_Clear(ImDrawData* self,); CIMGUI_API void ImDrawData_Clear(ImDrawData* self);
CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* self,); CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* self);
CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* self,const ImVec2 sc); CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* self,const ImVec2 sc);
CIMGUI_API ImFont* ImFontAtlas_AddFont(ImFontAtlas* self,const ImFontConfig* font_cfg); CIMGUI_API ImFont* ImFontAtlas_AddFont(ImFontAtlas* self,const ImFontConfig* font_cfg);
CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* self,const ImFontConfig* font_cfg); CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* self,const ImFontConfig* font_cfg);
@@ -432,40 +429,40 @@ CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* self,const char*
CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas* self,void* font_data,int font_size,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges); CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas* self,void* font_data,int font_size,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges);
CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas* self,const void* compressed_font_data,int compressed_font_size,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges); CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas* self,const void* compressed_font_data,int compressed_font_size,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges);
CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedBase85TTF(ImFontAtlas* self,const char* compressed_font_data_base85,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges); CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedBase85TTF(ImFontAtlas* self,const char* compressed_font_data_base85,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges);
CIMGUI_API void ImFontAtlas_ClearInputData(ImFontAtlas* self,); CIMGUI_API void ImFontAtlas_ClearInputData(ImFontAtlas* self);
CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* self,); CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* self);
CIMGUI_API void ImFontAtlas_ClearFonts(ImFontAtlas* self,); CIMGUI_API void ImFontAtlas_ClearFonts(ImFontAtlas* self);
CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* self,); CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* self);
CIMGUI_API bool ImFontAtlas_Build(ImFontAtlas* self,); CIMGUI_API bool ImFontAtlas_Build(ImFontAtlas* self);
CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* self,unsigned char** out_pixels,int* out_width,int* out_height,int* out_bytes_per_pixel); CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* self,unsigned char** out_pixels,int* out_width,int* out_height,int* out_bytes_per_pixel);
CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* self,unsigned char** out_pixels,int* out_width,int* out_height,int* out_bytes_per_pixel); CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* self,unsigned char** out_pixels,int* out_width,int* out_height,int* out_bytes_per_pixel);
CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* self,ImTextureID id); CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* self,ImTextureID id);
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesDefault(ImFontAtlas* self,); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesDefault(ImFontAtlas* self);
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesKorean(ImFontAtlas* self,); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesKorean(ImFontAtlas* self);
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesJapanese(ImFontAtlas* self,); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesJapanese(ImFontAtlas* self);
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChinese(ImFontAtlas* self,); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChinese(ImFontAtlas* self);
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(ImFontAtlas* self,); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(ImFontAtlas* self);
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self,); CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self);
CIMGUI_API bool GlyphRangesBuilder_GetBit(GlyphRangesBuilder* self,int n); CIMGUI_API bool GlyphRangesBuilder_GetBit(ImFontAtlas::GlyphRangesBuilder* self,int n);
CIMGUI_API void GlyphRangesBuilder_SetBit(GlyphRangesBuilder* self,int n); CIMGUI_API void GlyphRangesBuilder_SetBit(ImFontAtlas::GlyphRangesBuilder* self,int n);
CIMGUI_API void GlyphRangesBuilder_AddChar(GlyphRangesBuilder* self,ImWchar c); CIMGUI_API void GlyphRangesBuilder_AddChar(ImFontAtlas::GlyphRangesBuilder* self,ImWchar c);
CIMGUI_API void GlyphRangesBuilder_AddText(GlyphRangesBuilder* self,const char* text,const char* text_end); CIMGUI_API void GlyphRangesBuilder_AddText(ImFontAtlas::GlyphRangesBuilder* self,const char* text,const char* text_end);
CIMGUI_API void GlyphRangesBuilder_AddRanges(GlyphRangesBuilder* self,const ImWchar* ranges); CIMGUI_API void GlyphRangesBuilder_AddRanges(ImFontAtlas::GlyphRangesBuilder* self,const ImWchar* ranges);
CIMGUI_API void GlyphRangesBuilder_BuildRanges(GlyphRangesBuilder* self,ImVector<ImWchar>* out_ranges); CIMGUI_API void GlyphRangesBuilder_BuildRanges(ImFontAtlas::GlyphRangesBuilder* self,ImVector<ImWchar>* out_ranges);
CIMGUI_API bool CustomRect_IsPacked(CustomRect* self,); CIMGUI_API bool CustomRect_IsPacked(ImFontAtlas::CustomRect* self);
CIMGUI_API int ImFontAtlas_AddCustomRectRegular(ImFontAtlas* self,unsigned int id,int width,int height); CIMGUI_API int ImFontAtlas_AddCustomRectRegular(ImFontAtlas* self,unsigned int id,int width,int height);
CIMGUI_API int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self,ImFont* font,ImWchar id,int width,int height,float advance_x,const ImVec2 offset); CIMGUI_API int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self,ImFont* font,ImWchar id,int width,int height,float advance_x,const ImVec2 offset);
CIMGUI_API const CustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index); CIMGUI_API const CustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index);
CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self,const CustomRect* rect,ImVec2* out_uv_min,ImVec2* out_uv_max); CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self,const CustomRect* rect,ImVec2* out_uv_min,ImVec2* out_uv_max);
CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self,ImGuiMouseCursor cursor,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2]); CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self,ImGuiMouseCursor cursor,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2]);
CIMGUI_API void ImFont_ClearOutputData(ImFont* self,); CIMGUI_API void ImFont_ClearOutputData(ImFont* self);
CIMGUI_API void ImFont_BuildLookupTable(ImFont* self,); CIMGUI_API void ImFont_BuildLookupTable(ImFont* self);
CIMGUI_API const ImFontGlyph ImFont_FindGlyph(ImFont* self,ImWchar c); CIMGUI_API const ImFontGlyph* ImFont_FindGlyph(ImFont* self,ImWchar c);
CIMGUI_API const ImFontGlyph ImFont_FindGlyphNoFallback(ImFont* self,ImWchar c); CIMGUI_API const ImFontGlyph* ImFont_FindGlyphNoFallback(ImFont* self,ImWchar c);
CIMGUI_API void ImFont_SetFallbackChar(ImFont* self,ImWchar c); CIMGUI_API void ImFont_SetFallbackChar(ImFont* self,ImWchar c);
CIMGUI_API float ImFont_GetCharAdvance(ImFont* self,ImWchar c); CIMGUI_API float ImFont_GetCharAdvance(ImFont* self,ImWchar c);
CIMGUI_API bool ImFont_IsLoaded(ImFont* self,); CIMGUI_API bool ImFont_IsLoaded(ImFont* self);
CIMGUI_API const char* ImFont_GetDebugName(ImFont* self,); CIMGUI_API const char* ImFont_GetDebugName(ImFont* self);
CIMGUI_API ImVec2 ImFont_CalcTextSizeA(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining); CIMGUI_API ImVec2 ImFont_CalcTextSizeA(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining);
CIMGUI_API const char* ImFont_CalcWordWrapPositionA(ImFont* self,float scale,const char* text,const char* text_end,float wrap_width); CIMGUI_API const char* ImFont_CalcWordWrapPositionA(ImFont* self,float scale,const char* text,const char* text_end,float wrap_width);
CIMGUI_API void ImFont_RenderChar(ImFont* self,ImDrawList* draw_list,float size,ImVec2 pos,ImU32 col,unsigned short c); CIMGUI_API void ImFont_RenderChar(ImFont* self,ImDrawList* draw_list,float size,ImVec2 pos,ImU32 col,unsigned short c);

View File

@@ -1,5 +1,6 @@
#include "../imgui/imgui.h" #include "../imgui/imgui.h"
//#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#include "cimgui.h" #include "cimgui.h"
// to use placement new // to use placement new
@@ -7,3 +8,21 @@
#include "../imgui/imgui_internal.h" #include "../imgui/imgui_internal.h"
#include "auto_funcs.cpp" #include "auto_funcs.cpp"
CIMGUI_API void igLogText(CONST char *fmt, ...)
{
char buffer[256];
va_list args;
va_start(args, fmt);
vsnprintf(buffer, 256, fmt, args);
va_end(args);
ImGui::LogText("%s", buffer);
}
CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
buffer->appendfv(fmt, args);
va_end(args);
}

View File

@@ -36,4 +36,41 @@ typedef unsigned long long ImU64;
#include "imgui_structs.h" #include "imgui_structs.h"
#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS #endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
struct GlyphRangesBuilder
{
ImVector<unsigned char> UsedChars;
};
typedef struct GlyphRangesBuilder GlyphRangesBuilder;
struct CustomRect
{
unsigned int ID;
unsigned short Width, Height;
unsigned short X, Y;
float GlyphAdvanceX;
ImVec2 GlyphOffset;
ImFont* Font;
};
typedef struct CustomRect CustomRect;
struct TextRange
{
const char* b;
const char* e;
};
typedef struct TextRange TextRange;
struct Pair
{
ImGuiID key;
union { int val_i; float val_f; void* val_p; };
};
typedef struct Pair Pair;
#include "auto_funcs.h" #include "auto_funcs.h"
CIMGUI_API void igLogText(CONST char *fmt, ...);
CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...);

View File

@@ -10,6 +10,14 @@ local function clean_spaces(cad)
return cad return cad
end end
local cimgui_manuals = {
igLogText = true,
ImGuiTextBuffer_appendf = true
}
local function get_manuals(def)
return cimgui_manuals[def.ov_cimguiname] or cimgui_manuals[def.cimguiname]
end
local cimgui_overloads = { local cimgui_overloads = {
igPushID = { igPushID = {
@@ -31,7 +39,7 @@ local function getcimguiname_overload(stname,funcname,signature)
end end
cdefs = {} cdefs = {}
local embeded_structs = {}
location_re = '^# %d+ "([^"]*)"' location_re = '^# %d+ "([^"]*)"'
cimpath_re = '^(.*[\\/])(imgui)%.h$' cimpath_re = '^(.*[\\/])(imgui)%.h$'
define_re = "^#define%s+([^%s]+)%s+([^%s]+)$" define_re = "^#define%s+([^%s]+)%s+([^%s]+)$"
@@ -77,6 +85,7 @@ repeat -- simulate continue with break
elseif in_imgui then elseif in_imgui then
--print(line) --print(line)
if line:match"template" then break end
line = line:gsub("%S+",{class="struct",mutable=""}) --class -> struct line = line:gsub("%S+",{class="struct",mutable=""}) --class -> struct
if in_function then if in_function then
if line:match(function_closing_re) then if line:match(function_closing_re) then
@@ -106,30 +115,53 @@ repeat -- simulate continue with break
structnames[#structnames] = nil structnames[#structnames] = nil
end end
stname = structnames[#structnames] or "" stname = structnames[#structnames] or ""
if #structnames > 1 then
local embeded_name = table.concat(structnames,"::")
embeded_structs[stname] = embeded_name
end
end end
--print("pre func re:",line) --print("pre func re:",line)
local func = line:match(function_re) local func = line:match(function_re)
if func and not in_function and not line:match("typedef.*%b().*%b().*") then--not line:match("typedef.*%b().*%b().*") then if func and not in_function and not line:match("typedef.*%b().*%b().*") then--not line:match("typedef.*%b().*%b().*") then
--print(2,line) --print(2,line)
if stname~="ImVector" and not line:match("operator") then if stname~="ImVector"
--and stname~="GlyphRangesBuilder" and stname~="CustomRect" and stname~="TextRange" and stname~="Pair"
and not line:match("operator") then
--clean implemetation --clean implemetation
line = line:gsub("%s*%b{}","") line = line:gsub("%s*%b{}","")
--clean attribute --clean attribute
line = line:gsub("%s*__attribute__%b()","") line = line:gsub("%s*__attribute__%b()","")
--clean static
line = line:gsub("static","")
local ret = line:match("([^%(%)]+)[%s%*]~?[_%w]+(%b())") --"(^.+)(%w+)(%b())" --local ret = line:match("([^%(%)]+)[%s%*]~?[_%w]+(%b())")
--local ret = line:match("([^%(%)]+%*?)%s?~?[_%w]+%b()")
local ret = line:match("([^%(%)]+[%*%s])%s?~?[_%w]+%b()")
local funcname, args = line:match("(~?[_%w]+)(%b())") local funcname, args = line:match("(~?[_%w]+)(%b())")
local argscsinpars = args:gsub("(=[^,%(%)]*)(%b())","%1") local argscsinpars = args:gsub("(=[^,%(%)]*)(%b())","%1")
argscsinpars = argscsinpars:gsub("(=[^,%(%)]*)([,%)])","%2") argscsinpars = argscsinpars:gsub("(=[^,%(%)]*)([,%)])","%2")
argscsinpars = argscsinpars:gsub("&","") argscsinpars = argscsinpars:gsub("&","")
--print(funcname,ret,args,argscsinpars) --print(funcname,ret,args,argscsinpars)
-- local signature = argscsinpars:gsub("([%w%s%*_]+)%s[%w_]+%s*([,%)])","%1%2")
-- signature = signature:gsub("%s*([,%)])","%1")
-- signature = signature:gsub(",%s*",",")
-- signature = signature:gsub("([%w_]+)%s[%w_]+(%[%d*%])","%1%2") --float[2]
local signature = argscsinpars:gsub("([%w%s%*_]+)%s[%w_]+%s*([,%)])","%1%2") local signature = argscsinpars:gsub("([%w%s%*_]+)%s[%w_]+%s*([,%)])","%1%2")
signature = signature:gsub("%s*([,%)])","%1") signature = signature:gsub("%s*([,%)])","%1") --space before , and )
signature = signature:gsub(",%s*",",") signature = signature:gsub(",%s*",",")--space after ,
local call_args = argscsinpars:gsub("[^%(].-([%w_]+)%s*([,%)])","%1%2") signature = signature:gsub("([%w_]+)%s[%w_]+(%[%d*%])","%1%2") -- float[2]
signature = signature:gsub("(%(%*)[%w_]+(%)%([^%(%)]*%))","%1%2") --func defs
-- local call_args = argscsinpars:gsub("[^%(].-([%w_]+)%s*([,%)])","%1%2")
--local call_args = argscsinpars:gsub("([%w_]+%s[%w_]+)%[%d*%]","%1")
--call_args = call_args:gsub("[^%(].-([%w_]+)%s*([,%)])","%1%2")
local call_args = argscsinpars:gsub("([%w_]+%s[%w_]+)%[%d*%]","%1") --float[2]
call_args = call_args:gsub("%(%*([%w_]+)%)%([^%(%)]*%)"," %1") --func type
call_args = call_args:gsub("[^%(].-([%w_]+)%s*([,%)])","%1%2")
--if line:match(".*%b()%b().*") then print("bb:",line);print("b2:",ret,funcname,args) end --if line:match(".*%b()%b().*") then print("bb:",line);print("b2:",ret,funcname,args) end
if not ret then --must be constructors if not ret then --must be constructors
@@ -159,6 +191,7 @@ repeat -- simulate continue with break
defT.args=argscsinpars defT.args=argscsinpars
defT.signature = signature defT.signature = signature
defT.call_args = call_args defT.call_args = call_args
defT.isvararg = signature:match("%.%.%.%)$")
if ret then if ret then
defT.ret = ret:gsub("&","*") defT.ret = ret:gsub("&","*")
defT.retref = ret:match("&") defT.retref = ret:match("&")
@@ -297,7 +330,10 @@ print"//------------------------------------------------------------------------
for i,t in ipairs(cdefs) do for i,t in ipairs(cdefs) do
print(t.cimguiname," ",t.funcname,"\t",t.signature,"\t",t.args,"\t",t.argsc,"\t",t.call_args,"\t",t.ret) --,"\n") print(t.cimguiname," ",t.funcname,"\t",t.signature,"\t",t.args,"\t",t.argsc,"\t",t.call_args,"\t",t.ret) --,"\n")
end end
print"//-------------------------------------------------------------------------------------" print"//embeded_structs---------------------------------------------------------------------------"
for k,v in pairs(embeded_structs) do
print(k,v)
end
--[[ --[[
print"//constructors------------------------------------------------------------------" print"//constructors------------------------------------------------------------------"
for i,t in ipairs(cdefs) do for i,t in ipairs(cdefs) do
@@ -310,11 +346,14 @@ local hfile = io.open("./auto_funcs.h","w")
for _,t in ipairs(cdefs) do for _,t in ipairs(cdefs) do
local cimf = defsT[t.cimguiname] local cimf = defsT[t.cimguiname]
local def = cimf[t.signature] local def = cimf[t.signature]
if def.ret then --not constructor local manual = get_manuals(def)
if not manual and def.ret then --not constructor
if def.stname == "ImGui" then if def.stname == "ImGui" then
hfile:write("CIMGUI_API"," ",def.ret," ",def.ov_cimguiname or def.cimguiname,def.args,";\n") hfile:write("CIMGUI_API"," ",def.ret," ",def.ov_cimguiname or def.cimguiname,def.args,";\n")
else else
local args = def.args:gsub("^%(","("..def.stname.."* self,") local empty = def.args:match("^%(%)") --no args
local imgui_stname = embeded_structs[def.stname] or def.stname
local args = def.args:gsub("^%(","("..imgui_stname.."* self"..(empty and "" or ","))
hfile:write("CIMGUI_API"," ",def.ret," ",def.ov_cimguiname or def.cimguiname,args,";\n") hfile:write("CIMGUI_API"," ",def.ret," ",def.ov_cimguiname or def.cimguiname,args,";\n")
end end
end end
@@ -327,18 +366,51 @@ for _,t in ipairs(cdefs) do
--for i,def in ipairs(cimf) do --for i,def in ipairs(cimf) do
--prtable(cimf) --prtable(cimf)
local def = cimf[t.signature] local def = cimf[t.signature]
if def.ret then --not constructor local manual = get_manuals(def)
if not manual and def.ret then --not constructor
local ptret = def.retref and "&" or ""
local castret = def.ret:gsub("[^%s]+",function(x)
local y = x:gsub("%*","")
local typ = embeded_structs[y]
if typ then return "("..x..")" else return "" end
end)
if def.stname == "ImGui" then if def.stname == "ImGui" then
if def.isvararg then
local call_args = def.call_args:gsub("%.%.%.","args")
cppfile:write("CIMGUI_API"," ",def.ret," ",def.ov_cimguiname or def.cimguiname,def.args,"\n") cppfile:write("CIMGUI_API"," ",def.ret," ",def.ov_cimguiname or def.cimguiname,def.args,"\n")
cppfile:write("{\n") cppfile:write("{\n")
cppfile:write(" return ImGui::",def.funcname,def.call_args,";\n") cppfile:write(" va_list args;\n")
cppfile:write(" va_start(args, fmt);\n")
cppfile:write(" ImGui::"..def.funcname.."V"..call_args..";\n")
cppfile:write(" va_end(args);\n")
--cppfile:write(" return ImGui::",def.funcname,def.call_args,";\n")
cppfile:write("}\n") cppfile:write("}\n")
else else
local args = def.args:gsub("^%(","("..def.stname.."* self,") cppfile:write("CIMGUI_API"," ",def.ret," ",def.ov_cimguiname or def.cimguiname,def.args,"\n")
cppfile:write("{\n")
cppfile:write(" return "..castret..ptret.."ImGui::",def.funcname,def.call_args,";\n")
cppfile:write("}\n")
end
else
local empty = def.args:match("^%(%)") --no args
local imgui_stname = embeded_structs[def.stname] or def.stname
local args = def.args:gsub("^%(","("..imgui_stname.."* self"..(empty and "" or ","))
if def.isvararg then
local call_args = def.call_args:gsub("%.%.%.","args")
cppfile:write("CIMGUI_API"," ",def.ret," ",def.ov_cimguiname or def.cimguiname,args,"\n") cppfile:write("CIMGUI_API"," ",def.ret," ",def.ov_cimguiname or def.cimguiname,args,"\n")
cppfile:write("{\n") cppfile:write("{\n")
cppfile:write(" return self->",def.funcname,def.call_args,";\n") cppfile:write(" va_list args;\n")
cppfile:write(" va_start(args, fmt);\n")
cppfile:write(" self->"..def.funcname.."V"..call_args..";\n")
cppfile:write(" va_end(args);\n")
--cppfile:write(" return self->",def.funcname,def.call_args,";\n")
cppfile:write("}\n") cppfile:write("}\n")
else
cppfile:write("CIMGUI_API"," ",def.ret," ",def.ov_cimguiname or def.cimguiname,args,"\n")
cppfile:write("{\n")
cppfile:write(" return "..castret..ptret.."self->",def.funcname,def.call_args,";\n")
cppfile:write("}\n")
end
end end
end end
--end --end

View File

@@ -713,36 +713,6 @@ struct ImFont
int MetricsTotalSurface; int MetricsTotalSurface;
}; };
typedef struct ImFont ImFont; typedef struct ImFont ImFont;
struct GlyphRangesBuilder
{
ImVector/*<unsigned char>*/ UsedChars;
};
typedef struct GlyphRangesBuilder GlyphRangesBuilder;
struct CustomRect
{
unsigned int ID;
unsigned short Width, Height;
unsigned short X, Y;
float GlyphAdvanceX;
ImVec2 GlyphOffset;
ImFont* Font;
};
typedef struct CustomRect CustomRect;
struct TextRange
{
const char* b;
const char* e;
};
typedef struct TextRange TextRange;
struct Pair
{
ImGuiID key;
union { int val_i; float val_f; void* val_p; };
};
typedef struct Pair Pair;
#endif //IMGUI_STRUCTS_INCLUDED #endif //IMGUI_STRUCTS_INCLUDED
//////////////// END AUTOGENERATED SEGMENT //////////////// END AUTOGENERATED SEGMENT