From: Xiangyin Ma Date: Fri, 11 Sep 2015 16:57:14 +0000 (+0100) Subject: (ControlRenderer) Added copy constructor and assignment operator X-Git-Tag: dali_1.1.3~5 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=8cdad7053cde82c841ecf8befb60adf8f99a1179 (ControlRenderer) Added copy constructor and assignment operator Change-Id: I1f0a514c2adaeeb13e37500b329951d3d241d48b --- diff --git a/dali-toolkit/devel-api/controls/renderer-factory/control-renderer.cpp b/dali-toolkit/devel-api/controls/renderer-factory/control-renderer.cpp index 2c8aa07..687949c 100644 --- a/dali-toolkit/devel-api/controls/renderer-factory/control-renderer.cpp +++ b/dali-toolkit/devel-api/controls/renderer-factory/control-renderer.cpp @@ -35,6 +35,17 @@ ControlRenderer::~ControlRenderer() { } +ControlRenderer::ControlRenderer( const ControlRenderer& handle ) +: BaseHandle( handle ) +{ +} + +ControlRenderer& ControlRenderer::operator=( const ControlRenderer& handle ) +{ + BaseHandle::operator=( handle ); + return *this; +} + ControlRenderer::ControlRenderer(Internal::ControlRenderer *impl) : BaseHandle(impl) { diff --git a/dali-toolkit/devel-api/controls/renderer-factory/control-renderer.h b/dali-toolkit/devel-api/controls/renderer-factory/control-renderer.h index 57626d4..8d47e36 100644 --- a/dali-toolkit/devel-api/controls/renderer-factory/control-renderer.h +++ b/dali-toolkit/devel-api/controls/renderer-factory/control-renderer.h @@ -42,11 +42,34 @@ class DALI_IMPORT_API ControlRenderer : public BaseHandle { public: + /** + * @brief Create an empty ControlRenderer Handle + */ ControlRenderer(); - ControlRenderer(Internal::ControlRenderer *impl); + + /** + * @brief Destructor + * + * This is non-virtual since derived Handle types must not contain data or virtual methods. + */ ~ControlRenderer(); /** + * @brief This copy constructor is required for (smart) pointer semantics. + * + * @param[in] handle A reference to the copied handle. + */ + ControlRenderer( const ControlRenderer& handle ); + + /** + * @brief This assignment operator is required for (smart) pointer semantics. + * + * @param [in] handle A reference to the copied handle. + * @return A reference to this. + */ + ControlRenderer& operator=( const ControlRenderer& handle ); + + /** * Set the size of the painting area. * * @param[in] size The size of the painting area. @@ -93,6 +116,10 @@ public: */ void SetOffStage( Actor& actor ); +public: // Not intended for application developers + + explicit DALI_INTERNAL ControlRenderer(Internal::ControlRenderer *impl); + }; } // namespace Toolkit diff --git a/dali-toolkit/internal/controls/renderers/gradient/linear-gradient.h b/dali-toolkit/internal/controls/renderers/gradient/linear-gradient.h index df7fade..099e9bf 100644 --- a/dali-toolkit/internal/controls/renderers/gradient/linear-gradient.h +++ b/dali-toolkit/internal/controls/renderers/gradient/linear-gradient.h @@ -72,6 +72,14 @@ public: private: + // Undefined + LinearGradient( const LinearGradient& gradient ); + + // Undefined + LinearGradient& operator=( const LinearGradient& handle ); + +private: + Vector2 mStartPosition; Vector2 mEndPosition; }; diff --git a/dali-toolkit/internal/controls/renderers/gradient/radial-gradient.h b/dali-toolkit/internal/controls/renderers/gradient/radial-gradient.h index 3e90f5f..f2f2135 100644 --- a/dali-toolkit/internal/controls/renderers/gradient/radial-gradient.h +++ b/dali-toolkit/internal/controls/renderers/gradient/radial-gradient.h @@ -72,6 +72,14 @@ public: private: + // Undefined + RadialGradient( const RadialGradient& gradient ); + + // Undefined + RadialGradient& operator=( const RadialGradient& handle ); + +private: + Vector2 mCenter; float mRadius; }; diff --git a/dali-toolkit/internal/controls/renderers/renderer-factory-cache.h b/dali-toolkit/internal/controls/renderers/renderer-factory-cache.h index 4797c54..e6c8d88 100644 --- a/dali-toolkit/internal/controls/renderers/renderer-factory-cache.h +++ b/dali-toolkit/internal/controls/renderers/renderer-factory-cache.h @@ -109,6 +109,16 @@ protected: */ virtual ~RendererFactoryCache(); + /** + * Undefined copy constructor. + */ + RendererFactoryCache(const RendererFactoryCache&); + + /** + * Undefined assignment operator. + */ + RendererFactoryCache& operator=(const RendererFactoryCache& rhs); + private: // ToDo: test whether using the WeakHandle could improve the performance diff --git a/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h b/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h index c153c53..44af828 100644 --- a/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h +++ b/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h @@ -63,6 +63,18 @@ protected: private: + /** + * Undefined copy constructor. + */ + RendererFactory(const RendererFactory&); + + /** + * Undefined assignment operator. + */ + RendererFactory& operator=(const RendererFactory& rhs); + +private: + RendererFactoryCachePtr mFactoryCache; };