Cleaning up RendererFactory API
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / renderers / control-renderer-impl.h
index 7258e29..3880b0b 100644 (file)
@@ -45,18 +45,18 @@ namespace Internal
  *
  * The following properties are optional
  *
- * | %Property Name            | Type             |
- * |---------------------------|------------------|
- * | custom-shader             | MAP              |
+ * | %Property Name          | Type             |
+ * |-------------------------|------------------|
+ * | customShader            | MAP              |
  *
  * where custom-shader is a map with the following properties:
- * | %Property Name            | Type             |
- * |---------------------------|------------------|
- * | vertex-shader             | STRING           |
- * | fragment-shader           | STRING           |
- * | subdivide-grid-x          | INT              |
- * | subdivide-grid-y          | INT              |
- * | shader-hints              | INT              |
+ * | %Property Name          | Type             |
+ * |-------------------------|------------------|
+ * | vertexShader            | STRING           |
+ * | fragmentShader          | STRING           |
+ * | subdivideGridX          | INT              |
+ * | subdivideGridY          | INT              |
+ * | shaderHints             | INT              |
  */
 class ControlRenderer : public BaseObject
 {
@@ -132,6 +132,26 @@ public:
    */
   void CreatePropertyMap( Property::Map& map ) const;
 
+  /**
+   * @brief Set whether the Pre-multiplied Alpha Blending is required
+   *
+   * @param[in] preMultipled whether alpha is pre-multiplied.
+   */
+  void EnablePreMultipliedAlpha(  bool preMultipled );
+
+  /**
+   * @brief Query whether alpha is pre-multiplied.
+   *
+   * @return True is alpha is pre-multiplied, false otherwise.
+   */
+  bool IsPreMultipliedAlphaEnabled() const;
+
+  /**
+   * @brief Sets properties of custom shader
+   * @param[in] propertyMap Property map containing the custom shader data
+   */
+  void SetCustomShader( const Property::Map& propertyMap );
+
 protected:
 
   /**
@@ -160,7 +180,7 @@ protected:
    * @param[in] actor The Actor the renderer is applied to if, empty if the renderer has not been applied to any Actor
    * @param[in] propertyMap The properties for the requested ControlRenderer object.
    */
-  virtual void DoInitialize( Actor& actor, const Property::Map& propertyMap ) = 0;
+  virtual void DoInitialize( Actor& actor, const Property::Map& propertyMap ) {};
 
 protected: