mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-13 13:18:31 +01:00
Merge branch 'docking_inter'
This commit is contained in:
@@ -6,27 +6,28 @@ endif(WIN32)
|
|||||||
#general settings
|
#general settings
|
||||||
|
|
||||||
|
|
||||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../imgui/backends)
|
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../imgui/backends)
|
||||||
set(BAKENDS_FOLDER "../imgui/backends/")
|
set(BAKENDS_FOLDER "../../imgui/backends/")
|
||||||
else()
|
else()
|
||||||
set(BAKENDS_FOLDER "../imgui/examples/")
|
set(BAKENDS_FOLDER "../../imgui/examples/")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../imgui/imgui_tables.cpp)
|
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../imgui/imgui_tables.cpp)
|
||||||
set(TABLES_SOURCE "../imgui/imgui_tables.cpp")
|
set(TABLES_SOURCE "../../imgui/imgui_tables.cpp")
|
||||||
else()
|
else()
|
||||||
set(TABLES_SOURCE "")
|
set(TABLES_SOURCE "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include_directories(../imgui)
|
include_directories(../../imgui)
|
||||||
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
|
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
|
||||||
|
|
||||||
include_directories(../)
|
include_directories(../../)
|
||||||
set(IMGUI_SOURCES ../cimgui.cpp
|
set(IMGUI_SOURCES
|
||||||
../imgui/imgui.cpp
|
../../cimgui.cpp
|
||||||
../imgui/imgui_draw.cpp
|
../../imgui/imgui.cpp
|
||||||
../imgui/imgui_demo.cpp
|
../../imgui/imgui_draw.cpp
|
||||||
../imgui/imgui_widgets.cpp
|
../../imgui/imgui_demo.cpp
|
||||||
|
../../imgui/imgui_widgets.cpp
|
||||||
${TABLES_SOURCE}
|
${TABLES_SOURCE}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -47,13 +48,13 @@ option(IMGUI_FREETYPE "add Freetype2" OFF)
|
|||||||
if(IMGUI_FREETYPE)
|
if(IMGUI_FREETYPE)
|
||||||
FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH})
|
FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH})
|
||||||
list(APPEND IMGUI_LIBRARIES freetype)
|
list(APPEND IMGUI_LIBRARIES freetype)
|
||||||
list(APPEND IMGUI_SOURCES ../imgui/misc/freetype/imgui_freetype.cpp)
|
list(APPEND IMGUI_SOURCES ../../imgui/misc/freetype/imgui_freetype.cpp)
|
||||||
add_definitions("-DCIMGUI_FREETYPE=1")
|
add_definitions("-DCIMGUI_FREETYPE=1")
|
||||||
endif(IMGUI_FREETYPE)
|
endif(IMGUI_FREETYPE)
|
||||||
|
|
||||||
#opengl3
|
#opengl3
|
||||||
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_opengl3.cpp)
|
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_opengl3.cpp)
|
||||||
include_directories(../imgui/examples/libs/gl3w)
|
include_directories(../../imgui/examples/libs/gl3w)
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
list(APPEND IMGUI_LIBRARIES opengl32)
|
list(APPEND IMGUI_LIBRARIES opengl32)
|
||||||
else(WIN32)#Unix
|
else(WIN32)#Unix
|
||||||
@@ -97,8 +98,9 @@ add_library(cimgui_sdl SHARED ${IMGUI_SOURCES})
|
|||||||
target_link_libraries(cimgui_sdl ${IMGUI_LIBRARIES} ${IMGUI_SDL_LIBRARY})
|
target_link_libraries(cimgui_sdl ${IMGUI_LIBRARIES} ${IMGUI_SDL_LIBRARY})
|
||||||
|
|
||||||
#using library
|
#using library
|
||||||
include_directories(../generator/output/)
|
include_directories(../../generator/output/)
|
||||||
add_executable(test_sdl main.c)
|
add_executable(test_sdl main.c)
|
||||||
|
target_compile_definitions(test_sdl PUBLIC -DCIMGUI_USE_OPENGL3 -DCIMGUI_USE_SDL)
|
||||||
if (MINGW)
|
if (MINGW)
|
||||||
target_link_options(test_sdl PRIVATE "-mconsole")
|
target_link_options(test_sdl PRIVATE "-mconsole")
|
||||||
endif()
|
endif()
|
@@ -114,7 +114,7 @@ int main(int argc, char* argv[])
|
|||||||
|
|
||||||
// start imgui frame
|
// start imgui frame
|
||||||
ImGui_ImplOpenGL3_NewFrame();
|
ImGui_ImplOpenGL3_NewFrame();
|
||||||
ImGui_ImplSDL2_NewFrame(window);
|
ImGui_ImplSDL2_NewFrame();
|
||||||
igNewFrame();
|
igNewFrame();
|
||||||
|
|
||||||
if (showDemoWindow)
|
if (showDemoWindow)
|
@@ -421,7 +421,7 @@ if #implementations > 0 then
|
|||||||
parser2 = cpp2ffi.Parser()
|
parser2 = cpp2ffi.Parser()
|
||||||
|
|
||||||
local config = require"config_generator"
|
local config = require"config_generator"
|
||||||
|
local impl_str = ""
|
||||||
for i,impl in ipairs(implementations) do
|
for i,impl in ipairs(implementations) do
|
||||||
local source = backends_folder .. [[imgui_impl_]].. impl .. ".h "
|
local source = backends_folder .. [[imgui_impl_]].. impl .. ".h "
|
||||||
local locati = [[imgui_impl_]].. impl
|
local locati = [[imgui_impl_]].. impl
|
||||||
@@ -439,14 +439,21 @@ if #implementations > 0 then
|
|||||||
|
|
||||||
local defines = parser2:take_lines(CPRE..extra_defines..extra_includes..source, {locati}, COMPILER)
|
local defines = parser2:take_lines(CPRE..extra_defines..extra_includes..source, {locati}, COMPILER)
|
||||||
|
|
||||||
|
local parser3 = cpp2ffi.Parser()
|
||||||
|
parser3:take_lines(CPRE..extra_defines..extra_includes..source, {locati}, COMPILER)
|
||||||
|
parser3:do_parse()
|
||||||
|
local cfuncsstr = func_header_impl_generate(parser3)
|
||||||
|
local cstructstr1,cstructstr2 = parser3.structs_and_enums[1], parser3.structs_and_enums[2]
|
||||||
|
impl_str = impl_str .. "#ifdef CIMGUI_USE_".. string.upper(impl).."\n" .. cstructstr1 .. cstructstr2 .. cfuncsstr .. "\n#endif\n"
|
||||||
end
|
end
|
||||||
|
|
||||||
parser2:do_parse()
|
parser2:do_parse()
|
||||||
|
|
||||||
-- save ./cimgui_impl.h
|
-- save ./cimgui_impl.h
|
||||||
local cfuncsstr = func_header_impl_generate(parser2)
|
--local cfuncsstr = func_header_impl_generate(parser2)
|
||||||
local cstructstr1,cstructstr2 = parser2.structs_and_enums[1], parser2.structs_and_enums[2]
|
--local cstructstr1,cstructstr2 = parser2.structs_and_enums[1], parser2.structs_and_enums[2]
|
||||||
save_data("./output/cimgui_impl.h",cstructstr1,cstructstr2,cfuncsstr)
|
--save_data("./output/cimgui_impl.h",cstructstr1,cstructstr2,cfuncsstr)
|
||||||
|
save_data("./output/cimgui_impl.h",impl_str)
|
||||||
|
|
||||||
----------save fundefs in impl_definitions.lua for using in bindings
|
----------save fundefs in impl_definitions.lua for using in bindings
|
||||||
save_data("./output/impl_definitions.lua",serializeTableF(parser2.defsT))
|
save_data("./output/impl_definitions.lua",serializeTableF(parser2.defsT))
|
||||||
|
@@ -1,14 +1,9 @@
|
|||||||
|
#ifdef CIMGUI_USE_GLFW
|
||||||
|
|
||||||
typedef struct GLFWwindow GLFWwindow;
|
typedef struct GLFWwindow GLFWwindow;
|
||||||
typedef struct GLFWmonitor GLFWmonitor;
|
typedef struct GLFWmonitor GLFWmonitor;
|
||||||
typedef struct SDL_Window SDL_Window;
|
|
||||||
typedef struct SDL_Renderer SDL_Renderer;
|
|
||||||
struct GLFWwindow;
|
struct GLFWwindow;
|
||||||
struct GLFWmonitor;
|
struct GLFWmonitor;CIMGUI_API bool ImGui_ImplGlfw_InitForOpenGL(GLFWwindow* window,bool install_callbacks);
|
||||||
|
|
||||||
struct SDL_Window;
|
|
||||||
struct SDL_Renderer;
|
|
||||||
typedef union SDL_Event SDL_Event;CIMGUI_API bool ImGui_ImplGlfw_InitForOpenGL(GLFWwindow* window,bool install_callbacks);
|
|
||||||
CIMGUI_API bool ImGui_ImplGlfw_InitForVulkan(GLFWwindow* window,bool install_callbacks);
|
CIMGUI_API bool ImGui_ImplGlfw_InitForVulkan(GLFWwindow* window,bool install_callbacks);
|
||||||
CIMGUI_API bool ImGui_ImplGlfw_InitForOther(GLFWwindow* window,bool install_callbacks);
|
CIMGUI_API bool ImGui_ImplGlfw_InitForOther(GLFWwindow* window,bool install_callbacks);
|
||||||
CIMGUI_API void ImGui_ImplGlfw_Shutdown(void);
|
CIMGUI_API void ImGui_ImplGlfw_Shutdown(void);
|
||||||
@@ -23,6 +18,9 @@ CIMGUI_API void ImGui_ImplGlfw_ScrollCallback(GLFWwindow* window,double xoffset,
|
|||||||
CIMGUI_API void ImGui_ImplGlfw_KeyCallback(GLFWwindow* window,int key,int scancode,int action,int mods);
|
CIMGUI_API void ImGui_ImplGlfw_KeyCallback(GLFWwindow* window,int key,int scancode,int action,int mods);
|
||||||
CIMGUI_API void ImGui_ImplGlfw_CharCallback(GLFWwindow* window,unsigned int c);
|
CIMGUI_API void ImGui_ImplGlfw_CharCallback(GLFWwindow* window,unsigned int c);
|
||||||
CIMGUI_API void ImGui_ImplGlfw_MonitorCallback(GLFWmonitor* monitor,int event);
|
CIMGUI_API void ImGui_ImplGlfw_MonitorCallback(GLFWmonitor* monitor,int event);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#ifdef CIMGUI_USE_OPENGL3
|
||||||
CIMGUI_API bool ImGui_ImplOpenGL3_Init(const char* glsl_version);
|
CIMGUI_API bool ImGui_ImplOpenGL3_Init(const char* glsl_version);
|
||||||
CIMGUI_API void ImGui_ImplOpenGL3_Shutdown(void);
|
CIMGUI_API void ImGui_ImplOpenGL3_Shutdown(void);
|
||||||
CIMGUI_API void ImGui_ImplOpenGL3_NewFrame(void);
|
CIMGUI_API void ImGui_ImplOpenGL3_NewFrame(void);
|
||||||
@@ -31,6 +29,9 @@ CIMGUI_API bool ImGui_ImplOpenGL3_CreateFontsTexture(void);
|
|||||||
CIMGUI_API void ImGui_ImplOpenGL3_DestroyFontsTexture(void);
|
CIMGUI_API void ImGui_ImplOpenGL3_DestroyFontsTexture(void);
|
||||||
CIMGUI_API bool ImGui_ImplOpenGL3_CreateDeviceObjects(void);
|
CIMGUI_API bool ImGui_ImplOpenGL3_CreateDeviceObjects(void);
|
||||||
CIMGUI_API void ImGui_ImplOpenGL3_DestroyDeviceObjects(void);
|
CIMGUI_API void ImGui_ImplOpenGL3_DestroyDeviceObjects(void);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#ifdef CIMGUI_USE_OPENGL2
|
||||||
CIMGUI_API bool ImGui_ImplOpenGL2_Init(void);
|
CIMGUI_API bool ImGui_ImplOpenGL2_Init(void);
|
||||||
CIMGUI_API void ImGui_ImplOpenGL2_Shutdown(void);
|
CIMGUI_API void ImGui_ImplOpenGL2_Shutdown(void);
|
||||||
CIMGUI_API void ImGui_ImplOpenGL2_NewFrame(void);
|
CIMGUI_API void ImGui_ImplOpenGL2_NewFrame(void);
|
||||||
@@ -39,7 +40,15 @@ CIMGUI_API bool ImGui_ImplOpenGL2_CreateFontsTexture(void);
|
|||||||
CIMGUI_API void ImGui_ImplOpenGL2_DestroyFontsTexture(void);
|
CIMGUI_API void ImGui_ImplOpenGL2_DestroyFontsTexture(void);
|
||||||
CIMGUI_API bool ImGui_ImplOpenGL2_CreateDeviceObjects(void);
|
CIMGUI_API bool ImGui_ImplOpenGL2_CreateDeviceObjects(void);
|
||||||
CIMGUI_API void ImGui_ImplOpenGL2_DestroyDeviceObjects(void);
|
CIMGUI_API void ImGui_ImplOpenGL2_DestroyDeviceObjects(void);
|
||||||
CIMGUI_API bool ImGui_ImplSDL2_InitForOpenGL(SDL_Window* window,void* sdl_gl_context);
|
|
||||||
|
#endif
|
||||||
|
#ifdef CIMGUI_USE_SDL
|
||||||
|
|
||||||
|
typedef struct SDL_Window SDL_Window;
|
||||||
|
typedef struct SDL_Renderer SDL_Renderer;
|
||||||
|
struct SDL_Window;
|
||||||
|
struct SDL_Renderer;
|
||||||
|
typedef union SDL_Event SDL_Event;CIMGUI_API bool ImGui_ImplSDL2_InitForOpenGL(SDL_Window* window,void* sdl_gl_context);
|
||||||
CIMGUI_API bool ImGui_ImplSDL2_InitForVulkan(SDL_Window* window);
|
CIMGUI_API bool ImGui_ImplSDL2_InitForVulkan(SDL_Window* window);
|
||||||
CIMGUI_API bool ImGui_ImplSDL2_InitForD3D(SDL_Window* window);
|
CIMGUI_API bool ImGui_ImplSDL2_InitForD3D(SDL_Window* window);
|
||||||
CIMGUI_API bool ImGui_ImplSDL2_InitForMetal(SDL_Window* window);
|
CIMGUI_API bool ImGui_ImplSDL2_InitForMetal(SDL_Window* window);
|
||||||
@@ -47,3 +56,5 @@ CIMGUI_API bool ImGui_ImplSDL2_InitForSDLRenderer(SDL_Window* window,SDL_Rendere
|
|||||||
CIMGUI_API void ImGui_ImplSDL2_Shutdown(void);
|
CIMGUI_API void ImGui_ImplSDL2_Shutdown(void);
|
||||||
CIMGUI_API void ImGui_ImplSDL2_NewFrame(void);
|
CIMGUI_API void ImGui_ImplSDL2_NewFrame(void);
|
||||||
CIMGUI_API bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event);
|
CIMGUI_API bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
Reference in New Issue
Block a user