GameKit on Windows GameKit updated for Windows and Mac with latest Rive Renderer. - [x] Cleanup Windows includes - [ ] Add image decoding from Flutter so procedural rendering can draw images. I want to do the first one before submitting the PR and push the image decoding to a new PR. We can even start integrating it into the editor without that right now. Diffs= e96739328 GameKit on Windows (#7150) Co-authored-by: Luigi Rosso <luigi-rosso@users.noreply.github.com>
diff --git a/.rive_head b/.rive_head index 1b876f8..6f48914 100644 --- a/.rive_head +++ b/.rive_head
@@ -1 +1 @@ -1c7e61b8a075b2eaacbcce4f5438d6072b30e420 +e96739328b7eb82870c5a642f6e3213c7b423d51
diff --git a/build/rive_build_config.lua b/build/rive_build_config.lua index 49fa644..84993ee 100644 --- a/build/rive_build_config.lua +++ b/build/rive_build_config.lua
@@ -130,10 +130,36 @@ linkoptions({ '-flto=full' }) end -filter('system:windows') +newoption({ + trigger = 'use_default_runtime', + description = 'Don\'t set windows static runtime and runtime values.', +}) + +newoption({ + trigger = 'runtime', + description = 'Choose whether to use staticruntime on/off/default', + allowed = { + { 'default', 'Use default runtime' }, + { 'static', 'Use static runtime' }, + { 'dynamic', 'Use dynamic runtime' }, + }, + default = 'static', +}) + +filter({ 'system:windows', 'options:runtime=static' }) do staticruntime('on') -- Match Skia's /MT flag for link compatibility runtime('Release') -- Use /MT even in debug (/MTd is incompatible with Skia) +end + +filter({ 'system:windows', 'options:runtime=dynamic' }) +do + staticruntime('off') + runtime('Release') +end + +filter('system:windows') +do architecture('x64') defines({ '_USE_MATH_DEFINES', 'NOMINMAX' }) end
diff --git a/include/rive/artboard.hpp b/include/rive/artboard.hpp index ba4ae11..69a339d 100644 --- a/include/rive/artboard.hpp +++ b/include/rive/artboard.hpp
@@ -101,8 +101,8 @@ void onDirty(ComponentDirt dirt) override; bool advance(double elapsedSeconds); - bool hasChangedDrawOrderInLastUpdate() { return m_HasChangedDrawOrderInLastUpdate; }; - Drawable* firstDrawable() { return m_FirstDrawable; }; + bool hasChangedDrawOrderInLastUpdate() { return m_HasChangedDrawOrderInLastUpdate; } + Drawable* firstDrawable() { return m_FirstDrawable; } enum class DrawOption {
diff --git a/src/animation/state_machine_instance.cpp b/src/animation/state_machine_instance.cpp index 9434dd4..1719bbe 100644 --- a/src/animation/state_machine_instance.cpp +++ b/src/animation/state_machine_instance.cpp
@@ -392,7 +392,7 @@ HitComponent(Component* component, StateMachineInstance* stateMachineInstance) : m_component(component), m_stateMachineInstance(stateMachineInstance) {} - virtual ~HitComponent(){}; + virtual ~HitComponent() {} virtual HitResult processEvent(Vec2D position, ListenerType hitType, bool canHit) = 0; protected: @@ -409,7 +409,6 @@ HitShape(Component* shape, StateMachineInstance* stateMachineInstance) : HitComponent(shape, stateMachineInstance) {} - ~HitShape() {} bool isHovered = false; float hitRadius = 2; std::vector<const StateMachineListener*> listeners; @@ -459,7 +458,7 @@ HitNestedArtboard(Component* nestedArtboard, StateMachineInstance* stateMachineInstance) : HitComponent(nestedArtboard, stateMachineInstance) {} - ~HitNestedArtboard() {} + ~HitNestedArtboard() override {} HitResult processEvent(Vec2D position, ListenerType hitType, bool canHit) override { auto nestedArtboard = m_component->as<NestedArtboard>();