Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add RmlUi to build system Not all is ready and there will be more work needed on build system, but the basic integration of RmlUi Core is done. - I've not created and linked any of the provided GL3 or SDL backends, that needs separate work - Lua bindings are blocked on mikke89/RmlUi#302 we need to find some workaround for that - Tracy integration is blocked on mikke89/RmlUi#516 * render first light * remove sdl2_image * VFS system integration * rmlui lua and sdl integration * rmlui reload support and better luaui integration * delete extra file * Temporarily switch to RmlUi branch with tracy integration fixed * data model change detection bad edition * fix for chobby support, better binds, translation table * key event handling, luaui reloading, rmlsol bug fixes * remove rml demo files * create contexts lua side * clean up comments * allow multiple rmlui contexts * pull out inner loop of processevent calls * add comment to make it clear certain events are not captured * Update RmlUi to latest git version * headless building and lua support * add lunasvg submodule * update lunasvg version * reset build option * didnt need to build lunasvg as a shared lib * fix: uint is not standard and breaks mingw compile * Rework RmlSolLua integration into build This fixes the build under mingw that didn't work because of broken linking. - Cleanup messu include_target_directories replacing with proper linking of targets. Had to fix the include target directories for lua lib - Undo merging of the public and private interfaces, and separate public interface of the library - Stop appending the include dir directly to engine include dirs and stop using absolute path based references when referencing. * Fix RmlSolLua compilation under MSVC - Designated initializers are C++20 feature, so we need to bump to that version - Element.cpp generates huge amount of sections, so adding /bigobj switch for it. * Document the mouse press check * Change size() < 1 to empty. Move setActive after processContext loop * Deeper MouseHandler integration for processing mouse events * Fix software rendered mouse cursor * Missed half of the move of this comment * make lua binding for RemoveContext * do less bullying of the RmlSolLua lib instead set up our own plugin to keep track of created/removed contexts * attempt to add thread safety to RmlGui::data->context accesses allow RmlUI to properly set cursors have RmlUI input events take precedence after other inputs (but after regular Lua input) * have RmlGui store what cursor it would like (or "" to cede control of it) and have the system check that. rename own custom Platform_SDL stuff to Platform_RTS clean up code here and there, undo changes to random files * Platform_RTS ended up being disliked, so re-renamed stuff to "RmlSystemInterface" and the namespace to "RmlSDLSpring" * check Rml input first * fix a singular character to be lowercase blargh * fix spelling * reference fix * use cbitmap texture binding * spaces to tabs with clang-format * mask lua macros * Remove unused variable * add an explicit removeLua call * accurate tracking of lua added items * move general Rml::Context watching plugin outside of Lua init/destroy get rid of never-going-to-be-used code in RmlUi_Renderer_GL3 rename file/class to RmlUi_Renderer_GL3_Spring since it's now more deeply integrated with Spring move VFSInterface to own files * left some mess in, sorry * Remove unnecessary includes * create new <texture> element which hooks into the existing LuaOpenGL/Texture code to be able to reuse already made textures * what if we just kept the texture handle away from Rml * clearer and more readable element tag name * misc changes - remove lua mentions in rml code - initial insertion of lua work from loveridge/rmlui-integration-fork - use translation table * copyright auto insert go brrr too hard * leave a note on the UI reload * move RmlSolLua out of the lib folder so that it can integrate more with the rest of the Spring engine * according to a tutorial, the proper implementation of the iterator concept looks like this * minor cleanup * minor cleanup as I investigate how Data Models work * use the configured lua_Number type instead of blindly assuming double * beginning refactor of RenderInterface * we can just use `glPush/PopAttrib()` here * narrow down to just the attrib bits needed * misc changes - give RmlUi lib code a double instead of a float for system time since that's what it's asking for make use of the Rml DataModel stricter - (disallow adding keys to an existing DataModel) * drop element render hook * untested custom Rml Decorator: 'lua-render' (name not final) * rml lua-render decorator barely functional use like so <div style="decorator: lua-render(callback_name_here)"/> * remove redundant Log binding from SolLua Get the Rml_MathTypes_Conversions.h working * many changes * Actually add submodules * Fix g++ compilation * just use one shader program, copy in documentation comments to make working on the render interface easier * SolLua binding "low hanging fruit" cleanup * make all the RmlUi Lua bindings into a "RmlUi" namespace table to better the other lua bindings add setup files to cont folder * add Mouse Cursor Aliases feature * use <texture> instead of <lua-texture> as LuaTextureElement tag name * add mouse cursor alias stuff to example rml_setup.lua * touch up rml_setup.lua * without the render_interface being 100% finalized, it is too early for DecoratorLuaRender to exist (made fork that still has it though) * get rid of extraneous whitespace changes * replace space indenting with tab indenting * RmlGui::Initialize gets own globals + allow Reload to init * clean up/fixing of init/shutdown/Context removal remove SDLWindow/Context ref since they are not used in the end keep Rml Interfaces alive until after Rml::Shutdown is called() defer removal of Rml::Context objects, this allows for the removal of the guarding mutex * tidy event handling + more include context removal in #ifndef HEADLESS comment on why Update() is ran in RemoveLua() * Replace README.md with notice of where the code came from * Add MIT license info to almost all Rml/SolLua source files * add support for border-radius property to ElementLuaTexture.cpp * recalc geometry when rect attribute is set to (blank) * create lua hook for the RmlUi debugger * context ordering, rm PasThrPlugin, data > state Allow changing the order of contexts in the state->contexts vector clicked context is brought to front, but debug context (if exists) is always at the very front PassThroughPlugin was a redundant abstraction BackendState sounds better now that it's a class and not a struct * fix debugger use-after-free crash * remove contexts last in update * fix crash in StyleProxy iteration * add returns from element hierarchy manip bindings * code style tidying * allow nil and blank strings to clear a property * Fix whitespace * Remove lua mask/restore macros as fix is on BAR105 * bump to rmlui repo latest * use renamed RMLUI_ option * use new RmlUi target names * Create Uniform*v variants that take a "count" parameter * Initial update to RmlUi 6. Code is compiling. * interface with Shader API correctly * better init logging * update "is initialized" check * code/formatting cleanup * sidestep the RmlUi resource handling to render the texture and geometry directly * remove outdated comment * fix use-after-free issue by removing debugger before shutting down lua * size of a non-table is 0 actually * RmlUi log pretty useful actually * Don't deactivate the shader if TexturePostprocess is used * ensure that RmlUi can be loaded after changing UI Size option * bump RmlUi for flexbox gap feature * inline rgba Colour binding macro * remove outdated commented-out code * update headless render interface stub * (whitespace) correct accidental tab * update RmlUi to official 6.0 release * update backend files with updates made to the originals --------- Co-authored-by: loveridge <[email protected]> Co-authored-by: sprunk <[email protected]> Co-authored-by: ChrisClark13 <[email protected]> Co-authored-by: LHoG <[email protected]>
- Loading branch information