X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=base%2Fdali-toolkit%2Finternal%2Fcontrols%2Frelayout-controller-impl.h;h=8339e9905f2abeeb6a855d382426aa22aa0c282e;hp=0ffed0862917dbcc3b12004b63a64d450d0ca78e;hb=05c97b7ff1d90ab7f90cb9d6ec5f060c61b46aab;hpb=30f6ca1e541089b19f2b349a8a12d8a5bcaf2f9e diff --git a/base/dali-toolkit/internal/controls/relayout-controller-impl.h b/base/dali-toolkit/internal/controls/relayout-controller-impl.h index 0ffed08..8339e99 100644 --- a/base/dali-toolkit/internal/controls/relayout-controller-impl.h +++ b/base/dali-toolkit/internal/controls/relayout-controller-impl.h @@ -1,23 +1,30 @@ #ifndef __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_IMPL_H__ #define __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_IMPL_H__ -// -// Copyright (c) 2014 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. -// +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +// EXTERNAL INCLUDES #include +#include + +// INTERNAL INCLUDES +#include +#include #include "relayout-controller.h" namespace Dali @@ -31,6 +38,9 @@ namespace Internal class RelayoutController; +typedef std::pair< Dali::Toolkit::Control, Vector2 > ControlSizePair; +typedef std::vector< ControlSizePair > ControlStack; + /** * @copydoc Toolkit::Internal::RelayoutController */ @@ -41,8 +51,9 @@ public: /** * Constructor. * We should only create a unique instance. + * @param relayoutFlag to avoid unnecessary calls inside a single frame */ - RelayoutControllerImpl(); + RelayoutControllerImpl( bool& relayoutFlag ); /** @@ -78,7 +89,11 @@ private: private: - bool mRelayoutConnection:1; ///< Whether EventProcessingFinishedSignal signal is connected. + bool& mRelayoutFlag; ///< reference to relayout flag to avoid unnecessary calls + ControlStack mControlStack; ///< stack for relayouting + ActorSizeContainer mSizecontainer; ///< size container + bool mRelayoutConnection:1; ///< Whether EventProcessingFinishedSignal signal is connected. + }; } // namespace Internal