diff --git a/backend_test/example_glfw_opengl3/CMakeLists.txt b/backend_test/example_glfw_opengl3/CMakeLists.txt index f04330e..440d482 100644 --- a/backend_test/example_glfw_opengl3/CMakeLists.txt +++ b/backend_test/example_glfw_opengl3/CMakeLists.txt @@ -45,10 +45,13 @@ add_compile_definitions("IMGUI_IMPL_OPENGL_LOADER_GL3W") option(IMGUI_FREETYPE "add Freetype2" OFF) if(IMGUI_FREETYPE) + message("building with freetype") FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH}) list(APPEND IMGUI_LIBRARIES freetype) list(APPEND IMGUI_SOURCES ../../imgui/misc/freetype/imgui_freetype.cpp) - add_definitions("-DCIMGUI_FREETYPE=1") + #add_definitions("-DCIMGUI_FREETYPE=1") + add_definitions("-DIMGUI_ENABLE_FREETYPE=1") + add_definitions("-DIMGUI_ENABLE_STB_TRUETYPE=1") endif(IMGUI_FREETYPE) # opengl3 diff --git a/cimgui.cpp b/cimgui.cpp index 3f2212d..51aae1a 100644 --- a/cimgui.cpp +++ b/cimgui.cpp @@ -4,9 +4,6 @@ //with imgui_freetype.h api #include "./imgui/imgui.h" -#ifdef IMGUI_ENABLE_FREETYPE -#include "./imgui/misc/freetype/imgui_freetype.h" -#endif #include "./imgui/imgui_internal.h" #include "cimgui.h" diff --git a/cimgui.h b/cimgui.h index 8294bd1..d526d01 100644 --- a/cimgui.h +++ b/cimgui.h @@ -38,6 +38,12 @@ typedef unsigned __int64 ImU64; //typedef unsigned long long ImU64; #endif +#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS +#ifdef IMGUI_ENABLE_FREETYPE +#include "./imgui/misc/freetype/imgui_freetype.h" +#endif +#endif + #ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS diff --git a/generator/cimgui_template.cpp b/generator/cimgui_template.cpp index 7d1c6c1..cbbd991 100644 --- a/generator/cimgui_template.cpp +++ b/generator/cimgui_template.cpp @@ -1,8 +1,5 @@ #include "./imgui/imgui.h" -#ifdef IMGUI_ENABLE_FREETYPE -#include "./imgui/misc/freetype/imgui_freetype.h" -#endif #include "./imgui/imgui_internal.h" #include "cimgui.h" diff --git a/generator/cimgui_template.h b/generator/cimgui_template.h index 5beae90..ea2ebac 100644 --- a/generator/cimgui_template.h +++ b/generator/cimgui_template.h @@ -34,6 +34,12 @@ typedef unsigned __int64 ImU64; //typedef unsigned long long ImU64; #endif +#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS +#ifdef IMGUI_ENABLE_FREETYPE +#include "./imgui/misc/freetype/imgui_freetype.h" +#endif +#endif + #ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS #include "imgui_structs.h" diff --git a/generator/cpp2ffi.lua b/generator/cpp2ffi.lua index b4b6e7a..4ec277f 100644 --- a/generator/cpp2ffi.lua +++ b/generator/cpp2ffi.lua @@ -1475,6 +1475,8 @@ function M.Parser() txt = txt:gsub(k,v) end end + --clean = default in constructor (implot3d) + txt = txt:gsub("=%s*default","") --save_data("./preprocode"..tostring(self):gsub("table: ","")..".c",txt) --clean bad positioned comments inside functionD_re if self.COMMENTS_GENERATION then @@ -1557,6 +1559,7 @@ function M.Parser() local inistruct = clean_spaces(stru:match("(.-)%b{}")) --clean final: inistruct = inistruct:gsub("%s*final%s*:",":") + --local stname = stru:match("struct%s*(%S+)%s*%b{}") local stname, derived if inistruct:match":" then