1 // dear imgui: Renderer Backend for SDL_Renderer
2 // (Requires: SDL 2.0.17+)
3 
4 // Important to understand: SDL_Renderer is an _optional_ component of SDL. We do not recommend you use SDL_Renderer
5 // because it provide a rather limited API to the end-user. We provide this backend for the sake of completeness.
6 // For a multi-platform app consider using e.g. SDL+DirectX on Windows and SDL+OpenGL on Linux/OSX.
7 
8 // Implemented features:
9 //  [X] Renderer: User texture binding. Use 'SDL_Texture*' as ImTextureID. Read the FAQ about ImTextureID!
10 // Missing features:
11 //  [ ] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices.
12 
13 #pragma once
14 #include "imgui.h"      // IMGUI_IMPL_API
15 
16 struct SDL_Renderer;
17 
18 IMGUI_IMPL_API bool     ImGui_ImplSDLRenderer_Init(SDL_Renderer* renderer);
19 IMGUI_IMPL_API void     ImGui_ImplSDLRenderer_Shutdown();
20 IMGUI_IMPL_API void     ImGui_ImplSDLRenderer_NewFrame();
21 IMGUI_IMPL_API void     ImGui_ImplSDLRenderer_RenderDrawData(ImDrawData* draw_data);
22 
23 // Called by Init/NewFrame/Shutdown
24 IMGUI_IMPL_API bool     ImGui_ImplSDLRenderer_CreateFontsTexture();
25 IMGUI_IMPL_API void     ImGui_ImplSDLRenderer_DestroyFontsTexture();
26 IMGUI_IMPL_API bool     ImGui_ImplSDLRenderer_CreateDeviceObjects();
27 IMGUI_IMPL_API void     ImGui_ImplSDLRenderer_DestroyDeviceObjects();
28