X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=plugins%2Fdali-swig%2Fexamples%2Fhello-world.cs;h=a392996ceced394a755c5c544e9b3a3763804706;hp=be7a11ba0d734c6ac19cead599cc5d9757fac33f;hb=3fc0516c8f87d42c4bbf7979bd2002c62c4c537f;hpb=f3073dfed53989f1d7e73976577332ccd20b492b diff --git a/plugins/dali-swig/examples/hello-world.cs b/plugins/dali-swig/examples/hello-world.cs index be7a11b..a392996 100755 --- a/plugins/dali-swig/examples/hello-world.cs +++ b/plugins/dali-swig/examples/hello-world.cs @@ -1,112 +1,134 @@ /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ +* Copyright (c) 2016 Samsung Electronics Co., Ltd. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +*/ using System; using System.Runtime.InteropServices; using Dali; +using Dali.Constants; namespace MyCSharpExample { - class Example - { - private Dali.Application _application; - - private Animation _animation; - private TextLabel _text; - - public Example(Dali.Application application) - { - _application = application; - _application.Initialized += Initialize; - } + class Example + { + private Dali.Application _application; + private Animation _animation; + private TextLabel _text; - public void Initialize(object source, AUIApplicationInitEventArgs e) - { - Console.WriteLine("Customized Application Initialize event handler"); - Stage stage = Stage.GetCurrent(); - stage.BackgroundColor = Color.Green; - - stage.Touched += OnStageTouched; - - // Add a _text label to the stage - _text = new TextLabel("Hello Mono World"); - _text.ParentOrigin = NDalic.ParentOriginCenter; - _text.AnchorPoint = NDalic.AnchorPointCenter; - _text.HorizontalAlignment = "CENTER"; - _text.PointSize = 32.0f; + public Example(Dali.Application application) + { + _application = application; + _application.Initialized += Initialize; + } - stage.Add(_text); - } + public void Initialize(object source, NUIApplicationInitEventArgs e) + { + Console.WriteLine("Customized Application Initialize event handler"); + Stage stage = Stage.Instance; + stage.BackgroundColor = Color.White; + stage.Touch += OnStageTouched; + + // Add a _text label to the stage + _text = new TextLabel("Hello Mono World"); + _text.ParentOrigin = ParentOrigin.Center; + _text.AnchorPoint = AnchorPoint.Center; + _text.HorizontalAlignment = "CENTER"; + _text.PointSize = 32.0f; + _text.TextColor = Color.Magenta; + stage.Add(_text); + } - // Callback for _animation finished signal handling - public void AnimationFinished(object source, Animation.FinishedEventArgs e) - { - Console.WriteLine("Customized Animation Finished Event handler"); - Console.WriteLine("Animation finished: duration = " + e.Animation.Duration); - Console.WriteLine("End Action = " + e.Animation.GetEndAction()); - } + // Callback for _animation finished signal handling + public void AnimationFinished(object sender, EventArgs e) + { + Console.WriteLine("AnimationFinished()!"); + if(_animation) + { + Console.WriteLine("Duration= " + _animation.Duration); + Console.WriteLine("EndAction= " + _animation.EndAction); + } + } - // Callback for stage touched signal handling - public void OnStageTouched(object source, Stage.TouchEventArgs e) + // Callback for stage touched signal handling + public void OnStageTouched(object sender, Stage.TouchEventArgs e) + { + // Only animate the _text label when touch down happens + if( e.Touch.GetState(0) == PointStateType.DOWN ) + { + Console.WriteLine("Customized Stage Touch event handler"); + // Create a new _animation + if( _animation ) { - //TouchData touchData = TouchData.GetTouchDataFromPtr( data ); - - // Only animate the _text label when touch down happens - if( e.TouchData.GetState(0) == PointStateType.DOWN ) - { - Console.WriteLine("Customized Stage Touch event handler"); - // Create a new _animation - if( _animation ) - { - _animation.Reset(); - } - - _animation = new Animation(1.0f); // 1 second of duration - - _animation.AnimateTo(_text, Animation.Orientation, new Quaternion( new Radian( new Degree( 180.0f ) ), Vector3.XAXIS ), new AlphaFunction(Dali.Constants.AlphaFunction.BuiltinFunction.Linear), new TimePeriod(0.0f, 0.5f)); - - _animation.AnimateTo(_text, Animation.Orientation, new Quaternion( new Radian( new Degree( 0.0f ) ), Vector3.XAXIS ), new AlphaFunction(Dali.Constants.AlphaFunction.BuiltinFunction.Linear), new TimePeriod(0.5f, 0.5f)); - - // Connect the signal callback for animaiton finished signal - _animation.Finished += AnimationFinished; - - // Play the _animation - _animation.Play(); - - Console.WriteLine("Looping:" + _animation.Looping); - } + //_animation.Stop(Dali.Constants.Animation.EndAction.Stop); + _animation.Reset(); } - public void MainLoop() - { - _application.MainLoop (); - } + _animation = new Animation { + Duration = 2000, + StartTime = 0, + EndTime = 500, + TargetProperty = "Orientation", + Destination = new Rotation( new Radian( new Degree( 180.0f ) ), Vect3.Xaxis) + }; + _animation.AnimateTo(_text); + + _animation.StartTime = 500; + _animation.EndTime = 1000; + _animation.TargetProperty = "Orientation"; + _animation.Destination = new Rotation( new Radian( new Degree( 0.0f ) ), Vect3.Xaxis ); + _animation.AnimateTo(_text); + + _animation.StartTime = 1000; + _animation.EndTime = 1500; + _animation.TargetProperty = "ScaleX"; + _animation.Destination = 3.0f; + _animation.AnimateBy(_text); + + _animation.StartTime = 1500; + _animation.EndTime = 2000; + _animation.TargetProperty = "ScaleY"; + _animation.Destination = 4.0f; + _animation.AnimateBy(_text); + + _animation.EndAction = Animation.EndActions.Discard; + + // Connect the signal callback for animaiton finished signal + _animation.Finished += AnimationFinished; + + // Play the _animation + _animation.Play(); + + } + } - /// - /// The main entry point for the application. - /// + public void MainLoop() + { + _application.MainLoop (); + } - [STAThread] - static void Main(string[] args) - { - Console.WriteLine ("Hello Mono World"); + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main(string[] args) + { + Console.WriteLine ("Main() called!"); - Example example = new Example(Application.NewApplication()); - example.MainLoop (); - } + Example example = new Example(Application.NewApplication()); + example.MainLoop (); } + } }