Examples: Allegro5, Marmalade: Moved bindings to parent folder. Renamed Allegro stuff from *A5_ to *Allegro5_

This commit is contained in:
omar 2018-02-16 23:54:57 +01:00
parent 80a8aea7e3
commit 6d0f9244b8
7 changed files with 30 additions and 30 deletions

View File

@ -5,7 +5,7 @@
#include <allegro5/allegro.h> #include <allegro5/allegro.h>
#include <allegro5/allegro_primitives.h> #include <allegro5/allegro_primitives.h>
#include "imgui.h" #include "imgui.h"
#include "imgui_impl_a5.h" #include "../imgui_impl_allegro5.h"
int main(int, char**) int main(int, char**)
{ {
@ -25,7 +25,7 @@ int main(int, char**)
// Setup ImGui binding // Setup ImGui binding
ImGui::CreateContext(); ImGui::CreateContext();
ImGuiIO& io = ImGui::GetIO(); (void)io; ImGuiIO& io = ImGui::GetIO(); (void)io;
ImGui_ImplA5_Init(display); ImGui_ImplAllegro5_Init(display);
//io.NavFlags |= ImGuiNavFlags_EnableKeyboard; // Enable Keyboard Controls //io.NavFlags |= ImGuiNavFlags_EnableKeyboard; // Enable Keyboard Controls
// Setup style // Setup style
@ -62,17 +62,17 @@ int main(int, char**)
ALLEGRO_EVENT ev; ALLEGRO_EVENT ev;
while (al_get_next_event(queue, &ev)) while (al_get_next_event(queue, &ev))
{ {
ImGui_ImplA5_ProcessEvent(&ev); ImGui_ImplAllegro5_ProcessEvent(&ev);
if (ev.type == ALLEGRO_EVENT_DISPLAY_CLOSE) if (ev.type == ALLEGRO_EVENT_DISPLAY_CLOSE)
running = false; running = false;
if (ev.type == ALLEGRO_EVENT_DISPLAY_RESIZE) if (ev.type == ALLEGRO_EVENT_DISPLAY_RESIZE)
{ {
ImGui_ImplA5_InvalidateDeviceObjects(); ImGui_ImplAllegro5_InvalidateDeviceObjects();
al_acknowledge_resize(display); al_acknowledge_resize(display);
Imgui_ImplA5_CreateDeviceObjects(); ImGui_ImplAllegro5_CreateDeviceObjects();
} }
} }
ImGui_ImplA5_NewFrame(); ImGui_ImplAllegro5_NewFrame();
// 1. Show a simple window. // 1. Show a simple window.
// Tip: if we don't call ImGui::Begin()/ImGui::End() the widgets automatically appears in a window called "Debug". // Tip: if we don't call ImGui::Begin()/ImGui::End() the widgets automatically appears in a window called "Debug".
@ -114,12 +114,12 @@ int main(int, char**)
// Rendering // Rendering
al_clear_to_color(al_map_rgba_f(clear_color.x, clear_color.y, clear_color.z, clear_color.w)); al_clear_to_color(al_map_rgba_f(clear_color.x, clear_color.y, clear_color.z, clear_color.w));
ImGui::Render(); ImGui::Render();
ImGui_ImplA5_RenderDrawData(ImGui::GetDrawData()); ImGui_ImplAllegro5_RenderDrawData(ImGui::GetDrawData());
al_flip_display(); al_flip_display();
} }
// Cleanup // Cleanup
ImGui_ImplA5_Shutdown(); ImGui_ImplAllegro5_Shutdown();
ImGui::DestroyContext(); ImGui::DestroyContext();
al_destroy_event_queue(queue); al_destroy_event_queue(queue);
al_destroy_display(display); al_destroy_display(display);

View File

@ -12,14 +12,14 @@
// CHANGELOG // CHANGELOG
// (minor and older changes stripped away, please see git history for details) // (minor and older changes stripped away, please see git history for details)
// 2018-02-16: Misc: Obsoleted the io.RenderDrawListsFn callback and exposed ImGui_ImplA5_RenderDrawData() in the .h file so you can call it yourself. // 2018-02-16: Misc: Obsoleted the io.RenderDrawListsFn callback and exposed ImGui_ImplAllegro5_RenderDrawData() in the .h file so you can call it yourself.
// 2018-02-06: Misc: Removed call to ImGui::Shutdown() which is not available from 1.60 WIP, user needs to call CreateContext/DestroyContext themselves. // 2018-02-06: Misc: Removed call to ImGui::Shutdown() which is not available from 1.60 WIP, user needs to call CreateContext/DestroyContext themselves.
// 2018-02-06: Inputs: Added mapping for ImGuiKey_Space. // 2018-02-06: Inputs: Added mapping for ImGuiKey_Space.
#include <stdint.h> // uint64_t #include <stdint.h> // uint64_t
#include <cstring> // memcpy #include <cstring> // memcpy
#include "imgui.h" #include "imgui.h"
#include "imgui_impl_a5.h" #include "imgui_impl_allegro5.h"
#include <allegro5/allegro.h> #include <allegro5/allegro.h>
#include <allegro5/allegro_primitives.h> #include <allegro5/allegro_primitives.h>
@ -43,7 +43,7 @@ struct ImDrawVertAllegro
// Render function. // Render function.
// (this used to be set in io.RenderDrawListsFn and called by ImGui::Render(), but you can now call this directly from your main loop) // (this used to be set in io.RenderDrawListsFn and called by ImGui::Render(), but you can now call this directly from your main loop)
void ImGui_ImplA5_RenderDrawData(ImDrawData* draw_data) void ImGui_ImplAllegro5_RenderDrawData(ImDrawData* draw_data)
{ {
int op, src, dst; int op, src, dst;
al_get_blender(&op, &src, &dst); al_get_blender(&op, &src, &dst);
@ -97,7 +97,7 @@ void ImGui_ImplA5_RenderDrawData(ImDrawData* draw_data)
al_set_clipping_rectangle(0, 0, al_get_display_width(g_Display), al_get_display_height(g_Display)); al_set_clipping_rectangle(0, 0, al_get_display_width(g_Display), al_get_display_height(g_Display));
} }
bool Imgui_ImplA5_CreateDeviceObjects() bool ImGui_ImplAllegro5_CreateDeviceObjects()
{ {
// Build texture atlas // Build texture atlas
ImGuiIO &io = ImGui::GetIO(); ImGuiIO &io = ImGui::GetIO();
@ -144,7 +144,7 @@ bool Imgui_ImplA5_CreateDeviceObjects()
return true; return true;
} }
void ImGui_ImplA5_InvalidateDeviceObjects() void ImGui_ImplAllegro5_InvalidateDeviceObjects()
{ {
if (g_Texture) if (g_Texture)
{ {
@ -159,7 +159,7 @@ void ImGui_ImplA5_InvalidateDeviceObjects()
} }
} }
bool ImGui_ImplA5_Init(ALLEGRO_DISPLAY* display) bool ImGui_ImplAllegro5_Init(ALLEGRO_DISPLAY* display)
{ {
g_Display = display; g_Display = display;
@ -205,16 +205,16 @@ bool ImGui_ImplA5_Init(ALLEGRO_DISPLAY* display)
return true; return true;
} }
void ImGui_ImplA5_Shutdown() void ImGui_ImplAllegro5_Shutdown()
{ {
ImGui_ImplA5_InvalidateDeviceObjects(); ImGui_ImplAllegro5_InvalidateDeviceObjects();
} }
// You can read the io.WantCaptureMouse, io.WantCaptureKeyboard flags to tell if dear imgui wants to use your inputs. // You can read the io.WantCaptureMouse, io.WantCaptureKeyboard flags to tell if dear imgui wants to use your inputs.
// - When io.WantCaptureMouse is true, do not dispatch mouse input data to your main application. // - When io.WantCaptureMouse is true, do not dispatch mouse input data to your main application.
// - When io.WantCaptureKeyboard is true, do not dispatch keyboard input data to your main application. // - When io.WantCaptureKeyboard is true, do not dispatch keyboard input data to your main application.
// Generally you may always pass all inputs to dear imgui, and hide them from your application based on those two flags. // Generally you may always pass all inputs to dear imgui, and hide them from your application based on those two flags.
bool ImGui_ImplA5_ProcessEvent(ALLEGRO_EVENT *ev) bool ImGui_ImplAllegro5_ProcessEvent(ALLEGRO_EVENT *ev)
{ {
ImGuiIO &io = ImGui::GetIO(); ImGuiIO &io = ImGui::GetIO();
@ -238,10 +238,10 @@ bool ImGui_ImplA5_ProcessEvent(ALLEGRO_EVENT *ev)
return false; return false;
} }
void ImGui_ImplA5_NewFrame() void ImGui_ImplAllegro5_NewFrame()
{ {
if (!g_Texture) if (!g_Texture)
Imgui_ImplA5_CreateDeviceObjects(); ImGui_ImplAllegro5_CreateDeviceObjects();
ImGuiIO &io = ImGui::GetIO(); ImGuiIO &io = ImGui::GetIO();

View File

@ -15,12 +15,12 @@
struct ALLEGRO_DISPLAY; struct ALLEGRO_DISPLAY;
union ALLEGRO_EVENT; union ALLEGRO_EVENT;
IMGUI_API bool ImGui_ImplA5_Init(ALLEGRO_DISPLAY* display); IMGUI_API bool ImGui_ImplAllegro5_Init(ALLEGRO_DISPLAY* display);
IMGUI_API void ImGui_ImplA5_Shutdown(); IMGUI_API void ImGui_ImplAllegro5_Shutdown();
IMGUI_API void ImGui_ImplA5_NewFrame(); IMGUI_API void ImGui_ImplAllegro5_NewFrame();
IMGUI_API void ImGui_ImplA5_RenderDrawData(ImDrawData* draw_data); IMGUI_API void ImGui_ImplAllegro5_RenderDrawData(ImDrawData* draw_data);
IMGUI_API bool ImGui_ImplA5_ProcessEvent(ALLEGRO_EVENT* event); IMGUI_API bool ImGui_ImplAllegro5_ProcessEvent(ALLEGRO_EVENT* event);
// Use if you want to reset your rendering device without losing ImGui state. // Use if you want to reset your rendering device without losing ImGui state.
IMGUI_API bool Imgui_ImplA5_CreateDeviceObjects(); IMGUI_API bool ImGui_ImplAllegro5_CreateDeviceObjects();
IMGUI_API void ImGui_ImplA5_InvalidateDeviceObjects(); IMGUI_API void ImGui_ImplAllegro5_InvalidateDeviceObjects();

View File

@ -5,7 +5,7 @@
// This file is part of ImGui // This file is part of ImGui
#include "imgui.h" #include "imgui.h"
#include "imgui_impl_marmalade.h" #include "../imgui_impl_marmalade.h"
#include <stdio.h> #include <stdio.h>
#include <s3eKeyboard.h> #include <s3eKeyboard.h>

View File

@ -34,11 +34,11 @@ files
../../imgui_draw.cpp ../../imgui_draw.cpp
../../imconfig.h ../../imconfig.h
../../imgui.h ../../imgui.h
../../imgui_internal.h ../../imgui_internal.h
["imgui","Marmalade binding"] ["imgui","Marmalade binding"]
imgui_impl_marmalade.h ../imgui_impl_marmalade.h
imgui_impl_marmalade.cpp ../imgui_impl_marmalade.cpp
main.cpp main.cpp
} }