mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 13:11:05 +01:00 
			
		
		
		
	Merge remote-tracking branch 'origin' into 2015-04-indexed-rendering
Conflicts: imgui.cpp
This commit is contained in:
		
							
								
								
									
										25
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								imgui.h
									
									
									
									
									
								
							| @@ -267,6 +267,7 @@ namespace ImGui | ||||
|  | ||||
|     // Widgets: Input | ||||
|     IMGUI_API bool          InputText(const char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags = 0, ImGuiTextEditCallback callback = NULL, void* user_data = NULL); | ||||
|     IMGUI_API bool          InputTextMultiline(const char* label, char* buf, size_t buf_size, const ImVec2& size = ImVec2(0,0), ImGuiInputTextFlags flags = 0, ImGuiTextEditCallback callback = NULL, void* user_data = NULL); | ||||
|     IMGUI_API bool          InputFloat(const char* label, float* v, float step = 0.0f, float step_fast = 0.0f, int decimal_precision = -1, ImGuiInputTextFlags extra_flags = 0); | ||||
|     IMGUI_API bool          InputFloat2(const char* label, float v[2], int decimal_precision = -1, ImGuiInputTextFlags extra_flags = 0); | ||||
|     IMGUI_API bool          InputFloat3(const char* label, float v[3], int decimal_precision = -1, ImGuiInputTextFlags extra_flags = 0); | ||||
| @@ -350,11 +351,13 @@ namespace ImGui | ||||
|     IMGUI_API bool          IsRootWindowFocused();                                              // is current root window focused (top parent window in case of child windows) | ||||
|     IMGUI_API bool          IsRootWindowOrAnyChildFocused();                                    // is current root window or any of its child (including current window) focused | ||||
|     IMGUI_API bool          IsRectVisible(const ImVec2& size);                                  // test if rectangle of given size starting from cursor pos is visible (not clipped). to perform coarse clipping on user's side (as an optimization) | ||||
|     IMGUI_API bool          IsKeyDown(int key_index);                                           // key_index into the keys_down[512] array, imgui doesn't know the semantic of each entry | ||||
|     IMGUI_API bool          IsKeyDown(int key_index);                                           // key_index into the keys_down[512] array, imgui doesn't know the semantic of each entry, uses your own indices! | ||||
|     IMGUI_API bool          IsKeyPressed(int key_index, bool repeat = true);                    // " | ||||
|     IMGUI_API bool          IsKeyReleased(int key_index);                                       // " | ||||
|     IMGUI_API bool          IsMouseDown(int button); | ||||
|     IMGUI_API bool          IsMouseClicked(int button, bool repeat = false); | ||||
|     IMGUI_API bool          IsMouseDoubleClicked(int button); | ||||
|     IMGUI_API bool          IsMouseReleased(int button); | ||||
|     IMGUI_API bool          IsMouseHoveringWindow();                                            // is mouse hovering current window ("window" in API names always refer to current window) | ||||
|     IMGUI_API bool          IsMouseHoveringAnyWindow();                                         // is mouse hovering any active imgui window | ||||
|     IMGUI_API bool          IsMouseHoveringRect(const ImVec2& rect_min, const ImVec2& rect_max);// is mouse hovering given bounding rect | ||||
| @@ -372,7 +375,7 @@ namespace ImGui | ||||
|     IMGUI_API ImVec2        CalcTextSize(const char* text, const char* text_end = NULL, bool hide_text_after_double_hash = false, float wrap_width = -1.0f); | ||||
|     IMGUI_API void          CalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end);    // calculate coarse clipping for large list of evenly sized items. Prefer using the ImGuiListClipper higher-level helper if you can. | ||||
|  | ||||
|     IMGUI_API void          BeginChildFrame(ImGuiID id, const ImVec2& size);                    // helper to create a child window / scrolling region that looks like a normal widget frame | ||||
|     IMGUI_API bool          BeginChildFrame(ImGuiID id, const ImVec2& size);                    // helper to create a child window / scrolling region that looks like a normal widget frame | ||||
|     IMGUI_API void          EndChildFrame(); | ||||
|  | ||||
|     IMGUI_API ImU32         ColorConvertFloat4ToU32(const ImVec4& in); | ||||
| @@ -441,7 +444,11 @@ enum ImGuiInputTextFlags_ | ||||
|     ImGuiInputTextFlags_CallbackCompletion  = 1 << 6,   // Call user function on pressing TAB (for completion handling) | ||||
|     ImGuiInputTextFlags_CallbackHistory     = 1 << 7,   // Call user function on pressing Up/Down arrows (for history handling) | ||||
|     ImGuiInputTextFlags_CallbackAlways      = 1 << 8,   // Call user function every time | ||||
|     ImGuiInputTextFlags_CallbackCharFilter  = 1 << 9    // Call user function to filter character. Modify data->EventChar to replace/filter input, or return 1 to discard character. | ||||
|     ImGuiInputTextFlags_CallbackCharFilter  = 1 << 9,   // Call user function to filter character. Modify data->EventChar to replace/filter input, or return 1 to discard character. | ||||
|     ImGuiInputTextFlags_AllowTabInput       = 1 << 10,  // Pressing TAB input a '\t' character into the text field | ||||
|     ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 11,  // In multi-line mode, allow exiting edition by pressing Enter. Ctrl+Enter to add new line (by default adds new lines with Enter). | ||||
|     // [Internal] | ||||
|     ImGuiInputTextFlags_Multiline           = 1 << 20   // For internal use by InputTextMultiline() | ||||
| }; | ||||
|  | ||||
| // Flags for ImGui::Selectable() | ||||
| @@ -697,10 +704,13 @@ struct ImGuiIO | ||||
|     ImVec2      MouseClickedPos[5];         // Position at time of clicking | ||||
|     float       MouseClickedTime[5];        // Time of last click (used to figure out double-click) | ||||
|     bool        MouseDoubleClicked[5];      // Has mouse button been double-clicked? | ||||
|     bool        MouseReleased[5];           // Mouse button went from !Down to Down | ||||
|     bool        MouseDownOwned[5];          // Track if button was clicked inside a window. We don't request mouse capture from the application if click started outside ImGui bounds. | ||||
|     float       MouseDownTime[5];           // Time the mouse button has been down | ||||
|     float       MouseDownDuration[5];       // Duration the mouse button has been down (0.0f == just clicked) | ||||
|     float       MouseDownDurationPrev[5];   // Previous time the mouse button has been down | ||||
|     float       MouseDragMaxDistanceSqr[5]; // Squared maximum distance of how much mouse has traveled from the click point | ||||
|     float       KeysDownTime[512];          // Time the keyboard key has been down | ||||
|     float       KeysDownDuration[512];      // Duration the keyboard key has been down (0.0f == just pressed) | ||||
|     float       KeysDownDurationPrev[512];  // Previous duration the key has been down | ||||
|  | ||||
|     IMGUI_API   ImGuiIO(); | ||||
| }; | ||||
| @@ -1029,7 +1039,7 @@ struct ImDrawList | ||||
|     IMGUI_API void  AddCircle(const ImVec2& centre, float radius, ImU32 col, int num_segments = 12); | ||||
|     IMGUI_API void  AddCircleFilled(const ImVec2& centre, float radius, ImU32 col, int num_segments = 12); | ||||
|     IMGUI_API void  AddArcFast(const ImVec2& center, float radius, ImU32 col, int a_min_12, int a_max_12, bool filled = false, const ImVec2& third_point_offset = ImVec2(0,0)); // Angles in 0..12 range | ||||
|     IMGUI_API void  AddText(const ImFont* font, float font_size, const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end = NULL, float wrap_width = 0.0f, const ImVec2* cpu_clip_max = NULL); | ||||
|     IMGUI_API void  AddText(const ImFont* font, float font_size, const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end = NULL, float wrap_width = 0.0f, const ImVec4* cpu_fine_clip_rect = NULL); | ||||
|     IMGUI_API void  AddImage(ImTextureID user_texture_id, const ImVec2& a, const ImVec2& b, const ImVec2& uv0, const ImVec2& uv1, ImU32 col = 0xFFFFFFFF); | ||||
|  | ||||
|     // Advanced | ||||
| @@ -1144,9 +1154,8 @@ struct ImFont | ||||
|     // 'max_width' stops rendering after a certain width (could be turned into a 2d size). FLT_MAX to disable. | ||||
|     // 'wrap_width' enable automatic word-wrapping across multiple lines to fit into given width. 0.0f to disable. | ||||
|     IMGUI_API ImVec2            CalcTextSizeA(float size, float max_width, float wrap_width, const char* text_begin, const char* text_end = NULL, const char** remaining = NULL) const; // utf8 | ||||
|     IMGUI_API ImVec2            CalcTextSizeW(float size, float max_width, const ImWchar* text_begin, const ImWchar* text_end, const ImWchar** remaining = NULL) const;                 // wchar | ||||
|     IMGUI_API void              RenderText(float size, ImVec2 pos, ImU32 col, const ImVec4& clip_rect, const char* text_begin, const char* text_end, ImDrawList* draw_list, float wrap_width = 0.0f, const ImVec2* cpu_clip_max = NULL) const; | ||||
|     IMGUI_API const char*       CalcWordWrapPositionA(float scale, const char* text, const char* text_end, float wrap_width) const; | ||||
|     IMGUI_API void              RenderText(float size, ImVec2 pos, ImU32 col, const ImVec4& clip_rect, const char* text_begin, const char* text_end, ImDrawList* draw_list, float wrap_width = 0.0f, bool cpu_fine_clip = false) const; | ||||
| }; | ||||
|  | ||||
| //---- Include imgui_user.h at the end of imgui.h | ||||
|   | ||||
		Reference in New Issue
	
	Block a user