├── .rive_head ├── samples ├── Viewer │ ├── Assets │ │ ├── ball.riv │ │ ├── tape.riv │ │ ├── runner.riv │ │ ├── StoreLogo.png │ │ ├── switch_event_example.riv │ │ ├── SplashScreen.scale-200.png │ │ ├── LockScreenLogo.scale-200.png │ │ ├── Square44x44Logo.scale-200.png │ │ ├── Wide310x150Logo.scale-200.png │ │ ├── Square150x150Logo.scale-200.png │ │ └── Square44x44Logo.targetsize-24_altform-unplated.png │ ├── App.xaml │ ├── Viewer.csproj.user │ ├── MainPage.xaml.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Default.rd.xml │ ├── MainPage.xaml │ ├── Package.appxmanifest │ ├── App.xaml.cs │ └── Viewer.csproj └── StateMachineInputs │ ├── Assets │ ├── StoreLogo.png │ ├── SplashScreen.scale-200.png │ ├── LockScreenLogo.scale-200.png │ ├── Square44x44Logo.scale-200.png │ ├── Wide310x150Logo.scale-200.png │ ├── Square150x150Logo.scale-200.png │ └── Square44x44Logo.targetsize-24_altform-unplated.png │ ├── App.xaml │ ├── MainPage.xaml.cs │ ├── Properties │ ├── AssemblyInfo.cs │ └── Default.rd.xml │ ├── Package.appxmanifest │ ├── MainPage.xaml │ ├── App.xaml.cs │ └── StateMachineInputs.csproj ├── .gitmodules ├── Goldens ├── Properties │ └── launchSettings.json ├── Goldens.csproj └── Goldens.cs ├── RiveSharp ├── RiveSharp.targets ├── RiveSharp.csproj ├── RiveSharp.nuspec ├── RenderImage.cs ├── create_nupkg.sh ├── 2D.cs ├── Factory.cs ├── Scene.cs ├── RenderPath.cs ├── Renderer.cs ├── RenderPaint.cs └── RiveAPI.cs ├── RiveSharp.Views.UWP ├── Properties │ ├── AssemblyInfo.cs │ └── RiveSharp.Views.UWP.rd.xml ├── StateMachineInputCollection.cs ├── StateMachineInput.cs ├── RivePlayer.Properties.cs ├── RiveSharp.Views.UWP.csproj └── RivePlayer.cs ├── README.txt ├── native ├── premake5_wasm.lua ├── premake5.lua └── RiveSharpInterop.cpp ├── RiveSharpSample.sln └── .editorconfig /.rive_head: -------------------------------------------------------------------------------- 1 | 24d9162103a73712ba3c80cfc909fee6948a0089 2 | -------------------------------------------------------------------------------- /samples/Viewer/Assets/ball.riv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/Viewer/Assets/ball.riv -------------------------------------------------------------------------------- /samples/Viewer/Assets/tape.riv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/Viewer/Assets/tape.riv -------------------------------------------------------------------------------- /samples/Viewer/Assets/runner.riv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/Viewer/Assets/runner.riv -------------------------------------------------------------------------------- /samples/Viewer/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/Viewer/Assets/StoreLogo.png -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "submodules/rive-cpp"] 2 | path = submodules/rive-cpp 3 | url = https://github.com/rive-app/rive-cpp.git 4 | -------------------------------------------------------------------------------- /samples/Viewer/Assets/switch_event_example.riv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/Viewer/Assets/switch_event_example.riv -------------------------------------------------------------------------------- /samples/StateMachineInputs/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/StateMachineInputs/Assets/StoreLogo.png -------------------------------------------------------------------------------- /samples/Viewer/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/Viewer/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /samples/Viewer/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/Viewer/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /samples/Viewer/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/Viewer/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /samples/Viewer/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/Viewer/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /samples/Viewer/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/Viewer/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /samples/StateMachineInputs/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/StateMachineInputs/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /samples/StateMachineInputs/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/StateMachineInputs/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /samples/StateMachineInputs/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/StateMachineInputs/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /samples/StateMachineInputs/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/StateMachineInputs/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /samples/StateMachineInputs/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/StateMachineInputs/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /samples/Viewer/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/Viewer/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /samples/StateMachineInputs/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rive-app/rive-sharp/HEAD/samples/StateMachineInputs/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /samples/Viewer/App.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/StateMachineInputs/App.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Goldens/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Goldens": { 4 | "commandName": "Project", 5 | "commandLineArgs": "--rivs ..\\..\\gold\\rivs --destination candidates\\ --verbose true", 6 | "workingDirectory": "$(SolutionDir)", 7 | "nativeDebugging": true 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /RiveSharp/RiveSharp.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/Viewer/Viewer.csproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | true 5 | 6 | 7 | true 8 | 9 | 10 | -------------------------------------------------------------------------------- /RiveSharp/RiveSharp.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | AnyCPU 6 | true 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /samples/Viewer/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Rive 2 | 3 | using Windows.UI.Xaml.Controls; 4 | 5 | // The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 6 | 7 | namespace Viewer 8 | { 9 | /// 10 | /// An empty page that can be used on its own or navigated to within a Frame. 11 | /// 12 | public sealed partial class MainPage : Page 13 | { 14 | public MainPage() 15 | { 16 | this.InitializeComponent(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/StateMachineInputs/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Rive 2 | 3 | using Windows.UI.Xaml.Controls; 4 | 5 | // The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 6 | 7 | namespace StateMachineInputs 8 | { 9 | /// 10 | /// An empty page that can be used on its own or navigated to within a Frame. 11 | /// 12 | public sealed partial class MainPage : Page 13 | { 14 | public MainPage() 15 | { 16 | this.InitializeComponent(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/Viewer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Viewer")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Rive")] 12 | [assembly: AssemblyProduct("Viewer")] 13 | [assembly: AssemblyCopyright("Copyright © Rive 2022")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] 30 | -------------------------------------------------------------------------------- /RiveSharp.Views.UWP/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("RiveSharp.Views.UWP")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Rive")] 12 | [assembly: AssemblyProduct("RiveSharp.Views.UWP")] 13 | [assembly: AssemblyCopyright("Copyright © Rive 2022")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] 30 | -------------------------------------------------------------------------------- /samples/StateMachineInputs/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("StateMachineInputCollection")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Rive")] 12 | [assembly: AssemblyProduct("StateMachineInputCollection")] 13 | [assembly: AssemblyCopyright("Copyright © Rive 2022")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] 30 | -------------------------------------------------------------------------------- /samples/Viewer/MainPage.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /samples/Viewer/Properties/Default.rd.xml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Goldens/Goldens.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net6.0 6 | enable 7 | enable 8 | 9 | 10 | 11 | True 12 | 13 | 14 | 15 | True 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | PreserveNewest 29 | rive.dll 30 | 31 | 32 | PreserveNewest 33 | rive.pdb 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /README.txt: -------------------------------------------------------------------------------- 1 | CONTENTS OF THIS FILE 2 | --------------------- 3 | 4 | * Introduction 5 | * Building 6 | 7 | INTRODUCTION 8 | ------------ 9 | 10 | RiveSharpSample.sln contains the Rive C# runtime, along with examples on how 11 | to use it: 12 | 13 | Viewer.csproj: A simple UWP app that draws 4 .riv files with pointer events. 14 | 15 | StateMachineInputs.csproj: A simple UWP app that draws a remote .riv file and 16 | data binds state machine inputs to XAML controls. 17 | 18 | Goldens.csproj: A console app that renders images for testing 19 | 20 | BUILDING 21 | ------------ 22 | 23 | ==== In the public "rive-sharp" repo ==== 24 | 25 | You just need to fetch the rive-cpp submodule: 26 | 27 | git submodule update --init 28 | 29 | After that, you should be able to open RiveSharpSample.sln in Visual Studio 2022 30 | community, build, and run! 31 | 32 | Rive is constantly making use of the latest clang features, so please only use the LLVM Platform Toolset and ensure your Visual Studio is up to date with the latest version. 33 | 34 | ==== In the internal "rive" repo ==== 35 | 36 | To build, you first need to generate rive.vcproj, the project that builds the 37 | native rive.dll: 38 | 39 | cd Native 40 | premake5.exe vs2022 41 | 42 | Once rive.vcproj is generated, you should be able to open RiveSharpSample.sln in 43 | Visual Studio 2022 community, build, and run! 44 | -------------------------------------------------------------------------------- /samples/StateMachineInputs/Properties/Default.rd.xml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /RiveSharp/RiveSharp.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Rive.RiveSharp 5 | $version$ 6 | RiveSharp 7 | Rive 8 | false 9 | MIT 10 | 11 | https://rive.app 12 | Low level runtime API for playing Rive animations 13 | Initial alpha release 14 | Copyright 2022 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /native/premake5_wasm.lua: -------------------------------------------------------------------------------- 1 | workspace('rive-cpp') 2 | 3 | configurations({ 'Release' }) 4 | 5 | -- Are we in the "rive-sharp" or "rive" repository? 6 | local git_handle = io.popen('git remote -v') 7 | local git_remote = git_handle:read('*a') 8 | git_handle:close() 9 | if string.find(git_remote, 'rive%-sharp') then 10 | -- In rive-sharp. Rive runtime is a submodule. 11 | RIVE_RUNTIME_DIR = '../submodules/rive-cpp' 12 | else 13 | -- In rive. Rive runtime is further up the tree. 14 | RIVE_RUNTIME_DIR = '../../runtime' 15 | end 16 | 17 | local emcc_handle = io.popen( 18 | 'emcc --version | grep ^emcc | sed \'s/^.*\\([0-9]\\+\\.[0-9]\\+\\.[0-9]\\+\\).*$/\\1/\'' 19 | ) 20 | local emcc_version = emcc_handle:read('*a'):gsub('%s+', '') 21 | emcc_handle:close() 22 | TARGET_DIR = 'bin/emsdk/' .. emcc_version 23 | print('TARGET_DIR: ' .. TARGET_DIR) 24 | 25 | project('rive') 26 | do 27 | kind('StaticLib') 28 | language('C++') 29 | cppdialect('C++17') 30 | targetdir(TARGET_DIR) 31 | objdir('obj/wasm') 32 | optimize('Size') 33 | flags({ 'FatalCompileWarnings' }) 34 | includedirs({ RIVE_RUNTIME_DIR .. '/include', '../../include' }) 35 | files({ RIVE_RUNTIME_DIR .. '/src/**.cpp', 'RiveSharpInterop.cpp' }) 36 | defines({ 'RELEASE', 'NDEBUG', 'WASM' }) 37 | filter('options:not no-exceptions') 38 | do 39 | -- WebAssembly Exceptions support is now required by Uno. 40 | buildoptions({ '-fwasm-exceptions' }) 41 | end 42 | end 43 | 44 | newoption({ 45 | trigger = 'no-exceptions', 46 | description = 'build without -fwasm-exceptions', 47 | }) 48 | -------------------------------------------------------------------------------- /native/premake5.lua: -------------------------------------------------------------------------------- 1 | workspace('rive-cpp') 2 | 3 | configurations({ 'Debug', 'Release' }) 4 | platforms({ 'x64', 'x86', 'ARM64', 'ARM' }) 5 | 6 | -- Are we in the "rive-sharp" or "rive" repository? 7 | local handle = io.popen('git remote -v') 8 | local git_remote = handle:read('*a') 9 | handle:close() 10 | if string.find(git_remote, 'rive%-sharp') then 11 | -- In rive-sharp. Rive runtime is a submodule. 12 | RIVE_RUNTIME_DIR = '../submodules/rive-cpp' 13 | else 14 | -- In rive. Rive runtime is further up the tree. 15 | RIVE_RUNTIME_DIR = '../../runtime' 16 | end 17 | 18 | project('rive') 19 | kind('SharedLib') 20 | language('C++') 21 | cppdialect('C++17') 22 | targetdir('bin/%{cfg.platform}/%{cfg.buildcfg}') 23 | objdir('obj/%{cfg.platform}/%{cfg.buildcfg}') 24 | staticruntime('off') -- /MD for dll 25 | flags({ 'FatalCompileWarnings' }) 26 | includedirs({ RIVE_RUNTIME_DIR .. '/include', '../../include' }) 27 | files({ RIVE_RUNTIME_DIR .. '/src/**.cpp', 'RiveSharpInterop.cpp' }) 28 | -- this is building the actual rive library so it seems we need this here. 29 | defines({ '_RIVE_INTERNAL_' }) 30 | 31 | filter('configurations:Debug') 32 | defines({ 'DEBUG' }) 33 | symbols('On') 34 | 35 | filter('configurations:Release') 36 | defines({ 'RELEASE' }) 37 | defines({ 'NDEBUG' }) 38 | optimize('Size') 39 | 40 | filter('platforms:x64') 41 | architecture('x64') 42 | toolset('clang') 43 | 44 | filter('platforms:x86') 45 | architecture('x86') 46 | toolset('clang') 47 | 48 | filter('platforms:ARM64') 49 | architecture('ARM64') 50 | toolset('clang') 51 | 52 | filter('platforms:ARM') 53 | architecture('ARM') 54 | toolset('msc') -- clang isn't supported on ARM32 55 | 56 | filter({}) 57 | -------------------------------------------------------------------------------- /RiveSharp/RenderImage.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Rive 2 | 3 | using SkiaSharp; 4 | using System; 5 | using System.Runtime.InteropServices; 6 | 7 | namespace RiveSharp 8 | { 9 | public class RenderImage 10 | { 11 | static readonly RenderImageDelegates Delegates = new RenderImageDelegates 12 | { 13 | Release = RiveAPI.ReleaseNativeRefCallback, 14 | Width = WidthCallback, 15 | Height = HeightCallback 16 | }; 17 | 18 | static RenderImage() 19 | { 20 | RiveAPI.RenderImage_RegisterDelegates(Delegates); 21 | } 22 | 23 | public readonly SKImage SKImage; 24 | 25 | public static RenderImage Decode(byte[] data) 26 | { 27 | var skimage = SKImage.FromEncodedData(data); 28 | return skimage != null ? new RenderImage(skimage) : null; 29 | } 30 | 31 | private RenderImage(SKImage skimage) 32 | { 33 | SKImage = skimage; 34 | } 35 | 36 | public int Width => SKImage.Width; 37 | public int Height => SKImage.Height; 38 | 39 | [MonoPInvokeCallback(typeof(RenderImageDelegates.WidthHeightDelegate))] 40 | static Int32 WidthCallback(IntPtr @ref) 41 | { 42 | var renderImage = RiveAPI.CastNativeRef(@ref); 43 | return renderImage.Width; 44 | } 45 | 46 | [MonoPInvokeCallback(typeof(RenderImageDelegates.WidthHeightDelegate))] 47 | static Int32 HeightCallback(IntPtr @ref) 48 | { 49 | var renderImage = RiveAPI.CastNativeRef(@ref); 50 | return renderImage.Height; 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /RiveSharp.Views.UWP/Properties/RiveSharp.Views.UWP.rd.xml: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /samples/Viewer/Package.appxmanifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | 15 | 16 | 17 | Viewer 18 | csmartdalton 19 | Assets\StoreLogo.png 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /samples/StateMachineInputs/Package.appxmanifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | 15 | 16 | 17 | StateMachineInputs 18 | csmartdalton 19 | Assets\StoreLogo.png 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /RiveSharp/create_nupkg.sh: -------------------------------------------------------------------------------- 1 | VERSION=${1:-"1.0.0"} 2 | 3 | if ! command -v msbuild.exe &> /dev/null 4 | then 5 | echo 6 | echo Put msbuild.exe on your \$PATH! 7 | exit -1 8 | fi 9 | 10 | if ! command -v emcc &> /dev/null 11 | then 12 | echo 13 | echo Set up your emscripten environment! 14 | exit -1 15 | fi 16 | 17 | if ! command -v nuget.exe &> /dev/null 18 | then 19 | echo 20 | echo Put nuget.exe on your \$PATH! 21 | exit -1 22 | fi 23 | 24 | pushd ../native 25 | 26 | # Build native dlls. 27 | premake5.exe --scripts=../../runtime/build vs2022 28 | msbuild.exe rive.vcxproj -p:Configuration=Release -p:Platform=x64 -p:UseMultiToolTask=true -p:EnforceProcessCountAcrossBuilds=true -m:10 29 | msbuild.exe rive.vcxproj -p:Configuration=Release -p:Platform=x86 -p:UseMultiToolTask=true -p:EnforceProcessCountAcrossBuilds=true -m:10 30 | msbuild.exe rive.vcxproj -p:Configuration=Release -p:Platform=ARM64 -p:UseMultiToolTask=true -p:EnforceProcessCountAcrossBuilds=true -m:10 31 | msbuild.exe rive.vcxproj -p:Configuration=Release -p:Platform=ARM -p:UseMultiToolTask=true -p:EnforceProcessCountAcrossBuilds=true -m:10 32 | 33 | # Build the wasm library with emsdk 2.0.23 (for Uno.Wasm.Bootstrap 3.x). 34 | emsdk install 2.0.23 35 | emsdk activate 2.0.23 36 | premake5.exe --scripts=../../runtime/build --file=premake5_wasm.lua --no-exceptions cmake 37 | emcmake cmake . 38 | cmake --build . -j10 39 | 40 | # Build the wasm library with emsdk 3.1.12 (for Uno.Wasm.Bootstrap 7.x). 41 | emsdk install 3.1.12 42 | emsdk activate 3.1.12 43 | premake5.exe --scripts=../../runtime/build --file=premake5_wasm.lua cmake 44 | emcmake cmake . 45 | cmake --build . -j10 46 | 47 | popd 48 | 49 | #Pack! 50 | nuget.exe restore RiveSharp.csproj 51 | nuget.exe pack RiveSharp.csproj \ 52 | -Build \ 53 | -Properties Configuration=Release \ 54 | -Properties version="$VERSION-alpha.$(git rev-parse --short HEAD)" 55 | -------------------------------------------------------------------------------- /samples/StateMachineInputs/MainPage.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |