X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=capi%2Fdali-toolkit%2Fpublic-api%2Fcontrols%2Fcontrol.h;h=6fcc7a128668ec3b0caf885483aed5904a3ed033;hp=a8d87ea9434e97e6f5e167fe872aa692addd4be3;hb=d5e3ed5f5b1c8fdba3ae97ead8729620f54b3836;hpb=818994dc0acac601b0b27c0b715259b504ef4ceb diff --git a/capi/dali-toolkit/public-api/controls/control.h b/capi/dali-toolkit/public-api/controls/control.h index a8d87ea..6fcc7a1 100644 --- a/capi/dali-toolkit/public-api/controls/control.h +++ b/capi/dali-toolkit/public-api/controls/control.h @@ -1,21 +1,22 @@ #ifndef __DALI_TOOLKIT_CONTROL_H__ #define __DALI_TOOLKIT_CONTROL_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. + * + */ /** * @addtogroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE @@ -33,23 +34,41 @@ namespace Toolkit //Forward declarations. -class ControlImpl; +namespace Internal +{ +class Control; +} /** * @brief Control is the base class for all controls. * - * The implementation of the control must be supplied; see ControlImpl for more details. - * @see ControlImpl + * The implementation of the control must be supplied; see Internal::Control for more details. + * @see Internal::Control */ class Control : public CustomActor, public ConnectionTrackerInterface { public: - // Action Names - static const char* const ACTION_CONTROL_ACTIVATED; ///< name "control-activated" + /// @name Properties + /** @{ */ + static const Property::Index PROPERTY_BACKGROUND_COLOR; ///< name "background-color", @see SetBackgroundColor, type VECTOR4 + static const Property::Index PROPERTY_BACKGROUND; ///< name "background", @see SetBackground, type MAP + static const Property::Index PROPERTY_WIDTH_POLICY; ///< name "width-policy", @see SetSizePolicy, type STRING + static const Property::Index PROPERTY_HEIGHT_POLICY; ///< name "height-policy", @see SetSizePolicy, type STRING + static const Property::Index PROPERTY_MINIMUM_SIZE; ///< name "minimum-size", @see SetMinimumSize, type VECTOR3 + static const Property::Index PROPERTY_MAXIMUM_SIZE; ///< name "maximum-size", @see SetMaximumSize, type VECTOR3 + static const Property::Index PROPERTY_KEY_INPUT_FOCUS; ///< name "key-input-focus", @see SetKeyInputFocus, type BOOLEAN + /** @} */ - // Signal Names - static const char* const SIGNAL_KEY_EVENT; ///< name "key-event" + /// @name Signals + /** @{ */ + static const char* const SIGNAL_KEY_EVENT; ///< name "key-event" + /** @} */ + + /// @name Actions + /** @{ */ + static const char* const ACTION_CONTROL_ACTIVATED; ///< name "control-activated" + /** @} */ /** * @brief Describes how a control could be resized. @@ -150,14 +169,16 @@ public: * * @return The implementation. */ - ControlImpl& GetImplementation(); + Internal::Control& GetImplementation(); /** * @brief Retrieve the Control implementation. * * @return The implementation. */ - const ControlImpl& GetImplementation() const; + const Internal::Control& GetImplementation() const; + + // Size Negotiation /** * @brief Sets the size policies for the width and height dimensions. @@ -230,6 +251,8 @@ public: */ float GetWidthForHeight( float height ); + // Key Input + /** * @brief This sets the control to receive key events. * @@ -262,6 +285,8 @@ public: */ void ClearKeyInputFocus(); + // Gesture Detection + /** * @brief Retrieves the pinch gesture detector of the control. * @@ -294,8 +319,44 @@ public: */ LongPressGestureDetector GetLongPressGestureDetector() const; -//signals -public: + // Background + + /** + * @brief Sets the background color of the control. + * + * @param[in] color The required background color of the control + */ + void SetBackgroundColor( const Vector4& color ); + + /** + * @brief Retrieves the background color of the control. + * + * @return The background color of the control. + */ + Vector4 GetBackgroundColor() const; + + /** + * @brief Sets an image as the background of the control. + * + * The color of this image is blended with the background color @see SetBackgroundColor + * + * @param[in] image The image to set as the background. + */ + void SetBackground( Image image ); + + /** + * @brief Clears the background. + */ + void ClearBackground(); + + /** + * @brief Retrieves the actor used as the background for this control. + * + * @return The actor that used as the background for this control. + */ + Actor GetBackgroundActor() const; + + // Signals /** * @brief This signal is emitted when key event is received. @@ -336,7 +397,7 @@ public: // Not intended for application developers * @param[in] implementation The implementation for this control. * @return A handle to a newly allocated Dali resource. */ - Control(ControlImpl& implementation); + Control(Internal::Control& implementation); /** * @brief This constructor is used by CustomActor within Dali core to create additional Control handles