2021-11-11 21:22:24 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								// dear imgui: Renderer + Platform Backend for Allegro 5
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// (Info: Allegro 5 is a cross-platform general purpose library for handling windows, inputs, graphics, etc.)
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Implemented features:
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  [X] Renderer: User texture binding. Use 'ALLEGRO_BITMAP*' as ImTextureID. Read the FAQ about ImTextureID!
  
						 
					
						
							
								
									
										
										
										
											2025-02-16 16:07:27 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								//  [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy ALLEGRO_KEY_* values are obsolete since 1.87 and not supported since 1.91.5]
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  [X] Platform: Clipboard support (from Allegro 5.1.12).
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Missing features or Issues:
  
						 
					
						
							
								
									
										
										
										
											2021-11-11 21:22:24 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								//  [ ] Renderer: The renderer is suboptimal as we need to unindex our buffers and convert vertices manually.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//  [ ] Platform: Missing gamepad support.
  
						 
					
						
							
								
									
										
										
										
											2025-02-16 16:07:27 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								//  [ ] Renderer: Multi-viewport support (multiple windows).
  
						 
					
						
							
								
									
										
										
										
											2021-11-11 21:22:24 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-14 17:44:25 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
  
						 
					
						
							
								
									
										
										
										
											2025-02-16 16:07:27 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Learn about Dear ImGui:
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// - FAQ                  https://dearimgui.com/faq
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// - Getting Started      https://dearimgui.com/getting-started
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// - Documentation        https://dearimgui.com/docs (same as your local docs/ folder).
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// - Introduction, links and more at the top of imgui.cpp
  
						 
					
						
							
								
									
										
										
										
											2021-11-11 21:22:24 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# pragma once 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "imgui.h"      // IMGUI_IMPL_API 
  
						 
					
						
							
								
									
										
										
										
											2025-02-16 16:07:27 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# ifndef IMGUI_DISABLE 
  
						 
					
						
							
								
									
										
										
										
											2021-11-11 21:22:24 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								struct  ALLEGRO_DISPLAY ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								union  ALLEGRO_EVENT ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-16 16:07:27 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Follow "Getting Started" link and check examples/ folder to learn about using backends!
  
						 
					
						
							
								
									
										
										
										
											2021-11-11 21:22:24 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								IMGUI_IMPL_API  bool      ImGui_ImplAllegro5_Init ( ALLEGRO_DISPLAY *  display ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								IMGUI_IMPL_API  void      ImGui_ImplAllegro5_Shutdown ( ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								IMGUI_IMPL_API  void      ImGui_ImplAllegro5_NewFrame ( ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								IMGUI_IMPL_API  void      ImGui_ImplAllegro5_RenderDrawData ( ImDrawData *  draw_data ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								IMGUI_IMPL_API  bool      ImGui_ImplAllegro5_ProcessEvent ( ALLEGRO_EVENT *  event ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Use if you want to reset your rendering device without losing Dear ImGui state.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								IMGUI_IMPL_API  bool      ImGui_ImplAllegro5_CreateDeviceObjects ( ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								IMGUI_IMPL_API  void      ImGui_ImplAllegro5_InvalidateDeviceObjects ( ) ;  
						 
					
						
							
								
									
										
										
										
											2025-02-16 16:07:27 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif  // #ifndef IMGUI_DISABLE