CanvasRenderer: Add Set/GetViewBox() API 08/261108/8
authorJunsuChoi <jsuya.choi@samsung.com>
Mon, 12 Jul 2021 05:37:08 +0000 (14:37 +0900)
committerJunsuChoi <jsuya.choi@samsung.com>
Mon, 26 Jul 2021 07:33:10 +0000 (16:33 +0900)
Add Set/Get API to change canvas's viewbox value.

Change-Id: Ie4411ac97e293beb8f7b59420a1a0ee3d0bc518e

dali/devel-api/adaptor-framework/canvas-renderer.cpp
dali/devel-api/adaptor-framework/canvas-renderer.h
dali/internal/canvas-renderer/common/canvas-renderer-impl.cpp
dali/internal/canvas-renderer/common/canvas-renderer-impl.h
dali/internal/canvas-renderer/generic/canvas-renderer-impl-generic.cpp
dali/internal/canvas-renderer/generic/canvas-renderer-impl-generic.h
dali/internal/canvas-renderer/tizen/canvas-renderer-impl-tizen.cpp
dali/internal/canvas-renderer/tizen/canvas-renderer-impl-tizen.h
dali/internal/canvas-renderer/ubuntu/canvas-renderer-impl-ubuntu.cpp
dali/internal/canvas-renderer/ubuntu/canvas-renderer-impl-ubuntu.h

index e0fb777..0445b6c 100644 (file)
@@ -78,4 +78,14 @@ const Vector2& CanvasRenderer::GetSize()
   return GetImplementation(*this).GetSize();
 }
 
+bool CanvasRenderer::SetViewBox(const Vector2& viewBox)
+{
+  return GetImplementation(*this).SetViewBox(viewBox);
+}
+
+const Vector2& CanvasRenderer::GetViewBox()
+{
+  return GetImplementation(*this).GetViewBox();
+}
+
 } // namespace Dali
index cae69df..2a7d61d 100644 (file)
@@ -133,6 +133,19 @@ public:
    */
   const Vector2& GetSize();
 
+  /**
+   * @brief This is the viewbox of the Canvas.
+   * @param[in] viewBox The size of viewbox.
+   * @return Returns True when it's successful. False otherwise.
+   */
+  bool SetViewBox(const Vector2& viewBox);
+
+  /**
+   * @brief This is the viewbox of the Canvas.
+   * @return Returns The size of viewbox.
+   */
+  const Vector2& GetViewBox();
+
 public: // Not intended for application developers
   /// @cond internal
   /**
index 6ebeb90..6e66191 100644 (file)
@@ -28,7 +28,6 @@ namespace Internal
 namespace Adaptor
 {
 CanvasRenderer::CanvasRenderer()
-: mSize(0, 0)
 {
 }
 
@@ -66,7 +65,17 @@ bool CanvasRenderer::SetSize(const Vector2& size)
 
 const Vector2& CanvasRenderer::GetSize()
 {
-  return mSize;
+  return Vector2::ZERO;
+}
+
+bool CanvasRenderer::SetViewBox(const Vector2& viewBox)
+{
+  return false;
+}
+
+const Vector2& CanvasRenderer::GetViewBox()
+{
+  return Vector2::ZERO;
 }
 
 } // namespace Adaptor
index 222b9a3..b2d3239 100644 (file)
@@ -83,13 +83,20 @@ public:
    */
   virtual const Vector2& GetSize();
 
+  /**
+   * @copydoc Dali::CanvasRenderer::SetViewBox()
+   */
+  virtual bool SetViewBox(const Vector2& viewBox);
+
+  /**
+   * @copydoc Dali::CanvasRenderer::GetViewBox()
+   */
+  virtual const Vector2& GetViewBox();
+
   CanvasRenderer(const CanvasRenderer&) = delete;
   CanvasRenderer& operator=(CanvasRenderer&) = delete;
   CanvasRenderer(CanvasRenderer&&)           = delete;
   CanvasRenderer& operator=(CanvasRenderer&&) = delete;
-
-private:
-  Vector2 mSize;
 };
 
 } // namespace Adaptor
index 5119b39..40f2e90 100644 (file)
@@ -48,8 +48,6 @@ CanvasRendererGeneric* CanvasRendererGeneric::New(const Vector2& viewBox)
 }
 
 CanvasRendererGeneric::CanvasRendererGeneric(const Vector2& viewBox)
-: mPixelBuffer(nullptr),
-  mSize(0, 0)
 {
 }
 
@@ -64,7 +62,7 @@ bool CanvasRendererGeneric::Commit()
 
 Devel::PixelBuffer CanvasRendererGeneric::GetPixelBuffer()
 {
-  return mPixelBuffer;
+  return Devel::PixelBuffer();
 }
 
 bool CanvasRendererGeneric::AddDrawable(Dali::CanvasRenderer::Drawable& drawable)
@@ -89,7 +87,17 @@ bool CanvasRendererGeneric::SetSize(const Vector2& size)
 
 const Vector2& CanvasRendererGeneric::GetSize()
 {
-  return mSize;
+  return Vector2::ZERO;
+}
+
+bool CanvasRendererGeneric::SetViewBox(const Vector2& viewBox)
+{
+  return false;
+}
+
+const Vector2& CanvasRendererGeneric::GetViewBox()
+{
+  return Vector2::ZERO;
 }
 
 } // namespace Adaptor
index dd290a4..3f43078 100644 (file)
@@ -81,6 +81,16 @@ public:
    */
   const Vector2& GetSize() override;
 
+  /**
+   * @copydoc Dali::CanvasRenderer::SetViewBox()
+   */
+  bool SetViewBox(const Vector2& viewBox) override;
+
+  /**
+   * @copydoc Dali::CanvasRenderer::GetViewBox()
+   */
+  const Vector2& GetViewBox() override;
+
 private:
   CanvasRendererGeneric()                             = delete;
   CanvasRendererGeneric(const CanvasRendererGeneric&) = delete;
@@ -97,10 +107,6 @@ private:
    * @brief Destructor.
    */
   virtual ~CanvasRendererGeneric() override;
-
-private:
-  Devel::PixelBuffer mPixelBuffer;
-  Vector2            mSize;
 };
 
 } // namespace Adaptor
index b38122e..2455d65 100644 (file)
@@ -57,8 +57,8 @@ CanvasRendererTizen::CanvasRendererTizen(const Vector2& viewBox)
   mTvgCanvas(nullptr),
   mTvgRoot(nullptr),
 #endif
-  mSize(0, 0),
-  mViewBox(0, 0),
+  mSize(Vector2::ZERO),
+  mViewBox(Vector2::ZERO),
   mChanged(false)
 {
   Initialize(viewBox);
@@ -288,6 +288,27 @@ const Vector2& CanvasRendererTizen::GetSize()
   return mSize;
 }
 
+bool CanvasRendererTizen::SetViewBox(const Vector2& viewBox)
+{
+  if(viewBox.width < 1.0f || viewBox.height < 1.0f)
+  {
+    return false;
+  }
+
+  if(viewBox != mViewBox)
+  {
+    mViewBox = viewBox;
+    mChanged = true;
+  }
+
+  return true;
+}
+
+const Vector2& CanvasRendererTizen::GetViewBox()
+{
+  return mViewBox;
+}
+
 void CanvasRendererTizen::MakeTargetBuffer(const Vector2& size)
 {
 #ifdef THORVG_SUPPORT
index 5d136a7..c73e9be 100644 (file)
@@ -86,6 +86,16 @@ public:
    */
   const Vector2& GetSize() override;
 
+  /**
+   * @copydoc Dali::CanvasRenderer::SetViewBox()
+   */
+  bool SetViewBox(const Vector2& viewBox) override;
+
+  /**
+   * @copydoc Dali::CanvasRenderer::GetViewBox()
+   */
+  const Vector2& GetViewBox() override;
+
 private:
   CanvasRendererTizen()                           = delete;
   CanvasRendererTizen(const CanvasRendererTizen&) = delete;
index 96babe2..d97cf98 100644 (file)
@@ -57,8 +57,8 @@ CanvasRendererUbuntu::CanvasRendererUbuntu(const Vector2& viewBox)
   mTvgCanvas(nullptr),
   mTvgRoot(nullptr),
 #endif
-  mSize(0, 0),
-  mViewBox(0, 0),
+  mSize(Vector2::ZERO),
+  mViewBox(Vector2::ZERO),
   mChanged(false)
 {
   Initialize(viewBox);
@@ -288,6 +288,27 @@ const Vector2& CanvasRendererUbuntu::GetSize()
   return mSize;
 }
 
+bool CanvasRendererUbuntu::SetViewBox(const Vector2& viewBox)
+{
+  if(viewBox.width < 1.0f || viewBox.height < 1.0f)
+  {
+    return false;
+  }
+
+  if(viewBox != mViewBox)
+  {
+    mViewBox = viewBox;
+    mChanged = true;
+  }
+
+  return true;
+}
+
+const Vector2& CanvasRendererUbuntu::GetViewBox()
+{
+  return mViewBox;
+}
+
 void CanvasRendererUbuntu::MakeTargetBuffer(const Vector2& size)
 {
 #ifdef THORVG_SUPPORT
index bfcd6a7..22aeb10 100644 (file)
@@ -86,6 +86,16 @@ public:
    */
   const Vector2& GetSize() override;
 
+  /**
+   * @copydoc Dali::CanvasRenderer::SetViewBox()
+   */
+  bool SetViewBox(const Vector2& viewBox) override;
+
+  /**
+   * @copydoc Dali::CanvasRenderer::GetViewBox()
+   */
+  const Vector2& GetViewBox() override;
+
 private:
   CanvasRendererUbuntu()                            = delete;
   CanvasRendererUbuntu(const CanvasRendererUbuntu&) = delete;