imgui/examples/example_allegro5
ocornut 25a9209b75 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
#	imgui_widgets.cpp
2020-08-17 23:29:17 +02:00
..
example_allegro5.vcxproj Backends: Allegro 5: Fixed horizontal scrolling direction with mouse wheel / touch pads (#3394, #2424, #1463) [@nobody-special666] 2020-08-10 15:31:48 +02:00
example_allegro5.vcxproj.filters
imconfig_allegro5.h
main.cpp Merge branch 'master' into docking 2020-06-11 11:36:38 +02:00
README.md Examples: Allegro5: updated build instructions for macOS 2019-10-07 15:52:09 +02:00

Configuration

Dear ImGui outputs 16-bit vertex indices by default. Allegro doesn't support them natively, so we have two solutions: convert the indices manually in imgui_impl_allegro5.cpp, or compile dear imgui with 32-bit indices. You can either modify imconfig.h that comes with Dear ImGui (easier), or set a C++ preprocessor option IMGUI_USER_CONFIG to find to a filename. We are providing imconfig_allegro5.h that enables 32-bit indices. Note that the back-end supports BOTH 16-bit and 32-bit indices, but 32-bit indices will be slightly faster as they won't require a manual conversion.

How to Build

On Ubuntu 14.04+ and macOS

g++ -DIMGUI_USER_CONFIG=\"examples/example_allegro5/imconfig_allegro5.h\" -I .. -I ../.. main.cpp ../imgui_impl_allegro5.cpp ../../imgui*.cpp -lallegro -lallegro_main -lallegro_primitives -o allegro5_example

On macOS, install Allegro with homebrew: brew install allegro.

On Windows with Visual Studio's CLI

You may install Allegro using vcpkg:

git clone https://github.com/Microsoft/vcpkg
cd vcpkg
.\bootstrap-vcpkg.bat
.\vcpkg install allegro5
.\vcpkg integrate install    ; optional, automatically register include/libs in Visual Studio

Build:

set ALLEGRODIR=path_to_your_allegro5_folder
cl /Zi /MD /I %ALLEGRODIR%\include /DIMGUI_USER_CONFIG=\"examples/example_allegro5/imconfig_allegro5.h\" /I .. /I ..\.. main.cpp ..\imgui_impl_allegro5.cpp ..\..\imgui*.cpp /link /LIBPATH:%ALLEGRODIR%\lib allegro-5.0.10-monolith-md.lib user32.lib