projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge "Enhance texteditor background drawing performance" into devel/master
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
visuals
/
gradient
/
gradient-visual.h
diff --git
a/dali-toolkit/internal/visuals/gradient/gradient-visual.h
b/dali-toolkit/internal/visuals/gradient/gradient-visual.h
index
1726c51
..
9a471d4
100644
(file)
--- a/
dali-toolkit/internal/visuals/gradient/gradient-visual.h
+++ b/
dali-toolkit/internal/visuals/gradient/gradient-visual.h
@@
-2,7
+2,7
@@
#define DALI_TOOLKIT_INTERNAL_GRADIENT_VISUAL_H
/*
#define DALI_TOOLKIT_INTERNAL_GRADIENT_VISUAL_H
/*
- * Copyright (c) 20
15
Samsung Electronics Co., Ltd.
+ * Copyright (c) 20
22
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.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@
-18,9
+18,12
@@
*
*/
*
*/
+// EXTERNAL INCLUDES
+#include <dali/public-api/common/intrusive-ptr.h>
+
// INTERNAL INCLUDES
// INTERNAL INCLUDES
-#include <dali-toolkit/internal/visuals/visual-base-impl.h>
#include <dali-toolkit/internal/visuals/gradient/gradient.h>
#include <dali-toolkit/internal/visuals/gradient/gradient.h>
+#include <dali-toolkit/internal/visuals/visual-base-impl.h>
namespace Dali
{
namespace Dali
{
@@
-28,11
+31,11
@@
class Vector2;
namespace Toolkit
{
namespace Toolkit
{
-
namespace Internal
{
namespace Internal
{
-
class Gradient;
class Gradient;
+class GradientVisual;
+typedef IntrusivePtr<GradientVisual> GradientVisualPtr;
/**
* The visual which renders smooth transition of colors to the control's quad.
/**
* The visual which renders smooth transition of colors to the control's quad.
@@
-66,10
+69,9
@@
class Gradient;
* Valid values for spreadMethod are 'pad', 'repeat' and 'reflect.'
* If not provided, 'objectBoundingBox' is used as default gradient units, and 'pad' is used as default spread method.
*/
* Valid values for spreadMethod are 'pad', 'repeat' and 'reflect.'
* If not provided, 'objectBoundingBox' is used as default gradient units, and 'pad' is used as default spread method.
*/
-class GradientVisual: public Visual::Base
+class GradientVisual
: public Visual::Base
{
public:
{
public:
-
/**
* Types of the gradient
*/
/**
* Types of the gradient
*/
@@
-80,57
+82,74
@@
public:
};
/**
};
/**
- * @brief C
onstructor
.
+ * @brief C
reate a new gradient visual
.
*
* @param[in] factoryCache A pointer pointing to the VisualFactoryCache object
*
* @param[in] factoryCache A pointer pointing to the VisualFactoryCache object
+ * @param[in] properties A Property::Map containing settings for this visual
+ * @return A smart-pointer to the newly allocated visual.
*/
*/
-
GradientVisual( VisualFactoryCache& factoryCache
);
+
static GradientVisualPtr New(VisualFactoryCache& factoryCache, const Property::Map& properties
);
+public: // from Visual
/**
/**
- * @
brief A reference counted object may only be deleted by calling Unreference().
+ * @
copydoc Visual::Base::CreatePropertyMap
*/
*/
-
~GradientVisual()
;
+
void DoCreatePropertyMap(Property::Map& map) const override
;
-public: // from Visual
+ /**
+ * @copydoc Visual::Base::CreateInstancePropertyMap
+ */
+ void DoCreateInstancePropertyMap(Property::Map& map) const override;
/**
/**
- * @copydoc Visual::Base::
SetSize
+ * @copydoc Visual::Base::
EnablePreMultipliedAlpha
*/
*/
- v
irtual void SetSize( const Vector2& size )
;
+ v
oid EnablePreMultipliedAlpha(bool preMultiplied) override
;
+protected:
/**
/**
- * @copydoc Visual::Base::CreatePropertyMap
+ * @brief Constructor.
+ *
+ * @param[in] factoryCache A pointer pointing to the VisualFactoryCache object
*/
*/
-
virtual void DoCreatePropertyMap( Property::Map& map ) const
;
+
GradientVisual(VisualFactoryCache& factoryCache)
;
/**
/**
- * @
copydoc Visual::Base::DoSetProperty
+ * @
brief A reference counted object may only be deleted by calling Unreference().
*/
*/
- virtual
void DoSetProperty( Dali::Property::Index index, const Dali::Property::Value& propertyValue
);
+ virtual
~GradientVisual(
);
/**
/**
- * @copydoc Visual::Base::
DoGetProperty
+ * @copydoc Visual::Base::
OnInitialize
*/
*/
- v
irtual Dali::Property::Value DoGetProperty( Dali::Property::Index index )
;
+ v
oid OnInitialize() override
;
-protected:
/**
/**
- * @copydoc Visual::Base::Do
Initialize
+ * @copydoc Visual::Base::Do
SetProperties
*/
*/
- v
irtual void DoInitialize( Actor& actor, const Property::Map& propertyMap )
;
+ v
oid DoSetProperties(const Property::Map& propertyMap) override
;
/**
/**
- * @copydoc Visual::Base::
DoSetOnStage
+ * @copydoc Visual::Base::
OnSetTransform
*/
*/
- v
irtual void DoSetOnStage( Actor& actor )
;
+ v
oid OnSetTransform() override
;
-private:
+ /**
+ * @copydoc Visual::Base::DoSetOnScene
+ */
+ void DoSetOnScene(Actor& actor) override;
+
+ /**
+ * @copydoc Visual::Base::UpdateShader
+ */
+ void UpdateShader() override;
/**
/**
- * @
brief Initialize the renderer with the geometry and shader from the cache, if not available, create and save to the cache for sharing.
+ * @
copydoc Visual::Base::GenerateShader
*/
*/
-
void InitializeRenderer()
;
+
Shader GenerateShader() const override
;
+private:
/**
* New a gradient object with the given property map.
*
/**
* New a gradient object with the given property map.
*
@@
-148,16
+167,16
@@
private:
static void GetStopOffsets(const Property::Value* value, Vector<float>& stopOffsets);
// Undefined
static void GetStopOffsets(const Property::Value* value, Vector<float>& stopOffsets);
// Undefined
- GradientVisual(
const GradientVisual& gradientVisual
);
+ GradientVisual(
const GradientVisual& gradientVisual
);
// Undefined
// Undefined
- GradientVisual& operator=(
const GradientVisual& gradientVisual
);
+ GradientVisual& operator=(
const GradientVisual& gradientVisual
);
private:
private:
-
- Matrix3 mGradientTransform;
+ Matrix3 mGradientTransform;
IntrusivePtr<Gradient> mGradient;
IntrusivePtr<Gradient> mGradient;
- Type mGradientType;
+ Type mGradientType;
+ bool mIsOpaque; ///< Set to false if any of the stop colors are not opaque
};
} // namespace Internal
};
} // namespace Internal