This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
addons:functions:imgui [2016/06/27 04:32] atom0s |
addons:functions:imgui [2016/06/27 21:37] (current) atom0s |
||
---|---|---|---|
Line 50: | Line 50: | ||
* <color green>float GetWindowContentRegionWidth(void);</color>\\ | * <color green>float GetWindowContentRegionWidth(void);</color>\\ | ||
* <color red>ImDrawList* GetWindowDrawList(void);</color>\\ | * <color red>ImDrawList* GetWindowDrawList(void);</color>\\ | ||
- | * Not implemented currently. | ||
* <color green>ImVec2 GetWindowPos(void);</color>\\ | * <color green>ImVec2 GetWindowPos(void);</color>\\ | ||
* <color green>ImVec2 GetWindowSize(void);</color>\\ | * <color green>ImVec2 GetWindowSize(void);</color>\\ | ||
Line 62: | Line 61: | ||
* <color green>void SetNextWindowSize(const ImVec2& size, ImGuiSetCond cond = 0);</color>\\ | * <color green>void SetNextWindowSize(const ImVec2& size, ImGuiSetCond cond = 0);</color>\\ | ||
* <color green>void SetNextWindowSizeConstraints(const ImVec2& size_min, const ImVec2& size_max, ImGuiSizeConstraintCallback custom_callback = NULL, void* custom_callback_data = NULL);</color>\\ | * <color green>void SetNextWindowSizeConstraints(const ImVec2& size_min, const ImVec2& size_max, ImGuiSizeConstraintCallback custom_callback = NULL, void* custom_callback_data = NULL);</color>\\ | ||
- | * Callbacks are not implemented. | + | * callback is implemented as a string. It is the name to a Lua function to call when the callback is invoked. (custom_callback_data is not implemented.) |
* <color green>void SetNextWindowContentSize(const ImVec2& size);</color>\\ | * <color green>void SetNextWindowContentSize(const ImVec2& size);</color>\\ | ||
* <color green>void SetNextWindowContentWidth(float width);</color>\\ | * <color green>void SetNextWindowContentWidth(float width);</color>\\ | ||
Line 87: | Line 86: | ||
* <color red>void SetStateStorage(ImGuiStorage* tree);</color>\\ | * <color red>void SetStateStorage(ImGuiStorage* tree);</color>\\ | ||
* <color red>ImGuiStorage* GetStateStorage(void);</color>\\ | * <color red>ImGuiStorage* GetStateStorage(void);</color>\\ | ||
- | * Not implemented currently. | ||
* <color green>void PushFont(ImFont* font);</color>\\ | * <color green>void PushFont(ImFont* font);</color>\\ | ||
Line 97: | Line 95: | ||
* <color green>void PopStyleVar(int count = 1);</color>\\ | * <color green>void PopStyleVar(int count = 1);</color>\\ | ||
* <color red>ImFont* GetFont(void);</color>\\ | * <color red>ImFont* GetFont(void);</color>\\ | ||
- | * Not implemented currently. | ||
* <color green>float GetFontSize(void);</color>\\ | * <color green>float GetFontSize(void);</color>\\ | ||
* <color green>ImVec2 GetFontTexUvWhitePixel(void);</color>\\ | * <color green>ImVec2 GetFontTexUvWhitePixel(void);</color>\\ | ||
Line 178: | Line 175: | ||
* <color green>bool RadioButton(const char* label, int* v, int v_button);</color>\\ | * <color green>bool RadioButton(const char* label, int* v, int v_button);</color>\\ | ||
* <color red>bool Combo(const char* label, int* current_item, const char%%**%% items, int items_count, int height_in_items = -1);</color>\\ | * <color red>bool Combo(const char* label, int* current_item, const char%%**%% items, int items_count, int height_in_items = -1);</color>\\ | ||
- | * Not implemented currently. | ||
* <color green>bool Combo(const char* label, int* current_item, const char* items_separated_by_zeros, int height_in_items = -1);</color>\\ | * <color green>bool Combo(const char* label, int* current_item, const char* items_separated_by_zeros, int height_in_items = -1);</color>\\ | ||
* <color red>bool Combo(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 = -1);</color>\\ | * <color red>bool Combo(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 = -1);</color>\\ | ||
- | * Not implemented currently. | ||
* <color green>bool ColorButton(const ImVec4& col, bool small_height = false, bool outline_border = true);</color>\\ | * <color green>bool ColorButton(const ImVec4& col, bool small_height = false, bool outline_border = true);</color>\\ | ||
* <color green>bool ColorEdit3(const char* label, float col[3]);</color>\\ | * <color green>bool ColorEdit3(const char* label, float col[3]);</color>\\ | ||
* <color green>bool ColorEdit4(const char* label, float col[4], bool show_alpha = true);</color>\\ | * <color green>bool ColorEdit4(const char* label, float col[4], bool show_alpha = true);</color>\\ | ||
* <color green>void ColorEditMode(ImGuiColorEditMode mode);</color>\\ | * <color green>void ColorEditMode(ImGuiColorEditMode mode);</color>\\ | ||
- | * <color red>void PlotLines(const char* label, const float* values, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0), int stride = sizeof(float));</color>\\ | + | * <color green>void PlotLines(const char* label, const float* values, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0), int stride = sizeof(float));</color>\\ |
+ | * Implemented in a custom manner to support an array of float values, using a Lua table. Call is setup as: | ||
+ | * imgui.PlotLines(label, values_table, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size_x, graph_size_y, stride); | ||
+ | * Default values are still present starting at values_offset. | ||
* <color red>void PlotLines(const char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0));</color>\\ | * <color red>void PlotLines(const char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0));</color>\\ | ||
- | * <color red>void PlotHistogram(const char* label, const float* values, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0), int stride = sizeof(float));</color>\\ | + | * <color green>void PlotHistogram(const char* label, const float* values, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0), int stride = sizeof(float));</color>\\ |
+ | * Implemented in a custom manner to support an array of float values, using a Lua table. Call is setup as: | ||
+ | * imgui.PlotHistogram(label, values_table, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size_x, graph_size_y, stride); | ||
+ | * Default values are still present starting at values_offset. | ||
* <color red>void PlotHistogram(const char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0));</color>\\ | * <color red>void PlotHistogram(const char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0));</color>\\ | ||
- | * Not implemented currently. | ||
* <color green>void ProgressBar(float fraction, const ImVec2& size_arg = ImVec2(-1, 0), const char* overlay = NULL);</color>\\ | * <color green>void ProgressBar(float fraction, const ImVec2& size_arg = ImVec2(-1, 0), const char* overlay = NULL);</color>\\ | ||
Line 253: | Line 253: | ||
* <color green>bool ListBox(const char* label, int* current_item, const char* items_separated_by_zeros, int height_in_items = -1);</color>\\ | * <color green>bool ListBox(const char* label, int* current_item, const char* items_separated_by_zeros, int height_in_items = -1);</color>\\ | ||
* <color red>bool ListBox(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 = -1);</color>\\ | * <color red>bool ListBox(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 = -1);</color>\\ | ||
- | * Not implemented currently. | ||
* <color green>bool ListBoxHeader(const char* label, const ImVec2& size = ImVec2(0, 0));</color>\\ | * <color green>bool ListBoxHeader(const char* label, const ImVec2& size = ImVec2(0, 0));</color>\\ | ||
* <color green>bool ListBoxHeader(const char* label, int items_count, int height_in_items = -1);</color>\\ | * <color green>bool ListBoxHeader(const char* label, int items_count, int height_in_items = -1);</color>\\ | ||
Line 332: | Line 331: | ||
* Not implementing this unless its requested. | * Not implementing this unless its requested. | ||
* <color red>ImVec2 CalcTextSize(const char* text, const char* text_end = NULL, bool hide_text_after_double_hash = false, float wrap_width = -1.0f);</color>\\ | * <color red>ImVec2 CalcTextSize(const char* text, const char* text_end = NULL, bool hide_text_after_double_hash = false, float wrap_width = -1.0f);</color>\\ | ||
- | * Not implementing this unless its requested. | + | * Not implementing this unless it's requested. |
* <color red>void CalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end);</color>\\ | * <color red>void CalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end);</color>\\ | ||
- | * Not implementing this unless its requested. | + | * Not implementing this unless it's requested. |
* <color green>bool BeginChildFrame(ImGuiID id, const ImVec2& size, ImGuiWindowFlags extra_flags = 0);</color>\\ | * <color green>bool BeginChildFrame(ImGuiID id, const ImVec2& size, ImGuiWindowFlags extra_flags = 0);</color>\\ | ||
Line 389: | Line 388: | ||
===== Notes ===== | ===== Notes ===== | ||
- | InputText / InputTextMultiline - The callback, if present, should be a string that points to a callback function like this: | + | **InputText / InputTextMultiline** - The callback, if present, should be a string that points to a callback function like this: |
+ | - The callbacks data is a [[imgui.ImGuiTextEditCallbackData]] structure instance. | ||
<code lua> | <code lua> | ||
Line 402: | Line 402: | ||
</code> | </code> | ||
+ | **SetNextWindowSizeConstraints** - The callback, if present, should be a string that points to a callback function like this: | ||
+ | - The callbacks data is a [[imgui.ImGuiSizeConstraintCallbackData]] structure instance. | ||
+ | |||
+ | <code lua> | ||
+ | function SquareResizeConstraint(data) | ||
+ | data.DesiredSize = ImVec2(math.max(data.DesiredSize.x, data.DesiredSize.y), math.max(data.DesiredSize.x, data.DesiredSize.y)); | ||
+ | end | ||
+ | |||
+ | imgui.SetNextWindowSizeConstraints(0, 0, float_max, float_max, 'SquareResizeConstraint'); | ||
+ | </code> |