Implements CanvasRenderer that can draw Vector Primitives using ThorVG 66/250466/43
authorJunsuChoi <jsuya.choi@samsung.com>
Mon, 28 Dec 2020 03:48:24 +0000 (12:48 +0900)
committerJunsuChoi <jsuya.choi@samsung.com>
Thu, 1 Apr 2021 05:02:02 +0000 (14:02 +0900)
commit540924af49a2ca939a22c6930fadd4cf1c731747
treecf7916d45da2a665e8dc4aa810fd733a9ad34445
parentf573969e16fed4cbfa2ad21925988d146b53aa93
Implements CanvasRenderer that can draw Vector Primitives using ThorVG

CanvasRenderer draws Vector Primitives using ThorVG library and draws them to Buffer.

Note:
Currently, the Canvas's buffer is using PixelData.
This buffer strategy will be changed to tbmBuffer in the future.

class CanvasRenderer : public BaseHandle
  New
  Commit
  AddDrawable
  GetPixelBuffer
  SetSize
  GetSize

class Drawable : public BaseHandle
  SetOpacity
  GetOpacity
  Rotate
  Scale
  Translate
  Transform

class DALI_ADAPTOR_API Shape : public Drawable
  enum StrokeCap{ SQUARE, ROUND, BUTT };
  enum StrokeJoin { BEVEL, ROUND, MITER };
  enum FillRule { WINDING, EVENODD };

  New
  AddRect
  AddCircle
  AddArc
  AddMoveTo
  AddLineTo
  AddCubicTo
  Close
  SetFillColor
  GetFillColor
  SetFillRule
  GetFillRule
  SetStrokeWidth
  GetStrokeWidth
  SetStrokeColor
  GetStrokeColor
  SetStrokeDash
  GetStrokeDash
  SetStrokeCap
  GetStrokeCap
  SetStrokeJoin
  GetStrokeJoin

Change-Id: I9aa423c4c773b28e28a735ba7cd676b2f95a6dcb
59 files changed:
build/tizen/deps-check.cmake
build/tizen/module-list.cmake
build/tizen/profiles/android-profile.cmake
build/tizen/profiles/common-profile.cmake
build/tizen/profiles/ivi-profile.cmake
build/tizen/profiles/macos-profile.cmake
build/tizen/profiles/mobile-profile.cmake
build/tizen/profiles/tv-profile.cmake
build/tizen/profiles/ubuntu-profile.cmake
build/tizen/profiles/wearable-profile.cmake
build/tizen/profiles/windows-profile.cmake
dali/devel-api/adaptor-framework/canvas-renderer-drawable.cpp [new file with mode: 0644]
dali/devel-api/adaptor-framework/canvas-renderer-drawable.h [new file with mode: 0644]
dali/devel-api/adaptor-framework/canvas-renderer-shape.cpp [new file with mode: 0644]
dali/devel-api/adaptor-framework/canvas-renderer-shape.h [new file with mode: 0644]
dali/devel-api/adaptor-framework/canvas-renderer.cpp [new file with mode: 0644]
dali/devel-api/adaptor-framework/canvas-renderer.h [new file with mode: 0644]
dali/devel-api/file.list
dali/internal/canvas-renderer/common/canvas-renderer-factory.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/common/canvas-renderer-factory.h [new file with mode: 0644]
dali/internal/canvas-renderer/common/canvas-renderer-impl.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/common/canvas-renderer-impl.h [new file with mode: 0644]
dali/internal/canvas-renderer/common/drawable-factory.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/common/drawable-factory.h [new file with mode: 0644]
dali/internal/canvas-renderer/common/drawable-impl.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/common/drawable-impl.h [new file with mode: 0644]
dali/internal/canvas-renderer/common/shape-factory.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/common/shape-factory.h [new file with mode: 0644]
dali/internal/canvas-renderer/common/shape-impl.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/common/shape-impl.h [new file with mode: 0644]
dali/internal/canvas-renderer/file.list [new file with mode: 0644]
dali/internal/canvas-renderer/generic/canvas-renderer-factory-generic.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/generic/canvas-renderer-impl-generic.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/generic/canvas-renderer-impl-generic.h [new file with mode: 0644]
dali/internal/canvas-renderer/generic/drawable-factory-generic.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/generic/drawable-impl-generic.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/generic/drawable-impl-generic.h [new file with mode: 0644]
dali/internal/canvas-renderer/generic/shape-factory-generic.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/generic/shape-impl-generic.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/generic/shape-impl-generic.h [new file with mode: 0644]
dali/internal/canvas-renderer/tizen/canvas-renderer-factory-tizen.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/tizen/canvas-renderer-impl-tizen.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/tizen/canvas-renderer-impl-tizen.h [new file with mode: 0644]
dali/internal/canvas-renderer/tizen/drawable-factory-tizen.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/tizen/drawable-impl-tizen.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/tizen/drawable-impl-tizen.h [new file with mode: 0644]
dali/internal/canvas-renderer/tizen/shape-factory-tizen.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/tizen/shape-impl-tizen.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/tizen/shape-impl-tizen.h [new file with mode: 0644]
dali/internal/canvas-renderer/ubuntu/canvas-renderer-factory-ubuntu.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/ubuntu/canvas-renderer-impl-ubuntu.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/ubuntu/canvas-renderer-impl-ubuntu.h [new file with mode: 0644]
dali/internal/canvas-renderer/ubuntu/drawable-factory-ubuntu.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/ubuntu/drawable-impl-ubuntu.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/ubuntu/drawable-impl-ubuntu.h [new file with mode: 0644]
dali/internal/canvas-renderer/ubuntu/shape-factory-ubuntu.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/ubuntu/shape-impl-ubuntu.cpp [new file with mode: 0644]
dali/internal/canvas-renderer/ubuntu/shape-impl-ubuntu.h [new file with mode: 0644]
packaging/dali-adaptor.spec