From b656cdfbb464cb7f8674b9b0b690cd45cecf58b6 Mon Sep 17 00:00:00 2001 From: Taehyub Kim Date: Thu, 5 Aug 2021 01:49:28 -0700 Subject: [PATCH] [NUI] RiveAnimationView Samples: Add More RiveAnimationView Samples 1. RiveAnimationUniverse.cs: This sample shows the view animation using user interactive rive animation. 2. RiveAnimationFollowTouch.cs: This sample shows the node position control of rive animation. 3. RiveAnimationRollInOut.cs: This sample shows the animation state change by the user interaction. --- .../Samples/RiveAnimationFollowTouch.cs | 63 ++++ .../Samples/RiveAnimationRollInOut.cs | 81 +++++ .../Tizen.NUI.Samples/Samples/RiveAnimationTest.cs | 2 +- .../Samples/RiveAnimationUniverse.cs | 362 +++++++++++++++++++++ .../Tizen.NUI.Samples/res/rive/ViewItemBgImage.png | Bin 0 -> 1946 bytes .../res/rive/ViewItemBgImageEnd.png | Bin 0 -> 1980 bytes .../res/rive/ViewItemBgImageFirst.png | Bin 0 -> 1980 bytes .../res/rive/ViewItemBgImageFirstClicked.png | Bin 0 -> 1651 bytes .../Tizen.NUI.Samples/res/{ => rive}/buggy.riv | Bin .../Tizen.NUI.Samples/res/rive/flame-and-spark.riv | Bin 0 -> 28166 bytes .../Tizen.NUI.Samples/res/rive/space_reload.riv | Bin 0 -> 9998 bytes .../Tizen.NUI.Samples/res/rive/teeny_tiny_file.riv | Bin 0 -> 44506 bytes 12 files changed, 507 insertions(+), 1 deletion(-) create mode 100755 test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationFollowTouch.cs create mode 100755 test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationRollInOut.cs create mode 100755 test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationUniverse.cs create mode 100644 test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/ViewItemBgImage.png create mode 100644 test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/ViewItemBgImageEnd.png create mode 100644 test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/ViewItemBgImageFirst.png create mode 100644 test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/ViewItemBgImageFirstClicked.png rename test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/{ => rive}/buggy.riv (100%) create mode 100644 test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/flame-and-spark.riv create mode 100644 test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/space_reload.riv create mode 100644 test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/teeny_tiny_file.riv diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationFollowTouch.cs b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationFollowTouch.cs new file mode 100755 index 0000000..2f2b502 --- /dev/null +++ b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationFollowTouch.cs @@ -0,0 +1,63 @@ +using Tizen.NUI.BaseComponents; +using Tizen.NUI.Components; + +namespace Tizen.NUI.Samples +{ + public class RiveAnimationFollowTouch : IExample + { + private Window window; + private Layer defaultLayer; + + RiveAnimationView rav; + Button playButton, stopButton; + Button bounceButton, brokeButton; + Button fillButton, strokeButton, opacityButton; + Button scaleButton, rotationButton, positionButton; + public void Activate() + { + window = NUIApplication.GetDefaultWindow(); + defaultLayer = window.GetDefaultLayer(); + window.TouchEvent += OnRiveWindowTouchEvent; + + // Load RiveAnimation File + rav = new RiveAnimationView(Tizen.Applications.Application.Current.DirectoryInfo.Resource + "rive/flame-and-spark.riv") + { + Size = new Size(720, 720), + }; + + // Enable RiveAnimation and Play + rav.EnableAnimation("idle", true); + rav.Play(); + + playButton = new Button() + { + Size = new Size(200, 100), + Position = new Position(0, 0), + Text = "Play" + }; + playButton.Clicked += (object source, ClickedEventArgs args) => + { + rav.Play(); + }; + + defaultLayer.Add(rav); + defaultLayer.Add(playButton); + } + + private void OnRiveWindowTouchEvent(object source, Window.TouchEventArgs e) + { + Vector2 lp = e.Touch.GetLocalPosition(0); + Vector2 sp = e.Touch.GetScreenPosition(0); + float scale = (1000.0f /720.0f); + + // Set root and spark node position + rav.SetNodePosition("root", new Position(lp.X * scale, lp.Y * scale)); + rav.SetNodePosition("spark", new Position((lp.X - 288) * scale, lp.Y) * scale); + } + public void Deactivate() + { + defaultLayer.Remove(rav); + defaultLayer.Remove(playButton); + } + } +} diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationRollInOut.cs b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationRollInOut.cs new file mode 100755 index 0000000..e294aa0 --- /dev/null +++ b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationRollInOut.cs @@ -0,0 +1,81 @@ +using Tizen.NUI.BaseComponents; +using Tizen.NUI.Components; + +namespace Tizen.NUI.Samples +{ + public class RiveAnimationRollInOut : IExample + { + private Window window; + private Layer defaultLayer; + RiveAnimationView rav; + Button playButton; + bool preIn, isIn; + public void Activate() + { + window = NUIApplication.GetDefaultWindow(); + defaultLayer = window.GetDefaultLayer(); + window.TouchEvent += OnRiveWindowTouchEvent; + + // Load RiveAnimation File + rav = new RiveAnimationView(Tizen.Applications.Application.Current.DirectoryInfo.Resource + "rive/teeny_tiny_file.riv") + { + Size = new Size(720, 720), + }; + + // Enable RiveAnimation and Play + rav.EnableAnimation("idle", true); + rav.Play(); + + playButton = new Button() + { + Size = new Size(200, 100), + Position = new Position(0, 0), + Text = "Play" + }; + playButton.Clicked += (object source, ClickedEventArgs args) => + { + rav.Play(); + }; + + defaultLayer.Add(rav); + defaultLayer.Add(playButton); + } + + private void OnRiveWindowTouchEvent(object source, Window.TouchEventArgs e) + { + Vector2 lp = e.Touch.GetLocalPosition(0); + Vector2 sp = e.Touch.GetScreenPosition(0); + + if (lp.X > 100 && lp.Y > 100 && lp.X < 620 && lp.Y < 620) + { + isIn = true; + } + else + { + isIn = false; + } + + if (preIn != isIn) + { + preIn = isIn; + if (preIn) + { + // Change Animation State When the cursor is in the bounds + rav.EnableAnimation("rollover_in", true); + rav.EnableAnimation("rollover_out", false); + } + else + { + // Change Animation State When the cursor is out of the bounds + rav.EnableAnimation("rollover_in", false); + rav.EnableAnimation("rollover_out", true); + } + } + } + public void Deactivate() + { + defaultLayer.Remove(rav); + defaultLayer.Remove(playButton); + } + } +} diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationTest.cs b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationTest.cs index dcf4711..5fe1f99 100755 --- a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationTest.cs +++ b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationTest.cs @@ -18,7 +18,7 @@ namespace Tizen.NUI.Samples window = NUIApplication.GetDefaultWindow(); defaultLayer = window.GetDefaultLayer(); - rav = new RiveAnimationView(Tizen.Applications.Application.Current.DirectoryInfo.Resource + "buggy.riv") + rav = new RiveAnimationView(Tizen.Applications.Application.Current.DirectoryInfo.Resource + "rive/buggy.riv") { Size = new Size(500, 500), ParentOrigin = ParentOrigin.Center, diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationUniverse.cs b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationUniverse.cs new file mode 100755 index 0000000..60583f9 --- /dev/null +++ b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveAnimationUniverse.cs @@ -0,0 +1,362 @@ +using Tizen.NUI.BaseComponents; +using Tizen.NUI.Components; + +namespace Tizen.NUI.Samples +{ + public class RiveAnimationUniverse : IExample + { + private Color [] VIEW_TITLE_COLOR = { + new Color(38.0f/255.0f, 169.0f/255.0f, 242.0f/255.0f, 1.0f), + new Color(177.0f/255.0f, 177.0f/255.0f, 177.0f/255.0f, 1.0f), + new Color(241.0f/255.0f, 173.0f/255.0f, 63.0f/255.0f, 1.0f), + new Color(232.0f/255.0f, 130.0f/255.0f, 101.0f/255.0f, 1.0f), + new Color(233.0f/255.0f, 221.0f/255.0f, 198.0f/255.0f, 1.0f), + }; + private string [] VIEW_TITLE = { + "Earth", "Moon", "Sun", "Jupiter", "Venus", + }; + private string [] VIEW_TEXT = { + "Earth is the third planet from the sun.", + "Moon is Earth's only natural satellite.", + "Sun is the star at the center of the Solar System.", + "Jupiter the fifth planet from the Sun.", + "Venus is the second planet from the Sun." + }; + private string [] VIEW_BG_PATH = { + Tizen.Applications.Application.Current.DirectoryInfo.Resource + "rive/ViewItemBgImageFirst.png", + Tizen.Applications.Application.Current.DirectoryInfo.Resource + "rive/ViewItemBgImage.png", + Tizen.Applications.Application.Current.DirectoryInfo.Resource + "rive/ViewItemBgImage.png", + Tizen.Applications.Application.Current.DirectoryInfo.Resource + "rive/ViewItemBgImage.png", + Tizen.Applications.Application.Current.DirectoryInfo.Resource + "rive/ViewItemBgImageEnd.png" + }; + Position [] VIEW_POSITION = { + new Position(0, 0), + new Position(0, 310), + new Position(0, 610), + new Position(0, 910), + new Position(0, 1210), + }; + Size [] VIEW_SIZE = { + new Size(720, 310), + new Size(720, 300), + new Size(720, 300), + new Size(720, 300), + new Size(720, 310), + }; + bool [] viewBgClicked = {false, false, false, false, false}; + string VIEW_BG_CLICKED_PATH = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "rive/ViewItemBgImageFirstClicked.png"; + + private Window window; + private Layer defaultLayer; + private RiveAnimationView rav; + private TextLabel header; + private Components.ScrollableBase scroll; + private View[] viewItems; + private float ravCenterY; + private bool isMoving; + private Position startPos; + private Position scrollPos; + private float preScrollPositionY; + + public void Activate() + { + window = NUIApplication.GetDefaultWindow(); + defaultLayer = window.GetDefaultLayer(); + window.TouchEvent += OnRiveWindowTouchEvent; + + // Load RiveAnimation File + rav = new RiveAnimationView(Tizen.Applications.Application.Current.DirectoryInfo.Resource + "rive/space_reload.riv") + { + Size = new Size(720, 500), + Position = new Position(0, 72) + }; + + scroll = new Components.ScrollableBase() + { + Position = new Position(0, 120), + Size = new Size(720, 1160), + ScrollingDirection = Components.ScrollableBase.Direction.Vertical, + EnableOverShootingEffect = true, + HideScrollbar = true, + ScrollEnabled = false + }; + scroll.Scrolling += Scrolling; + + header = new TextLabel + { + Text = "Universe", + Position = new Position(0, 0), + Size = new Size(720, 120), + BackgroundColor = new Color(52.0f/255.0f, 43.0f/255.0f, 117.0f/255.0f, 1.0f), + VerticalAlignment = VerticalAlignment.Center, + HorizontalAlignment = HorizontalAlignment.Center, + TextColor = new Color(1.0f, 1.0f, 1.0f, 1.0f), + PointSize = 20.0f, + + }; + + viewItems = new View[5]; + for (int i = 0; i < 5; i++) + { + viewItems[i] = new View + { + Position = VIEW_POSITION[i], + Size = VIEW_SIZE[i], + BackgroundImage = VIEW_BG_PATH[i], + Layout = new LinearLayout() + { + LinearOrientation = LinearLayout.Orientation.Vertical, + LinearAlignment = LinearLayout.Alignment.Center, + CellPadding = new Size(40, 0) + } + }; + + TextLabel title = new TextLabel + { + Size = new Size(550, 70), + PointSize = 12.0f, + Text = VIEW_TITLE[i], + TextColor = VIEW_TITLE_COLOR[i] + }; + + TextLabel text = new TextLabel + { + Size = new Size(550, 100), + PointSize = 9.0f, + MultiLine = true, + Text = VIEW_TEXT[i], + TextColor = new Color(1.0f, 1.0f, 1.0f, 1.0f) + }; + + if (i==0) + viewItems[i].TouchEvent += OnChangeEarthColor; + else if(i==1) + viewItems[i].TouchEvent += OnChangeMoonColor; + else if(i==2) + viewItems[i].TouchEvent += OnChangeSunColor; + else if(i==3) + viewItems[i].TouchEvent += OnChangeJupiterColor; + + viewItems[i].Add(title); + viewItems[i].Add(text); + scroll.Add(viewItems[i]); + } + + defaultLayer.Add(rav); + defaultLayer.Add(scroll); + defaultLayer.Add(header); + + // Enable RiveAnimation and Play + rav.EnableAnimation("Idle", true); + rav.Play(); + } + private void Scrolling(object sender, Components.ScrollEventArgs e) + { + for(int i = 0; i < 5; i++) + { + viewItems[i].BackgroundImage = VIEW_BG_PATH[i]; + } + } + + [global::System.Obsolete] + private void OnRiveWindowTouchEvent(object source, Window.TouchEventArgs e) + { + Vector2 sp = e.Touch.GetScreenPosition(0); + PointStateType state = e.Touch.GetState(0); + Position screenPos = new Position(sp.X, sp.Y); + + if (!scroll.ScrollEnabled) + { + if (state == PointStateType.Down) + { + startPos = screenPos; + scrollPos = scroll.Position; + } + Position diff = screenPos - startPos; + scroll.PositionX = 0.0f; + float minmaxY = scrollPos.Y + diff.Y; + + if (minmaxY > 520) + { + scroll.PositionY = 520; + } + else if(minmaxY <= 120) + { + scroll.PositionY = 120; + } + else + { + scroll.PositionY = minmaxY; + } + + float time = (scroll.PositionY - 120 ) / 400; + + // Set RiveAnimation Elapsed Time using View Position + rav.SetAnimationElapsedTime("Pull", time); + + if (time < 1.0) + { + isMoving = true; + // Disable RiveAnimations + rav.EnableAnimation("Trigger", false); + rav.EnableAnimation("Loading", false); + } + else if (time >= 1.0 && isMoving) + { + isMoving = false; + // Enable RiveAnimations + rav.EnableAnimation("Trigger", true); + rav.EnableAnimation("Loading", true); + scroll.ScrollEnabled = true; + scroll.Size = new Size(720, 760); + } + } + else + { + if (preScrollPositionY == 0) + { + float diff = scroll.ScrollPosition.Y - preScrollPositionY; + if (diff > 5) + { + scroll.ScrollTo(0, false); + scroll.ScrollEnabled = false; + scroll.Size = new Size(720, 1160); + for (int i = 0; i < 5; i++) + { + viewItems[i].BackgroundImage = VIEW_BG_PATH[i]; + } + } + } + preScrollPositionY = scroll.ScrollPosition.Y; + } + ravCenterY = (120.0f + scroll.Position.Y) / 2; + rav.PositionX = 0.0f; + rav.PositionY = ravCenterY - 248.0f; + } + + private bool OnChangeEarthColor(object source, View.TouchEventArgs e) + { + PointStateType GetState = e.Touch.GetState(0); + Vector2 item = e.Touch.GetLocalPosition(0); + if (scroll.ScrollEnabled && item.Y > 30) + { + if (GetState == PointStateType.Down) + { + viewBgClicked[0] = !viewBgClicked[0]; + viewItems[0].BackgroundImage = VIEW_BG_CLICKED_PATH; + if (viewBgClicked[0]) + { + // Set Earth Fill Color + rav.SetShapeFillColor("EarthColor", new Color(245.0f/255.0f, 117.0f/255.0f, 220.0f/255.0f, 1.0f)); + } + else + { + // Set Earth Fill Color + rav.SetShapeFillColor("EarthColor", new Color(38.0f/255.0f, 169.0f/255.0f, 242.0f/255.0f, 1.0f)); + } + } + if (GetState == PointStateType.Up) + { + viewItems[0].BackgroundImage = VIEW_BG_PATH[0]; + } + } + return false; + } + + private bool OnChangeMoonColor(object source, View.TouchEventArgs e) + { + PointStateType GetState = e.Touch.GetState(0); + Vector2 item = e.Touch.GetLocalPosition(0); + if (scroll.ScrollEnabled && item.Y > 30) + { + if (GetState == PointStateType.Down) + { + viewBgClicked[1] = !viewBgClicked[1]; + viewItems[1].BackgroundImage = VIEW_BG_CLICKED_PATH; + if (viewBgClicked[1]) + { + // Set Moon Fill Color + rav.SetShapeFillColor("MoonColor", new Color(245.0f/255.0f, 117.0f/255.0f, 220.0f/255.0f, 1.0f)); + rav.SetShapeFillColor("MoonShadowColor", new Color(225.0f/255.0f, 107.0f/255.0f, 200.0f/255.0f, 1.0f)); + } + else + { + // Set Moon Fill Color + rav.SetShapeFillColor("MoonColor", new Color(177.0f/255.0f, 177.0f/255.0f, 177.0f/255.0f, 1.0f)); + rav.SetShapeFillColor("MoonShadowColor", new Color(141.0f/255.0f, 141.0f/255.0f, 141.0f/255.0f, 1.0f)); + } + } + if (GetState == PointStateType.Up) + { + viewItems[1].BackgroundImage = VIEW_BG_PATH[1]; + } + } + return false; + } + + private bool OnChangeSunColor(object source, View.TouchEventArgs e) + { + PointStateType GetState = e.Touch.GetState(0); + Vector2 item = e.Touch.GetLocalPosition(0); + if (scroll.ScrollEnabled && item.Y > 30) + { + if (GetState == PointStateType.Down) + { + viewBgClicked[2] = !viewBgClicked[2]; + viewItems[2].BackgroundImage = VIEW_BG_CLICKED_PATH; + if(viewBgClicked[2]) + { + // Set Sun Fill Color + rav.SetShapeFillColor("SunColor", new Color(245.0f/255.0f, 117.0f/255.0f, 220.0f/255.0f, 1.0f)); + } + else + { + // Set Sun Fill Color + rav.SetShapeFillColor("SunColor", new Color(241.0f/255.0f, 173.0f/255.0f, 63.0f/255.0f, 1.0f)); + } + } + if (GetState == PointStateType.Up) + { + viewItems[2].BackgroundImage = VIEW_BG_PATH[2]; + } + } + return false; + } + + private bool OnChangeJupiterColor(object source, View.TouchEventArgs e) + { + PointStateType GetState = e.Touch.GetState(0); + Vector2 item = e.Touch.GetLocalPosition(0); + if (scroll.ScrollEnabled && item.Y > 30) + { + if (GetState == PointStateType.Down) + { + viewBgClicked[3] = !viewBgClicked[3]; + viewItems[3].BackgroundImage = VIEW_BG_CLICKED_PATH; + if(viewBgClicked[3]) + { + // Set Jupiter Fill Color + rav.SetShapeFillColor("JupiterColor", new Color(245.0f/255.0f, 117.0f/255.0f, 220.0f/255.0f, 1.0f)); + } + else + { + // Set Jupiter Fill Color + rav.SetShapeFillColor("JupiterColor", new Color(232.0f/255.0f, 130.0f/255.0f, 101.0f/255.0f, 1.0f)); + } + } + if (GetState == PointStateType.Up) + { + viewItems[3].BackgroundImage = VIEW_BG_PATH[3]; + } + } + return false; + } + + public void Deactivate() + { + defaultLayer.Remove(rav); + defaultLayer.Remove(scroll); + defaultLayer.Remove(header); + } + } +} diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/ViewItemBgImage.png b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/ViewItemBgImage.png new file mode 100644 index 0000000000000000000000000000000000000000..dd83d9e908084db0177f5215ba7f3ca794f8018f GIT binary patch literal 1946 zcmeAS@N?(olHy`uVBq!ia0y~yV7kD-z^KE)1Qbc_6*d7{XE)7O>#DLW6liNf~Vg~aNlzW# zWn>7~@;Q8cdA@64&AkUR#4dlmyf~2Yz}9GcTfgo#6DR0)I7Qg6;$@KVF1E2ttBDEQ z_Ta~+s9&nA3~tIkho@itRLtsbyZY{ACI)5Wc%35KEym6TEdnwK6Pj_KC!^ylq6dUviN!+{-3 z^}l-_6mUhM(?ZMIjq!n* zir%lxa0{=4j11F<&M(Eq-s!%+L@$VaE$~R`=^%d<;7{JG<*{iT3#wFdXm&DtY^mfkAKIi{wZZ@#}bt#Y#Gyy@GwF8_AJWEm4f za#7B#nC*+xs-xfZ|5co~_cSkqo6@|;K=$?JsoZ@MkMnk$$}vc^-z}T{aqEZ6J?>?4 z=XUo#V`zB2zV|Gs5UYD&^8O?5;SZZCzuo3yh*??Dr$767;)y@sCS`tOw&j05{p@Dj zB@6|n!18cY<+a6Ym^U}J1 z7M13AF?`6B1r@q83cFvlvmH+{>NJ$AH#`0;;`-G`@7B$`+Q!8&-vw4^e|$7s|8&2_ zLW$eKx98mwa0(Pl4Gk>~ofaA>rpWS{t${zX7o{esyW=bOlzo2I{jasxSbNdN!< literal 0 HcmV?d00001 diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/ViewItemBgImageEnd.png b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/ViewItemBgImageEnd.png new file mode 100644 index 0000000000000000000000000000000000000000..63fe55eb0cef646f3de6361d1b984683fde8a57b GIT binary patch literal 1980 zcmeAS@N?(olHy`uVBq!ia0y~yV7kD-z-Y$71Qa=b!0059;w_DwXo-U3d6}R5rJ)QT+L!u#&E1qE~C)eC_-e=0b#pjH;lRoRenyh*I;d%Rivltj+E?o&{VBp|ma43LNP0U~(f)bEnU;y%fRKo)X zG>V0t;lTgEx@Y#>iXy3jVWFYnsga_of=&j^3_n;5k1dq{weR({f;9``~Dm>)Lr)a_;G`+(jpA&&eUw2arW8nx8H2$7(aKs*RS36==Wv* zt&9xeT0V!rFPC=>thxJOhS=q=mlp>z9@rXfZ|m2+X5s|h4yOqFRlE!m-o-X{X*Drn z+aCPb7WGS&mBCHf=P=OTY*u&M)psW|F(@0y>lE2;F?KF!5wOW;W^l{gT6f~pVXw9a zGjyLlV`NC4n!3=RuTQ{crwoHz&dy!)RpOs`@b>Lm=flKsOt*HYKX2dByK@a04(wQ} z|K0PTpwowAl?)PltHRXtWPQ2%7U`T}V90ZPv}nGFOlm4KJHwrpBd+$E7FyPBj1SCI z^nPWATX-F0WH47OytuucnPJC|Mf0nscQG;?(ETyDd?nd242pJOL@QXJQ$V{wfW@YfLX%xpy8Kh zP!8~j`7*g_@q24#hKA?~J6@=>x?ktwW7xsj*+1#`5YcTZ0{wkXPXURng{@>=485%ZP zy}7S;vj5ka4;i0>i%obKBv$Ki*R}zj@~(V6Fz-L!e1C6R~PvHE$r)&($g6BWh)}Q#Ad9z9R*pAzIz3dFf61U$?tI_>q@_6Fh z_Ro2XEg2sC%1+*F%m2Jb-r{U^&0&K*IrIK*V*-|9^B$jmRw-e$e{agHzYgaQ|4jXy z!>`E@GdKA%P|4@G+dr1>@sK%M@#Fd1D>C7)*$*=}tln^cZ`?c4%%@NLcH3^fz2AKE z(VCsR%v~9NY~uU9J-GPH4%aWi&B;bHk4W^}&rU90^E#`rJp6o?Gi!tXBHOKJkGtP4 zn_Thn?DVJUa{_wauFUn%bP0l+XkKbBbdyLSSGWHUn|N}Tg^b5rw5fLsO!=c3falGGH1^30M91$R&1 zfE2w{cA!=xPZ!6Kid%2*p3ZyZA<+=X70~`#S1C;{UR&KJmQ|0^`1zguP~e%+jErw{utgx_94qU;lO` zF1VmYVBgwl|6?~YGVI%T_1D82ChvbAR@Ezg!rzx^7;A6Ww({-*hJw^*-A8lG?&ofQ z{&0>Z|EIc`K#}|N>sIhG>_%f+zn?yr}HQ7OGGIgTQS zeg)<-9Eh0p_@m+D$D1~>9^ZcTlD;N`ffP{R+G+9H7Ox`T&J$sfnE5kl;_HQTC7YC6 z9#l#*7O4(8%!uW9j-fd}gT!hb?%JY)mIo)FG8iPCzWP_?r;>YC!IjcfAqIoI zm#1s93UuDR>tSR#rdzwypQ}%x$^0DiffrXdTNS>}2r3XsO=M#z;1&}9yX1j}wzLJq z12q-BU!Dg8ZyItjY*#G2=)e0=AQvCQ4$jW*eYP?T2abyWy|O!mhk+sQ;QKw^tgx6z zL^)>6BcdFX9B@TBC^-OQ9+p z3i0LI;cH#PL^k)Hi{=~*+ZBLWf~#+#JSYb^K3X(iM5gw>Bm={prX#NQnijjl3K$Of zdc=IWysn@G7^Znnj~3}_Y?KrV-+{{&tzffxtjRj%(L!FdYk*~`Lh-$0*i~($QQ;e?mdP3 zt4)D9dRs*W;yUzpb=L|8pSo-ec*uhpC_6 zY!?NVVjpGV&CVa5@bj(eJ5%@B>8pD+nGQ@Zy|I7ptmI?5i{?woOg^b{ ztm4m2nc2y);oZA;SA|JyG1LgYU72fVcWc}1Bi;G?bnG9uB<1+$R%bbLxJFJ14ZRu~ z8Ri<xL=@3HlNGQBk!?o3#@9(UzK eTuIdM|8e{rclVMP`O8#5)vBkfpUXO@geCx~KWd)< literal 0 HcmV?d00001 diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/ViewItemBgImageFirstClicked.png b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/ViewItemBgImageFirstClicked.png new file mode 100644 index 0000000000000000000000000000000000000000..cb92d0b2698c78ebdfd0c61e7a6b5d0da652a9ce GIT binary patch literal 1651 zcmeAS@N?(olHy`uVBq!ia0y~yV7kD-z-Y$71Qa=b!0059;w~)y=&Na+d#k}kZE}Z0x}E?C{)7( z29O|#VmZzxcrohpLgoXTqp}4HV+vfZgn4TgpS!pFG!Mi1S9{M}dTVaITI5~%hPQA3 zSCi*24qs($c%Swq@Yx@!oB2F_w_b(%GaN8Cf4-+r`JRYOxa!R;h6CL(&DEDzDcf7< zm@z!qYqr*E(*2EF(>5|PtT+4RQNPN>*dlASoD*XM^Ot+Y-(@o2iwc%WGZge(bbs_$ zCiCFKeY^}7K935{bM~#}zr?`ce^Tlr=le$ntPFlrOE*jskl_nvc#xpkTxV(V?(a)+ zh6jwNAJ>^$WQoc!6zup~xL-=<-93he$7}n4FMYuAT$AC0q*(jEpn@x}G9ws%aCAG@ zzdX9{gbah-kw+J{FJfTWCJYS;c1VDrgg7+(v4uEhz#~E&6dSlg92W4S)`1c%G!#h; z%nyR2;S0{a)Jm-DdHSx+@)uyRJNW2AJXfD#8#e>P{Di_6`mD$2TxMlx@ZVtZCH(!v z6=!1=AerpfFGC$mh6e?&AJS50OO!+}Jh_UfntiwMSs$tkkSRM_1$Q@=bseU9+~!`iKP zeydI@7us81&Bsu&^;Xt<+n=_V|DU?p{u^lHQl+Hhn-!wB30|MrAIi?K=Y;7F^S=SN zj;U>U#n7<*#+Dm9lr8pYX&&0f%&>3at*lOs-}Q|Drt!`A+_kLZg9JB&&AP2+bDetZ z-u;Z+B47Tmy7=6e-EoW!|4aW{lwCqEN=ePp2kd_`E2r&pZPMuP1l0zfu6{1-oD!M< D%^0~r literal 0 HcmV?d00001 diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/buggy.riv b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/buggy.riv similarity index 100% rename from test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/buggy.riv rename to test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/buggy.riv diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/flame-and-spark.riv b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/flame-and-spark.riv new file mode 100644 index 0000000000000000000000000000000000000000..6b3be8d60e80b2811afb77f27285f0dd34620b10 GIT binary patch literal 28166 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 literal 0 HcmV?d00001 diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/space_reload.riv b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/space_reload.riv new file mode 100644 index 0000000000000000000000000000000000000000..acde1fa1557e02fb356e5f83144588e960a002de GIT binary patch literal 9998 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