--- /dev/null
+Flora License
+
+Version 1.0, May, 2012
+
+http://floralicense.org/license/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction,
+and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by
+the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and
+all other entities that control, are controlled by, or are
+under common control with that entity. For the purposes of
+this definition, "control" means (i) the power, direct or indirect,
+to cause the direction or management of such entity,
+whether by contract or otherwise, or (ii) ownership of fifty percent (50%)
+or more of the outstanding shares, or (iii) beneficial ownership of
+such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity
+exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications,
+including but not limited to software source code, documentation source,
+and configuration files.
+
+"Object" form shall mean any form resulting from mechanical
+transformation or translation of a Source form, including but
+not limited to compiled object code, generated documentation,
+and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form,
+made available under the License, as indicated by a copyright notice
+that is included in or attached to the work (an example is provided
+in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form,
+that is based on (or derived from) the Work and for which the editorial
+revisions, annotations, elaborations, or other modifications represent,
+as a whole, an original work of authorship. For the purposes of this License,
+Derivative Works shall not include works that remain separable from,
+or merely link (or bind by name) to the interfaces of, the Work and
+Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original
+version of the Work and any modifications or additions to that Work or
+Derivative Works thereof, that is intentionally submitted to Licensor
+for inclusion in the Work by the copyright owner or by an individual or
+Legal Entity authorized to submit on behalf of the copyright owner.
+For the purposes of this definition, "submitted" means any form of
+electronic, verbal, or written communication sent to the Licensor or
+its representatives, including but not limited to communication on
+electronic mailing lists, source code control systems, and issue
+tracking systems that are managed by, or on behalf of, the Licensor
+for the purpose of discussing and improving the Work, but excluding
+communication that is conspicuously marked or otherwise designated
+in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity
+on behalf of whom a Contribution has been received by Licensor and
+subsequently incorporated within the Work.
+
+"Tizen Certified Platform" shall mean a software platform that complies
+with the standards set forth in the Compatibility Definition Document
+and passes the Compatibility Test Suite as defined from time to time
+by the Tizen Technical Steering Group and certified by the Tizen
+Association or its designated agent.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the
+Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+(except as stated in this section) patent license to make, have made,
+use, offer to sell, sell, import, and otherwise transfer the Work
+solely as incorporated into a Tizen Certified Platform, where such
+license applies only to those patent claims licensable by such
+Contributor that are necessarily infringed by their Contribution(s)
+alone or by combination of their Contribution(s) with the Work solely
+as incorporated into a Tizen Certified Platform to which such
+Contribution(s) was submitted. If You institute patent litigation
+against any entity (including a cross-claim or counterclaim
+in a lawsuit) alleging that the Work or a Contribution incorporated
+within the Work constitutes direct or contributory patent infringement,
+then any patent licenses granted to You under this License for that
+Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+Work or Derivative Works thereof pursuant to the copyright license
+above, in any medium, with or without modifications, and in Source or
+Object form, provided that You meet the following conditions:
+
+ 1. You must give any other recipients of the Work or Derivative Works
+ a copy of this License; and
+ 2. You must cause any modified files to carry prominent notices stating
+ that You changed the files; and
+ 3. You must retain, in the Source form of any Derivative Works that
+ You distribute, all copyright, patent, trademark, and attribution
+ notices from the Source form of the Work, excluding those notices
+ that do not pertain to any part of the Derivative Works; and
+ 4. If the Work includes a "NOTICE" text file as part of its distribution,
+ then any Derivative Works that You distribute must include a readable
+ copy of the attribution notices contained within such NOTICE file,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works, in at least one of the following places:
+ within a NOTICE text file distributed as part of the Derivative Works;
+ within the Source form or documentation, if provided along with the
+ Derivative Works; or, within a display generated by the Derivative Works,
+ if and wherever such third-party notices normally appear.
+ The contents of the NOTICE file are for informational purposes only
+ and do not modify the License.
+
+You may add Your own attribution notices within Derivative Works
+that You distribute, alongside or as an addendum to the NOTICE text
+from the Work, provided that such additional attribution notices
+cannot be construed as modifying the License. You may add Your own
+copyright statement to Your modifications and may provide additional or
+different license terms and conditions for use, reproduction, or
+distribution of Your modifications, or for any such Derivative Works
+as a whole, provided Your use, reproduction, and distribution of
+the Work otherwise complies with the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+any Contribution intentionally submitted for inclusion in the Work
+by You to the Licensor shall be under the terms and conditions of
+this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify
+the terms of any separate license agreement you may have executed
+with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+names, trademarks, service marks, or product names of the Licensor,
+except as required for reasonable and customary use in describing the
+origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+agreed to in writing, Licensor provides the Work (and each
+Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied, including, without limitation, any warranties or conditions
+of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+PARTICULAR PURPOSE. You are solely responsible for determining the
+appropriateness of using or redistributing the Work and assume any
+risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+whether in tort (including negligence), contract, or otherwise,
+unless required by applicable law (such as deliberate and grossly
+negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special,
+incidental, or consequential damages of any character arising as a
+result of this License or out of the use or inability to use the
+Work (including but not limited to damages for loss of goodwill,
+work stoppage, computer failure or malfunction, or any and all
+other commercial damages or losses), even if such Contributor
+has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+the Work or Derivative Works thereof, You may choose to offer,
+and charge a fee for, acceptance of support, warranty, indemnity,
+or other liability obligations and/or rights consistent with this
+License. However, in accepting such obligations, You may act only
+on Your own behalf and on Your sole responsibility, not on behalf
+of any other Contributor, and only if You agree to indemnify,
+defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason
+of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Flora License to your work
+
+To apply the Flora License to your work, attach the following
+boilerplate notice, with the fields enclosed by brackets "[]"
+replaced with your own identifying information. (Don't include
+the brackets!) The text should be enclosed in the appropriate
+comment syntax for the file format. We also recommend that a
+file or class name and description of purpose be included on the
+same "printed page" as the copyright notice for easier
+identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Flora License, Version 1.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://floralicense.org/license/
+
+ 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.
+
--- /dev/null
+Copyright (c) Samsung Electronics Co., Ltd. All rights reserved.
+Except as noted, this software is licensed under Flora License, Version 1.
+Please, see the LICENSE file for Flora License terms and conditions.
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<?xml-stylesheet type="text/xsl" href="../../../../description.xsl"?>
+
+<Overview version="0.17.1">
+ <SampleName> UiControlAnimator </SampleName>
+ <SampleVersion>1.0</SampleVersion>
+ <Preview>screenshot.png</Preview>
+ <Description>
+ The UiControlAnimator sample application demonstrates how you can use animations by using Control Animator.
+ </Description>
+</Overview>
--- /dev/null
+dummy file
\ No newline at end of file
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file AnimationBaseForm.h
+ * @brief This is the header file for the AnimationBaseForm class.
+ *
+ * This header file contains the declarations of the AnimationBaseForm class.
+ */
+
+#ifndef _ANIMATION_BASE_FORM_H_
+#define _ANIMATION_BASE_FORM_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FGraphics.h>
+#include <FUi.h>
+
+#include "AnimationPropertyInfo.h"
+#include "SettingPopup.h"
+
+enum AnimationDirection
+{
+ ANIMATION_FORWARD,
+ ANIMATION_BACKWARD
+};
+
+enum AnimationPosition
+{
+ ANIMATION_POS_START,
+ ANIMATION_POS_END
+};
+
+class AnimationBaseForm
+ : public Tizen::Ui::Controls::Form
+ , public Tizen::Ui::Controls::IFormBackEventListener
+ , public Tizen::Ui::IActionEventListener
+{
+public:
+ AnimationBaseForm(void);
+ virtual ~AnimationBaseForm(void);
+ result Initialize(void);
+
+ virtual result Play(void);
+ virtual result Stop(void);
+
+ virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+protected:
+ AnimationDirection GetAnimationDirection(void);
+ virtual bool IsAnimating(void);
+
+private:
+ virtual void InitializeFooter(void);
+
+protected:
+ AnimationPropertyInfo _animationPropertyInfo;
+ SettingPopup* _pSettingPopup;
+
+ static const int FOOTER_ITEM_INDEX_PLAY = 0;
+ static const int FOOTER_ITEM_INDEX_STOP = 1;
+ static const int FOOTER_ITEM_INDEX_SETTINGS = 2;
+
+private:
+ AnimationPosition __position;
+
+ static const int ID_FOOTER_BUTTON_PLAY = 101;
+ static const int ID_FOOTER_BUTTON_STOP = 102;
+ static const int ID_FOOTER_BUTTON_SETTINGS = 103;
+};
+
+#endif // _ANIMATION_BASE_FORM_H_
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file AnimationGroupParallelForm.h
+ * @brief This is the header file for the AnimationGroupParallelForm class.
+ *
+ * This header file contains the declarations of the AnimationGroupParallelForm class.
+ */
+
+#ifndef _ANIMATION_GROUP_PARALLEL_FORM_H_
+#define _ANIMATION_GROUP_PARALLEL_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class AnimationGroupParallelForm
+ : public AnimationBaseForm
+{
+public:
+ AnimationGroupParallelForm(void);
+ virtual ~AnimationGroupParallelForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+private:
+ Tizen::Ui::Controls::Button* __pLeftTop;
+ Tizen::Ui::Controls::Button* __pRightTop;
+ Tizen::Ui::Controls::Button* __pLeftBottom;
+ Tizen::Ui::Controls::Button* __pRightBottom;
+
+ static const int BUTTON_OFFSET_X = 50;
+ static const int BUTTON_OFFSET_Y = 50;
+ static const int BUTTON_WIDTH = 150;
+ static const int BUTTON_HEIGHT = 150;
+
+ static const int ANIMATION_OFFSET_X = 145;
+ static const int ANIMATION_OFFSET_Y = 300;
+ static const int ANIMATION_OFFSET_WIDTH = 30;
+ static const int ANIMATION_OFFSET_HEIGHT = 30;
+};
+
+#endif // _ANIMATION_GROUP_PARALLEL_FORM_H_
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file AnimationGroupSequentialForm.h
+ * @brief This is the header file for the AnimationGroupSequentialForm class.
+ *
+ * This header file contains the declarations of the AnimationGroupSequentialForm class.
+ */
+
+#ifndef _ANIMATION_GROUP_SEQUENTIAL_FORM_H_
+#define _ANIMATION_GROUP_SEQUENTIAL_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class AnimationGroupSequentialForm
+ : public AnimationBaseForm
+{
+public:
+ AnimationGroupSequentialForm(void);
+ virtual ~AnimationGroupSequentialForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+private:
+ Tizen::Ui::Controls::Button* __pLeftTop;
+ Tizen::Ui::Controls::Button* __pRightTop;
+ Tizen::Ui::Controls::Button* __pLeftBottom;
+ Tizen::Ui::Controls::Button* __pRightBottom;
+
+ static const int BUTTON_OFFSET_X = 50;
+ static const int BUTTON_OFFSET_Y = 50;
+ static const int BUTTON_WIDTH = 150;
+ static const int BUTTON_HEIGHT = 150;
+
+ static const int ANIMATION_OFFSET_X = 145;
+ static const int ANIMATION_OFFSET_Y = 300;
+ static const int ANIMATION_OFFSET_WIDTH = 30;
+ static const int ANIMATION_OFFSET_HEIGHT = 30;
+};
+
+#endif // _ANIMATION_GROUP_SEQUENTIAL_FORM_H_
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file AnimationPropertyInfo.h
+ * @brief This is the header file for the AnimationPropertyInfo class.
+ *
+ * This header file contains the declarations of the AnimationPropertyInfo class.
+ */
+
+#ifndef _ANIMATION_PROPERTY_INFO_H_
+#define _ANIMATION_PROPERTY_INFO_H_
+
+#include <FUi.h>
+
+class AnimationPropertyInfo
+{
+public:
+ AnimationPropertyInfo(void);
+ ~AnimationPropertyInfo(void);
+
+ void SetDelay(int delay);
+ int GetDelay(void) const;
+
+ void SetDuration(int duration);
+ int GetDuration(void) const;
+
+ void SetOffset(int offset);
+ int GetOffset(void) const;
+
+ void SetScaleRatio(int scaleRatio);
+ int GetScaleRatio(void) const;
+
+ void SetRepeatCount(int repeatCount);
+ int GetRepeatCount(void) const;
+
+ void SetAutoReverseEnabled(bool autoReverse);
+ bool IsAutoReverseEnabled(void) const;
+
+ void SetHoldEndEnabled(bool holdEnd);
+ bool IsHoldEndEnabled(void) const;
+
+ void SetInterpolatorType(Tizen::Ui::Animations::AnimationInterpolatorType interpolatorType);
+ Tizen::Ui::Animations::AnimationInterpolatorType GetInterpolatorType(void) const;
+
+ void SetDefaultValue(void);
+ void ApplyGlobalSettings(Tizen::Ui::Animations::AnimationBase& animation);
+
+public:
+ static const int DEFAULT_DELAY = 0;
+ static const int DEFAULT_DURATION = 1000;
+ static const int DEFAULT_OFFSET = 0;
+ static const int DEFAULT_SCALE_RATIO = 1;
+ static const int DEFAULT_REPEAT_COUNT = 1;
+ static const bool DEFAULT_AUTO_REVERSE = false;
+ static const bool DEFAULT_SET_HOLD_END = true;
+
+private:
+ int __delay;
+ int __duration;
+ int __offset;
+ int __scaleRatio;
+ int __repeatCount;
+ bool __isAutoReverse;
+ bool __isSetHoldEnd;
+ Tizen::Ui::Animations::AnimationInterpolatorType __interpolatorType;
+};
+
+#endif // _ANIMATION_PROPERTY_INFO_H_
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file ControlEventListenerForm.h
+ * @brief This is the header file for the ControlEventListenerForm class.
+ *
+ * This header file contains the declarations of the ControlEventListenerForm class.
+ */
+
+#ifndef _CONTROL_EVENT_LISTENER_FORM_H_
+#define _CONTROL_EVENT_LISTENER_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class ControlEventListenerForm
+ : public AnimationBaseForm
+ , public Tizen::Ui::Animations::IControlAnimatorDetailedEventListener
+{
+public:
+ ControlEventListenerForm(void);
+ virtual ~ControlEventListenerForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+ virtual void OnControlAnimationStarted(Tizen::Ui::Animations::ControlAnimator& source, Tizen::Ui::Control& control, Tizen::Ui::Animations::ControlAnimatorTriggerType animTrigger, Tizen::Ui::Animations::AnimationTargetType animTarget, Tizen::Ui::Animations::AnimationBase* pAnimation);
+ virtual void OnControlAnimationRepeated(Tizen::Ui::Animations::ControlAnimator& source, Tizen::Ui::Control& control, Tizen::Ui::Animations::ControlAnimatorTriggerType animTrigger, Tizen::Ui::Animations::AnimationTargetType animTarget, Tizen::Ui::Animations::AnimationBase* pAnimation, int repeatCount);
+ virtual void OnControlAnimationFinished(Tizen::Ui::Animations::ControlAnimator& source, Tizen::Ui::Control& control, Tizen::Ui::Animations::ControlAnimatorTriggerType animTrigger, Tizen::Ui::Animations::AnimationTargetType animTarget, Tizen::Ui::Animations::AnimationBase* pAnimation);
+ virtual void OnControlAnimationStopped(Tizen::Ui::Animations::ControlAnimator& source, Tizen::Ui::Control& control, Tizen::Ui::Animations::ControlAnimatorTriggerType animTrigger, Tizen::Ui::Animations::AnimationTargetType animTarget, Tizen::Ui::Animations::AnimationBase* pAnimation);
+
+private:
+ Tizen::Ui::Controls::Button* __pButton1;
+ Tizen::Ui::Controls::Button* __pButton2;
+ Tizen::Ui::Controls::Button* __pButton3;
+ Tizen::Ui::Controls::Button* __pButton4;
+ Tizen::Ui::Controls::Button* __pButton5;
+ Tizen::Ui::Controls::Button* __pButton6;
+ Tizen::Ui::Controls::Button* __pButton7;
+ Tizen::Ui::Controls::Button* __pButton8;
+ Tizen::Ui::Controls::Button* __pButton9;
+ Tizen::Ui::Controls::Button* __pButton10;
+ Tizen::Ui::Controls::Button* __pButton11;
+ Tizen::Ui::Controls::Button* __pButton12;
+
+ Tizen::Ui::Controls::Label* __pLabel;
+
+ static const int BUTTON_OFFSET_X = 75;
+ static const int BUTTON_OFFSET_Y = 75;
+ static const int BUTTON_WIDTH = 150;
+ static const int BUTTON_HEIGHT = 150;
+
+ static const int LABEL_WIDTH = 450;
+ static const int LABEL_HEIGHT = 225;
+};
+
+#endif // _CONTROL_EVENT_LISTENER_FORM_H_
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file CustomImplicitAnimationForm.h
+ * @brief This is the header file for the CustomImplicitAnimationForm class.
+ *
+ * This header file contains the declarations of the CustomImplicitAnimationForm class.
+ */
+
+#ifndef _CUSTOM_IMPLICIT_ANIMATION_FORM_H_
+#define _CUSTOM_IMPLICIT_ANIMATION_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class CustomImplicitAnimationForm
+ : public AnimationBaseForm
+{
+public:
+ CustomImplicitAnimationForm(void);
+ virtual ~CustomImplicitAnimationForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+private:
+ int __transactionId;
+
+ Tizen::Ui::Controls::Button* __pButton1;
+ Tizen::Ui::Controls::Button* __pButton2;
+ Tizen::Ui::Controls::Button* __pButton3;
+ Tizen::Ui::Controls::Button* __pButton4;
+
+ static const int BUTTON_OFFSET_X = 70;
+ static const int BUTTON_OFFSET_Y = 74;
+ static const int BUTTON_WIDTH = 225;
+ static const int BUTTON_HEIGHT = 74;
+
+ static const int ANIMATION_OFFSET_X = 250;
+ static const int ANIMATION_OFFSET_Y = 70;
+ static const int ANIMATION_OFFSET_WIDTH = 74;
+ static const int ANIMATION_OFFSET_HEIGHT = 50;
+};
+
+#endif // _CUSTOM_IMPLICIT_ANIMATION_FORM_H_
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file DimensionAnimationForm.h
+ * @brief This is the header file for the DimensionAnimationForm class.
+ *
+ * This header file contains the declarations of the DimensionAnimationForm class.
+ */
+
+#ifndef _DIMENSION_ANIMATION_FORM_H_
+#define _DIMENSION_ANIMATION_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class DimensionAnimationForm
+ : public AnimationBaseForm
+{
+public:
+ DimensionAnimationForm(void);
+ virtual ~DimensionAnimationForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+private:
+ Tizen::Ui::Controls::Button* __pLeftTop;
+ Tizen::Ui::Controls::Button* __pRightTop;
+ Tizen::Ui::Controls::Button* __pLeftBottom;
+ Tizen::Ui::Controls::Button* __pRightBottom;
+ Tizen::Ui::Controls::Button* __pCenter;
+
+ static const int BUTTON_OFFSET_X = 50;
+ static const int BUTTON_OFFSET_Y = 50;
+ static const int BUTTON_WIDTH = 150;
+ static const int BUTTON_HEIGHT = 150;
+
+ static const int ANIMATION_OFFSET_WIDTH = 70;
+ static const int ANIMATION_OFFSET_HEIGHT = 70;
+};
+
+#endif // _DIMENSION_ANIMATION_FORM_H_
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file FloatAnimationForm.h
+ * @brief This is the header file for the FloatAnimationForm class.
+ *
+ * This header file contains the declarations of the FloatAnimationForm class.
+ */
+
+#ifndef _FLOAT_ANIMATION_FORM_H_
+#define _FLOAT_ANIMATION_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class FloatAnimationForm
+ : public AnimationBaseForm
+{
+public:
+ FloatAnimationForm(void);
+ virtual ~FloatAnimationForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+private:
+ Tizen::Ui::Controls::Button* __pLeftTop;
+ Tizen::Ui::Controls::Button* __pRightTop;
+ Tizen::Ui::Controls::Button* __pLeftBottom;
+ Tizen::Ui::Controls::Button* __pRightBottom;
+
+ static const int BUTTON_OFFSET_X = 50;
+ static const int BUTTON_OFFSET_Y = 50;
+ static const int BUTTON_WIDTH = 150;
+ static const int BUTTON_HEIGHT = 150;
+};
+
+#endif // _FLOAT_ANIMATION_FORM_H_
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file FormFactory.h
+ * @brief This is the header file for the FormFactory class.
+ *
+ * This header file contains the declarations of the FormFactory class.
+ */
+
+#ifndef _FORM_FACTORY_H_
+#define _FORM_FACTORY_H_
+
+#include <FUi.h>
+
+extern const wchar_t* FORM_MAIN_MENU;
+
+extern const wchar_t* FORM_INTEGER_ANIMATION;
+extern const wchar_t* FORM_FLOAT_ANIMATION;
+extern const wchar_t* FORM_POINT_ANIMATION;
+extern const wchar_t* FORM_DIMENSION_ANIMATION;
+extern const wchar_t* FORM_RECTANGLE_ANIMATION;
+extern const wchar_t* FORM_ROTATE_ANIMATION;
+
+extern const wchar_t* FORM_KEY_FRAME_ANIMATION;
+extern const wchar_t* FORM_OUT_OF_BOUNDS_CHECK;
+extern const wchar_t* FORM_CONTROL_EVENT_LISTENER;
+extern const wchar_t* FORM_SET_HOLD_TEST;
+
+extern const wchar_t* FORM_ANIMATION_GROUP_PARALLEL;
+extern const wchar_t* FORM_ANIMATION_GROUP_SEQUENTIAL;
+
+extern const wchar_t* FORM_TRANSACTION_SET;
+extern const wchar_t* FORM_TRANSACTION_EVENT_LISTENER;
+
+extern const wchar_t* FORM_FORM_TRANSITION;
+extern const wchar_t* FORM_PANEL_TRANSITION;
+
+extern const wchar_t* FORM_IMPLICIT_ANIMATION;
+extern const wchar_t* FORM_CUSTOM_IMPLICIT_ANIMATION;
+
+class FormFactory
+ : public Tizen::Ui::Scenes::IFormFactory
+{
+public:
+ FormFactory(void);
+ virtual ~FormFactory(void);
+
+ virtual Tizen::Ui::Controls::Form* CreateFormN(const Tizen::Base::String& formId, const Tizen::Ui::Scenes::SceneId& sceneId);
+};
+
+#endif // _FORM_FACTORY_H_
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file FormTransitionForm.h
+ * @brief This is the header file for the FormTransitionForm class.
+ *
+ * This header file contains the declarations of the FormTransitionForm class.
+ */
+
+#ifndef _FORM_TRANSITION_FORM_H_
+#define _FORM_TRANSITION_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class FormTransitionForm
+ : public AnimationBaseForm
+ , public Tizen::Ui::Controls::IListViewItemEventListener
+ , public Tizen::Ui::Controls::IListViewItemProvider
+{
+public:
+ FormTransitionForm(void);
+ virtual ~FormTransitionForm(void);
+
+ virtual result OnInitializing(void);
+ virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+ virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
+ virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
+ virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
+
+ virtual int GetItemCount(void);
+ virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
+ virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
+
+private:
+ virtual bool IsAnimating(void);
+
+private:
+ Tizen::Ui::Controls::Form* __pTestForm;
+ Tizen::Ui::Controls::ListView* __pListView;
+
+ static const int LIST_VIEW_ITEM_COUNT = 7;
+ static const int LIST_VIEW_ITEM_HEIGHT = 112;
+
+ static const Tizen::Base::String __animType[LIST_VIEW_ITEM_COUNT];
+};
+
+#endif // _FORM_TRANSITION_FORM_H_
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file ImplicitAnimationForm.h
+ * @brief This is the header file for the ImplicitAnimationForm class.
+ *
+ * This header file contains the declarations of the ImplicitAnimationForm class.
+ */
+
+#ifndef _IMPLICIT_ANIMATION_FORM_H_
+#define _IMPLICIT_ANIMATION_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class ImplicitAnimationForm
+ : public AnimationBaseForm
+{
+public:
+ ImplicitAnimationForm(void);
+ virtual ~ImplicitAnimationForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+private:
+ int __transactionId;
+
+ Tizen::Ui::Controls::Button* __pButton1;
+ Tizen::Ui::Controls::Button* __pButton2;
+ Tizen::Ui::Controls::Button* __pButton3;
+ Tizen::Ui::Controls::Button* __pButton4;
+
+ static const int BUTTON_OFFSET_X = 70;
+ static const int BUTTON_OFFSET_Y = 74;
+ static const int BUTTON_WIDTH = 225;
+ static const int BUTTON_HEIGHT = 74;
+
+ static const int ANIMATION_OFFSET_X = 250;
+ static const int ANIMATION_OFFSET_Y = 70;
+ static const int ANIMATION_OFFSET_WIDTH = 74;
+ static const int ANIMATION_OFFSET_HEIGHT = 50;
+};
+
+#endif // _IMPLICIT_ANIMATION_FORM_H_
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file IntegerAnimationForm.h
+ * @brief This is the header file for the AnimationBaseForm class.
+ *
+ * This header file contains the declarations of the AnimationBaseForm class.
+ */
+
+#ifndef _INTEGER_ANIMATION_FORM_H_
+#define _INTEGER_ANIMATION_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class IntegerAnimationForm
+ : public AnimationBaseForm
+{
+public:
+ IntegerAnimationForm(void);
+ virtual ~IntegerAnimationForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+private:
+ Tizen::Ui::Controls::Button* __pLeftTop;
+ Tizen::Ui::Controls::Button* __pRightTop;
+ Tizen::Ui::Controls::Button* __pLeftBottom;
+ Tizen::Ui::Controls::Button* __pRightBottom;
+
+ static const int BUTTON_OFFSET_X = 50;
+ static const int BUTTON_OFFSET_Y = 50;
+ static const int BUTTON_WIDTH = 150;
+ static const int BUTTON_HEIGHT = 150;
+};
+
+#endif // _INTEGER_ANIMATION_FORM_H_
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file KeyFrameAnimationForm.h
+ * @brief This is the header file for the KeyFrameAnimationForm class.
+ *
+ * This header file contains the declarations of the KeyFrameAnimationForm class.
+ */
+
+#ifndef _KEY_FRAME_ANIMATION_FORM_H_
+#define _KEY_FRAME_ANIMATION_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class KeyFrameAnimationForm
+ : public AnimationBaseForm
+{
+public:
+ KeyFrameAnimationForm(void);
+ virtual ~KeyFrameAnimationForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+private:
+ Tizen::Ui::Controls::Button* __pLeftTop;
+ Tizen::Ui::Controls::Button* __pRightTop;
+
+ static const int BUTTON_OFFSET_X = 50;
+ static const int BUTTON_OFFSET_Y = 50;
+ static const int BUTTON_WIDTH = 150;
+ static const int BUTTON_HEIGHT = 150;
+
+ static const int ANIMATION_OFFSET_X = 150;
+ static const int ANIMATION_OFFSET_Y = 425;
+};
+
+#endif // _KEY_FRAME_ANIMATION_FORM_H_
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+/**
+ * @file MainForm.h
+ * @brief This is the header file for the MainForm class.
+ *
+ * This header file contains the declarations of the MainForm class.
+ */
+
+#ifndef _MAIN_MENU_H_
+#define _MAIN_MENU_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FGraphics.h>
+#include <FUiControls.h>
+
+class MainForm
+ : public Tizen::Ui::Controls::Form
+ , public Tizen::Ui::Controls::IFormBackEventListener
+ , public Tizen::Ui::Controls::IGroupedListViewItemEventListener
+ , public Tizen::Ui::Controls::IGroupedListViewItemProvider
+{
+public:
+ MainForm(void);
+ virtual ~MainForm(void);
+ result Initialize(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+
+ virtual void OnGroupedListViewContextItemStateChanged(Tizen::Ui::Controls::GroupedListView &listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListContextItemStatus state);
+ virtual void OnGroupedListViewItemStateChanged(Tizen::Ui::Controls::GroupedListView &listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListItemStatus state);
+ virtual void OnGroupedListViewItemSwept(Tizen::Ui::Controls::GroupedListView &listView, int groupIndex, int itemIndex, Tizen::Ui::Controls::SweepDirection direction);
+
+ virtual int GetGroupCount(void);
+ virtual int GetItemCount(int groupIndex);
+ virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int groupIndex, int itemIndex, int itemWidth);
+ virtual Tizen::Ui::Controls::GroupItem* CreateGroupItem(int groupIndex, int itemWidth);
+ virtual bool DeleteItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
+ virtual bool DeleteGroupItem(int groupIndex, Tizen::Ui::Controls::GroupItem* pItem, int itemWidth);
+
+ virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+private:
+ Tizen::Ui::Controls::GroupedListView* __pGroupedListView;
+
+ static const int GROUPED_LIST_VIEW_CUSTOM_ITEM_TEXT_POS_X = 46;
+ static const int GROUPED_LIST_VIEW_CUSTOM_ITEM_HEIGHT = 112;
+ static const int GROUPED_LIST_VIEW_GROUP_ITEM_HEIGHT = 80;
+ static const int GROUPED_LIST_VIEW_GROUP_ITEM_COUNT = 6;
+
+ static const int ANIMATION_BASIC_ITEM_COUNT = 6;
+ static const int ANIMATION_ADVANCED_ITEM_COUNT = 4;
+ static const int ANIMATION_GROUP_ITEM_COUNT = 2;
+ static const int ANIMATION_TRANSACTION_ITEM_COUNT = 2;
+ static const int ANIMATION_TRANSITION_ITEM_COUNT = 2;
+ static const int ANIMATION_IMPLICIT_ITEM_COUNT = 2;
+
+ static const Tizen::Base::String __groupItemName[GROUPED_LIST_VIEW_GROUP_ITEM_COUNT];
+ static const Tizen::Base::String __basicAnimationName[ANIMATION_BASIC_ITEM_COUNT];
+ static const Tizen::Base::String __advancedAnimationName[ANIMATION_ADVANCED_ITEM_COUNT];
+ static const Tizen::Base::String __groupAnimationName[ANIMATION_GROUP_ITEM_COUNT];
+ static const Tizen::Base::String __transactionAnimationName[ANIMATION_TRANSACTION_ITEM_COUNT];
+ static const Tizen::Base::String __transitionAnimationName[ANIMATION_TRANSITION_ITEM_COUNT];
+ static const Tizen::Base::String __implicitAnimationName[ANIMATION_IMPLICIT_ITEM_COUNT];
+
+ static const wchar_t* __sceneId[][GROUPED_LIST_VIEW_GROUP_ITEM_COUNT];
+};
+
+#endif //_MAIN_MENU_H_
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file OutOfBoundsCheckForm.h
+ * @brief This is the header file for the OutOfBoundsCheckForm class.
+ *
+ * This header file contains the declarations of the OutOfBoundsCheckForm class.
+ */
+
+#ifndef _OUT_OF_BOUNDS_CHECK_FORM_H_
+#define _OUT_OF_BOUNDS_CHECK_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class OutOfBoundsCheckForm
+ : public AnimationBaseForm
+{
+public:
+ OutOfBoundsCheckForm(void);
+ virtual ~OutOfBoundsCheckForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+private:
+ Tizen::Ui::Controls::Button* __pLeftTop;
+ Tizen::Ui::Controls::Button* __pRightTop;
+ Tizen::Ui::Controls::Button* __pLeftBottom;
+ Tizen::Ui::Controls::Button* __pRightBottom;
+
+ static const int BUTTON_OFFSET_X = 75;
+ static const int BUTTON_OFFSET_Y = 75;
+ static const int BUTTON_WIDTH = 150;
+ static const int BUTTON_HEIGHT = 150;
+
+ static const int ANIMATION_OFFSET_X = 145;
+ static const int ANIMATION_OFFSET_Y = 300;
+};
+
+#endif // _OUT_OF_BOUNDS_CHECK_FORM_H_
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file PanelTransitionForm.h
+ * @brief This is the header file for the PanelTransitionForm class.
+ *
+ * This header file contains the declarations of the PanelTransitionForm class.
+ */
+
+#ifndef _PANEL_TRANSITION_FORM_H_
+#define _PANEL_TRANSITION_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class PanelTransitionForm
+ : public AnimationBaseForm
+{
+public:
+ PanelTransitionForm(void);
+ virtual ~PanelTransitionForm(void);
+
+ virtual result OnInitializing(void);
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+private:
+ virtual void InitializeFooter(void);
+
+ void TranslateToLeft(void);
+ void TranslateToRight(void);
+
+ Tizen::Ui::Animations::AnimatorStatus GetAnimationStatus(void) const;
+
+private:
+ enum PanelPosition
+ {
+ POS_LEFT,
+ POS_CENTER,
+ POS_RIGHT
+ };
+
+ PanelPosition __position;
+
+ Tizen::Ui::Controls::Panel* __pContainerPanel;
+ Tizen::Ui::Controls::Panel* __pCurrentPanel;
+
+ static const int ID_FOOTER_BUTTON_LEFT = 100;
+ static const int ID_FOOTER_BUTTON_RIGHT = 101;
+
+ static const int BUTTON_WIDTH = 360;
+ static const int BUTTON_HEIGHT = 100;
+
+ static const int ANIMATED_PANEL_COUNT = 3;
+ static const int ANIMATED_PANEL_BOUNCE_BACK_WIDTH = 150;;
+};
+
+#endif // _PANEL_TRANSITION_FORM_H_
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file PointAnimationForm.h
+ * @brief This is the header file for the PointAnimationForm class.
+ *
+ * This header file contains the declarations of the PointAnimationForm class.
+ */
+
+#ifndef _POINT_ANIMATION_FORM_H_
+#define _POINT_ANIMATION_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class PointAnimationForm
+ : public AnimationBaseForm
+{
+public:
+ PointAnimationForm(void);
+ virtual ~PointAnimationForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+private:
+ Tizen::Ui::Controls::Button* __pLeftTop;
+ Tizen::Ui::Controls::Button* __pRightTop;
+ Tizen::Ui::Controls::Button* __pLeftBottom;
+ Tizen::Ui::Controls::Button* __pRightBottom;
+
+ static const int BUTTON_OFFSET_X = 50;
+ static const int BUTTON_OFFSET_Y = 50;
+ static const int BUTTON_WIDTH = 150;
+ static const int BUTTON_HEIGHT = 150;
+
+ static const int ANIMATION_OFFSET_X = 145;
+ static const int ANIMATION_OFFSET_Y = 300;
+};
+
+#endif // _POINT_ANIMATION_FORM_H_
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file RectangleAnimationForm.h
+ * @brief This is the header file for the RectangleAnimationForm class.
+ *
+ * This header file contains the declarations of the RectangleAnimationForm class.
+ */
+
+#ifndef _RECTANGLE_ANIMATION_FORM_H_
+#define _RECTANGLE_ANIMATION_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class RectangleAnimationForm
+ : public AnimationBaseForm
+{
+public:
+ RectangleAnimationForm(void);
+ virtual ~RectangleAnimationForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+private:
+ Tizen::Ui::Controls::Button* __pButton1;
+ Tizen::Ui::Controls::Button* __pButton2;
+ Tizen::Ui::Controls::Button* __pButton3;
+ Tizen::Ui::Controls::Button* __pButton4;
+ Tizen::Ui::Controls::Button* __pButton5;
+
+ static const int BUTTON_OFFSET_X = 75;
+ static const int BUTTON_OFFSET_Y = 75;
+ static const int BUTTON_WIDTH = 220;
+ static const int BUTTON_HEIGHT = 75;
+
+ static const int ANIMATION_OFFSET_WIDTH = 75;
+ static const int ANIMATION_OFFSET_HEIGHT = 55;
+};
+
+#endif // _RECTANGLE_ANIMATION_FORM_H_
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file RotateAnimationForm.h
+ * @brief This is the header file for the RotateAnimationForm class.
+ *
+ * This header file contains the declarations of the RotateAnimationForm class.
+ */
+
+#ifndef _ROTATE_ANIMATION_FORM_H_
+#define _ROTATE_ANIMATION_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class RotateAnimationForm
+ : public AnimationBaseForm
+{
+public:
+ RotateAnimationForm(void);
+ virtual ~RotateAnimationForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+private:
+ Tizen::Ui::Controls::Button* __pLeftTop;
+ Tizen::Ui::Controls::Button* __pRightTop;
+ Tizen::Ui::Controls::Button* __pLeftBottom;
+ Tizen::Ui::Controls::Button* __pRightBottom;
+
+ static const int BUTTON_OFFSET_X = 50;
+ static const int BUTTON_OFFSET_Y = 50;
+ static const int BUTTON_WIDTH = 150;
+ static const int BUTTON_HEIGHT = 150;
+};
+
+#endif // _ROTATE_ANIMATION_FORM_H_
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file SceneRegister.h
+ * @brief This is the header file for the SceneRegister class.
+ *
+ * This header file contains the declarations of the SceneRegister class.
+ */
+
+#ifndef _SCENE_REGISTER_H_
+#define _SCENE_REGISTER_H_
+
+extern const wchar_t* SCENE_MAIN_MENU;
+
+extern const wchar_t* SCENE_INTEGER_ANIMATION;
+extern const wchar_t* SCENE_FLOAT_ANIMATION;
+extern const wchar_t* SCENE_POINT_ANIMATION;
+extern const wchar_t* SCENE_DIMENSION_ANIMATION;
+extern const wchar_t* SCENE_RECTANGLE_ANIMATION;
+extern const wchar_t* SCENE_ROTATE_ANIMATION;
+
+extern const wchar_t* SCENE_KEY_FRAME_ANIMATION;
+extern const wchar_t* SCENE_OUT_OF_BOUNDS_CHECK;
+extern const wchar_t* SCENE_CONTROL_EVENT_LISTENER;
+extern const wchar_t* SCENE_SET_HOLD_TEST;
+
+extern const wchar_t* SCENE_ANIMATION_GROUP_PARALLEL;
+extern const wchar_t* SCENE_ANIMATION_GROUP_SEQUENTIAL;
+
+extern const wchar_t* SCENE_TRANSACTION_SET;
+extern const wchar_t* SCENE_TRANSACTION_EVENT_LISTENER;
+
+extern const wchar_t* SCENE_FORM_TRANSITION;
+extern const wchar_t* SCENE_PANEL_TRANSITION;
+
+extern const wchar_t* SCENE_IMPLICIT_ANIMATION;
+extern const wchar_t* SCENE_CUSTOM_IMPLICIT_ANIMATION;
+
+class SceneRegister
+{
+public:
+ static void RegisterAllScenes(void);
+
+private:
+ SceneRegister(void);
+ ~SceneRegister(void);
+};
+
+#endif // _SCENE_REGISTER_H_
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file SetHoldTestForm.h
+ * @brief This is the header file for the SetHoldTestForm class.
+ *
+ * This header file contains the declarations of the SetHoldTestForm class.
+ */
+
+#ifndef _SET_HOLD_TEST_FORM_H_
+#define _SET_HOLD_TEST_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class SetHoldTestForm
+ : public AnimationBaseForm
+{
+public:
+ SetHoldTestForm(void);
+ virtual ~SetHoldTestForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+private:
+ bool __setHoldEnd;
+
+ Tizen::Ui::Controls::Button* __pLeftTop;
+ Tizen::Ui::Controls::CheckButton* __pCheckButton;
+
+ static const int BUTTON_OFFSET_X = 50;
+ static const int BUTTON_OFFSET_Y = 50;
+ static const int BUTTON_WIDTH = 150;
+ static const int BUTTON_HEIGHT = 150;
+
+ static const int CHECKBUTTON_OFFSET_X = 50;
+ static const int CHECKBUTTON_WIDTH = 450;
+ static const int CHECKBUTTON_HEIGHT = 150;
+
+ static const int ANIMATION_OFFSET_X = 145;
+ static const int ANIMATION_OFFSET_Y = 300;
+
+ static const int ID_CHECK_BUTTON_SET_HOLD_CHECKED = 400;
+ static const int ID_CHECK_BUTTON_SET_HOLD_UNCHECKED = 401;
+};
+
+#endif // _SET_HOLD_TEST_FORM_H_
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file SettingPopup.h
+ * @brief This is the header file for the SettingPopup class.
+ *
+ * This header file contains the declarations of the SettingPopup class.
+ */
+
+#ifndef _SETTING_POPUP_H_
+#define _SETTING_POPUP_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FUi.h>
+
+class AnimationPropertyInfo;
+
+class SettingPopup
+ : public Tizen::Ui::Controls::Popup
+ , public Tizen::Ui::IActionEventListener
+ , public Tizen::Ui::IAdjustmentEventListener
+ , public Tizen::Ui::Controls::IIconListViewItemProvider
+ , public Tizen::Ui::Controls::IIconListViewItemEventListener
+{
+public:
+ SettingPopup(void);
+ virtual ~SettingPopup(void);
+ result Construct(AnimationPropertyInfo& animationPropertyInfo);
+
+ void SetAutoReverseButtonEnabled(bool enable);
+ bool IsAutoReverseButtonEnabled(void) const;
+
+ void SetHoldEndButtonEnabled(bool enable);
+ bool IsSetHoldEndButtonEnabled(void) const;
+
+ void SetDelaySliderEnabled(bool enable);
+ bool IsDelaySliderEnabled(void) const;
+
+ void SetDurationSliderEnabled(bool enable);
+ bool IsDurationSliderEnabled(void) const;
+
+ void SetOffsetSliderEnabled(bool enable);
+ bool IsOffsetSliderEnabled(void) const;
+
+ void SetScaleRatioSliderEnabled(bool enable);
+ bool IsScaleRatioSliderEnabled(void) const;
+
+ void SetRepeatSliderEnabled(bool enable);
+ bool IsRepeatSliderEnabled(void) const;
+
+ void UpdatePropertyValue(void);
+
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+ virtual void OnAdjustmentValueChanged(const Tizen::Ui::Control& source, int adjustment);
+ virtual void OnIconListViewItemStateChanged(Tizen::Ui::Controls::IconListView& iconListView, int index, Tizen::Ui::Controls::IconListViewItemStatus status);
+
+ virtual int GetItemCount(void);
+ virtual Tizen::Ui::Controls::IconListViewItem* CreateItem(int index);
+ virtual bool DeleteItem(int index, Tizen::Ui::Controls::IconListViewItem* pItem);
+
+private:
+ AnimationPropertyInfo* __pAnimationPropertyInfo;
+
+ Tizen::Ui::Controls::IconListView* __pIconListView;
+
+ Tizen::Ui::Controls::CheckButton* __pButtonAutoReverse;
+ Tizen::Ui::Controls::CheckButton* __pButtonHoldEnd;
+
+ Tizen::Ui::Controls::Label* __pLabelDelay;
+ Tizen::Ui::Controls::Label* __pLabelDuration;
+ Tizen::Ui::Controls::Label* __pLabelOffset;
+ Tizen::Ui::Controls::Label* __pLabelScaleRatio;
+ Tizen::Ui::Controls::Label* __pLabelRepeat;
+
+ Tizen::Ui::Controls::Slider* __pSliderDelay;
+ Tizen::Ui::Controls::Slider* __pSliderDuration;
+ Tizen::Ui::Controls::Slider* __pSliderOffset;
+ Tizen::Ui::Controls::Slider* __pSliderScaleRatio;
+ Tizen::Ui::Controls::Slider* __pSliderRepeat;
+
+ bool __isButtonAutoReverseEnabled;
+ bool __isButtonHoldEndEnabled;
+
+ bool __isSliderDelayEnabled;
+ bool __isSliderDurationEnabled;
+ bool __isSliderOffsetEnabled;
+ bool __isSliderScaleRatioEnabled;
+ bool __isSliderRepeatEnabled;
+
+ static const int MILLISECOND = 1000;
+ static const int ICON_LIST_VIEW_ITEM_COUNT = 6;
+
+ static const int ID_BUTTON_OK = 400;
+ static const int ID_BUTTON_DEFAULT = 401;
+ static const int ID_CHECK_BUTTON_AUTO_REVERSE_CHECKED = 402;
+ static const int ID_CHECK_BUTTON_AUTO_REVERSE_UNCHECKED = 403;
+ static const int ID_CHECK_BUTTON_SET_HOLD_END_CHECKED = 404;
+ static const int ID_CHECK_BUTTON_SET_HOLD_END_UNCHECKED = 405;
+
+ static const Tizen::Base::String __imageFiles[ICON_LIST_VIEW_ITEM_COUNT];
+};
+
+#endif // _SETTING_POPUP_H_
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file TransactionEventListenerForm.h
+ * @brief This is the header file for the TransactionEventListenerForm class.
+ *
+ * This header file contains the declarations of the TransactionEventListenerForm class.
+ */
+
+#ifndef _TRANSACTION_EVENT_LISTENER_FORM_H_
+#define _TRANSACTION_EVENT_LISTENER_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class TransactionEventListenerForm
+ : public AnimationBaseForm
+ , public Tizen::Ui::Animations::IAnimationTransactionEventListener
+{
+public:
+ TransactionEventListenerForm(void);
+ virtual ~TransactionEventListenerForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+ virtual void OnAnimationTransactionStarted(int transactionId);
+ virtual void OnAnimationTransactionStopped(int transactionId);
+ virtual void OnAnimationTransactionFinished(int transactionId);
+
+private:
+ void PlayFirstTransaction(void);
+ void PlaySecondTransaction(void);
+
+ virtual bool IsAnimating(void);
+
+private:
+ bool __isForward;
+
+ int __firstTransaction;
+ int __secondTransaction;
+
+ Tizen::Ui::Controls::Button* __pButton1;
+ Tizen::Ui::Controls::Button* __pButton2;
+ Tizen::Ui::Controls::Button* __pButton3;
+ Tizen::Ui::Controls::Button* __pButton4;
+ Tizen::Ui::Controls::Button* __pButton5;
+
+ static const int BUTTON_OFFSET_X = 75;
+ static const int BUTTON_OFFSET_Y = 75;
+ static const int BUTTON_WIDTH = 100;
+ static const int BUTTON_HEIGHT = 100;
+};
+
+#endif // _TRANSACTION_EVENT_LISTENER_FORM_H_
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+/**
+ * @file TransactionSetForm.h
+ * @brief This is the header file for the TransactionSetForm class.
+ *
+ * This header file contains the declarations of the TransactionSetForm class.
+ */
+
+#ifndef _TRANSACTION_SET_FORM_H_
+#define _TRANSACTION_SET_FORM_H_
+
+#include "AnimationBaseForm.h"
+
+class TransactionSetForm
+ : public AnimationBaseForm
+{
+public:
+ TransactionSetForm(void);
+ virtual ~TransactionSetForm(void);
+
+ virtual result OnInitializing(void);
+ virtual result Play(void);
+ virtual result Stop(void);
+
+private:
+ int __transactionId;
+
+ Tizen::Ui::Controls::Button* __pLeftTop;
+ Tizen::Ui::Controls::Button* __pRightTop;
+ Tizen::Ui::Controls::Button* __pLeftBottom;
+ Tizen::Ui::Controls::Button* __pRightBottom;
+ Tizen::Ui::Controls::Button* __pCenter;
+
+ static const int BUTTON_OFFSET_X = 50;
+ static const int BUTTON_OFFSET_Y = 50;
+ static const int BUTTON_WIDTH = 150;
+ static const int BUTTON_HEIGHT = 150;
+};
+
+#endif // _TRANSACTION_SET_FORM_H_
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#ifndef _UI_CONTROL_ANIMATOR_H_
+#define _UI_CONTROL_ANIMATOR_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FSystem.h>
+#include <FUi.h>
+
+/**
+ * [UiControlAnimator] UiApp must inherit from UiApp class
+ * which provides basic features necessary to define an UiApp.
+ */
+class UiControlAnimator
+ : public Tizen::App::UiApp
+ , public Tizen::System::IScreenEventListener
+{
+public:
+ /**
+ * [UiControlAnimator] UiApp must have a factory method that creates an instance of itself.
+ */
+ static Tizen::App::UiApp* CreateInstance(void);
+
+public:
+ UiControlAnimator(void);
+ virtual ~UiControlAnimator(void);
+
+public:
+ // Called when the UiApp is initializing.
+ bool OnAppInitializing(Tizen::App::AppRegistry& appRegistry);
+
+ // Called when the UiApp initializing is finished.
+ bool OnAppInitialized(void);
+
+ // Called when the UiApp is requested to terminate.
+ bool OnAppWillTerminate(void);
+
+ // Called when the UiApp is terminating.
+ bool OnAppTerminating(Tizen::App::AppRegistry& appRegistry, bool forcedTermination = false);
+
+ // Called when the UiApp's frame moves to the top of the screen.
+ void OnForeground(void);
+
+ // Called when this UiApp's frame is moved from top of the screen to the background.
+ void OnBackground(void);
+
+ // Called when the system memory is not sufficient to run the UiApp any further.
+ void OnLowMemory(void);
+
+ // Called when the battery level changes.
+ void OnBatteryLevelChanged(Tizen::System::BatteryLevel batteryLevel);
+
+ // Called when the screen turns on.
+ void OnScreenOn(void);
+
+ // Called when the screen turns off.
+ void OnScreenOff(void);
+};
+
+#endif // _UI_CONTROL_ANIMATOR_H_
\ No newline at end of file
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#ifndef _UI_CONTROL_ANIMATOR_FRAME_H_
+#define _UI_CONTROL_ANIMATOR_FRAME_H_
+
+#include <FBase.h>
+#include <FUi.h>
+
+class UiControlAnimatorFrame
+ : public Tizen::Ui::Controls::Frame
+{
+public:
+ UiControlAnimatorFrame(void);
+ virtual ~UiControlAnimatorFrame(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+};
+
+#endif //_UI_CONTROL_ANIMATOR_FRAME_H_
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<Manifest xmlns="http://schemas.tizen.org/2012/12/manifest">
+ <Id>$(manifestAppId)</Id>
+ <Version>2.0.1</Version>
+ <Type>C++App</Type>
+ <Author/>
+ <Apps>
+ <ApiVersion>2.1</ApiVersion>
+ <Privileges/>
+ <UiApp Main="True" MenuIconVisible="True" Name="$(projectName)">
+ <UiScalability BaseScreenSize="Normal" CoordinateSystem="Logical" LogicalCoordinate="720"/>
+ <UiTheme SystemTheme="White"/>
+ <DisplayNames>
+ <DisplayName Locale="eng-GB">$(projectName)</DisplayName>
+ </DisplayNames>
+ <Icons>
+ <Icon Section="MainMenu" Type="Xhigh">mainmenu.png</Icon>
+ </Icons>
+ <LaunchConditions/>
+ <Notifications/>
+ </UiApp>
+ </Apps>
+</Manifest>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+ This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="2.0.0.v20110428" Dversion="20100701"/>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE ScenePopup SYSTEM "UIForm.dtd">
+<ScenePopup Bversion="3.0.0.201212281250" Dversion="20120315">
+ <Popup id="IDC_POPUP_SETTING">
+ <property color="" titleText="Settings" titleTextColor=""/>
+ <layout height="1100" mode="Portrait" style="" type="LAYOUT_RELATIVE" width="700"/>
+ <layout height="612" mode="Landscape" style="" type="LAYOUT_RELATIVE" width="414"/>
+ </Popup>
+ <ScrollPanel id="IDC_SCROLLPANEL1" parent="IDC_POPUP_SETTING">
+ <property autoResizingEnabled="true" backgroundColor="" backgroundColorOpacity="0" clientAreaHeight="0" clientAreaWidth="0" pageScrollEnabled="false" scrollBarVisible="true" scrollDirection="SCROLL_PANEL_SCROLL_DIRECTION_VERTICAL" scrollInputMode="SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION"/>
+ <panelLayout height="1600" mode="Portrait" width="628"/>
+ <panelLayout height="164" mode="Landscape" width="430"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="900" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="" topRelationType="" type="LAYOUT_VERTICAL_BOX" verticalDirection="VERTICAL_DIRECTION_DOWNWARD" verticalFitPolicy="FIT_POLICY_FIXED" width="628" x="0" y="0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="64" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" type="LAYOUT_VERTICAL_BOX" verticalDirection="VERTICAL_DIRECTION_DOWNWARD" verticalFitPolicy="FIT_POLICY_FIXED" width="430" x="-40" y="76"/>
+ </ScrollPanel>
+ <Label id="IDC_LABEL1" parent="IDC_SCROLLPANEL1">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_CENTER" text="Interpolator" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="80" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Portrait" spacing="0" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="600"/>
+ <layout height="62" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Landscape" spacing="0" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="444"/>
+ </Label>
+ <IconListView id="IDC_ICONLISTVIEW" parent="IDC_SCROLLPANEL1">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" bitmapPathOfEmptyList="" checkBoxPosition="ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT" colorOfEmptyListText="" highlightedItemTextColor="" itemBitmapHeight="195" itemBitmapWidth="195" itemBorderStyle="ICON_LIST_VIEW_ITEM_BORDER_STYLE_OUTLINE" itemHorizontalAlignment="ALIGNMENT_CENTER" itemHorizontalSpacing="5" itemTextHorizontalAlignment="ALIGNMENT_CENTER" itemTextSize="30" itemTextVerticalAlignment="ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_BOTTOM" itemVerticalAlignment="ALIGNMENT_MIDDLE" itemVerticalSpacing="10" magneticScrollSize="0" normalItemTextColor="" pressedItemTextColor="" scrollDirection="ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL" textOfEmptyList="Resource files not available" touchAnimationEnabled="true"/>
+ <layout height="430" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_CENTER" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Portrait" spacing="0" style="ICON_LIST_VIEW_STYLE_RADIO" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="600"/>
+ <layout height="149" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Landscape" spacing="0" style="ICON_LIST_VIEW_STYLE_RADIO" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="609"/>
+ </IconListView>
+ <CheckButton id="IDC_CHECK_BUTTON_AUTO_REVERSE" parent="IDC_SCROLLPANEL1">
+ <property backgroundStyle="BACKGROUND_STYLE_NONE" colorOfText="" colorOfTitleText="" disabledColor="" disabledColorOpacity="100" disabledTextColor="" disabledTitleTextColor="" groupId="0" groupStyle="GROUP_STYLE_NONE" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" highlightedTitleTextColor="" horizontalAlign="ALIGN_LEFT" normalColor="" normalColorOpacity="100" pressedColor="" pressedColorOpacity="100" pressedTextColor="" pressedTitleTextColor="" showTitleText="false" text="AutoReverse" titleText="" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="108" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_CENTER" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Portrait" spacing="32" style="CHECK_BUTTON_STYLE_ONOFF_SLIDING" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="544"/>
+ <layout height="108" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Landscape" spacing="0" style="CHECK_BUTTON_STYLE_ONOFF_SLIDING" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="444"/>
+ </CheckButton>
+ <CheckButton id="IDC_CHECK_BUTTON_SET_HOLD_END" parent="IDC_SCROLLPANEL1">
+ <property backgroundStyle="BACKGROUND_STYLE_NONE" colorOfText="" colorOfTitleText="" disabledColor="" disabledColorOpacity="100" disabledTextColor="" disabledTitleTextColor="" groupId="0" groupStyle="GROUP_STYLE_NONE" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" highlightedTitleTextColor="" horizontalAlign="ALIGN_LEFT" normalColor="" normalColorOpacity="100" pressedColor="" pressedColorOpacity="100" pressedTextColor="" pressedTitleTextColor="" showTitleText="false" text="SetHoldEnd" titleText="" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="108" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_CENTER" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Portrait" spacing="10" style="CHECK_BUTTON_STYLE_ONOFF_SLIDING" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="544"/>
+ <layout height="108" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Landscape" spacing="0" style="CHECK_BUTTON_STYLE_ONOFF_SLIDING" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="444"/>
+ </CheckButton>
+ <Panel id="IDC_PANEL1" parent="IDC_SCROLLPANEL1">
+ <property backgroundColor="" backgroundColorOpacity="0" compositeEnabled="true" groupStyle="GROUP_STYLE_NONE"/>
+ <layout height="160" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Portrait" spacing="32" type="NONE" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="628"/>
+ <layout height="62" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Landscape" spacing="0" type="NONE" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="444"/>
+ </Panel>
+ <Label id="IDC_LABEL2" parent="IDC_PANEL1">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="Delay" textColor="" textSize="38" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_BOTTOM"/>
+ <layout height="80" mode="Portrait" width="220" x="0" y="0"/>
+ <layout height="270" mode="Landscape" width="44" x="12" y="0"/>
+ </Label>
+ <Slider id="IDC_SLIDER_DELAY" parent="IDC_PANEL1">
+ <property backgroundColor="" backgroundStyle="BACKGROUND_STYLE_DEFAULT" barColor="" color="" colorOfTitleText="" colorOpacity="100" disabledThumbBitmap="" disabledThumbTextColor="" groupStyle="GROUP_STYLE_NONE" highlightedThumbBitmap="" highlightedThumbTextColor="" leftIconBitmapPath="" max="10" min="0" normalThumbBitmap="" normalThumbTextColor="" pressedThumbBitmap="" pressedThumbTextColor="" rightIconBitmapPath="" showTitleText="false" sliderStyle="SLIDER_STYLE_BUBBLE" titleText="" value="0"/>
+ <layout height="80" mode="Portrait" width="438" x="0" y="79"/>
+ <layout height="226" mode="Landscape" width="38" x="61" y="0"/>
+ </Slider>
+ <Label id="IDC_LABEL9" parent="IDC_PANEL1">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="sec" textColor="" textSize="38" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="80" mode="Portrait" width="100" x="526" y="79"/>
+ <layout height="351" mode="Landscape" width="44" x="57" y="0"/>
+ </Label>
+ <Label id="IDC_LABEL_DELAY" parent="IDC_PANEL1">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_RIGHT" text="" textColor="" textSize="38" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="80" mode="Portrait" width="90" x="437" y="79"/>
+ <layout height="168" mode="Landscape" width="100" x="21" y="0"/>
+ </Label>
+ <Panel id="IDC_PANEL2" parent="IDC_SCROLLPANEL1">
+ <property backgroundColor="" backgroundColorOpacity="0" compositeEnabled="true" groupStyle="GROUP_STYLE_NONE"/>
+ <layout height="160" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Portrait" spacing="0" type="NONE" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="628"/>
+ <layout height="62" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Landscape" spacing="0" type="NONE" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="444"/>
+ </Panel>
+ <Label id="IDC_LABEL3" parent="IDC_PANEL2">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="Duration" textColor="" textSize="38" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_BOTTOM"/>
+ <layout height="80" mode="Portrait" width="220" x="0" y="0"/>
+ <layout height="290" mode="Landscape" width="44" x="11" y="0"/>
+ </Label>
+ <Slider id="IDC_SLIDER_DURATION" parent="IDC_PANEL2">
+ <property backgroundColor="" backgroundStyle="BACKGROUND_STYLE_DEFAULT" barColor="" color="" colorOfTitleText="" colorOpacity="100" disabledThumbBitmap="" disabledThumbTextColor="" groupStyle="GROUP_STYLE_NONE" highlightedThumbBitmap="" highlightedThumbTextColor="" leftIconBitmapPath="" max="10" min="1" normalThumbBitmap="" normalThumbTextColor="" pressedThumbBitmap="" pressedThumbTextColor="" rightIconBitmapPath="" showTitleText="false" sliderStyle="SLIDER_STYLE_BUBBLE" titleText="" value="1"/>
+ <layout height="80" mode="Portrait" width="438" x="0" y="79"/>
+ <layout height="414" mode="Landscape" width="20" x="79" y="0"/>
+ </Slider>
+ <Label id="IDC_LABEL11" parent="IDC_PANEL2">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="sec" textColor="" textSize="38" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="80" mode="Portrait" width="100" x="526" y="79"/>
+ <layout height="351" mode="Landscape" width="44" x="48" y="0"/>
+ </Label>
+ <Label id="IDC_LABEL_DURATION" parent="IDC_PANEL2">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_RIGHT" text="" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="80" mode="Portrait" width="90" x="437" y="79"/>
+ <layout height="106" mode="Landscape" width="95" x="25" y="0"/>
+ </Label>
+ <Panel id="IDC_PANEL3" parent="IDC_SCROLLPANEL1">
+ <property backgroundColor="" backgroundColorOpacity="0" compositeEnabled="true" groupStyle="GROUP_STYLE_NONE"/>
+ <layout height="160" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Portrait" spacing="0" type="NONE" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="628"/>
+ <layout height="49" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Landscape" spacing="0" type="NONE" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="444"/>
+ </Panel>
+ <Label id="IDC_LABEL4" parent="IDC_PANEL3">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="Offset" textColor="" textSize="38" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_BOTTOM"/>
+ <layout height="80" mode="Portrait" width="220" x="0" y="0"/>
+ <layout height="243" mode="Landscape" width="44" x="10" y="0"/>
+ </Label>
+ <Slider id="IDC_SLIDER_OFFSET" parent="IDC_PANEL3">
+ <property backgroundColor="" backgroundStyle="BACKGROUND_STYLE_DEFAULT" barColor="" color="" colorOfTitleText="" colorOpacity="100" disabledThumbBitmap="" disabledThumbTextColor="" groupStyle="GROUP_STYLE_NONE" highlightedThumbBitmap="" highlightedThumbTextColor="" leftIconBitmapPath="" max="10" min="0" normalThumbBitmap="" normalThumbTextColor="" pressedThumbBitmap="" pressedThumbTextColor="" rightIconBitmapPath="" showTitleText="false" sliderStyle="SLIDER_STYLE_BUBBLE" titleText="" value="0"/>
+ <layout height="80" mode="Portrait" width="438" x="0" y="79"/>
+ <layout height="326" mode="Landscape" width="35" x="64" y="0"/>
+ </Slider>
+ <Label id="IDC_LABEL10" parent="IDC_PANEL3">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="sec" textColor="" textSize="38" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="80" mode="Portrait" width="100" x="526" y="79"/>
+ <layout height="358" mode="Landscape" width="44" x="58" y="0"/>
+ </Label>
+ <Label id="IDC_LABEL_OFFSET" parent="IDC_PANEL3">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_RIGHT" text="" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="80" mode="Portrait" width="90" x="437" y="79"/>
+ <layout height="200" mode="Landscape" width="95" x="25" y="0"/>
+ </Label>
+ <Panel id="IDC_PANEL4" parent="IDC_SCROLLPANEL1">
+ <property backgroundColor="" backgroundColorOpacity="0" compositeEnabled="true" groupStyle="GROUP_STYLE_NONE"/>
+ <layout height="160" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Portrait" spacing="0" type="NONE" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="628"/>
+ <layout height="52" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Landscape" spacing="0" type="NONE" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="531"/>
+ </Panel>
+ <Label id="IDC_LABEL5" parent="IDC_PANEL4">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="ScaleRatio" textColor="" textSize="38" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_BOTTOM"/>
+ <layout height="80" mode="Portrait" width="220" x="0" y="0"/>
+ <layout height="182" mode="Landscape" width="44" x="12" y="0"/>
+ </Label>
+ <Slider id="IDC_SLIDER_SCALE_RATIO" parent="IDC_PANEL4">
+ <property backgroundColor="" backgroundStyle="BACKGROUND_STYLE_DEFAULT" barColor="" color="" colorOfTitleText="" colorOpacity="100" disabledThumbBitmap="" disabledThumbTextColor="" groupStyle="GROUP_STYLE_NONE" highlightedThumbBitmap="" highlightedThumbTextColor="" leftIconBitmapPath="" max="10" min="1" normalThumbBitmap="" normalThumbTextColor="" pressedThumbBitmap="" pressedThumbTextColor="" rightIconBitmapPath="" showTitleText="false" sliderStyle="SLIDER_STYLE_BUBBLE" titleText="" value="1"/>
+ <layout height="80" mode="Portrait" width="438" x="0" y="79"/>
+ <layout height="376" mode="Landscape" width="30" x="69" y="0"/>
+ </Slider>
+ <Label id="IDC_LABEL_SCALE_RATIO" parent="IDC_PANEL4">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_RIGHT" text="" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="80" mode="Portrait" width="90" x="437" y="79"/>
+ <layout height="254" mode="Landscape" width="95" x="33" y="0"/>
+ </Label>
+ <Panel id="IDC_PANEL5" parent="IDC_SCROLLPANEL1">
+ <property backgroundColor="" backgroundColorOpacity="0" compositeEnabled="true" groupStyle="GROUP_STYLE_NONE"/>
+ <layout height="160" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Portrait" spacing="0" type="NONE" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="628"/>
+ <layout height="52" horizontalAlignment="LAYOUT_HORIZONTAL_ALIGN_LEFT" horizontalFitPolicy="FIT_POLICY_FIXED" horizontalLeftMargin="0" horizontalRightMargin="0" mode="Landscape" spacing="0" type="NONE" verticalFitPolicy="FIT_POLICY_FIXED" weight="0.0" width="531"/>
+ </Panel>
+ <Label id="IDC_LABEL6" parent="IDC_PANEL5">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="Repeat" textColor="" textSize="38" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_BOTTOM"/>
+ <layout height="80" mode="Portrait" width="220" x="0" y="0"/>
+ <layout height="365" mode="Landscape" width="44" x="14" y="0"/>
+ </Label>
+ <Slider id="IDC_SLIDER_REPEAT" parent="IDC_PANEL5">
+ <property backgroundColor="" backgroundStyle="BACKGROUND_STYLE_DEFAULT" barColor="" color="" colorOfTitleText="" colorOpacity="100" disabledThumbBitmap="" disabledThumbTextColor="" groupStyle="GROUP_STYLE_NONE" highlightedThumbBitmap="" highlightedThumbTextColor="" leftIconBitmapPath="" max="10" min="1" normalThumbBitmap="" normalThumbTextColor="" pressedThumbBitmap="" pressedThumbTextColor="" rightIconBitmapPath="" showTitleText="false" sliderStyle="SLIDER_STYLE_BUBBLE" titleText="" value="1"/>
+ <layout height="80" mode="Portrait" width="438" x="0" y="79"/>
+ <layout height="383" mode="Landscape" width="31" x="68" y="0"/>
+ </Slider>
+ <Label id="IDC_LABEL_REPEAT" parent="IDC_PANEL5">
+ <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_RIGHT" text="" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="80" mode="Portrait" width="90" x="437" y="79"/>
+ <layout height="175" mode="Landscape" width="95" x="30" y="0"/>
+ </Label>
+ <Button id="IDC_BUTTON_OK" parent="IDC_POPUP_SETTING">
+ <property disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Ok" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+ <layout bottomRelation="IDC_POPUP_SETTING" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="90" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDC_POPUP_SETTING" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="10" marginLeft="100" marginRight="0" marginTop="0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="200" x="100" y="920"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="72" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="430" x="-40" y="444"/>
+ </Button>
+ <Button id="IDC_BUTTON_DEFAULT" parent="IDC_POPUP_SETTING">
+ <property disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Default" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+ <layout bottomRelation="IDC_POPUP_SETTING" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="90" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="10" marginLeft="0" marginRight="100" marginTop="0" mode="Portrait" rightRelation="IDC_POPUP_SETTING" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="200" x="328" y="920"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="72" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="210" x="180" y="444"/>
+ </Button>
+</ScenePopup>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+<Scene Bversion="3.0.0.201212281250" Dversion="20120315">
+ <LogicalCoordinate>720</LogicalCoordinate>
+ <Form id="IDF_FORM_TRANSITION_TEST_FORM">
+ <property backgroundColor="" backgroundColorOpacity="100" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+ <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="LAYOUT_RELATIVE"/>
+ <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="LAYOUT_RELATIVE"/>
+ </Form>
+ <Footer>
+ <property backgroundBitmapPath="" color="" colorOpacity="0" disabledButtonColor="" disabledButtonColorOpacity="0" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="0" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_TEXT" highlightedButtonColor="" highlightedButtonColorOpacity="0" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="0" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="0" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="0" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="0" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="0" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="0" selectedItemTextColor="" showBackButton="true"/>
+ <itemSet/>
+ </Footer>
+ <Header>
+ <property backgroundBitmapPath="" color="" colorOpacity="0" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="0" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="0" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="0" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="0" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="0" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="0" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="0" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="0" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="0" selectedItemTextColor="" titleIconPath="" titleText="DUMMY FORM" titleTextColor=""/>
+ <itemSet/>
+ </Header>
+ <Button id="IDC_BUTTON1" parent="IDF_FORM_TRANSITION_TEST_FORM">
+ <property disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Button1" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="74" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDF_FORM_TRANSITION_TEST_FORM" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0" marginLeft="50" marginRight="0" marginTop="0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="170" x="50" y="831"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="72" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="533" x="366" y="408"/>
+ </Button>
+ <Button id="IDC_BUTTON3" parent="IDF_FORM_TRANSITION_TEST_FORM">
+ <property disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Button3" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="74" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="50" marginTop="0" mode="Portrait" rightRelation="IDF_FORM_TRANSITION_TEST_FORM" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="170" x="500" y="829"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="72" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="414" x="875" y="423"/>
+ </Button>
+ <Button id="IDC_BUTTON2" parent="IDF_FORM_TRANSITION_TEST_FORM">
+ <property disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Button2" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="74" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDC_BUTTON1" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_RIGHT" marginBottom="0" marginLeft="55" marginRight="55" marginTop="0" mode="Portrait" rightRelation="IDC_BUTTON3" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_LEFT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="170" x="275" y="830"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="72" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="414" x="865" y="423"/>
+ </Button>
+ <CheckButton id="IDC_CHECKBUTTON1" parent="IDF_FORM_TRANSITION_TEST_FORM">
+ <property backgroundStyle="BACKGROUND_STYLE_DEFAULT" colorOfText="" colorOfTitleText="" disabledColor="" disabledColorOpacity="100" disabledTextColor="" disabledTitleTextColor="" groupId="0" groupStyle="GROUP_STYLE_NONE" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" highlightedTitleTextColor="" horizontalAlign="ALIGN_LEFT" normalColor="" normalColorOpacity="100" pressedColor="" pressedColorOpacity="100" pressedTextColor="" pressedTitleTextColor="" showTitleText="false" text="CheckButton1" titleText="" verticalAlign="ALIGN_MIDDLE"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="148" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Portrait" rightRelation="" rightRelationType="" style="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="680" x="20" y="339"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="108" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" style="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="533" x="487" y="207"/>
+ </CheckButton>
+ <CheckButton id="IDC_CHECKBUTTON2" parent="IDF_FORM_TRANSITION_TEST_FORM">
+ <property backgroundStyle="BACKGROUND_STYLE_DEFAULT" colorOfText="" colorOfTitleText="" disabledColor="" disabledColorOpacity="100" disabledTextColor="" disabledTitleTextColor="" groupId="0" groupStyle="GROUP_STYLE_NONE" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" highlightedTitleTextColor="" horizontalAlign="ALIGN_LEFT" normalColor="" normalColorOpacity="100" pressedColor="" pressedColorOpacity="100" pressedTextColor="" pressedTitleTextColor="" showTitleText="false" text="CheckButton2" titleText="" verticalAlign="ALIGN_MIDDLE"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="148" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Portrait" rightRelation="" rightRelationType="" style="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="680" x="20" y="525"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="108" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" style="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="533" x="497" y="217"/>
+ </CheckButton>
+</Scene>
--- /dev/null
+dummy file
\ No newline at end of file
--- /dev/null
+dummy file
\ No newline at end of file
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "AnimationBaseForm.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+AnimationBaseForm::AnimationBaseForm(void)
+ : _pSettingPopup(null)
+ , __position(ANIMATION_POS_START)
+{
+}
+
+AnimationBaseForm::~AnimationBaseForm(void)
+{
+}
+
+result
+AnimationBaseForm::Initialize(void)
+{
+ result r = E_SUCCESS;
+
+ Form::Construct(FORM_STYLE_NORMAL | FORM_STYLE_INDICATOR | FORM_STYLE_HEADER | FORM_STYLE_FOOTER);
+ SetFormBackEventListener(this);
+
+ Footer* pFooter = GetFooter();
+ pFooter->SetStyle(FOOTER_STYLE_BUTTON_TEXT);
+ pFooter->SetBackButton();
+
+ InitializeFooter();
+
+ _pSettingPopup = new (std::nothrow) SettingPopup();
+ _pSettingPopup->Construct(_animationPropertyInfo);
+ _pSettingPopup->SetShowState(false);
+ _pSettingPopup->Show();
+
+ return r;
+}
+
+
+result
+AnimationBaseForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ return r;
+}
+
+result
+AnimationBaseForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ return r;
+}
+
+AnimationDirection
+AnimationBaseForm::GetAnimationDirection(void)
+{
+ if (__position == ANIMATION_POS_START)
+ {
+ //if (_animationPropertyInfo.IsHoldEndEnabled() == true && _animationPropertyInfo.IsAutoReverseEnabled() == true)
+ if (_animationPropertyInfo.IsAutoReverseEnabled() == true)
+ {
+ __position = ANIMATION_POS_START;
+ return ANIMATION_FORWARD;
+ }
+
+ if (_animationPropertyInfo.IsHoldEndEnabled() == true)
+ {
+ __position = ANIMATION_POS_END;
+ }
+ else
+ {
+ __position = ANIMATION_POS_START;
+ }
+
+ return ANIMATION_FORWARD;
+ }
+ else
+ {
+ //if (_animationPropertyInfo.IsHoldEndEnabled() == true && _animationPropertyInfo.IsAutoReverseEnabled() == true)
+ if (_animationPropertyInfo.IsAutoReverseEnabled() == true)
+ {
+ __position = ANIMATION_POS_END;
+ return ANIMATION_BACKWARD;
+ }
+
+ if (_animationPropertyInfo.IsHoldEndEnabled() == true)
+ {
+ __position = ANIMATION_POS_START;
+ }
+ else
+ {
+ __position = ANIMATION_POS_END;
+ }
+
+ return ANIMATION_BACKWARD;
+ }
+}
+
+void
+AnimationBaseForm::OnFormBackRequested(Form& source)
+{
+ SceneManager::GetInstance()->GoBackward(BackwardSceneTransition());
+}
+
+void
+AnimationBaseForm::OnActionPerformed(const Control& source, int actionId)
+{
+ switch (actionId)
+ {
+ case ID_FOOTER_BUTTON_PLAY:
+ if (IsAnimating() == false)
+ {
+ Play();
+ }
+
+ break;
+
+ case ID_FOOTER_BUTTON_STOP:
+ if (IsAnimating() == true)
+ {
+ Stop();
+ }
+ break;
+
+ case ID_FOOTER_BUTTON_SETTINGS:
+ _pSettingPopup->SetShowState(true);
+ _pSettingPopup->Show();
+ break;
+
+ default:
+ break;
+ }
+}
+
+void
+AnimationBaseForm::InitializeFooter(void)
+{
+ FooterItem playItem;
+ playItem.Construct(ID_FOOTER_BUTTON_PLAY);
+ playItem.SetText(L"Play");
+
+ FooterItem stopItem;
+ stopItem.Construct(ID_FOOTER_BUTTON_STOP);
+ stopItem.SetText(L"Stop");
+
+ FooterItem settingsItem;
+ settingsItem.Construct(ID_FOOTER_BUTTON_SETTINGS);
+ settingsItem.SetText(L"Settings");
+
+ Footer* pFooter = GetFooter();
+ pFooter->AddItem(playItem);
+ pFooter->AddItem(stopItem);
+ pFooter->AddItem(settingsItem);
+ pFooter->AddActionEventListener(*this);
+}
+
+bool
+AnimationBaseForm::IsAnimating(void)
+{
+ for (int i = 0; i < GetControlCount(); i++)
+ {
+ Control* pControl = GetControl(i);
+ ControlAnimator* pAnimator = pControl->GetControlAnimator();
+ if (pAnimator != null)
+ {
+ if (pAnimator->GetStatus() == ANIMATOR_STATUS_PLAYING)
+ {
+ return true;
+ }
+ }
+ }
+
+ return false;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "AnimationGroupParallelForm.h"
+
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+AnimationGroupParallelForm::AnimationGroupParallelForm(void)
+ : __pLeftTop(null)
+ , __pRightTop(null)
+ , __pLeftBottom(null)
+ , __pRightBottom(null)
+{
+}
+
+AnimationGroupParallelForm::~AnimationGroupParallelForm(void)
+{
+}
+
+result
+AnimationGroupParallelForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = Form::GetHeader();
+ pHeader->SetTitleText(L"ANIMATION GROUP PARALLEL");
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pLeftTop = new (std::nothrow) Button();
+ __pLeftTop->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"I");
+ AddControl(*__pLeftTop);
+
+ __pRightTop = new (std::nothrow) Button();
+ __pRightTop->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"II");
+ AddControl(*__pRightTop);
+
+ __pLeftBottom = new (std::nothrow) Button();
+ __pLeftBottom->Construct(Rectangle(BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"III");
+ AddControl(*__pLeftBottom);
+
+ __pRightBottom = new (std::nothrow) Button();
+ __pRightBottom->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"IV");
+ AddControl(*__pRightBottom);
+
+ return r;
+}
+
+result
+AnimationGroupParallelForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ Point startLeftTop = __pLeftTop->GetPosition();
+ Point startRightBottom = __pRightBottom->GetPosition();
+
+ Dimension startRightTop = __pRightTop->GetSize();
+ Dimension startLeftBottom = __pLeftBottom->GetSize();
+
+ float startRotate, endRotate;
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ Point endLeftTop, endRightBottom;
+ Dimension endRightTop, endLeftBottom;
+ if (GetAnimationDirection() == ANIMATION_FORWARD)
+ {
+ endLeftTop = Point(BUTTON_OFFSET_X + ANIMATION_OFFSET_X, BUTTON_OFFSET_Y + ANIMATION_OFFSET_Y);;
+ endRightBottom = Point((parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH)) - ANIMATION_OFFSET_X, (parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT)) - ANIMATION_OFFSET_Y);
+
+ endRightTop = Dimension(BUTTON_WIDTH + ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT + ANIMATION_OFFSET_HEIGHT);
+ endLeftBottom = Dimension(BUTTON_WIDTH + ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT + ANIMATION_OFFSET_HEIGHT);
+
+ startRotate = 360;
+ endRotate = 0;
+ }
+ else
+ {
+ endLeftTop = Point(BUTTON_OFFSET_X, BUTTON_OFFSET_Y);
+ endRightBottom = Point(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT));
+
+ endRightTop = Dimension(BUTTON_WIDTH, BUTTON_HEIGHT);
+ endLeftBottom = Dimension(BUTTON_WIDTH, BUTTON_HEIGHT);
+
+ startRotate = 0;
+ endRotate = 360;
+ }
+
+ PointAnimation animPosLeftTop(startLeftTop, endLeftTop, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ PointAnimation animPosRightBottom(startRightBottom, endRightBottom, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ DimensionAnimation animDimRightTop(startRightTop, endRightTop, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ DimensionAnimation animDimLeftBottom(startLeftBottom, endLeftBottom, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ RotateAnimation rotateAnim(startRotate, endRotate, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ _animationPropertyInfo.ApplyGlobalSettings(animPosLeftTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animPosRightBottom);
+ _animationPropertyInfo.ApplyGlobalSettings(animDimRightTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animDimLeftBottom);
+ _animationPropertyInfo.ApplyGlobalSettings(rotateAnim);
+
+ ParallelAnimationGroup animLeftTop, animRightTop, animLeftBottom, animRightBottom;
+
+ animLeftTop.AddAnimation(ANIMATION_TARGET_ROTATION, rotateAnim);
+ animLeftTop.AddAnimation(ANIMATION_TARGET_POSITION, animPosLeftTop);
+
+ animRightTop.AddAnimation(ANIMATION_TARGET_ROTATION, rotateAnim);
+ animRightTop.AddAnimation(ANIMATION_TARGET_SIZE, animDimRightTop);
+
+ animLeftBottom.AddAnimation(ANIMATION_TARGET_ROTATION, rotateAnim);
+ animLeftBottom.AddAnimation(ANIMATION_TARGET_SIZE, animDimLeftBottom);
+
+ animRightBottom.AddAnimation(ANIMATION_TARGET_ROTATION, rotateAnim);
+ animRightBottom.AddAnimation(ANIMATION_TARGET_POSITION, animPosRightBottom);
+
+ (__pLeftTop->GetControlAnimator())->StartUserAnimation(animLeftTop);
+ (__pRightTop->GetControlAnimator())->StartUserAnimation(animRightTop);
+ (__pLeftBottom->GetControlAnimator())->StartUserAnimation(animLeftBottom);
+ (__pRightBottom->GetControlAnimator())->StartUserAnimation(animRightBottom);
+
+ return r;
+}
+
+result
+AnimationGroupParallelForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ (__pLeftTop->GetControlAnimator())->StopAllAnimations();
+ (__pRightTop->GetControlAnimator())->StopAllAnimations();
+ (__pLeftBottom->GetControlAnimator())->StopAllAnimations();
+ (__pRightBottom->GetControlAnimator())->StopAllAnimations();
+
+ return r;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "AnimationGroupSequentialForm.h"
+
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+AnimationGroupSequentialForm::AnimationGroupSequentialForm(void)
+ : __pLeftTop(null)
+ , __pRightTop(null)
+ , __pLeftBottom(null)
+ , __pRightBottom(null)
+{
+}
+
+AnimationGroupSequentialForm::~AnimationGroupSequentialForm(void)
+{
+}
+
+result
+AnimationGroupSequentialForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = Form::GetHeader();
+ pHeader->SetTitleText(L"ANIMATION GROUP SEQUENTIAL");
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pLeftTop = new (std::nothrow) Button();
+ __pLeftTop->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"I");
+ AddControl(*__pLeftTop);
+
+ __pRightTop = new (std::nothrow) Button();
+ __pRightTop->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"II");
+ AddControl(*__pRightTop);
+
+ __pLeftBottom = new (std::nothrow) Button();
+ __pLeftBottom->Construct(Rectangle(BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"III");
+ AddControl(*__pLeftBottom);
+
+ __pRightBottom = new (std::nothrow) Button();
+ __pRightBottom->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"IV");
+ AddControl(*__pRightBottom);
+
+ return r;
+}
+
+result
+AnimationGroupSequentialForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ Point startLeftTop = __pLeftTop->GetPosition();
+ Point startRightBottom = __pRightBottom->GetPosition();
+
+ Dimension startRightTop = __pRightTop->GetSize();
+ Dimension startLeftBottom = __pLeftBottom->GetSize();
+
+ float startRotate, endRotate;
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ Point endLeftTop, endRightBottom;
+ Dimension endRightTop, endLeftBottom;
+ if (GetAnimationDirection() == ANIMATION_FORWARD)
+ {
+ endLeftTop = Point(BUTTON_OFFSET_X + ANIMATION_OFFSET_X, BUTTON_OFFSET_Y + ANIMATION_OFFSET_Y);;
+ endRightBottom = Point((parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH)) - ANIMATION_OFFSET_X, (parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT)) - ANIMATION_OFFSET_Y);
+
+ endRightTop = Dimension(BUTTON_WIDTH + ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT + ANIMATION_OFFSET_HEIGHT);
+ endLeftBottom = Dimension(BUTTON_WIDTH + ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT + ANIMATION_OFFSET_HEIGHT);
+
+ startRotate = 360;
+ endRotate = 0;
+ }
+ else
+ {
+ endLeftTop = Point(BUTTON_OFFSET_X, BUTTON_OFFSET_Y);
+ endRightBottom = Point(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT));
+
+ endRightTop = Dimension(BUTTON_WIDTH, BUTTON_HEIGHT);
+ endLeftBottom = Dimension(BUTTON_WIDTH, BUTTON_HEIGHT);
+
+ startRotate = 0;
+ endRotate = 360;
+ }
+
+ PointAnimation animPosLeftTop(startLeftTop, endLeftTop, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ PointAnimation animPosRightBottom(startRightBottom, endRightBottom, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ DimensionAnimation animDimRightTop(startRightTop, endRightTop, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ DimensionAnimation animDimLeftBottom(startLeftBottom, endLeftBottom, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ RotateAnimation rotateAnim(startRotate, endRotate, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ _animationPropertyInfo.ApplyGlobalSettings(animPosLeftTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animPosRightBottom);
+ _animationPropertyInfo.ApplyGlobalSettings(animDimRightTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animDimLeftBottom);
+ _animationPropertyInfo.ApplyGlobalSettings(rotateAnim);
+
+ SequentialAnimationGroup animLeftTop, animRightTop, animLeftBottom, animRightBottom;
+
+ animLeftTop.AddAnimation(ANIMATION_TARGET_ROTATION, rotateAnim);
+ animLeftTop.AddAnimation(ANIMATION_TARGET_POSITION, animPosLeftTop);
+
+ animRightTop.AddAnimation(ANIMATION_TARGET_ROTATION, rotateAnim);
+ animRightTop.AddAnimation(ANIMATION_TARGET_SIZE, animDimRightTop);
+
+ animLeftBottom.AddAnimation(ANIMATION_TARGET_ROTATION, rotateAnim);
+ animLeftBottom.AddAnimation(ANIMATION_TARGET_SIZE, animDimLeftBottom);
+
+ animRightBottom.AddAnimation(ANIMATION_TARGET_ROTATION, rotateAnim);
+ animRightBottom.AddAnimation(ANIMATION_TARGET_POSITION, animPosRightBottom);
+
+ (__pLeftTop->GetControlAnimator())->StartUserAnimation(animLeftTop);
+ (__pRightTop->GetControlAnimator())->StartUserAnimation(animRightTop);
+ (__pLeftBottom->GetControlAnimator())->StartUserAnimation(animLeftBottom);
+ (__pRightBottom->GetControlAnimator())->StartUserAnimation(animRightBottom);
+
+ return r;
+}
+
+result
+AnimationGroupSequentialForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ (__pLeftTop->GetControlAnimator())->StopAllAnimations();
+ (__pRightTop->GetControlAnimator())->StopAllAnimations();
+ (__pLeftBottom->GetControlAnimator())->StopAllAnimations();
+ (__pRightBottom->GetControlAnimator())->StopAllAnimations();
+
+ return r;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "AnimationPropertyInfo.h"
+
+using namespace Tizen::Ui::Animations;
+
+AnimationPropertyInfo::AnimationPropertyInfo(void)
+ : __delay(DEFAULT_DELAY)
+ , __duration(DEFAULT_DURATION)
+ , __offset(DEFAULT_OFFSET)
+ , __scaleRatio(DEFAULT_SCALE_RATIO)
+ , __repeatCount(DEFAULT_REPEAT_COUNT)
+ , __isAutoReverse(DEFAULT_AUTO_REVERSE)
+ , __isSetHoldEnd(DEFAULT_SET_HOLD_END)
+ , __interpolatorType(ANIMATION_INTERPOLATOR_LINEAR)
+{
+}
+
+AnimationPropertyInfo::~AnimationPropertyInfo(void)
+{
+}
+
+void
+AnimationPropertyInfo::SetDelay(int delay)
+{
+ __delay = delay;
+}
+
+int
+AnimationPropertyInfo::GetDelay(void) const
+{
+ return __delay;
+}
+
+void
+AnimationPropertyInfo::SetDuration(int duration)
+{
+ __duration = duration;
+}
+
+int
+AnimationPropertyInfo::GetDuration(void) const
+{
+ return __duration;
+}
+
+void
+AnimationPropertyInfo::SetOffset(int offset)
+{
+ __offset = offset;
+}
+
+int
+AnimationPropertyInfo::GetOffset(void) const
+{
+ return __offset;
+}
+
+void
+AnimationPropertyInfo::SetScaleRatio(int scaleRatio)
+{
+ __scaleRatio = scaleRatio;
+}
+
+int
+AnimationPropertyInfo::GetScaleRatio(void) const
+{
+ return __scaleRatio;
+}
+
+void
+AnimationPropertyInfo::SetRepeatCount(int repeatCount)
+{
+ __repeatCount = repeatCount;
+}
+
+int
+AnimationPropertyInfo::GetRepeatCount(void) const
+{
+ return __repeatCount;
+}
+
+void
+AnimationPropertyInfo::SetAutoReverseEnabled(bool autoReverse)
+{
+ __isAutoReverse = autoReverse;
+}
+
+bool
+AnimationPropertyInfo::IsAutoReverseEnabled(void) const
+{
+ return __isAutoReverse;
+}
+
+void
+AnimationPropertyInfo::SetHoldEndEnabled(bool holdEnd)
+{
+ __isSetHoldEnd = holdEnd;
+}
+
+bool
+AnimationPropertyInfo::IsHoldEndEnabled(void) const
+{
+ return __isSetHoldEnd;
+}
+
+void
+AnimationPropertyInfo::SetInterpolatorType(AnimationInterpolatorType interpolatorType)
+{
+ __interpolatorType = interpolatorType;
+}
+
+AnimationInterpolatorType
+AnimationPropertyInfo::GetInterpolatorType(void) const
+{
+ return __interpolatorType;
+}
+
+void
+AnimationPropertyInfo::SetDefaultValue(void)
+{
+ __delay = DEFAULT_DELAY;
+ __duration = DEFAULT_DURATION;
+ __offset = DEFAULT_OFFSET;
+ __scaleRatio = DEFAULT_SCALE_RATIO;
+ __repeatCount = DEFAULT_REPEAT_COUNT;
+ __isAutoReverse = DEFAULT_AUTO_REVERSE;
+ __isSetHoldEnd = DEFAULT_SET_HOLD_END;
+ __interpolatorType = ANIMATION_INTERPOLATOR_LINEAR;
+}
+
+void
+AnimationPropertyInfo::ApplyGlobalSettings(AnimationBase& animation)
+{
+ animation.SetInterpolatorType(__interpolatorType);
+ if (__interpolatorType == ANIMATION_INTERPOLATOR_BEZIER)
+ {
+ animation.SetBezierControlPoints(0.5f, 0.5f, 0.5f, 0.5f);
+ }
+
+ animation.SetAutoReverseEnabled(__isAutoReverse);
+ animation.SetHoldEndEnabled(__isSetHoldEnd);
+ animation.SetDelay(__delay);
+ animation.SetDuration(__duration);
+ animation.SetOffset(__offset);
+ animation.SetRepeatCount(__repeatCount);
+ animation.SetScaleRatio(__scaleRatio);
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "ControlEventListenerForm.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+ControlEventListenerForm::ControlEventListenerForm(void)
+ : __pButton1(null)
+ , __pButton2(null)
+ , __pButton3(null)
+ , __pButton4(null)
+ , __pButton5(null)
+ , __pButton6(null)
+ , __pButton7(null)
+ , __pButton8(null)
+ , __pButton9(null)
+ , __pButton10(null)
+ , __pButton11(null)
+ , __pButton12(null)
+ , __pLabel(null)
+{
+}
+
+ControlEventListenerForm::~ControlEventListenerForm(void)
+{
+ Stop();
+}
+
+result
+ControlEventListenerForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = Form::GetHeader();
+ pHeader->SetTitleText(L"CONTROL EVENT LISTENER");
+
+ Footer* pFooter = Form::GetFooter();
+ pFooter->SetItemEnabled(FOOTER_ITEM_INDEX_SETTINGS, false);
+
+ __pButton1 = new (std::nothrow) Button();
+ __pButton1->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH / 2, BUTTON_HEIGHT / 2), L"I");
+ __pButton1->SetName(L"Button1");
+ __pButton1->SetShowState(false);
+ __pButton1->GetControlAnimator()->AddControlAnimatorDetailedEventListener(*this);
+ AddControl(*__pButton1);
+
+ __pButton2 = new (std::nothrow) Button();
+ __pButton2->Construct(Rectangle(3 * BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH / 2, BUTTON_HEIGHT / 2), L"I");
+ __pButton2->SetName(L"Button2");
+ __pButton2->SetShowState(false);
+ __pButton2->GetControlAnimator()->AddControlAnimatorDetailedEventListener(*this);
+ AddControl(*__pButton2);
+
+ __pButton3 = new (std::nothrow) Button();
+ __pButton3->Construct(Rectangle(5 * BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH / 2, BUTTON_HEIGHT / 2), L"I");
+ __pButton3->SetName(L"Button3");
+ __pButton3->SetShowState(false);
+ __pButton3->GetControlAnimator()->AddControlAnimatorDetailedEventListener(*this);
+ AddControl(*__pButton3);
+
+ __pButton4 = new (std::nothrow) Button();
+ __pButton4->Construct(Rectangle(7 * BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH / 2, BUTTON_HEIGHT / 2), L"I");
+ __pButton4->SetName(L"Button4");
+ __pButton4->SetShowState(false);
+ __pButton4->GetControlAnimator()->AddControlAnimatorDetailedEventListener(*this);
+ AddControl(*__pButton4);
+
+ __pButton5 = new (std::nothrow) Button();
+ __pButton5->Construct(Rectangle(BUTTON_OFFSET_X, 3 * BUTTON_OFFSET_Y, BUTTON_WIDTH / 2, BUTTON_HEIGHT / 2), L"I");
+ __pButton5->SetName(L"Button5");
+ __pButton5->SetShowState(false);
+ __pButton5->GetControlAnimator()->AddControlAnimatorDetailedEventListener(*this);
+ AddControl(*__pButton5);
+
+ __pButton6 = new (std::nothrow) Button();
+ __pButton6->Construct(Rectangle(3 * BUTTON_OFFSET_X, 3 * BUTTON_OFFSET_Y, BUTTON_WIDTH / 2, BUTTON_HEIGHT / 2), L"I");
+ __pButton6->SetName(L"Button6");
+ __pButton6->SetShowState(false);
+ __pButton6->GetControlAnimator()->AddControlAnimatorDetailedEventListener(*this);
+ AddControl(*__pButton6);
+
+ __pButton7 = new (std::nothrow) Button();
+ __pButton7->Construct(Rectangle(5 * BUTTON_OFFSET_X, 3 * BUTTON_OFFSET_Y, BUTTON_WIDTH / 2, BUTTON_HEIGHT / 2), L"I");
+ __pButton7->SetName(L"Button7");
+ __pButton7->SetShowState(false);
+ __pButton7->GetControlAnimator()->AddControlAnimatorDetailedEventListener(*this);
+ AddControl(*__pButton7);
+
+ __pButton8 = new (std::nothrow) Button();
+ __pButton8->Construct(Rectangle(7 * BUTTON_OFFSET_X, 3 * BUTTON_OFFSET_Y, BUTTON_WIDTH / 2, BUTTON_HEIGHT / 2), L"I");
+ __pButton8->SetName(L"Button8");
+ __pButton8->SetShowState(false);
+ __pButton8->GetControlAnimator()->AddControlAnimatorDetailedEventListener(*this);
+ AddControl(*__pButton8);
+
+ __pButton9 = new (std::nothrow) Button();
+ __pButton9->Construct(Rectangle(BUTTON_OFFSET_X, 5 * BUTTON_OFFSET_Y, BUTTON_WIDTH / 2, BUTTON_HEIGHT / 2), L"I");
+ __pButton9->SetName(L"Button9");
+ __pButton9->SetShowState(false);
+ __pButton9->GetControlAnimator()->AddControlAnimatorDetailedEventListener(*this);
+ AddControl(*__pButton9);
+
+ __pButton10 = new (std::nothrow) Button();
+ __pButton10->Construct(Rectangle(3 * BUTTON_OFFSET_X, 5 * BUTTON_OFFSET_Y, BUTTON_WIDTH / 2, BUTTON_HEIGHT / 2), L"I");
+ __pButton10->SetName(L"Button10");
+ __pButton10->SetShowState(false);
+ __pButton10->GetControlAnimator()->AddControlAnimatorDetailedEventListener(*this);
+ AddControl(*__pButton10);
+
+ __pButton11 = new (std::nothrow) Button();
+ __pButton11->Construct(Rectangle(5 * BUTTON_OFFSET_X, 5 * BUTTON_OFFSET_Y, BUTTON_WIDTH / 2, BUTTON_HEIGHT / 2), L"I");
+ __pButton11->SetName(L"Button11");
+ __pButton11->SetShowState(false);
+ __pButton11->GetControlAnimator()->AddControlAnimatorDetailedEventListener(*this);
+ AddControl(*__pButton11);
+
+ __pButton12 = new (std::nothrow) Button();
+ __pButton12->Construct(Rectangle(7 * BUTTON_OFFSET_X, 5 * BUTTON_OFFSET_Y, BUTTON_WIDTH / 2, BUTTON_HEIGHT / 2), L"I");
+ __pButton12->SetName(L"Button12");
+ __pButton12->SetShowState(false);
+ __pButton12->GetControlAnimator()->AddControlAnimatorDetailedEventListener(*this);
+ AddControl(*__pButton12);
+
+ __pLabel = new (std::nothrow) Label();
+ __pLabel->Construct(Rectangle(BUTTON_OFFSET_X, GetClientAreaBounds().height - LABEL_HEIGHT, LABEL_WIDTH, LABEL_HEIGHT), L"Press Play");
+ __pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
+ __pLabel->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
+ AddControl(*__pLabel);
+
+ return r;
+}
+
+result
+ControlEventListenerForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ __pLabel->SetShowState(false);
+
+ IntegerAnimation animButton(0, 1, AnimationPropertyInfo::DEFAULT_DURATION / 4, ANIMATION_INTERPOLATOR_LINEAR);
+ (__pButton1->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animButton);
+
+ return r;
+}
+
+result
+ControlEventListenerForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ (__pButton1->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton2->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton3->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton4->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton5->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton6->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton7->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton8->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton9->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton10->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton11->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton12->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+
+ __pButton1->SetShowState(false);
+ __pButton2->SetShowState(false);
+ __pButton3->SetShowState(false);
+ __pButton4->SetShowState(false);
+ __pButton5->SetShowState(false);
+ __pButton6->SetShowState(false);
+ __pButton7->SetShowState(false);
+ __pButton8->SetShowState(false);
+ __pButton9->SetShowState(false);
+ __pButton10->SetShowState(false);
+ __pButton11->SetShowState(false);
+ __pButton12->SetShowState(false);
+
+ __pLabel->SetShowState(true);
+
+ return r;
+}
+
+void
+ControlEventListenerForm::OnControlAnimationStarted(ControlAnimator& source, Control& control, ControlAnimatorTriggerType animTrigger, AnimationTargetType animTarget, AnimationBase* pAnimation)
+{
+}
+
+void
+ControlEventListenerForm::OnControlAnimationRepeated(ControlAnimator& source, Control& control, ControlAnimatorTriggerType animTrigger, AnimationTargetType animTarget, AnimationBase* pAnimation, int repeatCount)
+{
+}
+
+void
+ControlEventListenerForm::OnControlAnimationFinished(ControlAnimator& source, Control& control, ControlAnimatorTriggerType animTrigger, AnimationTargetType animTarget, AnimationBase* pAnimation)
+{
+ String name = control.GetName();
+
+ IntegerAnimation animButton(0, 1, AnimationPropertyInfo::DEFAULT_DURATION / 4, ANIMATION_INTERPOLATOR_LINEAR);
+
+ if (name == L"Button1")
+ {
+ (__pButton2->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animButton);
+ }
+ else if (name == L"Button2")
+ {
+ (__pButton3->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animButton);
+ }
+ else if (name == L"Button3")
+ {
+ (__pButton4->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animButton);
+ }
+ else if (name == L"Button4")
+ {
+ (__pButton5->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animButton);
+ }
+ else if (name == L"Button5")
+ {
+ (__pButton6->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animButton);
+ }
+ else if (name == L"Button6")
+ {
+ (__pButton7->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animButton);
+ }
+ else if (name == L"Button7")
+ {
+ (__pButton8->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animButton);
+ }
+ else if (name == L"Button8")
+ {
+ (__pButton9->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animButton);
+ }
+ else if (name == L"Button9")
+ {
+ (__pButton10->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animButton);
+ }
+ else if (name == L"Button10")
+ {
+ (__pButton11->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animButton);
+ }
+ else if (name == L"Button11")
+ {
+ (__pButton12->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animButton);
+ }
+ else if (name == L"Button12")
+ {
+ __pButton1->SetShowState(false);
+ __pButton2->SetShowState(false);
+ __pButton3->SetShowState(false);
+ __pButton4->SetShowState(false);
+ __pButton5->SetShowState(false);
+ __pButton6->SetShowState(false);
+ __pButton7->SetShowState(false);
+ __pButton8->SetShowState(false);
+ __pButton9->SetShowState(false);
+ __pButton10->SetShowState(false);
+ __pButton11->SetShowState(false);
+ __pButton12->SetShowState(false);
+
+ __pLabel->SetShowState(true);
+ }
+}
+
+void
+ControlEventListenerForm::OnControlAnimationStopped(ControlAnimator& source, Control& control, ControlAnimatorTriggerType animTrigger, AnimationTargetType animTarget, AnimationBase* pAnimation)
+{
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "CustomImplicitAnimationForm.h"
+
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+CustomImplicitAnimationForm::CustomImplicitAnimationForm(void)
+ : __transactionId(0)
+ , __pButton1(null)
+ , __pButton2(null)
+ , __pButton3(null)
+ , __pButton4(null)
+{
+}
+
+CustomImplicitAnimationForm::~CustomImplicitAnimationForm(void)
+{
+}
+
+result
+CustomImplicitAnimationForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = Form::GetHeader();
+ pHeader->SetTitleText(L"CUSTOM IMPLICIT ANIMATION");
+
+ Footer* pFooter = Form::GetFooter();
+ pFooter->SetItemEnabled(FOOTER_ITEM_INDEX_SETTINGS, false);
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pButton1 = new (std::nothrow) Button();
+ __pButton1->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"Position");
+ AddControl(*__pButton1);
+
+ __pButton2 = new (std::nothrow) Button();
+ __pButton2->Construct(Rectangle(BUTTON_OFFSET_X, 3 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"Size");
+ AddControl(*__pButton2);
+
+ __pButton3 = new (std::nothrow) Button();
+ __pButton3->Construct(Rectangle(BUTTON_OFFSET_X, 5 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"Bounds");
+ AddControl(*__pButton3);
+
+ __pButton4 = new (std::nothrow) Button();
+ __pButton4->Construct(Rectangle(BUTTON_OFFSET_X, 7 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"ShowState");
+ AddControl(*__pButton4);
+
+
+ return r;
+}
+
+result
+CustomImplicitAnimationForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ Point startPosButton1 = __pButton1->GetPosition();
+ Dimension startDimButton2 = __pButton2->GetSize();
+ Rectangle startRectButton3 = __pButton3->GetBounds();
+ float startOpacitybutton4 = __pButton4->GetShowState() ? 1.0f : 0.0f;
+ float startRotate;
+
+ Point endPosButton1;
+ Dimension endDimButton2;
+ Rectangle endRectButton3;
+ float endOpacityButton4;
+ float endRotate;
+
+ if (GetAnimationDirection() == ANIMATION_FORWARD)
+ {
+ endPosButton1 = Point(BUTTON_OFFSET_X + ANIMATION_OFFSET_X, BUTTON_OFFSET_Y);
+ endDimButton2 = Dimension(BUTTON_WIDTH + ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT + ANIMATION_OFFSET_HEIGHT);
+ endRectButton3 = Rectangle(BUTTON_OFFSET_X + ANIMATION_OFFSET_X, 5 * BUTTON_OFFSET_Y, BUTTON_WIDTH + ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT + ANIMATION_OFFSET_HEIGHT);
+ endOpacityButton4 = 0.0f;
+
+ startRotate = 0.0f;
+ endRotate = 360.0f;
+ }
+ else
+ {
+ endPosButton1 = Point(BUTTON_OFFSET_X, BUTTON_OFFSET_Y);
+ endDimButton2 = Dimension(BUTTON_WIDTH, BUTTON_HEIGHT);
+ endRectButton3 = Rectangle(BUTTON_OFFSET_X, 5 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT);
+ endOpacityButton4 = 1.0f;
+
+ startRotate = 360.0f;
+ endRotate = 0.0f;
+ }
+
+ PointAnimation animPosButton1(startPosButton1, endPosButton1, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ DimensionAnimation animDimButton2(startDimButton2, endDimButton2, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ RectangleAnimation animRectButton3(startRectButton3, endRectButton3, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ FloatAnimation animOpacityButton4(startOpacitybutton4, endOpacityButton4, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ RotateAnimation rotateAnim(startRotate, endRotate, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ ParallelAnimationGroup animButton1, animButton2, animButton3, animButton4;
+
+ animButton1.AddAnimation(ANIMATION_TARGET_ROTATION, rotateAnim);
+ animButton1.AddAnimation(ANIMATION_TARGET_POSITION, animPosButton1);
+
+ animButton2.AddAnimation(ANIMATION_TARGET_ROTATION, rotateAnim);
+ animButton2.AddAnimation(ANIMATION_TARGET_SIZE, animDimButton2);
+
+ animButton3.AddAnimation(ANIMATION_TARGET_ROTATION, rotateAnim);
+ animButton3.AddAnimation(ANIMATION_TARGET_POSITION, animRectButton3);
+
+ animButton4.AddAnimation(ANIMATION_TARGET_ROTATION, rotateAnim);
+ animButton4.AddAnimation(ANIMATION_TARGET_ALPHA, animOpacityButton4);
+
+ AnimationTransaction::Begin(__transactionId);
+
+ (__pButton1->GetControlAnimator())->SetAnimation(ANIMATION_TRIGGER_POSITION_CHANGE, &animButton1);
+ (__pButton2->GetControlAnimator())->SetAnimation(ANIMATION_TRIGGER_SIZE_CHANGE, &animButton2);
+ (__pButton3->GetControlAnimator())->SetAnimation(ANIMATION_TRIGGER_POSITION_CHANGE, &animButton3);
+ (__pButton4->GetControlAnimator())->SetAnimation(ANIMATION_TRIGGER_SHOW_STATE_CHANGE, &animButton4);
+
+ (__pButton1->GetControlAnimator())->SetPosition(endPosButton1);
+ (__pButton2->GetControlAnimator())->SetSize(endDimButton2);
+ (__pButton3->GetControlAnimator())->SetBounds(endRectButton3);
+ (__pButton4->GetControlAnimator())->SetShowState(static_cast< int >(endOpacityButton4));
+
+ AnimationTransaction::Commit();
+
+ return r;
+}
+
+result
+CustomImplicitAnimationForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ AnimationTransaction::Stop(__transactionId);
+
+ return r;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "DimensionAnimationForm.h"
+
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+DimensionAnimationForm::DimensionAnimationForm(void)
+ : __pLeftTop(null)
+ , __pRightTop(null)
+ , __pLeftBottom(null)
+ , __pRightBottom(null)
+ , __pCenter(null)
+{
+}
+
+DimensionAnimationForm::~DimensionAnimationForm(void)
+{
+}
+
+result
+DimensionAnimationForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = GetHeader();
+ pHeader->SetTitleText(L"DIMENSION ANIMATION");
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pLeftTop = new (std::nothrow) Button();
+ __pLeftTop->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"I");
+ AddControl(*__pLeftTop);
+
+ __pRightTop = new (std::nothrow) Button();
+ __pRightTop->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"II");
+ AddControl(*__pRightTop);
+
+ __pLeftBottom = new (std::nothrow) Button();
+ __pLeftBottom->Construct(Rectangle(BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"III");
+ AddControl(*__pLeftBottom);
+
+ __pRightBottom = new (std::nothrow) Button();
+ __pRightBottom->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"IV");
+ AddControl(*__pRightBottom);
+
+ __pCenter = new (std::nothrow) Button();
+ __pCenter->Construct(Rectangle(parentBounds.width / 2 - BUTTON_WIDTH / 2, parentBounds.height / 2 - BUTTON_HEIGHT / 2, BUTTON_WIDTH, BUTTON_HEIGHT), L"V");
+ AddControl(*__pCenter);
+
+ return r;
+}
+
+result
+DimensionAnimationForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ Dimension startSide = __pLeftTop->GetSize();
+ Dimension startCenter = __pCenter->GetSize();
+
+ Dimension endSide, endCenter;
+ if (GetAnimationDirection() == ANIMATION_FORWARD)
+ {
+ endSide = Dimension(BUTTON_WIDTH - ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT - ANIMATION_OFFSET_HEIGHT);
+ endCenter = Dimension(BUTTON_WIDTH + ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT + ANIMATION_OFFSET_HEIGHT);
+ }
+ else
+ {
+ endSide = Dimension(BUTTON_WIDTH, BUTTON_HEIGHT);
+ endCenter = Dimension(BUTTON_WIDTH, BUTTON_HEIGHT);
+ }
+
+ DimensionAnimation animSide(startSide, endSide, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ DimensionAnimation animCenter(startCenter, endCenter, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ _animationPropertyInfo.ApplyGlobalSettings(animSide);
+ _animationPropertyInfo.ApplyGlobalSettings(animCenter);
+
+ (__pLeftTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_SIZE, animSide);
+ (__pRightTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_SIZE, animSide);
+ (__pLeftBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_SIZE, animSide);
+ (__pRightBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_SIZE, animSide);
+ (__pCenter->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_SIZE, animCenter);
+
+ return r;
+}
+
+result
+DimensionAnimationForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ (__pLeftTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pRightTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pLeftBottom->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pRightBottom->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pCenter->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+
+ return r;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "FloatAnimationForm.h"
+
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+FloatAnimationForm::FloatAnimationForm(void)
+ : __pLeftTop(null)
+ , __pRightTop(null)
+ , __pLeftBottom(null)
+ , __pRightBottom(null)
+{
+}
+
+FloatAnimationForm::~FloatAnimationForm(void)
+{
+}
+
+result
+FloatAnimationForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = GetHeader();
+ pHeader->SetTitleText(L"FLOAT ANIMATION");
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pLeftTop = new (std::nothrow) Button();
+ __pLeftTop->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"I");
+ AddControl(*__pLeftTop);
+
+ __pRightTop = new (std::nothrow) Button();
+ __pRightTop->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"II");
+ AddControl(*__pRightTop);
+
+ __pLeftBottom = new (std::nothrow) Button();
+ __pLeftBottom->Construct(Rectangle(BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"III");
+ AddControl(*__pLeftBottom);
+
+ __pRightBottom = new (std::nothrow) Button();
+ __pRightBottom->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"IV");
+ AddControl(*__pRightBottom);
+
+ __pLeftTop->SetShowState(false);
+ __pRightBottom->SetShowState(false);
+
+ return r;
+}
+
+result
+FloatAnimationForm::Play(void)
+{
+ result r = E_SUCCESS;
+ float start, end;
+
+ if (GetAnimationDirection() == ANIMATION_FORWARD)
+ {
+ start = 1.0f;
+ end = 0.0f;
+ }
+ else
+ {
+ start = 0.0f;
+ end = 1.0f;
+ }
+
+ FloatAnimation animLeftTop(end, start, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ FloatAnimation animRightTop(start, end, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ FloatAnimation animLeftBottom(start, end, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ FloatAnimation animRightBottom(end, start, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ _animationPropertyInfo.ApplyGlobalSettings(animLeftTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animRightTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animLeftBottom);
+ _animationPropertyInfo.ApplyGlobalSettings(animRightBottom);
+
+ (__pLeftTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animLeftTop);
+ (__pRightTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animRightTop);
+ (__pLeftBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animLeftBottom);
+ (__pRightBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animRightBottom);
+
+ return r;
+}
+
+result
+FloatAnimationForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ (__pLeftTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pRightTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pLeftBottom->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pRightBottom->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+
+ return r;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "FormFactory.h"
+#include "MainForm.h"
+
+#include "IntegerAnimationForm.h"
+#include "FloatAnimationForm.h"
+#include "PointAnimationForm.h"
+#include "DimensionAnimationForm.h"
+#include "RectangleAnimationForm.h"
+#include "RotateAnimationForm.h"
+#include "KeyFrameAnimationForm.h"
+#include "OutOfBoundsCheckForm.h"
+#include "ControlEventListenerForm.h"
+#include "SetHoldTestForm.h"
+#include "AnimationGroupParallelForm.h"
+#include "AnimationGroupSequentialForm.h"
+#include "TransactionSetForm.h"
+#include "TransactionEventListenerForm.h"
+#include "FormTransitionForm.h"
+#include "PanelTransitionForm.h"
+#include "ImplicitAnimationForm.h"
+#include "CustomImplicitAnimationForm.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+const wchar_t* FORM_MAIN_MENU = L"FormMainMenu";
+
+const wchar_t* FORM_INTEGER_ANIMATION = L"FormIntergerAnimation";
+const wchar_t* FORM_FLOAT_ANIMATION = L"FormFloatAnimation";
+const wchar_t* FORM_POINT_ANIMATION = L"FormPointAnimation";
+const wchar_t* FORM_DIMENSION_ANIMATION = L"FormDimension";
+const wchar_t* FORM_RECTANGLE_ANIMATION = L"FormRectangleAnimation";
+const wchar_t* FORM_ROTATE_ANIMATION = L"FormRotateAnimation";
+
+const wchar_t* FORM_KEY_FRAME_ANIMATION = L"FormKeyFrameAnimation";
+const wchar_t* FORM_OUT_OF_BOUNDS_CHECK = L"FormOutOfBoundsCheck";
+const wchar_t* FORM_CONTROL_EVENT_LISTENER = L"FormControlEventListener";
+const wchar_t* FORM_SET_HOLD_TEST = L"FormSetHoldTest";
+
+const wchar_t* FORM_ANIMATION_GROUP_PARALLEL = L"FormAnimationGroupParallel";
+const wchar_t* FORM_ANIMATION_GROUP_SEQUENTIAL = L"FormAnimationGroupSequential";
+
+const wchar_t* FORM_TRANSACTION_SET = L"FormTransactionSet";
+const wchar_t* FORM_TRANSACTION_EVENT_LISTENER = L"FormTransactionEventListener";
+
+const wchar_t* FORM_FORM_TRANSITION = L"FormFormTransition";
+const wchar_t* FORM_PANEL_TRANSITION = L"FormPanelTransition";
+
+const wchar_t* FORM_IMPLICIT_ANIMATION = L"FormImplicitAnimation";
+const wchar_t* FORM_CUSTOM_IMPLICIT_ANIMATION = L"FormCustomImplicitAnimation";
+
+
+FormFactory::FormFactory(void)
+{
+}
+
+FormFactory::~FormFactory(void)
+{
+}
+
+Form*
+FormFactory::CreateFormN(const String& formId, const SceneId& sceneId)
+{
+ Form* pNewForm = null;
+
+ if (formId == FORM_MAIN_MENU)
+ {
+ MainForm* pMainForm = new (std::nothrow) MainForm();
+ pMainForm->Initialize();
+ pNewForm = pMainForm;
+ }
+ else
+ {
+ AnimationBaseForm* pAnimationForm = null;
+
+ if (formId == FORM_INTEGER_ANIMATION)
+ {
+ pAnimationForm = new (std::nothrow) IntegerAnimationForm();
+ }
+ else if (formId == FORM_FLOAT_ANIMATION)
+ {
+ pAnimationForm= new (std::nothrow) FloatAnimationForm();
+ }
+ else if (formId == FORM_POINT_ANIMATION)
+ {
+ pAnimationForm = new (std::nothrow) PointAnimationForm();
+ }
+ else if (formId == FORM_DIMENSION_ANIMATION)
+ {
+ pAnimationForm = new (std::nothrow) DimensionAnimationForm();
+ }
+ else if (formId == FORM_RECTANGLE_ANIMATION)
+ {
+ pAnimationForm = new (std::nothrow) RectangleAnimationForm();
+ }
+ else if (formId == FORM_ROTATE_ANIMATION)
+ {
+ pAnimationForm = new (std::nothrow) RotateAnimationForm();
+ }
+ else if (formId == FORM_KEY_FRAME_ANIMATION)
+ {
+ pAnimationForm = new (std::nothrow) KeyFrameAnimationForm();
+ }
+ else if (formId == FORM_OUT_OF_BOUNDS_CHECK)
+ {
+ pAnimationForm = new (std::nothrow) OutOfBoundsCheckForm();
+ }
+ else if (formId == FORM_CONTROL_EVENT_LISTENER)
+ {
+ pAnimationForm = new (std::nothrow) ControlEventListenerForm();
+ }
+ else if (formId == FORM_SET_HOLD_TEST)
+ {
+ pAnimationForm = new (std::nothrow) SetHoldTestForm();
+ }
+ else if (formId == FORM_ANIMATION_GROUP_PARALLEL)
+ {
+ pAnimationForm = new (std::nothrow) AnimationGroupParallelForm();
+ }
+ else if (formId == FORM_ANIMATION_GROUP_SEQUENTIAL)
+ {
+ pAnimationForm = new (std::nothrow) AnimationGroupSequentialForm();
+ }
+ else if (formId == FORM_TRANSACTION_SET)
+ {
+ pAnimationForm = new (std::nothrow) TransactionSetForm();
+ }
+ else if (formId == FORM_TRANSACTION_EVENT_LISTENER)
+ {
+ pAnimationForm = new (std::nothrow) TransactionEventListenerForm();
+ }
+ else if (formId == FORM_FORM_TRANSITION)
+ {
+ pAnimationForm = new (std::nothrow) FormTransitionForm();
+ }
+ else if (formId == FORM_PANEL_TRANSITION)
+ {
+ pAnimationForm = new (std::nothrow) PanelTransitionForm();
+ }
+ else if (formId == FORM_IMPLICIT_ANIMATION)
+ {
+ pAnimationForm = new (std::nothrow) ImplicitAnimationForm();
+ }
+ else if (formId == FORM_CUSTOM_IMPLICIT_ANIMATION)
+ {
+ pAnimationForm = new (std::nothrow) CustomImplicitAnimationForm();
+ }
+
+ pAnimationForm->Initialize();
+ pNewForm = pAnimationForm;
+ }
+
+ return pNewForm;
+}
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "FormTransitionForm.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+const String FormTransitionForm::__animType[FormTransitionForm::LIST_VIEW_ITEM_COUNT ] = {
+ L"Translate Left",
+ L"Translate Right",
+ L"Fade In_Out",
+ L"Zoom In",
+ L"Zoom Out",
+ L"Depth In",
+ L"Depth Out"
+};
+
+FormTransitionForm::FormTransitionForm(void)
+ : __pTestForm(null)
+ , __pListView(null)
+{
+}
+
+FormTransitionForm::~FormTransitionForm(void)
+{
+}
+
+result
+FormTransitionForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = Form::GetHeader();
+ pHeader->SetTitleText(L"FORM TRANSITION");
+
+ Footer* pFooter = GetFooter();
+ pFooter->SetItemEnabled(FOOTER_ITEM_INDEX_PLAY, false);
+ pFooter->SetItemEnabled(FOOTER_ITEM_INDEX_STOP, false);
+
+ _pSettingPopup->SetAutoReverseButtonEnabled(false);
+ _pSettingPopup->SetHoldEndButtonEnabled(false);
+ _pSettingPopup->SetDelaySliderEnabled(false);
+ _pSettingPopup->SetOffsetSliderEnabled(false);
+ _pSettingPopup->SetScaleRatioSliderEnabled(false);
+ _pSettingPopup->SetRepeatSliderEnabled(false);
+ _pSettingPopup->SetName(L"FormTransitionForm");
+
+ Slider* pSliderDuration = static_cast<Slider*>(_pSettingPopup->GetControl(L"IDC_SLIDER_DURATION", true));
+ pSliderDuration->SetValue(10);
+
+ Rectangle bounds(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height);
+
+ __pListView = new (std::nothrow) ListView();
+ __pListView->Construct(bounds, true, false);
+ __pListView->SetItemProvider(*this);
+ __pListView->AddListViewItemEventListener(*this);
+ AddControl(*__pListView);
+
+ Frame* pFrame = UiApp::GetInstance()->GetFrame(L"UiControlAnimator");
+
+ __pTestForm = new (std::nothrow) Form();
+ __pTestForm->Construct(L"IDF_FORM_TRANSITION_TEST_FORM");
+ __pTestForm->SetFormBackEventListener(this);
+ pFrame->AddControl(*__pTestForm);
+
+ return r;
+}
+
+void
+FormTransitionForm::OnFormBackRequested(Form& source)
+{
+ Frame* pFrame = UiApp::GetInstance()->GetFrame(L"UiControlAnimator");
+
+ if (pFrame->GetCurrentForm() == __pTestForm)
+ {
+ FrameAnimator* pAnimator = pFrame->GetFrameAnimator();
+ pAnimator->SetCurrentForm(*this);
+ }
+ else
+ {
+ SceneManager::GetInstance()->GoBackward(BackwardSceneTransition());
+ }
+}
+
+void
+FormTransitionForm::OnListViewItemStateChanged(ListView& listView, int index, int elementId, ListItemStatus status)
+{
+ Frame* pFrame = UiApp::GetInstance()->GetFrame(L"UiControlAnimator");
+
+ FrameAnimatorFormTransitionAnimation animation;
+ switch (index)
+ {
+ case 0:
+ animation = FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_TRANSLATE_LEFT;
+ break;
+
+ case 1:
+ animation = FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_TRANSLATE_RIGHT;
+ break;
+
+ case 2:
+ animation = FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_FADE_IN_OUT;
+ break;
+
+ case 3:
+ animation = FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_ZOOM_IN;
+ break;
+
+ case 4:
+ animation = FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_ZOOM_OUT;
+ break;
+
+ case 5:
+ animation = FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_DEPTH_IN;
+ break;
+
+ case 6:
+ animation = FRAME_ANIMATOR_FORM_TRANSITION_ANIMATION_DEPTH_OUT;
+ break;
+
+ default:
+ break;
+ }
+
+ FrameAnimator* pFrameAnimator = pFrame->GetFrameAnimator();
+ pFrameAnimator->SetFormTransitionAnimation(animation, _animationPropertyInfo.GetDuration(), _animationPropertyInfo.GetInterpolatorType());
+ pFrameAnimator->SetCurrentForm(*__pTestForm);
+}
+
+void
+FormTransitionForm::OnListViewItemSwept(ListView& listView, int index, SweepDirection direction)
+{
+}
+
+void
+FormTransitionForm::OnListViewContextItemStateChanged(ListView& listView, int index, int elementId, ListContextItemStatus status)
+{
+}
+
+int
+FormTransitionForm::GetItemCount(void)
+{
+ return LIST_VIEW_ITEM_COUNT ;
+}
+
+ListItemBase*
+FormTransitionForm::CreateItem(int index, int itemWidth)
+{
+ SimpleItem* pItem = new (std::nothrow) SimpleItem();
+ pItem->Construct(Dimension(itemWidth, LIST_VIEW_ITEM_HEIGHT), LIST_ANNEX_STYLE_NORMAL);
+ pItem->SetElement(__animType[index]);
+
+ return pItem;
+}
+
+bool
+FormTransitionForm::DeleteItem(int index, ListItemBase* pItem, int itemWidth)
+{
+ delete pItem;
+ pItem = null;
+
+ return true;
+}
+
+bool
+FormTransitionForm::IsAnimating(void)
+{
+ Frame* pFrame = UiApp::GetInstance()->GetFrame(L"UiControlAnimator");
+ FrameAnimator* pFrameAnimator = pFrame->GetFrameAnimator();
+
+ if (pFrameAnimator->GetStatus() == ANIMATOR_STATUS_PLAYING)
+ {
+ return true;
+ }
+
+ return false;
+}
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "ImplicitAnimationForm.h"
+
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+ImplicitAnimationForm::ImplicitAnimationForm(void)
+ : __transactionId(0)
+ , __pButton1(null)
+ , __pButton2(null)
+ , __pButton3(null)
+ , __pButton4(null)
+{
+}
+
+ImplicitAnimationForm::~ImplicitAnimationForm(void)
+{
+}
+
+result
+ImplicitAnimationForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = Form::GetHeader();
+ pHeader->SetTitleText(L"IMPLICIT ANIMATION");
+
+ Footer* pFooter = Form::GetFooter();
+ pFooter->SetItemEnabled(FOOTER_ITEM_INDEX_SETTINGS, false);
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pButton1 = new (std::nothrow) Button();
+ __pButton1->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"Position");
+ AddControl(*__pButton1);
+
+ __pButton2 = new (std::nothrow) Button();
+ __pButton2->Construct(Rectangle(BUTTON_OFFSET_X, 3 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"Size");
+ AddControl(*__pButton2);
+
+ __pButton3 = new (std::nothrow) Button();
+ __pButton3->Construct(Rectangle(BUTTON_OFFSET_X, 5 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"Bounds");
+ AddControl(*__pButton3);
+
+ __pButton4 = new (std::nothrow) Button();
+ __pButton4->Construct(Rectangle(BUTTON_OFFSET_X, 7 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"ShowState");
+ AddControl(*__pButton4);
+
+ return r;
+}
+
+result
+ImplicitAnimationForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ Point point;
+ Dimension size;
+ Rectangle bounds;
+ bool showState;
+
+ if (GetAnimationDirection() == ANIMATION_FORWARD)
+ {
+ point = Point(BUTTON_OFFSET_X + ANIMATION_OFFSET_X, BUTTON_OFFSET_Y);
+ size = Dimension(BUTTON_WIDTH + ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT + ANIMATION_OFFSET_HEIGHT);
+ bounds = Rectangle(BUTTON_OFFSET_X + ANIMATION_OFFSET_X, 5 * BUTTON_OFFSET_Y, BUTTON_WIDTH + ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT + ANIMATION_OFFSET_HEIGHT);
+ showState = false;
+ }
+ else
+ {
+ point = Point(BUTTON_OFFSET_X, BUTTON_OFFSET_Y);
+ size = Dimension(BUTTON_WIDTH, BUTTON_HEIGHT);
+ bounds = Rectangle(BUTTON_OFFSET_X, 5 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT);
+ showState = true;
+ }
+
+ AnimationTransaction::Begin(__transactionId);
+
+ (__pButton1->GetControlAnimator())->SetPosition(point);
+ (__pButton2->GetControlAnimator())->SetSize(size);
+ (__pButton3->GetControlAnimator())->SetBounds(bounds);
+ (__pButton4->GetControlAnimator())->SetShowState(showState);
+
+ AnimationTransaction::Commit();
+
+ return r;
+}
+
+result
+ImplicitAnimationForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ AnimationTransaction::Stop(__transactionId);
+
+ return r;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "IntegerAnimationForm.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+IntegerAnimationForm::IntegerAnimationForm(void)
+ : __pLeftTop(null)
+ , __pRightTop(null)
+ , __pLeftBottom(null)
+ , __pRightBottom(null)
+{
+}
+
+IntegerAnimationForm::~IntegerAnimationForm(void)
+{
+}
+
+result
+IntegerAnimationForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = GetHeader();
+ pHeader->SetTitleText(L"INTEGER ANIMATION");
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pLeftTop = new (std::nothrow) Button();
+ __pLeftTop->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"I");
+ AddControl(*__pLeftTop);
+
+ __pRightTop = new (std::nothrow) Button();
+ __pRightTop->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"II");
+ AddControl(*__pRightTop);
+
+ __pLeftBottom = new (std::nothrow) Button();
+ __pLeftBottom->Construct(Rectangle(BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"III");
+ AddControl(*__pLeftBottom);
+
+ __pRightBottom = new (std::nothrow) Button();
+ __pRightBottom->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"IV");
+ AddControl(*__pRightBottom);
+
+ __pLeftTop->SetShowState(false);
+ __pRightBottom->SetShowState(false);
+
+ return r;
+}
+
+result
+IntegerAnimationForm::Play(void)
+{
+ result r = E_SUCCESS;
+ int start, end;
+
+ if (GetAnimationDirection() == ANIMATION_FORWARD)
+ {
+ start = 0;
+ end = 1;
+ }
+ else
+ {
+ start = 1;
+ end = 0;
+ }
+
+ IntegerAnimation animLeftTop(start, end, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ IntegerAnimation animRightTop(end, start, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ IntegerAnimation animLeftBottom(end, start, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ IntegerAnimation animRightBottom(start, end, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ _animationPropertyInfo.ApplyGlobalSettings(animLeftTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animRightTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animLeftBottom);
+ _animationPropertyInfo.ApplyGlobalSettings(animRightBottom);
+
+ (__pLeftTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animLeftTop);
+ (__pRightTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animRightTop);
+ (__pLeftBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animLeftBottom);
+ (__pRightBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ALPHA, animRightBottom);
+
+ return r;
+}
+
+result
+IntegerAnimationForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ (__pLeftTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pRightTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pLeftBottom->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pRightBottom->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+
+ return r;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "KeyFrameAnimationForm.h"
+
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+KeyFrameAnimationForm::KeyFrameAnimationForm(void)
+ : __pLeftTop(null)
+ , __pRightTop(null)
+{
+}
+
+KeyFrameAnimationForm::~KeyFrameAnimationForm(void)
+{
+}
+
+result
+KeyFrameAnimationForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = Form::GetHeader();
+ pHeader->SetTitleText(L"KEY FRAME ANIMATION");
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pLeftTop = new (std::nothrow) Button();
+ __pLeftTop->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"I");
+ AddControl(*__pLeftTop);
+
+ __pRightTop = new (std::nothrow) Button();
+ __pRightTop->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"II");
+ AddControl(*__pRightTop);
+
+ return r;
+}
+
+result
+KeyFrameAnimationForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ Point startLeftTop = __pLeftTop->GetPosition();
+ Point startRightTop = __pRightTop->GetPosition();
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ Point endLeftTop, endRightTop;
+ if (GetAnimationDirection() == ANIMATION_FORWARD)
+ {
+ endLeftTop = Point(BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT));
+ endRightTop = Point(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT));
+ }
+ else
+ {
+ endLeftTop = Point(BUTTON_OFFSET_X, BUTTON_OFFSET_Y);
+ endRightTop = Point(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), BUTTON_OFFSET_Y);
+ }
+
+ PointAnimation animLeftTop(startLeftTop, endLeftTop, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ PointAnimation animRightTop(startRightTop, endRightTop, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ _animationPropertyInfo.ApplyGlobalSettings(animLeftTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animRightTop);
+
+ animLeftTop.AddKeyFrame(AnimationPropertyInfo::DEFAULT_DURATION / 2, Point(parentBounds.width / 2 - BUTTON_WIDTH / 2, parentBounds.height / 2 - BUTTON_HEIGHT / 2));
+ animRightTop.AddKeyFrame(AnimationPropertyInfo::DEFAULT_DURATION / 2, Point(parentBounds.width / 2 - BUTTON_WIDTH / 2, parentBounds.height / 2 - BUTTON_HEIGHT / 2));
+
+ (__pLeftTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animLeftTop);
+ (__pRightTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animRightTop);
+
+ return r;
+}
+
+result
+KeyFrameAnimationForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ (__pLeftTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pRightTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+
+ return r;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include <FApp.h>
+#include "MainForm.h"
+#include "SceneRegister.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+const String MainForm::__groupItemName[MainForm::GROUPED_LIST_VIEW_GROUP_ITEM_COUNT] =
+{
+ L"Basic Animation",
+ L"Advanced Animation",
+ L"Animation Group",
+ L"Transaction",
+ L"Transition",
+ L"Implicit Animation",
+};
+
+const String MainForm::__basicAnimationName[MainForm::ANIMATION_BASIC_ITEM_COUNT] = {
+ L"Integer Animation",
+ L"Float Animation",
+ L"Point Animation",
+ L"Dimension Animation",
+ L"Rectangle Animation",
+ L"Rotate Animation",
+};
+
+const String MainForm::__advancedAnimationName[MainForm::ANIMATION_ADVANCED_ITEM_COUNT] = {
+ L"Key Frame Animation",
+ L"Out of Bounds Check",
+ L"Control Event Listener",
+ L"SetHold Test"
+};
+
+const String MainForm::__groupAnimationName[MainForm::ANIMATION_GROUP_ITEM_COUNT] = {
+ L"Animation Group Parallel",
+ L"Animation Group Sequential"
+};
+
+const String MainForm::__transactionAnimationName[MainForm::ANIMATION_TRANSACTION_ITEM_COUNT] = {
+ L"Transaction Set",
+ L"Transaction Event Listener"
+};
+
+const String MainForm::__transitionAnimationName[MainForm::ANIMATION_TRANSITION_ITEM_COUNT] = {
+ L"Form Transition",
+ L"Panel Transition"
+};
+
+const String MainForm::__implicitAnimationName[MainForm::ANIMATION_IMPLICIT_ITEM_COUNT] = {
+ L"Implicit Animation",
+ L"Custom Implicit Animation"
+};
+
+
+
+const wchar_t* MainForm::__sceneId[][6] = {
+ {SCENE_INTEGER_ANIMATION, SCENE_FLOAT_ANIMATION, SCENE_POINT_ANIMATION,
+ SCENE_DIMENSION_ANIMATION, SCENE_RECTANGLE_ANIMATION, SCENE_ROTATE_ANIMATION},
+ {SCENE_KEY_FRAME_ANIMATION, SCENE_OUT_OF_BOUNDS_CHECK, SCENE_CONTROL_EVENT_LISTENER, SCENE_SET_HOLD_TEST},
+ {SCENE_ANIMATION_GROUP_PARALLEL, SCENE_ANIMATION_GROUP_SEQUENTIAL},
+ {SCENE_TRANSACTION_SET, SCENE_TRANSACTION_EVENT_LISTENER},
+ {SCENE_FORM_TRANSITION, SCENE_PANEL_TRANSITION},
+ {SCENE_IMPLICIT_ANIMATION, SCENE_CUSTOM_IMPLICIT_ANIMATION}
+};
+
+MainForm::MainForm(void)
+ : __pGroupedListView(null)
+{
+}
+
+MainForm::~MainForm(void)
+{
+}
+
+result
+MainForm::Initialize(void)
+{
+ result r = E_SUCCESS;
+
+ Form::Construct(FORM_STYLE_NORMAL | FORM_STYLE_INDICATOR | FORM_STYLE_HEADER | FORM_STYLE_FOOTER);
+ SetFormBackEventListener(this);
+
+ return r;
+}
+
+result
+MainForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = GetHeader();
+ pHeader->SetStyle(HEADER_STYLE_TITLE);
+ pHeader->SetTitleText(L"UI CONTROL ANIMATOR");
+
+ Footer* pFooter = GetFooter();
+ pFooter->SetStyle(FOOTER_STYLE_SEGMENTED_TEXT);
+ pFooter->SetBackButton();
+
+ Rectangle bounds(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height);
+ __pGroupedListView = new (std::nothrow) GroupedListView();
+ __pGroupedListView->Construct(bounds, GROUPED_LIST_VIEW_STYLE_INDEXED, true, false);
+ __pGroupedListView->SetItemProvider(*this);
+ __pGroupedListView->AddGroupedListViewItemEventListener(*this);
+ AddControl(*__pGroupedListView);
+
+ return r;
+}
+
+result
+MainForm::OnTerminating(void)
+{
+ result r = E_SUCCESS;
+
+ return r;
+}
+
+void
+MainForm::OnGroupedListViewContextItemStateChanged(GroupedListView &listView, int groupIndex, int itemIndex, int elementId, ListContextItemStatus state)
+{
+}
+
+void
+MainForm::OnGroupedListViewItemStateChanged(GroupedListView &listView, int groupIndex, int itemIndex, int elementId, ListItemStatus state)
+{
+ const wchar_t* id = __sceneId[groupIndex][itemIndex];
+ SceneManager::GetInstance()->GoForward(ForwardSceneTransition(String(id)), null);
+}
+
+void
+MainForm::OnGroupedListViewItemSwept(GroupedListView &listView, int groupIndex, int itemIndex, SweepDirection direction)
+{
+}
+
+int
+MainForm::GetGroupCount(void)
+{
+ return GROUPED_LIST_VIEW_GROUP_ITEM_COUNT;
+}
+
+int
+MainForm::GetItemCount(int groupIndex)
+{
+ int itemCount = 0;
+
+ switch (groupIndex)
+ {
+ case 0:
+ itemCount = ANIMATION_BASIC_ITEM_COUNT;
+ break;
+
+ case 1:
+ itemCount = ANIMATION_ADVANCED_ITEM_COUNT;
+ break;
+
+ case 2:
+ itemCount = ANIMATION_GROUP_ITEM_COUNT;
+ break;
+
+ case 3:
+ itemCount = ANIMATION_TRANSACTION_ITEM_COUNT;
+ break;
+
+ case 4:
+ itemCount = ANIMATION_TRANSITION_ITEM_COUNT;
+ break;
+
+ case 5:
+ itemCount = ANIMATION_IMPLICIT_ITEM_COUNT;
+ break;
+
+ default:
+ break;
+ }
+
+ return itemCount;
+}
+
+ListItemBase*
+MainForm::CreateItem(int groupIndex, int itemIndex, int itemWidth)
+{
+ String elementText;
+
+ switch(groupIndex)
+ {
+ case 0:
+ elementText = __basicAnimationName[itemIndex];
+ break;
+
+ case 1:
+ elementText = __advancedAnimationName[itemIndex];
+ break;
+
+ case 2:
+ elementText = __groupAnimationName[itemIndex];
+ break;
+
+ case 3:
+ elementText = __transactionAnimationName[itemIndex];
+ break;
+
+ case 4:
+ elementText = __transitionAnimationName[itemIndex];
+ break;
+
+ case 5:
+ elementText = __implicitAnimationName[itemIndex];
+ break;
+
+ default:
+ break;
+ }
+
+ CustomItem* pItem = new (std::nothrow) CustomItem();
+ pItem->Construct(Dimension(itemWidth, GROUPED_LIST_VIEW_CUSTOM_ITEM_HEIGHT), LIST_ANNEX_STYLE_NORMAL);
+
+ Rectangle textRect = Rectangle(GROUPED_LIST_VIEW_CUSTOM_ITEM_TEXT_POS_X, 0, itemWidth - GROUPED_LIST_VIEW_CUSTOM_ITEM_TEXT_POS_X, GROUPED_LIST_VIEW_CUSTOM_ITEM_HEIGHT);
+ pItem->AddElement(textRect, 0, elementText, true);
+
+ return pItem;
+}
+
+GroupItem*
+MainForm::CreateGroupItem(int groupIndex, int itemWidth)
+{
+ GroupItem* pItem = new (std::nothrow) GroupItem();
+ pItem->Construct(Dimension(itemWidth, GROUPED_LIST_VIEW_GROUP_ITEM_HEIGHT));
+ pItem->SetElement(__groupItemName[groupIndex], null);
+
+ return pItem;
+}
+
+bool
+MainForm::DeleteItem(int groupIndex, int itemIndex, ListItemBase* pItem, int itemWidth)
+{
+ delete pItem;
+ pItem = null;
+
+ return true;
+}
+
+bool
+MainForm::DeleteGroupItem(int groupIndex, GroupItem* pItem, int itemWidth)
+{
+ delete pItem;
+ pItem = null;
+
+ return true;
+}
+
+void
+MainForm::OnFormBackRequested(Form& source)
+{
+ UiApp* pApp = UiApp::GetInstance();
+ AppAssert(pApp);
+ pApp->Terminate();
+}
+
--- /dev/null
+
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "OutOfBoundsCheckForm.h"
+
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+OutOfBoundsCheckForm::OutOfBoundsCheckForm(void)
+ : __pLeftTop(null)
+ , __pRightTop(null)
+ , __pLeftBottom(null)
+ , __pRightBottom(null)
+{
+}
+
+OutOfBoundsCheckForm::~OutOfBoundsCheckForm(void)
+{
+}
+
+result
+OutOfBoundsCheckForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = Form::GetHeader();
+ pHeader->SetTitleText(L"OUT OF BOUNDS CHECK");
+
+ Footer* pFooter = Form::GetFooter();
+ pFooter->SetItemEnabled(FOOTER_ITEM_INDEX_SETTINGS, false);
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pLeftTop = new (std::nothrow) Button();
+ __pLeftTop->Construct(Rectangle(-BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"I");
+ AddControl(*__pLeftTop);
+
+ __pRightTop = new (std::nothrow) Button();
+ __pRightTop->Construct(Rectangle(parentBounds.width - BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"II");
+ AddControl(*__pRightTop);
+
+ __pLeftBottom = new (std::nothrow) Button();
+ __pLeftBottom->Construct(Rectangle(2 * -BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"III");
+ AddControl(*__pLeftBottom);
+
+ __pRightBottom = new (std::nothrow) Button();
+ __pRightBottom->Construct(Rectangle(parentBounds.width, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"IV");
+ AddControl(*__pRightBottom);
+
+ return r;
+}
+
+result
+OutOfBoundsCheckForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ Point startLeftTop = __pLeftTop->GetPosition();
+ Point startRightTop = __pRightTop->GetPosition();
+ Point startLeftBottom = __pLeftBottom->GetPosition();
+ Point startRightBottom = __pRightBottom->GetPosition();
+
+ PointAnimation animLeftTop(startLeftTop, startLeftTop + Point(BUTTON_WIDTH, 0), AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ PointAnimation animRightTop(startRightTop, startRightTop - Point(BUTTON_WIDTH, 0), AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ PointAnimation animLeftBottom(startLeftBottom, startLeftBottom + Point(BUTTON_OFFSET_X + BUTTON_WIDTH, 0), AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ PointAnimation animRightBottom(startRightBottom, startRightBottom - Point(BUTTON_OFFSET_X + BUTTON_WIDTH, 0), AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ _animationPropertyInfo.SetAutoReverseEnabled(true);
+
+ _animationPropertyInfo.ApplyGlobalSettings(animLeftTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animRightTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animLeftBottom);
+ _animationPropertyInfo.ApplyGlobalSettings(animRightBottom);
+
+ (__pLeftTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animLeftTop);
+ (__pRightTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animRightTop);
+ (__pLeftBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animLeftBottom);
+ (__pRightBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animRightBottom);;
+
+ return r;
+}
+
+result
+OutOfBoundsCheckForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ (__pLeftTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pRightTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pLeftBottom->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pRightBottom->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+
+ return r;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "PanelTransitionForm.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+PanelTransitionForm::PanelTransitionForm(void)
+ : __position(POS_CENTER)
+ , __pContainerPanel(null)
+ , __pCurrentPanel(null)
+{
+}
+
+PanelTransitionForm::~PanelTransitionForm(void)
+{
+}
+
+result
+PanelTransitionForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = Form::GetHeader();
+ pHeader->SetTitleText(L"PANEL TRANSITION");
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pContainerPanel = new (std::nothrow) Panel();
+ __pContainerPanel->Construct(Rectangle(-parentBounds.width, 0, parentBounds.width * 3, parentBounds.height));
+ AddControl(*__pContainerPanel);
+
+ Panel* pLeftPanel = new (std::nothrow) Panel();
+ pLeftPanel->Construct(Rectangle(0, 0, parentBounds.width, parentBounds.height));
+ pLeftPanel->SetBackgroundColor(Color::GetColor(COLOR_ID_RED));
+ __pContainerPanel->AddControl(*pLeftPanel);
+
+ Panel* pCenterPanel = new (std::nothrow) Panel();
+ pCenterPanel->Construct(Rectangle(parentBounds.width, 0, parentBounds.width, parentBounds.height));
+ pCenterPanel->SetBackgroundColor(Color::GetColor(COLOR_ID_GREEN));
+ __pContainerPanel->AddControl(*pCenterPanel);
+
+ Panel* pRightPanel = new (std::nothrow) Panel();
+ pRightPanel->Construct(Rectangle(parentBounds.width * 2, 0, parentBounds.width, parentBounds.height));
+ pRightPanel->SetBackgroundColor(Color::GetColor(COLOR_ID_BLUE));
+ __pContainerPanel->AddControl(*pRightPanel);
+
+ Button* pLeftButton = new (std::nothrow) Button();
+ pLeftButton->Construct(Rectangle(parentBounds.width / 4, parentBounds.height / 4, BUTTON_WIDTH, BUTTON_HEIGHT), L"Left Panel");
+ pLeftPanel->AddControl(*pLeftButton);
+
+ Button* pCenterButton = new (std::nothrow) Button();
+ pCenterButton->Construct(Rectangle(parentBounds.width / 4, parentBounds.height / 4, BUTTON_WIDTH, BUTTON_HEIGHT), L"Center Panel");
+ pCenterPanel->AddControl(*pCenterButton);
+
+ Button* pRightButton = new (std::nothrow) Button();
+ pRightButton->Construct(Rectangle(parentBounds.width / 4, parentBounds.height / 4, BUTTON_WIDTH, BUTTON_HEIGHT ), L"Right Panel");
+ pRightPanel->AddControl(*pRightButton);
+
+ __position = POS_CENTER;
+
+ return r;
+}
+
+void
+PanelTransitionForm::OnActionPerformed(const Control& source, int actionId)
+{
+ switch (actionId)
+ {
+ case ID_FOOTER_BUTTON_LEFT:
+ TranslateToLeft();
+ break;
+
+ case ID_FOOTER_BUTTON_RIGHT:
+ TranslateToRight();
+ break;
+
+ default:
+ break;
+ }
+}
+
+void
+PanelTransitionForm::InitializeFooter(void)
+{
+ FooterItem playItem;
+ playItem.Construct(ID_FOOTER_BUTTON_LEFT);
+ playItem.SetText(L"Left");
+
+ FooterItem stopItem;
+ stopItem.Construct(ID_FOOTER_BUTTON_RIGHT);
+ stopItem.SetText(L"Right");
+
+ Footer* pFooter = GetFooter();
+ pFooter->AddItem(playItem);
+ pFooter->AddItem(stopItem);
+ pFooter->AddActionEventListener(*this);
+}
+
+void
+PanelTransitionForm::TranslateToLeft(void)
+{
+ if (IsAnimating() == true)
+ {
+ return;
+ }
+
+ Rectangle bounds = __pContainerPanel->GetBounds();
+
+ Point start, end;
+ PointAnimation pointAnimation(Point(0, 0), Point(0, 0), 0, ANIMATION_INTERPOLATOR_LINEAR);
+
+ if (__position == POS_LEFT)
+ {
+ start = __pContainerPanel->GetBounds().GetTopLeft();
+ end = start + Point(ANIMATED_PANEL_BOUNCE_BACK_WIDTH, 0);
+
+ pointAnimation.SetStartValue(start);
+ pointAnimation.SetEndValue(end);
+ pointAnimation.SetDuration(AnimationPropertyInfo::DEFAULT_DURATION / 4);
+ pointAnimation.SetAutoReverseEnabled(true);
+ }
+ else
+ {
+ start = __pContainerPanel->GetBounds().GetTopLeft();
+ end = start + Point(bounds.width / ANIMATED_PANEL_COUNT, 0);
+
+ pointAnimation.SetStartValue(start);
+ pointAnimation.SetEndValue(end);
+ pointAnimation.SetDuration(AnimationPropertyInfo::DEFAULT_DURATION / 2);
+
+ if (__position == POS_CENTER)
+ {
+ __position = POS_LEFT;
+ }
+ else if (__position == POS_RIGHT)
+ {
+ __position = POS_CENTER;
+ }
+ }
+
+ ControlAnimator* pControlAnimator = __pContainerPanel->GetControlAnimator();
+ pControlAnimator->StartUserAnimation(ANIMATION_TARGET_POSITION, pointAnimation);
+}
+
+void
+PanelTransitionForm::TranslateToRight(void)
+{
+ if (IsAnimating() == true)
+ {
+ return;
+ }
+
+ Rectangle bounds = __pContainerPanel->GetBounds();
+
+ Point start, end;
+ PointAnimation pointAnimation(Point(0, 0), Point(0, 0), 0, ANIMATION_INTERPOLATOR_LINEAR);
+
+ if (__position == POS_RIGHT)
+ {
+ start = bounds.GetTopLeft();
+ end = start - Point(ANIMATED_PANEL_BOUNCE_BACK_WIDTH, 0);
+
+ pointAnimation.SetStartValue(start);
+ pointAnimation.SetEndValue(end);
+ pointAnimation.SetDuration(AnimationPropertyInfo::DEFAULT_DURATION / 4);
+ pointAnimation.SetAutoReverseEnabled(true);
+ }
+ else
+ {
+ start = bounds.GetTopLeft();
+ end = start - Point(bounds.width / ANIMATED_PANEL_COUNT, 0);
+
+ pointAnimation.SetStartValue(start);
+ pointAnimation.SetEndValue(end);
+ pointAnimation.SetDuration(AnimationPropertyInfo::DEFAULT_DURATION / 2);
+
+ if (__position == POS_CENTER)
+ {
+ __position = POS_RIGHT;
+ }
+ else if (__position == POS_LEFT)
+ {
+ __position = POS_CENTER;
+ }
+ }
+
+ ControlAnimator* pControlAnimator = __pContainerPanel->GetControlAnimator();
+ pControlAnimator->StartUserAnimation(ANIMATION_TARGET_POSITION, pointAnimation);
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "PointAnimationForm.h"
+
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+PointAnimationForm::PointAnimationForm(void)
+ : __pLeftTop(null)
+ , __pRightTop(null)
+ , __pLeftBottom(null)
+ , __pRightBottom(null)
+{
+}
+
+PointAnimationForm::~PointAnimationForm(void)
+{
+}
+
+result
+PointAnimationForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = Form::GetHeader();
+ pHeader->SetTitleText(L"POINT ANIMATION");
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pLeftTop = new (std::nothrow) Button();
+ __pLeftTop->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"I");
+ AddControl(*__pLeftTop);
+
+ __pRightTop = new (std::nothrow) Button();
+ __pRightTop->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"II");
+ AddControl(*__pRightTop);
+
+ __pLeftBottom = new (std::nothrow) Button();
+ __pLeftBottom->Construct(Rectangle(BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"III");
+ AddControl(*__pLeftBottom);
+
+ __pRightBottom = new (std::nothrow) Button();
+ __pRightBottom->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"IV");
+ AddControl(*__pRightBottom);
+
+ return r;
+}
+
+result
+PointAnimationForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ Point startLeftTop = __pLeftTop->GetPosition();
+ Point startRightTop = __pRightTop->GetPosition();
+ Point startLeftBotom = __pLeftBottom->GetPosition();
+ Point startRightBottom = __pRightBottom->GetPosition();
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ Point endLeftTop, endRightTop, endLeftBotom, endRightBottom;
+ if (GetAnimationDirection() == ANIMATION_FORWARD)
+ {
+ endLeftTop = Point(BUTTON_OFFSET_X + ANIMATION_OFFSET_X, BUTTON_OFFSET_Y + ANIMATION_OFFSET_Y);
+ endRightTop = Point((parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH)) - ANIMATION_OFFSET_X, BUTTON_OFFSET_Y + ANIMATION_OFFSET_Y);
+ endLeftBotom = Point(BUTTON_OFFSET_X + ANIMATION_OFFSET_X, (parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT)) - ANIMATION_OFFSET_Y);
+ endRightBottom = Point((parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH)) - ANIMATION_OFFSET_X, (parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT)) - ANIMATION_OFFSET_Y);
+ }
+ else
+ {
+ endLeftTop = Point(BUTTON_OFFSET_X, BUTTON_OFFSET_Y);
+ endRightTop = Point(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), BUTTON_OFFSET_Y);
+ endLeftBotom = Point(BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT));
+ endRightBottom = Point(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT));
+ }
+
+ PointAnimation animLeftTop(startLeftTop, endLeftTop, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ PointAnimation animRightTop(startRightTop, endRightTop, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ PointAnimation animLeftBottom(startLeftBotom, endLeftBotom, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ PointAnimation animRightBottom(startRightBottom, endRightBottom, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ _animationPropertyInfo.ApplyGlobalSettings(animLeftTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animRightTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animLeftBottom);
+ _animationPropertyInfo.ApplyGlobalSettings(animRightBottom);
+
+ (__pLeftTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animLeftTop);
+ (__pRightTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animRightTop);
+ (__pLeftBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animLeftBottom);
+ (__pRightBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animRightBottom);
+
+ return r;
+}
+
+result
+PointAnimationForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ (__pLeftTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pRightTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pLeftBottom->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pRightBottom->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+
+ return r;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "RectangleAnimationForm.h"
+
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+RectangleAnimationForm::RectangleAnimationForm(void)
+ : __pButton1(null)
+ , __pButton2(null)
+ , __pButton3(null)
+ , __pButton4(null)
+ , __pButton5(null)
+{
+}
+
+RectangleAnimationForm::~RectangleAnimationForm(void)
+{
+}
+
+result
+RectangleAnimationForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = GetHeader();
+ pHeader->SetTitleText(L"RECTANGLE ANIMATION");
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pButton1 = new (std::nothrow) Button();
+ __pButton1->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"I");
+ AddControl(*__pButton1);
+
+ __pButton2 = new (std::nothrow) Button();
+ __pButton2->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), 3 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"II");
+ AddControl(*__pButton2);
+
+ __pButton3 = new (std::nothrow) Button();
+ __pButton3->Construct(Rectangle(BUTTON_OFFSET_X, 5 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"III");
+ AddControl(*__pButton3);
+
+ __pButton4 = new (std::nothrow) Button();
+ __pButton4->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), 7 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"IV");
+ AddControl(*__pButton4);
+
+ __pButton5 = new (std::nothrow) Button();
+ __pButton5->Construct(Rectangle(BUTTON_OFFSET_X, 9 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"V");
+ AddControl(*__pButton5);
+
+ return r;
+}
+
+result
+RectangleAnimationForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ Rectangle startButton1 = __pButton1->GetBounds();
+ Rectangle startButton2 = __pButton2->GetBounds();
+ Rectangle startButton3 = __pButton3->GetBounds();
+ Rectangle startButton4 = __pButton4->GetBounds();
+ Rectangle startButton5 = __pButton5->GetBounds();
+
+ Rectangle parentBounds = GetClientAreaBounds();
+ Rectangle endButton1, endButton2, endButton3, endButton4, endButton5;
+ if (GetAnimationDirection() == ANIMATION_FORWARD)
+ {
+ endButton1 = Rectangle(parentBounds.width / 2 - BUTTON_WIDTH / 2, BUTTON_OFFSET_Y, BUTTON_WIDTH + ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT + ANIMATION_OFFSET_HEIGHT);
+ endButton2 = Rectangle(parentBounds.width / 2 - BUTTON_WIDTH / 2, 3 * BUTTON_OFFSET_Y, BUTTON_WIDTH + ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT + ANIMATION_OFFSET_HEIGHT);
+ endButton3 = Rectangle(parentBounds.width / 2 - BUTTON_WIDTH / 2, 5 * BUTTON_OFFSET_Y, BUTTON_WIDTH + ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT + ANIMATION_OFFSET_HEIGHT);
+ endButton4 = Rectangle(parentBounds.width / 2 - BUTTON_WIDTH / 2, 7 * BUTTON_OFFSET_Y, BUTTON_WIDTH + ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT + ANIMATION_OFFSET_HEIGHT);
+ endButton5 = Rectangle(parentBounds.width / 2 - BUTTON_WIDTH / 2, 9 * BUTTON_OFFSET_Y, BUTTON_WIDTH + ANIMATION_OFFSET_WIDTH, BUTTON_HEIGHT + ANIMATION_OFFSET_HEIGHT);
+ }
+ else
+ {
+ endButton1 = Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT);
+ endButton2 = Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), 3 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT);
+ endButton3 = Rectangle(BUTTON_OFFSET_X, 5 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT);
+ endButton4 = Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), 7 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT);
+ endButton5 = Rectangle(BUTTON_OFFSET_X, 9 * BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT);
+ }
+
+ RectangleAnimation animButton1(startButton1, endButton1, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ RectangleAnimation animButton2(startButton2, endButton2, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ RectangleAnimation animButton3(startButton3, endButton3, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ RectangleAnimation animButton4(startButton4, endButton4, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ RectangleAnimation animButton5(startButton5, endButton5, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ _animationPropertyInfo.ApplyGlobalSettings(animButton1);
+ _animationPropertyInfo.ApplyGlobalSettings(animButton2);
+ _animationPropertyInfo.ApplyGlobalSettings(animButton3);
+ _animationPropertyInfo.ApplyGlobalSettings(animButton4);
+ _animationPropertyInfo.ApplyGlobalSettings(animButton5);
+
+ (__pButton1->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_SIZE, animButton1);
+ (__pButton1->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animButton1);
+
+ (__pButton2->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_SIZE, animButton2);
+ (__pButton2->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animButton2);
+
+ (__pButton3->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_SIZE, animButton3);
+ (__pButton3->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animButton3);
+
+ (__pButton4->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_SIZE, animButton4);
+ (__pButton4->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animButton4);
+
+ (__pButton5->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_SIZE, animButton5);
+ (__pButton5->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animButton5);
+
+ return r;
+}
+
+result
+RectangleAnimationForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ (__pButton1->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton2->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton3->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton4->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pButton5->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ return r;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "RotateAnimationForm.h"
+
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+RotateAnimationForm::RotateAnimationForm(void)
+ : __pLeftTop(null)
+ , __pRightTop(null)
+ , __pLeftBottom(null)
+ , __pRightBottom(null)
+{
+}
+
+RotateAnimationForm::~RotateAnimationForm(void)
+{
+}
+
+result
+RotateAnimationForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = Form::GetHeader();
+ pHeader->SetTitleText(L"ROTATE ANIMATION");
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pLeftTop = new (std::nothrow) Button();
+ __pLeftTop->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"I");
+ AddControl(*__pLeftTop);
+
+ __pRightTop = new (std::nothrow) Button();
+ __pRightTop->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"II");
+ AddControl(*__pRightTop);
+
+ __pLeftBottom = new (std::nothrow) Button();
+ __pLeftBottom->Construct(Rectangle(BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"III");
+ AddControl(*__pLeftBottom);
+
+ __pRightBottom = new (std::nothrow) Button();
+ __pRightBottom->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"IV");
+ AddControl(*__pRightBottom);
+
+ return r;
+}
+
+result
+RotateAnimationForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ RotateAnimation animClkWise(0, 360, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ RotateAnimation animCounterClkWise(360, 0, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ _animationPropertyInfo.ApplyGlobalSettings(animClkWise);
+ _animationPropertyInfo.ApplyGlobalSettings(animCounterClkWise);
+
+ if (GetAnimationDirection() == ANIMATION_FORWARD)
+ {
+ (__pLeftTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ROTATION, animCounterClkWise);
+ (__pRightTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ROTATION, animClkWise);
+ (__pLeftBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ROTATION, animClkWise);
+ (__pRightBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ROTATION, animCounterClkWise);
+ }
+ else
+ {
+ (__pLeftTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ROTATION, animClkWise);
+ (__pRightTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ROTATION, animCounterClkWise);
+ (__pLeftBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ROTATION, animCounterClkWise);
+ (__pRightBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ROTATION, animClkWise);
+ }
+
+ return r;
+}
+
+result
+RotateAnimationForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ (__pLeftTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pRightTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pLeftBottom->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+ (__pRightBottom->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+
+ return r;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "SceneRegister.h"
+#include "FormFactory.h"
+
+#include <FUi.h>
+
+using namespace Tizen::Ui::Scenes;
+
+const wchar_t* SCENE_MAIN_MENU = L"SceneMainMenu";
+
+const wchar_t* SCENE_INTEGER_ANIMATION = L"SceneIntergetAnimation";
+const wchar_t* SCENE_FLOAT_ANIMATION = L"SceneFloatAnimation";
+const wchar_t* SCENE_POINT_ANIMATION = L"ScenePointAnimation";
+const wchar_t* SCENE_DIMENSION_ANIMATION = L"SceneDimension";
+const wchar_t* SCENE_RECTANGLE_ANIMATION = L"SceneRectangleAnimation";
+const wchar_t* SCENE_ROTATE_ANIMATION = L"SceneRotateAnimation";
+
+const wchar_t* SCENE_KEY_FRAME_ANIMATION = L"SceneKeyFrameAnimation";
+const wchar_t* SCENE_OUT_OF_BOUNDS_CHECK = L"SceneOutOfBoundsCheck";
+const wchar_t* SCENE_CONTROL_EVENT_LISTENER = L"SceneControlEventListener";
+const wchar_t* SCENE_SET_HOLD_TEST = L"SceneSetHoldTest";
+
+const wchar_t* SCENE_ANIMATION_GROUP_PARALLEL = L"SceneAnimationGroupParallel";
+const wchar_t* SCENE_ANIMATION_GROUP_SEQUENTIAL = L"SceneAnimationGroupSequential";
+
+const wchar_t* SCENE_TRANSACTION_SET = L"SceneTransactionSet";
+const wchar_t* SCENE_TRANSACTION_EVENT_LISTENER = L"SceneTransactionEventListener";
+
+const wchar_t* SCENE_FORM_TRANSITION = L"SceneFormTransition";
+const wchar_t* SCENE_PANEL_TRANSITION = L"ScenePanelTransition";
+
+const wchar_t* SCENE_IMPLICIT_ANIMATION = L"SceneImplicitAnimation";
+const wchar_t* SCENE_CUSTOM_IMPLICIT_ANIMATION = L"SceneCustomImplicitAnimation";
+
+SceneRegister::SceneRegister(void)
+{
+}
+
+SceneRegister::~SceneRegister(void)
+{
+}
+
+void
+SceneRegister::RegisterAllScenes(void)
+{
+ static const wchar_t* PANEL_BLANK = L"";
+ static FormFactory formFactory;
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ AppAssert(pSceneManager);
+
+ pSceneManager->RegisterFormFactory(formFactory);
+
+ pSceneManager->RegisterScene(SCENE_MAIN_MENU, FORM_MAIN_MENU, PANEL_BLANK);
+
+ pSceneManager->RegisterScene(SCENE_INTEGER_ANIMATION, FORM_INTEGER_ANIMATION, PANEL_BLANK);
+ pSceneManager->RegisterScene(SCENE_FLOAT_ANIMATION, FORM_FLOAT_ANIMATION, PANEL_BLANK);
+ pSceneManager->RegisterScene(SCENE_POINT_ANIMATION, FORM_POINT_ANIMATION, PANEL_BLANK);
+ pSceneManager->RegisterScene(SCENE_DIMENSION_ANIMATION, FORM_DIMENSION_ANIMATION, PANEL_BLANK);
+ pSceneManager->RegisterScene(SCENE_RECTANGLE_ANIMATION, FORM_RECTANGLE_ANIMATION, PANEL_BLANK);
+ pSceneManager->RegisterScene(SCENE_ROTATE_ANIMATION, FORM_ROTATE_ANIMATION, PANEL_BLANK);
+
+ pSceneManager->RegisterScene(SCENE_KEY_FRAME_ANIMATION, FORM_KEY_FRAME_ANIMATION, PANEL_BLANK);
+ pSceneManager->RegisterScene(SCENE_OUT_OF_BOUNDS_CHECK, FORM_OUT_OF_BOUNDS_CHECK, PANEL_BLANK);
+ pSceneManager->RegisterScene(SCENE_CONTROL_EVENT_LISTENER, FORM_CONTROL_EVENT_LISTENER, PANEL_BLANK);
+ pSceneManager->RegisterScene(SCENE_SET_HOLD_TEST, FORM_SET_HOLD_TEST, PANEL_BLANK);
+
+ pSceneManager->RegisterScene(SCENE_ANIMATION_GROUP_PARALLEL, FORM_ANIMATION_GROUP_PARALLEL, PANEL_BLANK);
+ pSceneManager->RegisterScene(SCENE_ANIMATION_GROUP_SEQUENTIAL, FORM_ANIMATION_GROUP_SEQUENTIAL, PANEL_BLANK);
+
+ pSceneManager->RegisterScene(SCENE_TRANSACTION_SET, FORM_TRANSACTION_SET, PANEL_BLANK);
+ pSceneManager->RegisterScene(SCENE_TRANSACTION_EVENT_LISTENER, FORM_TRANSACTION_EVENT_LISTENER, PANEL_BLANK);
+
+ pSceneManager->RegisterScene(SCENE_FORM_TRANSITION, FORM_FORM_TRANSITION, PANEL_BLANK);
+ pSceneManager->RegisterScene(SCENE_PANEL_TRANSITION, FORM_PANEL_TRANSITION, PANEL_BLANK);
+
+ pSceneManager->RegisterScene(SCENE_IMPLICIT_ANIMATION, FORM_IMPLICIT_ANIMATION, PANEL_BLANK);
+ pSceneManager->RegisterScene(SCENE_CUSTOM_IMPLICIT_ANIMATION, FORM_CUSTOM_IMPLICIT_ANIMATION, PANEL_BLANK);
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "SetHoldTestForm.h"
+
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+SetHoldTestForm::SetHoldTestForm(void)
+ : __setHoldEnd(true)
+ , __pLeftTop(null)
+ , __pCheckButton(null)
+{
+}
+
+SetHoldTestForm::~SetHoldTestForm(void)
+{
+}
+
+result
+SetHoldTestForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = Form::GetHeader();
+ pHeader->SetTitleText(L"SETHOLD TEST");
+
+ Footer* pFooter = Form::GetFooter();
+ pFooter->SetItemEnabled(FOOTER_ITEM_INDEX_SETTINGS, false);
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pLeftTop = new (std::nothrow) Button();
+ __pLeftTop->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"I");
+ AddControl(*__pLeftTop);
+
+ __pCheckButton = new (std::nothrow) CheckButton();
+ __pCheckButton->Construct(Rectangle(CHECKBUTTON_OFFSET_X, parentBounds.height - CHECKBUTTON_HEIGHT, CHECKBUTTON_WIDTH, CHECKBUTTON_HEIGHT), CHECK_BUTTON_STYLE_ONOFF_SLIDING,BACKGROUND_STYLE_NONE, false, L"SetHold");
+ __pCheckButton->SetActionId(ID_CHECK_BUTTON_SET_HOLD_CHECKED, ID_CHECK_BUTTON_SET_HOLD_UNCHECKED);
+ __pCheckButton->AddActionEventListener(*this);
+ __pCheckButton->SetSelected(true);
+ AddControl(*__pCheckButton);
+
+ return r;
+}
+
+result
+SetHoldTestForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ Point startLeftTop = __pLeftTop->GetPosition();
+ Point endLeftTop;
+
+ if (__pLeftTop->GetBounds().x == BUTTON_OFFSET_X)
+ {
+ endLeftTop = Point(BUTTON_OFFSET_X + ANIMATION_OFFSET_X, BUTTON_OFFSET_Y + ANIMATION_OFFSET_Y);
+ }
+ else
+ {
+ endLeftTop = Point(BUTTON_OFFSET_X, BUTTON_OFFSET_Y);
+ }
+
+ PointAnimation animLeftTop(startLeftTop, endLeftTop, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ animLeftTop.SetHoldEndEnabled(__setHoldEnd);
+
+ (__pLeftTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animLeftTop);
+
+ return r;
+}
+
+result
+SetHoldTestForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ (__pLeftTop->GetControlAnimator())->StopAnimation(ANIMATION_TRIGGER_USER);
+
+ return r;
+}
+
+void
+SetHoldTestForm::OnActionPerformed(const Control& source, int actionId)
+{
+ AnimationBaseForm::OnActionPerformed(source, actionId);
+
+ switch (actionId)
+ {
+ case ID_CHECK_BUTTON_SET_HOLD_CHECKED:
+ __setHoldEnd = true;
+ break;
+
+ case ID_CHECK_BUTTON_SET_HOLD_UNCHECKED:
+ __setHoldEnd = false;
+ break;
+
+ default:
+ break;
+ }
+}
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "SettingPopup.h"
+#include "AnimationPropertyInfo.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+const String SettingPopup::__imageFiles[SettingPopup::ICON_LIST_VIEW_ITEM_COUNT] = {
+ L"linear.png",
+ L"discrete.png",
+ L"easein.png",
+ L"easeout.png",
+ L"easeinout.png",
+ L"bezier.png"
+};
+
+SettingPopup::SettingPopup(void)
+ : __pAnimationPropertyInfo(null)
+ , __pIconListView(null)
+ , __pButtonAutoReverse(null)
+ , __pButtonHoldEnd(null)
+ , __pLabelDelay(null)
+ , __pLabelDuration(null)
+ , __pLabelOffset(null)
+ , __pLabelScaleRatio(null)
+ , __pLabelRepeat(null)
+ , __pSliderDelay(null)
+ , __pSliderDuration(null)
+ , __pSliderOffset(null)
+ , __pSliderScaleRatio(null)
+ , __pSliderRepeat(null)
+ , __isButtonAutoReverseEnabled(false)
+ , __isButtonHoldEndEnabled(false)
+ , __isSliderDelayEnabled(false)
+ , __isSliderDurationEnabled(false)
+ , __isSliderOffsetEnabled(false)
+ , __isSliderScaleRatioEnabled(false)
+ , __isSliderRepeatEnabled(false)
+{
+}
+
+SettingPopup::~SettingPopup(void)
+{
+}
+
+result
+SettingPopup::Construct(AnimationPropertyInfo& animationPropertyInfo)
+{
+ result r = E_SUCCESS;
+
+ Popup::Construct(L"IDC_POPUP_SETTING");
+ __pAnimationPropertyInfo = &animationPropertyInfo;
+
+ __pIconListView = static_cast< IconListView* >(GetControl(L"IDC_ICONLISTVIEW", true));
+ __pIconListView->SetItemProvider(*this);
+ __pIconListView->AddIconListViewItemEventListener(*this);
+ __pIconListView->SetMargin(MARGIN_TYPE_LEFT, 0);
+ __pIconListView->SetMargin(MARGIN_TYPE_RIGHT, 0);
+ __pIconListView->SetItemChecked(0, true);
+
+ Button* pButtonOk = static_cast< Button* >(GetControl(L"IDC_BUTTON_OK"));
+ pButtonOk->SetActionId(ID_BUTTON_OK);
+ pButtonOk->AddActionEventListener(*this);
+
+ Button* pButtonDeault = static_cast< Button* >(GetControl(L"IDC_BUTTON_DEFAULT"));
+ pButtonDeault->SetActionId(ID_BUTTON_DEFAULT);
+ pButtonDeault->AddActionEventListener(*this);
+
+ __pButtonAutoReverse = static_cast< CheckButton* >(GetControl(L"IDC_CHECK_BUTTON_AUTO_REVERSE", true));
+ __pButtonAutoReverse->SetActionId(ID_CHECK_BUTTON_AUTO_REVERSE_CHECKED, ID_CHECK_BUTTON_AUTO_REVERSE_UNCHECKED);
+ __pButtonAutoReverse->AddActionEventListener(*this);
+
+ __pButtonHoldEnd = static_cast< CheckButton* >(GetControl(L"IDC_CHECK_BUTTON_SET_HOLD_END", true));
+ __pButtonHoldEnd->SetActionId(ID_CHECK_BUTTON_SET_HOLD_END_CHECKED, ID_CHECK_BUTTON_SET_HOLD_END_UNCHECKED);
+ __pButtonHoldEnd->AddActionEventListener(*this);
+ __pButtonHoldEnd->SetSelected(true);
+
+ __pLabelDelay = static_cast<Label*>(GetControl(L"IDC_LABEL_DELAY", true));
+ __pLabelDuration = static_cast<Label*>(GetControl(L"IDC_LABEL_DURATION", true));
+ __pLabelOffset = static_cast<Label*>(GetControl(L"IDC_LABEL_OFFSET", true));
+ __pLabelScaleRatio = static_cast<Label*>(GetControl(L"IDC_LABEL_SCALE_RATIO", true));
+ __pLabelRepeat = static_cast<Label*>(GetControl(L"IDC_LABEL_REPEAT", true));
+
+ __pSliderDelay = static_cast<Slider*>(GetControl(L"IDC_SLIDER_DELAY", true));
+ __pSliderDuration = static_cast<Slider*>(GetControl(L"IDC_SLIDER_DURATION", true));
+ __pSliderOffset = static_cast<Slider*>(GetControl(L"IDC_SLIDER_OFFSET", true));
+ __pSliderScaleRatio = static_cast<Slider*>(GetControl(L"IDC_SLIDER_SCALE_RATIO", true));
+ __pSliderRepeat = static_cast<Slider*>(GetControl(L"IDC_SLIDER_REPEAT", true));
+
+ __pSliderDelay->AddAdjustmentEventListener(*this);
+ __pSliderDuration->AddAdjustmentEventListener(*this);
+ __pSliderOffset->AddAdjustmentEventListener(*this);
+ __pSliderScaleRatio->AddAdjustmentEventListener(*this);
+ __pSliderRepeat->AddAdjustmentEventListener(*this);
+
+ UpdatePropertyValue();
+
+ return r;
+}
+
+void
+SettingPopup::SetAutoReverseButtonEnabled(bool enable)
+{
+ __isButtonAutoReverseEnabled = enable;
+ __pButtonAutoReverse->SetEnabled(enable);
+}
+
+bool
+SettingPopup::IsAutoReverseButtonEnabled(void) const
+{
+ return __isButtonAutoReverseEnabled;
+}
+
+void
+SettingPopup::SetHoldEndButtonEnabled(bool enable)
+{
+ __isButtonHoldEndEnabled = enable;
+ __pButtonHoldEnd->SetEnabled(enable);
+}
+
+bool
+SettingPopup::IsSetHoldEndButtonEnabled(void) const
+{
+ return __isButtonHoldEndEnabled;
+}
+
+void
+SettingPopup::SetDelaySliderEnabled(bool enable)
+{
+ __isSliderDelayEnabled = enable;
+ __pSliderDelay->SetEnabled(enable);
+}
+
+bool
+SettingPopup::IsDelaySliderEnabled(void) const
+{
+ return __isSliderDelayEnabled;
+}
+
+void
+SettingPopup::SetDurationSliderEnabled(bool enable)
+{
+ __isSliderDurationEnabled = enable;
+ __pSliderDuration->SetEnabled(enable);
+}
+
+bool
+SettingPopup::IsDurationSliderEnabled(void) const
+{
+ return __isSliderDurationEnabled;
+}
+
+void
+SettingPopup::SetOffsetSliderEnabled(bool enable)
+{
+ __isSliderOffsetEnabled = enable;
+ __pSliderOffset->SetEnabled(enable);
+}
+
+bool
+SettingPopup::IsOffsetSliderEnabled(void) const
+{
+ return __isSliderOffsetEnabled;
+}
+
+void
+SettingPopup::SetScaleRatioSliderEnabled(bool enable)
+{
+ __isSliderScaleRatioEnabled = enable;
+ __pSliderScaleRatio->SetEnabled(enable);
+}
+
+bool
+SettingPopup::IsScaleRatioSliderEnabled(void) const
+{
+ return __isSliderScaleRatioEnabled;
+}
+
+void
+SettingPopup::SetRepeatSliderEnabled(bool enable)
+{
+ __isSliderRepeatEnabled = enable;
+ __pSliderRepeat->SetEnabled(enable);
+}
+
+bool
+SettingPopup::IsRepeatSliderEnabled(void) const
+{
+ return __isSliderRepeatEnabled;
+}
+
+void
+SettingPopup::UpdatePropertyValue(void)
+{
+ String delay = L"";
+ String duration = L"";
+ String offset = L"";
+ String scaleRatio = L"";
+ String repeatCount = L"";
+
+ delay.Append(__pAnimationPropertyInfo->GetDelay() / MILLISECOND);
+ duration.Append(__pAnimationPropertyInfo->GetDuration() / MILLISECOND);
+ offset.Append(__pAnimationPropertyInfo->GetOffset() / MILLISECOND);
+ scaleRatio.Append(__pAnimationPropertyInfo->GetScaleRatio());
+ repeatCount.Append(__pAnimationPropertyInfo->GetRepeatCount());
+
+ __pLabelDelay->SetText(delay);
+ __pLabelDuration->SetText(duration);
+ __pLabelOffset->SetText(offset);
+ __pLabelScaleRatio->SetText(scaleRatio);
+ __pLabelRepeat->SetText(repeatCount);
+
+ __pSliderDelay->SetValue(__pAnimationPropertyInfo->GetDelay());
+ __pSliderOffset->SetValue(__pAnimationPropertyInfo->GetOffset());
+ __pSliderScaleRatio->SetValue(__pAnimationPropertyInfo->GetScaleRatio());
+ __pSliderRepeat->SetValue(__pAnimationPropertyInfo->GetRepeatCount());
+
+ if (GetName() == L"FormTransitionForm")
+ {
+ __pSliderDuration->SetValue(__pAnimationPropertyInfo->GetDuration() / 100.0f);
+ }
+ else
+ {
+ __pSliderDuration->SetValue(__pAnimationPropertyInfo->GetDuration() / MILLISECOND);
+ }
+
+ Draw();
+}
+
+void
+SettingPopup::OnActionPerformed(const Control& source, int actionId)
+{
+ switch (actionId)
+ {
+ case ID_BUTTON_OK:
+ SetShowState(false);
+ break;
+
+ case ID_BUTTON_DEFAULT:
+ __pAnimationPropertyInfo->SetDefaultValue();
+
+ __pIconListView->SetItemChecked(0, true);
+ __pButtonAutoReverse->SetSelected(false);
+ __pButtonHoldEnd->SetSelected(true);
+
+ UpdatePropertyValue();
+ break;
+
+ case ID_CHECK_BUTTON_AUTO_REVERSE_CHECKED:
+ __pAnimationPropertyInfo->SetAutoReverseEnabled(true);
+ break;
+
+ case ID_CHECK_BUTTON_AUTO_REVERSE_UNCHECKED:
+ __pAnimationPropertyInfo->SetAutoReverseEnabled(false);
+ break;
+
+ case ID_CHECK_BUTTON_SET_HOLD_END_CHECKED:
+ __pAnimationPropertyInfo->SetHoldEndEnabled(true);
+ break;
+
+ case ID_CHECK_BUTTON_SET_HOLD_END_UNCHECKED:
+ __pAnimationPropertyInfo->SetHoldEndEnabled(false);
+ break;
+
+ default:
+ break;
+ }
+}
+
+void
+SettingPopup::OnAdjustmentValueChanged(const Control& source, int adjustment)
+{
+ String name = source.GetName();
+
+ String value;
+ value.Append(adjustment);
+
+ if (name == L"IDC_SLIDER_DELAY")
+ {
+ __pLabelDelay->SetText(value);
+ __pAnimationPropertyInfo->SetDelay(adjustment * MILLISECOND);
+ }
+ else if (name == L"IDC_SLIDER_DURATION")
+ {
+ if (GetName() == L"FormTransitionForm")
+ {
+ String transitionDuration;
+ transitionDuration.Append(adjustment / 10.0f);
+
+ __pLabelDuration->SetText(transitionDuration);
+ __pAnimationPropertyInfo->SetDuration(adjustment * 100.0f);
+ }
+ else
+ {
+ __pLabelDuration->SetText(value);
+ __pAnimationPropertyInfo->SetDuration(adjustment * MILLISECOND);
+ }
+ }
+ if (name == L"IDC_SLIDER_OFFSET")
+ {
+ __pLabelOffset->SetText(value);
+ __pAnimationPropertyInfo->SetOffset(adjustment * MILLISECOND);
+ }
+ if (name == L"IDC_SLIDER_SCALE_RATIO")
+ {
+ __pLabelScaleRatio->SetText(value);
+ __pAnimationPropertyInfo->SetScaleRatio(adjustment);
+ }
+ if (name == L"IDC_SLIDER_REPEAT")
+ {
+ __pLabelRepeat->SetText(value);
+ __pAnimationPropertyInfo->SetRepeatCount(adjustment);
+ }
+
+ Draw();
+}
+
+int
+SettingPopup::GetItemCount(void)
+{
+ return ICON_LIST_VIEW_ITEM_COUNT;
+}
+
+IconListViewItem*
+SettingPopup::CreateItem(int index)
+{
+ String str = L"";
+ switch(index)
+ {
+ case 0:
+ str = L"Linear";
+ break;
+
+ case 1:
+ str = L"Discrete";
+ break;
+
+ case 2:
+ str = L"Easein";
+ break;
+
+ case 3:
+ str = L"Easeout";
+ break;
+
+ case 4:
+ str = L"Easeinout";
+ break;
+
+ case 5:
+ str = L"Bezier";
+ break;
+
+ default:
+ break;
+ }
+
+ AppResource* pAppResource = AppResource::GetInstance();
+ Bitmap* pBitmap = pAppResource->GetBitmapN(__imageFiles[index]);
+
+ IconListViewItem* pItem = new (std::nothrow) IconListViewItem();
+ pItem->Construct(*pBitmap, &str);
+
+ delete pBitmap;
+
+ return pItem;
+}
+
+bool
+SettingPopup::DeleteItem(int index, IconListViewItem* pItem)
+{
+ delete pItem;
+
+ return true;
+}
+
+void
+SettingPopup::OnIconListViewItemStateChanged(IconListView& iconListView, int index, IconListViewItemStatus status)
+{
+ __pAnimationPropertyInfo->SetInterpolatorType(static_cast< AnimationInterpolatorType >(index));
+}
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "TransactionEventListenerForm.h"
+
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+TransactionEventListenerForm::TransactionEventListenerForm(void)
+ : __isForward(true)
+ , __firstTransaction(0)
+ , __secondTransaction(0)
+ , __pButton1(null)
+ , __pButton2(null)
+ , __pButton3(null)
+ , __pButton4(null)
+{
+}
+
+TransactionEventListenerForm::~TransactionEventListenerForm(void)
+{
+ AnimationTransaction::SetTransactionEventListener(null);
+}
+
+result
+TransactionEventListenerForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = Form::GetHeader();
+ pHeader->SetTitleText(L"TRANSACTION EVENT LISTENER");
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pButton1 = new (std::nothrow) Button();
+ __pButton1->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"I");
+ AddControl(*__pButton1);
+
+ __pButton2 = new (std::nothrow) Button();
+ __pButton2->Construct(Rectangle(3 * BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"II");
+ AddControl(*__pButton2);
+
+ __pButton3 = new (std::nothrow) Button();
+ __pButton3->Construct(Rectangle(5 * BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"III");
+ AddControl(*__pButton3);
+
+ __pButton4 = new (std::nothrow) Button();
+ __pButton4->Construct(Rectangle(7 * BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"IV");
+ AddControl(*__pButton4);
+
+ AnimationTransaction::SetTransactionEventListener(this);
+
+ return r;
+}
+
+result
+TransactionEventListenerForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ PlayFirstTransaction();
+
+ return r;
+}
+
+result
+TransactionEventListenerForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ if (AnimationTransaction::GetStatus(__firstTransaction) == ANIMATION_TRANSACTION_STATUS_PLAYING)
+ {
+ AnimationTransaction::Stop(__firstTransaction);
+ }
+
+ if (AnimationTransaction::GetStatus(__secondTransaction) == ANIMATION_TRANSACTION_STATUS_PLAYING)
+ {
+ AnimationTransaction::Stop(__secondTransaction);
+ }
+
+ return r;
+}
+
+void
+TransactionEventListenerForm::OnAnimationTransactionStarted(int transactionId)
+{
+}
+
+void
+TransactionEventListenerForm::OnAnimationTransactionStopped(int transactionId)
+{
+ if (transactionId == __firstTransaction)
+ {
+ PlaySecondTransaction();
+ }
+ else if (transactionId == __secondTransaction)
+ {
+ __secondTransaction = 0;
+ }
+}
+
+void
+TransactionEventListenerForm::OnAnimationTransactionFinished(int transactionId)
+{
+ if (transactionId == __firstTransaction)
+ {
+ PlaySecondTransaction();
+ }
+ else if (transactionId == __secondTransaction)
+ {
+ __secondTransaction = 0;
+ }
+}
+
+void
+TransactionEventListenerForm::PlayFirstTransaction(void)
+{
+ Point startButton1 = __pButton1->GetPosition();
+ Point startButton3 = __pButton3->GetPosition();
+ float startRotate, endRotate;
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ Point endButton1, endButton3;
+ if (GetAnimationDirection() == ANIMATION_FORWARD)
+ {
+ endButton1 = Point(BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT));
+ endButton3 = Point(5 * BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT));
+
+ startRotate = 0;
+ endRotate = 360;
+
+ __isForward = true;
+ }
+ else
+ {
+ endButton1 = Point(BUTTON_OFFSET_X, BUTTON_OFFSET_Y);
+ endButton3 = Point(5 * BUTTON_OFFSET_X, BUTTON_OFFSET_Y);
+
+ startRotate = 360;
+ endRotate = 0;
+
+ __isForward = false;
+ }
+
+ PointAnimation animButton1(startButton1, endButton1, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ PointAnimation animButton3(startButton3, endButton3, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ RotateAnimation animRotate(startRotate, endRotate, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ _animationPropertyInfo.ApplyGlobalSettings(animButton1);
+ _animationPropertyInfo.ApplyGlobalSettings(animButton3);
+ _animationPropertyInfo.ApplyGlobalSettings(animRotate);
+
+ AnimationTransaction::Begin(__firstTransaction);
+
+ (__pButton1->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animButton1);
+ (__pButton1->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ROTATION, animRotate);
+ (__pButton3->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animButton3);
+ (__pButton3->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ROTATION, animRotate);
+
+ AnimationTransaction::Commit();
+}
+
+void
+TransactionEventListenerForm::PlaySecondTransaction(void)
+{
+ Point startButton2 = __pButton2->GetPosition();
+ Point startButton4 = __pButton4->GetPosition();
+ float startRotate, endRotate;
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ Point endButton2, endButton4;
+ if (__isForward == true)
+ {
+ endButton2 = Point(3 * BUTTON_OFFSET_X, BUTTON_OFFSET_Y);
+ endButton4 = Point(7 * BUTTON_OFFSET_X, BUTTON_OFFSET_Y);
+
+ startRotate = 0;
+ endRotate = 360;
+ }
+ else
+ {
+ endButton2 = Point(3 * BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT));
+ endButton4 = Point(7 * BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT));
+
+ startRotate = 360;
+ endRotate = 0;
+ }
+
+ PointAnimation animButton2(startButton2, endButton2, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ PointAnimation animButton4(startButton4, endButton4, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ RotateAnimation animRotate(startRotate, endRotate, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ _animationPropertyInfo.ApplyGlobalSettings(animButton2);
+ _animationPropertyInfo.ApplyGlobalSettings(animButton4);
+ _animationPropertyInfo.ApplyGlobalSettings(animRotate);
+
+ AnimationTransaction::Begin(__secondTransaction);
+
+ (__pButton2->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animButton2);
+ (__pButton2->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ROTATION, animRotate);
+ (__pButton4->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animButton4);
+ (__pButton4->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ROTATION, animRotate);
+
+ AnimationTransaction::Commit();
+}
+
+bool
+TransactionEventListenerForm::IsAnimating(void)
+{
+ if (AnimationTransaction::GetStatus(__firstTransaction) == ANIMATION_TRANSACTION_STATUS_PLAYING)
+ {
+ return true;
+ }
+
+ if (AnimationTransaction::GetStatus(__secondTransaction) == ANIMATION_TRANSACTION_STATUS_PLAYING)
+ {
+ return true;
+ }
+
+
+ return false;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "TransactionSetForm.h"
+
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+
+TransactionSetForm::TransactionSetForm(void)
+ : __transactionId(0)
+ , __pLeftTop(null)
+ , __pRightTop(null)
+ , __pLeftBottom(null)
+ , __pRightBottom(null)
+ , __pCenter(null)
+{
+}
+
+TransactionSetForm::~TransactionSetForm(void)
+{
+}
+
+result
+TransactionSetForm::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ Header* pHeader = Form::GetHeader();
+ pHeader->SetTitleText(L"TRANSACTION SET");
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ __pLeftTop = new (std::nothrow) Button();
+ __pLeftTop->Construct(Rectangle(BUTTON_OFFSET_X, BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"I");
+ __pLeftTop->SetColor(BUTTON_STATUS_NORMAL, Color::GetColor(COLOR_ID_BLUE));
+ AddControl(*__pLeftTop);
+
+ __pRightTop = new (std::nothrow) Button();
+ __pRightTop->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), BUTTON_OFFSET_Y, BUTTON_WIDTH, BUTTON_HEIGHT), L"II");
+ __pRightTop->SetColor(BUTTON_STATUS_NORMAL, Color::GetColor(COLOR_ID_RED));
+ AddControl(*__pRightTop);
+
+ __pLeftBottom = new (std::nothrow) Button();
+ __pLeftBottom->Construct(Rectangle(BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"III");
+ __pLeftBottom->SetColor(BUTTON_STATUS_NORMAL, Color::GetColor(COLOR_ID_GREEN));
+ AddControl(*__pLeftBottom);
+
+ __pRightBottom = new (std::nothrow) Button();
+ __pRightBottom->Construct(Rectangle(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT), BUTTON_WIDTH, BUTTON_HEIGHT), L"IV");
+ __pRightBottom->SetColor(BUTTON_STATUS_NORMAL, Color::GetColor(COLOR_ID_CYAN));
+ AddControl(*__pRightBottom);
+
+ __pCenter = new (std::nothrow) Button();
+ __pCenter->Construct(Rectangle(parentBounds.width / 2 - BUTTON_WIDTH / 2, parentBounds.height / 2 - BUTTON_HEIGHT / 2, BUTTON_WIDTH, BUTTON_HEIGHT), L"V");
+ __pCenter->SetColor(BUTTON_STATUS_NORMAL, Color::GetColor(COLOR_ID_YELLOW));
+ AddControl(*__pCenter);
+
+ return r;
+}
+
+result
+TransactionSetForm::Play(void)
+{
+ result r = E_SUCCESS;
+
+ Point startLeftTop = __pLeftTop->GetPosition();
+ Point startRightTop = __pRightTop->GetPosition();
+ Point startLeftBotom = __pLeftBottom->GetPosition();
+ Point startRightBottom = __pRightBottom->GetPosition();
+
+ float startRotate, endRotate;
+
+ Rectangle parentBounds = GetClientAreaBounds();
+
+ Point endLeftTop, endRightTop, endLeftBotom, endRightBottom;
+ if (GetAnimationDirection() == ANIMATION_FORWARD)
+ {
+ endLeftTop = Point(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), BUTTON_OFFSET_Y);
+ endRightTop = Point(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT));
+ endLeftBotom = Point(BUTTON_OFFSET_X, BUTTON_OFFSET_Y);
+ endRightBottom = Point(BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT));
+
+ startRotate = 0.0f;
+ endRotate = 360.0f;
+ }
+ else
+ {
+ endLeftTop = Point(BUTTON_OFFSET_X, BUTTON_OFFSET_Y);
+ endRightTop = Point(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), BUTTON_OFFSET_Y);
+ endLeftBotom = Point(BUTTON_OFFSET_X, parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT));
+ endRightBottom = Point(parentBounds.width - (BUTTON_OFFSET_X + BUTTON_WIDTH), parentBounds.height - (BUTTON_OFFSET_Y + BUTTON_HEIGHT));
+
+ startRotate = 360.0f;
+ endRotate = 0.0f;
+ }
+
+ PointAnimation animLeftTop(startLeftTop, endLeftTop, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ PointAnimation animRightTop(startRightTop, endRightTop, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ PointAnimation animLeftBottom(startLeftBotom, endLeftBotom, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ PointAnimation animRightBottom(startRightBottom, endRightBottom, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+ RotateAnimation animBtnCenter(startRotate, endRotate, AnimationPropertyInfo::DEFAULT_DURATION, ANIMATION_INTERPOLATOR_LINEAR);
+
+ _animationPropertyInfo.ApplyGlobalSettings(animLeftTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animRightTop);
+ _animationPropertyInfo.ApplyGlobalSettings(animLeftBottom);
+ _animationPropertyInfo.ApplyGlobalSettings(animRightBottom);
+ _animationPropertyInfo.ApplyGlobalSettings(animBtnCenter);
+
+ AnimationTransaction::Begin(__transactionId);
+
+ (__pLeftTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animLeftTop);
+ (__pRightTop->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animRightTop);
+ (__pLeftBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animLeftBottom);
+ (__pRightBottom->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_POSITION, animRightBottom);
+ (__pCenter->GetControlAnimator())->StartUserAnimation(ANIMATION_TARGET_ROTATION, animBtnCenter);
+
+ AnimationTransaction::Commit();
+
+ return r;
+}
+
+result
+TransactionSetForm::Stop(void)
+{
+ result r = E_SUCCESS;
+
+ AnimationTransaction::Stop(__transactionId);
+
+ return r;
+}
+
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "UiControlAnimator.h"
+#include "UiControlAnimatorFrame.h"
+#include "SceneRegister.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+UiControlAnimator::UiControlAnimator(void)
+{
+}
+
+UiControlAnimator::~UiControlAnimator(void)
+{
+}
+
+UiApp*
+UiControlAnimator::CreateInstance(void)
+{
+ return new UiControlAnimator();
+}
+
+bool
+UiControlAnimator::OnAppInitializing(AppRegistry& appRegistry)
+{
+ return true;
+}
+
+bool
+UiControlAnimator::OnAppInitialized(void)
+{
+ UiControlAnimatorFrame* pUiControlAnimatorFrame = new UiControlAnimatorFrame();
+ pUiControlAnimatorFrame->Construct();
+ pUiControlAnimatorFrame->SetName(L"UiControlAnimator");
+ AddFrame(*pUiControlAnimatorFrame);
+
+ SceneRegister::RegisterAllScenes();
+ SceneManager::GetInstance()->GoForward(ForwardSceneTransition(SCENE_MAIN_MENU));
+
+ return true;
+}
+
+bool
+UiControlAnimator::OnAppWillTerminate(void)
+{
+ return true;
+}
+
+bool
+UiControlAnimator::OnAppTerminating(AppRegistry& appRegistry, bool forcedTermination)
+{
+ return true;
+}
+
+void
+UiControlAnimator::OnForeground(void)
+{
+}
+
+void
+UiControlAnimator::OnBackground(void)
+{
+}
+
+void
+UiControlAnimator::OnLowMemory(void)
+{
+}
+
+void
+UiControlAnimator::OnBatteryLevelChanged(BatteryLevel batteryLevel)
+{
+}
+
+void
+UiControlAnimator::OnScreenOn(void)
+{
+}
+
+void
+UiControlAnimator::OnScreenOff(void)
+{
+}
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "UiControlAnimator.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif // __cplusplus
+
+_EXPORT_ int OspMain(int argc, char* pArgv[]);
+
+int
+OspMain(int argc, char* pArgv[])
+{
+ result r = E_SUCCESS;
+
+ AppLog("Application started.");
+ ArrayList* pArgs = new (std::nothrow) ArrayList();
+ pArgs->Construct();
+ for (int i = 0; i < argc; i++)
+ {
+ pArgs->Add(*(new (std::nothrow) String(pArgv[i])));
+ }
+
+ r = Tizen::App::UiApp::Execute(UiControlAnimator::CreateInstance, pArgs);
+ if (IsFailed(r))
+ {
+ AppLogException("Application execution failed-[%s].", GetErrorMessage(r));
+ r &= 0x0000FFFF;
+ }
+
+ pArgs->RemoveAll(true);
+ delete pArgs;
+ AppLog("Application finished.");
+
+ return static_cast<int>(r);
+}
+#ifdef __cplusplus
+}
+#endif // __cplusplus
--- /dev/null
+//
+// Tizen C++ SDK
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.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://floralicense.org/license/
+//
+// 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.
+//
+
+#include "UiControlAnimatorFrame.h"
+
+UiControlAnimatorFrame::UiControlAnimatorFrame(void)
+{
+}
+
+UiControlAnimatorFrame::~UiControlAnimatorFrame(void)
+{
+}
+
+result
+UiControlAnimatorFrame::OnInitializing(void)
+{
+ result r = E_SUCCESS;
+
+ return r;
+}
+
+result
+UiControlAnimatorFrame::OnTerminating(void)
+{
+ result r = E_SUCCESS;
+
+ return r;
+}
+
+
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<template>
+
+ <slp-property>
+ <property-group>
+ <sample-name>UiControlAnimator</sample-name>
+ <category>Sample</category>
+ <sdk-version>1.00</sdk-version>
+ <project-type>org.tizen.nativecpp.buildArtefactType.app</project-type>
+ <sample-description>description.xml</sample-description>
+ </property-group>
+ </slp-property>
+
+ <process type="org.tizen.nativeappcommon.TizenCopyFolder">
+ <simple name="projectName" value="$(projectName)"/>
+ <simple name="folderPath" value="project"/>
+ <complex-array name="replaceableFiles">
+ <element>
+ <simple name="sourcePath" value="manifest.xml"/>
+ <simple name="targetPath" value="manifest.xml"/>
+ <simple name="replaceable" value = "true"/>
+ </element>
+ </complex-array>
+ </process>
+ <process type="org.tizen.nativecpp.SetDefaultFrameworks">
+ <simple name="projectName" value="$(projectName)"/>
+ <complex-array name="frameworkList">
+ <element>
+ <simple name="framework" value="osp"/>
+ </element>
+ </complex-array>
+ </process>
+
+</template>