mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	Merge branch 'addimagequad' of https://github.com/ecraven/imgui into ecraven-addimagequad
This commit is contained in:
		
							
								
								
									
										1
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								imgui.h
									
									
									
									
									
								
							| @@ -1203,6 +1203,7 @@ struct ImDrawList | ||||
|     IMGUI_API void  AddText(const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end = 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 = ImVec2(0,0), const ImVec2& uv1 = ImVec2(1,1), ImU32 col = 0xFFFFFFFF); | ||||
|     IMGUI_API void  AddImageQuad(ImTextureID user_texture_id, const ImVec2& a, const ImVec2& b, const ImVec2& c, const ImVec2& d, const ImVec2& uva = ImVec2(0,0), const ImVec2& uvb = ImVec2(1,0), const ImVec2& uvc = ImVec2(1,1), const ImVec2& uvd = ImVec2(0,1), ImU32 col = 0xFFFFFFFF); | ||||
|     IMGUI_API void  AddPolyline(const ImVec2* points, const int num_points, ImU32 col, bool closed, float thickness, bool anti_aliased); | ||||
|     IMGUI_API void  AddConvexPolyFilled(const ImVec2* points, const int num_points, ImU32 col, bool anti_aliased); | ||||
|     IMGUI_API void  AddBezierCurve(const ImVec2& pos0, const ImVec2& cp0, const ImVec2& cp1, const ImVec2& pos1, ImU32 col, float thickness, int num_segments = 0); | ||||
|   | ||||
| @@ -975,6 +975,23 @@ void ImDrawList::AddImage(ImTextureID user_texture_id, const ImVec2& a, const Im | ||||
|         PopTextureID(); | ||||
| } | ||||
|  | ||||
| void ImDrawList::AddImageQuad(ImTextureID user_texture_id, const ImVec2& a, const ImVec2& b, const ImVec2& c, const ImVec2& d, const ImVec2& uva, const ImVec2& uvb, const ImVec2& uvc, const ImVec2& uvd, ImU32 col) | ||||
| { | ||||
|     if ((col >> 24) == 0) | ||||
|         return; | ||||
|  | ||||
|     // FIXME-OPT: This is wasting draw calls. | ||||
|     const bool push_texture_id = _TextureIdStack.empty() || user_texture_id != _TextureIdStack.back(); | ||||
|     if (push_texture_id) | ||||
|         PushTextureID(user_texture_id); | ||||
|  | ||||
|     PrimReserve(6, 4); | ||||
|     PrimQuadUV(a, b, c, d, uva, uvb, uvc, uvd, col); | ||||
|  | ||||
|     if (push_texture_id) | ||||
|         PopTextureID(); | ||||
| } | ||||
|  | ||||
| //----------------------------------------------------------------------------- | ||||
| // ImDrawData | ||||
| //----------------------------------------------------------------------------- | ||||
|   | ||||
		Reference in New Issue
	
	Block a user