From: Michal Szczecinski Date: Wed, 17 Aug 2022 20:02:40 +0000 (+0200) Subject: Revert "[Adaptation Layer] Added rive-tizen adaptation layer class." X-Git-Tag: submit/tizen/20220823.073856~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=55f4bfd100cee8817f13f0f4768cd8909f216e2e;p=platform%2Fcore%2Fuifw%2Frive-tizen.git Revert "[Adaptation Layer] Added rive-tizen adaptation layer class." This reverts commit 9af04314a1443c1302e08280ddd5f4deab66c20d. --- diff --git a/inc/rive_tizen.hpp b/inc/rive_tizen.hpp index 7bbf0aa..be92d0e 100644 --- a/inc/rive_tizen.hpp +++ b/inc/rive_tizen.hpp @@ -1,41 +1,5 @@ -#ifndef _RIVE_TIZEN_HPP_ -#define _RIVE_TIZEN_HPP_ - #include -#include -#include -#include - #define RIVE_EXPORT __attribute__ ((visibility ("default"))) RIVE_EXPORT void rive_tizen_print(); - -#include - -class RiveTizen { - private: - rive::Artboard *mArtboard; ///< Loaded artboard - - public: - RiveTizen(); - ~RiveTizen(); - - rive::Artboard* getArtboard(); - rive::LinearAnimationInstance* createLinearAnimationInstance(size_t index); - void animationAdvanceApply(rive::LinearAnimationInstance* animation, double elapsed); - void animationApply(rive::LinearAnimationInstance* animation, double elapsed); - - bool loadRiveResource(uint8_t* bytes, size_t size); - bool createCanvas(unsigned char* buffer, unsigned width, unsigned height, unsigned stride); - bool render(double elapsed, unsigned width, unsigned height); - - bool setShapeFillColor(const std::string &name, int a, int r, int g, int b); - bool setShapeStrokeColor(const std::string &name, int a, int r, int g, int b); - bool setNodeOpacity(const std::string &name, float opacity); - bool setNodeScale(const std::string &name, float scale_x, float scale_y); - bool setNodeRotation(const std::string &name, float degree); - bool setNodePosition(const std::string &name, float position_x, float position_y); -}; - -#endif \ No newline at end of file diff --git a/meson.build b/meson.build index 596d831..f4c53dd 100644 --- a/meson.build +++ b/meson.build @@ -8,7 +8,6 @@ run_command('script/install.sh') add_project_arguments('-DRIVE_FILE_DIR="@0@/example/resources/"'.format(meson.current_source_dir()), language : 'cpp') thorvg_dep = dependency('thorvg', required : true) -dlog_dep = dependency('dlog', required: true) install_headers([ 'submodule/include/artboard.hpp', @@ -376,14 +375,12 @@ rive_cpp_src = [ 'submodule/src/generated/shapes/paint/trim_path_base.cpp', ] -rive_cpp_inc = include_directories('submodule/include') - rive_cpp_dep = declare_dependency( - include_directories : rive_cpp_inc, + include_directories : include_directories('submodule/include'), sources : rive_cpp_src, ) -headers = [include_directories('inc'), include_directories('submodule/include'), include_directories('src/renderer'), include_directories('src')] +headers = [include_directories('inc'), include_directories('submodule/include'), include_directories('src/renderer')] subdir('inc') subdir('src') @@ -392,3 +389,8 @@ if get_option('example') == true message('Enable Examples') subdir('example') endif + +if get_option('test') == true + subdir('test') +endif + diff --git a/packaging/rive-tizen.spec b/packaging/rive-tizen.spec index 0ac9a18..382da7f 100644 --- a/packaging/rive-tizen.spec +++ b/packaging/rive-tizen.spec @@ -9,7 +9,6 @@ Source0: %{name}-%{version}.tar.gz BuildRequires: pkgconfig BuildRequires: pkgconfig(thorvg) -BuildRequires: pkgconfig(dlog) BuildRequires: meson BuildRequires: ninja diff --git a/src/renderer/meson.build b/src/renderer/meson.build index 11c54b8..401fc38 100644 --- a/src/renderer/meson.build +++ b/src/renderer/meson.build @@ -7,5 +7,5 @@ source_files = [ rive_tizen_renderer_dep = declare_dependency( include_directories : include_directories('.'), sources : source_files, - dependencies : [thorvg_dep, dlog_dep] + dependencies : thorvg_dep ) diff --git a/src/rive_tizen.cpp b/src/rive_tizen.cpp index e40f97d..1c4f3ed 100644 --- a/src/rive_tizen.cpp +++ b/src/rive_tizen.cpp @@ -1,201 +1,10 @@ #include "rive_tizen.hpp" +#include "math/aabb.hpp" -#include -#include - -#include -#include -#include -#include -#include - -#include "tvg_renderer.hpp" - -//Remove compilation warning -#ifdef LOG_TAG -#undef LOG_TAG -#endif -#define LOG_TAG "RIVE_TIZEN" - -//TODO: maybe we have to introduce another class -> Adapter implementation -//and encapsulate hander there. We don't want to put implementation related -//code in the class header file. -std::unique_ptr mSwCanvas; ///< ThorVG SW canvas handle - -RiveTizen::RiveTizen() -{ - tvg::Initializer::init(tvg::CanvasEngine::Sw, 0); - mArtboard = nullptr; -} - -RiveTizen::~RiveTizen() +void rive_tizen_print() { - tvg::Initializer::term(tvg::CanvasEngine::Sw); -} - -void RiveTizen::animationAdvanceApply(rive::LinearAnimationInstance *animation, double elapsed) -{ - if (!animation) - { - return; - } - animation->advance(elapsed); - animation->apply(mArtboard); -} - -void RiveTizen::animationApply(rive::LinearAnimationInstance *animation, double elapsed) -{ - if (!animation) - { - return; - } - animation->time(elapsed); - animation->apply(mArtboard); -} - -rive::LinearAnimationInstance *RiveTizen::createLinearAnimationInstance(size_t index) -{ - auto animation = mArtboard->animation(index); - if (!animation) - { - return nullptr; - } - - rive::LinearAnimationInstance *instance = new rive::LinearAnimationInstance(animation); - return instance; -} - -rive::Artboard *RiveTizen::getArtboard() -{ - return mArtboard; -} - -bool RiveTizen::loadRiveResource(uint8_t *bytes, size_t size) -{ - - if (!bytes) - { - dlog_print(DLOG_ERROR, LOG_TAG, "Invalid function parameters: bytes == nullptr"); - return false; - } - - auto reader = rive::BinaryReader(bytes, size); - - if (mArtboard) - { - delete mArtboard; - mArtboard = nullptr; - } - - rive::File *file = nullptr; - - auto result = rive::File::import(reader, &file); - if (result != rive::ImportResult::success) - { - dlog_print(DLOG_ERROR, LOG_TAG, "rive::File::import() failed."); - return false; - } - - mArtboard = file->artboard(); - - return true; -} - -bool RiveTizen::createCanvas(unsigned char *buffer, unsigned int width, unsigned int height, unsigned int stride) -{ - if (!mSwCanvas) - { - mSwCanvas = tvg::SwCanvas::gen(); - mSwCanvas->mempool(tvg::SwCanvas::MempoolPolicy::Individual); - } - mSwCanvas->clear(); - mSwCanvas->target((uint32_t *)buffer, stride, width, height, tvg::SwCanvas::ARGB8888); - return true; -} - -bool RiveTizen::render(double elapsed, unsigned int width, unsigned int height) -{ - mArtboard->advance(elapsed); - rive::TvgRenderer renderer(mSwCanvas.get()); - - renderer.save(); - renderer.align(rive::Fit::contain, - rive::Alignment::center, - rive::AABB(0, 0, width, height), - mArtboard->bounds()); - mArtboard->draw(&renderer); - renderer.restore(); - - auto result = mSwCanvas->draw(); - if (result == tvg::Result::Success) - { - mSwCanvas->sync(); - } - else - { - return false; - } - - return true; -} - -bool RiveTizen::setShapeFillColor(const std::string &name, int a, int r, int g, int b) -{ - auto instance = mArtboard->find(name.c_str()); - if (!instance || !instance->paint()->is()) - return false; - instance->paint()->as()->colorValue(rive::colorARGB(a, r, g, b)); - return true; -} - -bool RiveTizen::setShapeStrokeColor(const std::string &name, int a, int r, int g, int b) -{ - auto instance = mArtboard->find(name.c_str()); - if (!instance || !instance->paint()->is()) - return false; - instance->paint()->as()->colorValue(rive::colorARGB(a, r, g, b)); - return true; -} - -bool RiveTizen::setNodeOpacity(const std::string &name, float opacity) -{ - auto node = mArtboard->find(name.c_str()); - if (!node) - return false; - node->as()->opacity(opacity); - return true; -} - -bool RiveTizen::setNodeScale(const std::string &name, float scale_x, float scale_y) -{ - auto node = mArtboard->find(name.c_str()); - if (!node) - return false; - - auto nodeInstance = node->as(); - nodeInstance->scaleX(scale_x); - nodeInstance->scaleY(scale_y); - return true; -} - -bool RiveTizen::setNodeRotation(const std::string &name, float degree) -{ - auto node = mArtboard->find(name.c_str()); - if (!node) - return false; - - node->as()->rotation(degree); - return true; -} - -bool RiveTizen::setNodePosition(const std::string &name, float position_x, float position_y) -{ - auto node = mArtboard->find(name.c_str()); - if (!node) - return false; - - auto nodeInstance = node->as(); - nodeInstance->x(position_x); - nodeInstance->y(position_y); - return true; + // This line to check calling Rive APIs + rive::AABB aabb(0, 0, 100, 100); + // This line to check rive_tizen API calls + std::cout << "hello rive-tizen" << std::endl; }