[NUI] Add RiveAnimationView Tizen Music Application Samples
authorTaehyub Kim <taehyub.kim@samsung.com>
Wed, 15 Sep 2021 11:58:06 +0000 (20:58 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Mon, 27 Sep 2021 08:27:23 +0000 (17:27 +0900)
test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveMusicApp.cs [new file with mode: 0755]
test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveMusicBoxApp.cs [new file with mode: 0755]
test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/music.riv [new file with mode: 0755]
test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/musicbox.riv [new file with mode: 0755]

diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveMusicApp.cs b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveMusicApp.cs
new file mode 100755 (executable)
index 0000000..7cdeaf7
--- /dev/null
@@ -0,0 +1,66 @@
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Extension;
+using Tizen.NUI.Components;
+
+namespace Tizen.NUI.Samples
+{
+    public class RiveMusicApp : IExample
+    {
+        private Window window;
+        private Layer defaultLayer;
+
+        Tizen.NUI.Extension.RiveAnimationView rav;
+        Button playButton, stopButton;
+        public void Activate()
+        {
+            window = NUIApplication.GetDefaultWindow();
+            defaultLayer = window.GetDefaultLayer();
+
+            rav = new Tizen.NUI.Extension.RiveAnimationView(Tizen.Applications.Application.Current.DirectoryInfo.Resource + "rive/music.riv")
+            {
+                Size = new Size(500, 500),
+                ParentOrigin = ParentOrigin.Center,
+                PivotPoint = PivotPoint.Center,
+                PositionUsesPivotPoint = true,
+            };
+
+            rav.Play();
+
+            playButton = new Button()
+            {
+                Size = new Size(200, 100),
+                Position = new Position(0, 0),
+                Text = "Start Music"
+            };
+            playButton.Clicked += (object source, ClickedEventArgs args) =>
+            {
+                rav.EnableAnimation("Loop", true);
+                rav.EnableAnimation("Start", true);
+                rav.EnableAnimation("Stop", false);
+            };
+
+            stopButton = new Button()
+            {
+                Size = new Size(200, 100),
+                Position = new Position(200, 0),
+                Text = "Stop Music"
+            };
+            stopButton.Clicked += (object source, ClickedEventArgs args) =>
+            {
+                rav.EnableAnimation("Loop", false);
+                rav.EnableAnimation("Start", false);
+                rav.EnableAnimation("Stop", true);
+            };
+
+            defaultLayer.Add(rav);
+            defaultLayer.Add(playButton);
+            defaultLayer.Add(stopButton);
+        }
+        public void Deactivate()
+        {
+            defaultLayer.Remove(rav);
+            defaultLayer.Remove(playButton);
+            defaultLayer.Remove(stopButton);
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveMusicBoxApp.cs b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/RiveMusicBoxApp.cs
new file mode 100755 (executable)
index 0000000..fbe845c
--- /dev/null
@@ -0,0 +1,63 @@
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Extension;
+using Tizen.NUI.Components;
+
+namespace Tizen.NUI.Samples
+{
+    public class RiveMusicBoxApp : IExample
+    {
+        private Window window;
+        private Layer defaultLayer;
+
+        Tizen.NUI.Extension.RiveAnimationView rav;
+        Button playButton, stopButton;
+        public void Activate()
+        {
+            window = NUIApplication.GetDefaultWindow();
+            defaultLayer = window.GetDefaultLayer();
+
+            rav = new Tizen.NUI.Extension.RiveAnimationView(Tizen.Applications.Application.Current.DirectoryInfo.Resource + "rive/musicbox.riv")
+            {
+                Size = new Size(720, 720),
+                ParentOrigin = ParentOrigin.Center,
+                PivotPoint = PivotPoint.Center,
+                PositionUsesPivotPoint = true,
+            };
+
+            rav.EnableAnimation("Loop", true);
+            rav.Play();
+
+            playButton = new Button()
+            {
+                Size = new Size(200, 100),
+                Position = new Position(0, 0),
+                Text = "Start"
+            };
+            playButton.Clicked += (object source, ClickedEventArgs args) =>
+            {
+                rav.Play();
+            };
+
+            stopButton = new Button()
+            {
+                Size = new Size(200, 100),
+                Position = new Position(200, 0),
+                Text = "Stop"
+            };
+            stopButton.Clicked += (object source, ClickedEventArgs args) =>
+            {
+                rav.Stop();
+            };
+
+            defaultLayer.Add(rav);
+            defaultLayer.Add(playButton);
+            defaultLayer.Add(stopButton);
+        }
+        public void Deactivate()
+        {
+            defaultLayer.Remove(rav);
+            defaultLayer.Remove(playButton);
+            defaultLayer.Remove(stopButton);
+        }
+    }
+}
diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/music.riv b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/music.riv
new file mode 100755 (executable)
index 0000000..dbac0a9
Binary files /dev/null and b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/music.riv differ
diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/musicbox.riv b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/musicbox.riv
new file mode 100755 (executable)
index 0000000..08b9e75
Binary files /dev/null and b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/res/rive/musicbox.riv differ