From 79ff784721f4467450f37310322ecff59d3f1ce9 Mon Sep 17 00:00:00 2001 From: Leon Styhre Date: Fri, 7 Jan 2022 18:43:06 +0100 Subject: [PATCH] Squashed 'external/rlottie/' changes from bf3d272df..875626965 875626965 Check border of color table while generating gradient d1636c7b4 Ignore animations with objects of unspecified type f3eed9a33 add formal parameter void to lottie_init() and lottie_shutdown() 519bd08b0 Add lottie_init() and lottie_shutdown() c api. 447cb7dd1 replace unsigned int with uint32_t in Int() d7cf0a5ab replace uint ushort and uchar typedefs with uint32 uint16 and uint8 -- added format script to run clang format on latest commit. 16beec845 lottiemodel: Improve opacity calculation for gradient stop 327fb7dba Reject reversed frames 625bc4c48 Finite loop in VBezier::tAtLength() ddbc9dce7 rlottie/capi: Add missing multiply for Path c0e16e571 Check Layer.mExtra and Transform.mExtra before dereferencing 9f78532c8 Avoid access to last element of empty mChildren vector 4e08acd8c remove RAPIDJSON_ASSERT() by placing the parser in error state 7affa78fe Fix dereferencing of null pointer in model::Layer::solidColor() getter 9d17ff8e6 Skip dash array of size one or zero f379dfe15 add the /inc folder as an include path at build time 194b31736 Improve matte rendering performance for simple layer 7c5b40cbb CMake: fix MSVC warnings fa44b753e fix compileing error 41f906480 On windows, stbi__fopen opens a path containing non-English characters or symbols will fail due to encoding problems, so the filename parameter is assumed to be utf-8 and converted to utf-16, and then call _wfopen_s or _wfopen 29b391b95 add lottie_configure_model_cache_size() c api 3cd00151c Fix comparison bd4c4e1f8 MT and MTd c593b57eb Remove link warnings on MSVC 132ca0a00 #include "fix" for rust-bindgen c9780b46d Fix CMake build in subdirectory 1cb2021d6 Fix crash when path animation data is empty ad9beaec6 Added support for RoundedCornor objects. a41bd7383 rlottie: draw line if width or height is 0 ed94baf14 resource: polish player png image. 9b4c4d2af resource: add rlottie_player image. 2d7b1fa2b Fixed build with GCC 11. 9cd9a6e95 vs2019: Add release build option d733e953b updated AUTHORS fc760ef92 updated AUTHORS d92d4aaf6 wasm: Add extra functions for lottie animation to use them in rlottie viewer 09662b89d updated AUTHORS 71fbff5d5 example/win32Player: removed unnecessary files. d25911e6c add app executables 538dfd9aa rename directory rlottiePlayer to win32Player 6fbb67d49 fix openJSONFileDialog 85856dff3 fix animation replace error f86e97d65 fix animation bitmap size to be set dynamically 55815b2cb move function prototype to animation.h To prevent function prototype duplicate code in source.cpp. 9a71eeca9 add an example of win32 app that play rlottie animation by vs2019 619320cbb add rlottiePlayer Project 4884e0e9b Modify: Update .gitignore 3ebf0c7e3 Docs: Fix README typo 502cc3638 updated license in spec file. e812ba9e9 Docs: Fix README typo c98ec565d Update README.md 33295c22f Fixed README typo 073224e69 fixed readme typo ff8ddfc49 ci: upgrade windows build chain to VS2017 10c1055a3 fixed sign extension warning 98ed2620a build: use shared_module instead of shared_library git-subtree-dir: external/rlottie git-subtree-split: 875626965959d8e269ca22175c8e1ad190696c43 --- .Gifs/rlottie_player.png | Bin 0 -> 17344 bytes .appveyor.yml | 4 +- .gitignore | 1 + AUTHORS | 6 + CMakeLists.txt | 39 +- README.md | 7 +- example/CMakeLists.txt | 12 +- example/win32Player/Source.cpp | 60 ++ example/win32Player/animation.h | 10 + example/win32Player/framework.h | 15 + example/win32Player/resource.h | 40 ++ example/win32Player/rlottie.dll | Bin 0 -> 2035712 bytes example/win32Player/rlottie.lib | Bin 0 -> 27826 bytes example/win32Player/rlottiePlayer.cpp | 521 ++++++++++++++++++ example/win32Player/rlottiePlayer.exe | Bin 0 -> 244224 bytes example/win32Player/rlottiePlayer.h | 32 ++ example/win32Player/rlottiePlayer.ico | Bin 0 -> 46227 bytes example/win32Player/rlottiePlayer.rc | Bin 0 -> 7298 bytes example/win32Player/rlottiePlayer.sln | 31 ++ example/win32Player/rlottiePlayer.vcxproj | 166 ++++++ .../win32Player/rlottiePlayer.vcxproj.filters | 55 ++ .../win32Player/rlottiePlayer.vcxproj.user | 4 + example/win32Player/small.ico | Bin 0 -> 46227 bytes example/win32Player/targetver.h | 6 + format | 1 + inc/rlottie.h | 4 +- inc/rlottie_capi.h | 49 +- packaging/rlottie.spec | 2 +- src/binding/c/lottieanimation_capi.cpp | 37 ++ src/lottie/lottieanimation.cpp | 47 +- src/lottie/lottiefiltermodel.h | 6 +- src/lottie/lottieitem.cpp | 44 +- src/lottie/lottieitem.h | 22 +- src/lottie/lottieitem_capi.cpp | 10 +- src/lottie/lottiekeypath.cpp | 6 +- src/lottie/lottiekeypath.h | 12 +- src/lottie/lottiemodel.cpp | 61 +- src/lottie/lottiemodel.h | 50 +- src/lottie/lottieparser.cpp | 194 ++++--- src/vector/stb/CMakeLists.txt | 8 +- src/vector/stb/meson.build | 16 +- src/vector/stb/stb_image.h | 44 +- src/vector/vbezier.cpp | 5 +- src/vector/vbitmap.cpp | 40 +- src/vector/vbitmap.h | 37 +- src/vector/vbrush.cpp | 2 +- src/vector/vbrush.h | 2 +- src/vector/vdrawable.cpp | 2 +- src/vector/vdrawhelper.cpp | 22 +- src/vector/vdrawhelper.h | 17 +- src/vector/vdrawhelper_common.cpp | 34 +- src/vector/vglobal.h | 57 +- src/vector/vpainter.cpp | 10 +- src/vector/vpath.cpp | 4 +- src/vector/vpath.h | 2 +- src/vector/vraster.cpp | 32 +- src/vector/vrle.cpp | 36 +- src/vector/vrle.h | 8 +- src/wasm/rlottiewasm.cpp | 87 ++- vs2019/rlottie.vcxproj | 5 +- 60 files changed, 1641 insertions(+), 383 deletions(-) create mode 100644 .Gifs/rlottie_player.png create mode 100644 example/win32Player/Source.cpp create mode 100644 example/win32Player/animation.h create mode 100644 example/win32Player/framework.h create mode 100644 example/win32Player/resource.h create mode 100644 example/win32Player/rlottie.dll create mode 100644 example/win32Player/rlottie.lib create mode 100644 example/win32Player/rlottiePlayer.cpp create mode 100644 example/win32Player/rlottiePlayer.exe create mode 100644 example/win32Player/rlottiePlayer.h create mode 100644 example/win32Player/rlottiePlayer.ico create mode 100644 example/win32Player/rlottiePlayer.rc create mode 100644 example/win32Player/rlottiePlayer.sln create mode 100644 example/win32Player/rlottiePlayer.vcxproj create mode 100644 example/win32Player/rlottiePlayer.vcxproj.filters create mode 100644 example/win32Player/rlottiePlayer.vcxproj.user create mode 100644 example/win32Player/small.ico create mode 100644 example/win32Player/targetver.h create mode 100755 format diff --git a/.Gifs/rlottie_player.png b/.Gifs/rlottie_player.png new file mode 100644 index 0000000000000000000000000000000000000000..f47fffa6812fe206564908ef0f0cf5ffe8059a12 GIT binary patch literal 17344 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 literal 0 HcmV?d00001 diff --git a/.appveyor.yml b/.appveyor.yml index 0b51e2990..254e5c777 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -12,7 +12,7 @@ install: - git submodule update --init --recursive - set PATH=%cd%;%PYTHON%;%PYTHON%\Scripts;%PATH% - pip install meson==0.50.0 ninja - - call "%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" %ARCH% + - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" build_script: - meson -Dwerror=false --backend=ninja --prefix=%cd% build - where link @@ -20,4 +20,4 @@ build_script: test_script: - ninja -C build test after_build: - - ninja -C build install \ No newline at end of file + - ninja -C build install diff --git a/.gitignore b/.gitignore index 0d9491f33..260edc852 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ tmp .project .vs **/*.DS_Store +builddir_wasm \ No newline at end of file diff --git a/AUTHORS b/AUTHORS index 8e38feee1..5f2ff9b9b 100644 --- a/AUTHORS +++ b/AUTHORS @@ -10,3 +10,9 @@ Shinwoo Kim Vincent Torri Nicholas Guriev John Preston +Anatoly Korniltsev +Александр Першин +Anton Sergeev +HyunGu Lee +ChaeLin Shin +Seungjae Yoon diff --git a/CMakeLists.txt b/CMakeLists.txt index c111dac64..38a986225 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,28 +41,32 @@ set(LOTTIE_MODULE_PATH "${CMAKE_SHARED_LIBRARY_PREFIX}rlottie-image-loader${CMAK configure_file(${CMAKE_CURRENT_LIST_DIR}/cmake/config.h.in config.h) target_include_directories(rlottie + PUBLIC $ PRIVATE "${CMAKE_CURRENT_BINARY_DIR}" ) #declare common target compilation options -target_compile_options(rlottie - PUBLIC - PRIVATE - -std=c++14 - -fno-exceptions - -fno-unwind-tables - -fno-asynchronous-unwind-tables - -fno-rtti - -Wall - -fvisibility=hidden - ) - -#MSVC does not recognize these parameters -if (NOT WIN32) +if(MSVC) target_compile_options(rlottie PUBLIC PRIVATE + /std:c++14 + /EHs-c- # disable exceptions + /GR- # disable RTTI + /W3 + ) +else() + target_compile_options(rlottie + PUBLIC + PRIVATE + -std=c++14 + -fno-exceptions + -fno-unwind-tables + -fno-asynchronous-unwind-tables + -fno-rtti + -Wall + -fvisibility=hidden -Wnon-virtual-dtor -Woverloaded-virtual -Wno-unused-parameter @@ -71,6 +75,8 @@ endif() if (WIN32 AND NOT BUILD_SHARED_LIBS) target_compile_definitions(rlottie PUBLIC -DRLOTTIE_BUILD=0) + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd") endif() #declare dependancy @@ -85,7 +91,7 @@ target_link_libraries(rlottie if (NOT APPLE AND NOT WIN32) target_link_libraries(rlottie PRIVATE - "-Wl,--version-script=${CMAKE_SOURCE_DIR}/rlottie.expmap" + "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/rlottie.expmap" ) endif() @@ -100,7 +106,7 @@ if (NOT LOTTIE_ASAN) PUBLIC "-Wl, -undefined error" ) - else() + elseif(NOT MSVC) target_link_libraries(rlottie PUBLIC "-Wl,--no-undefined" @@ -195,4 +201,3 @@ export(EXPORT rlottie-targets FILE ${CMAKE_CURRENT_BINARY_DIR}/rlottieTargets.cm #Register package in user's package registry export(PACKAGE rlottie) - diff --git a/README.md b/README.md index e7beedc5f..3f1c5a610 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ [![Build Status](https://travis-ci.org/Samsung/rlottie.svg?branch=master)](https://travis-ci.org/Samsung/rlottie) [![Build status](https://ci.appveyor.com/api/projects/status/n3xonxk1ooo6s7nr?svg=true&passingText=windows%20-%20passing)](https://ci.appveyor.com/project/smohantty/rlottie-mliua) +[![Gitter](https://badges.gitter.im/rLottie-dev/community.svg)](https://gitter.im/rLottie-dev/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)

@@ -35,7 +36,7 @@ Here are small samples of the power of Lottie. - [Issues or Feature Requests?](#issues-or-feature-requests) ## Building Lottie -rottie supports [meson](https://mesonbuild.com/) and [cmake](https://cmake.org/) build system. rottie is written in `C++14`. and has a public header dependancy of `C++11` +rlottie supports [meson](https://mesonbuild.com/) and [cmake](https://cmake.org/) build system. rlottie is written in `C++14`. and has a public header dependency of `C++11` ### Meson Build install [meson](http://mesonbuild.com/Getting-meson.html) and [ninja](https://ninja-build.org/) if not already installed. @@ -98,7 +99,7 @@ ninja test # ## Demo -If you want to see rlottie librray in action without building it please visit [rlottie online viewer](http://rlottie.com) +If you want to see rlottie library in action without building it please visit [rlottie online viewer](http://rlottie.com) While building rlottie library it generates a simple lottie to GIF converter which can be used to convert lottie json file to GIF file. @@ -166,7 +167,7 @@ You can update properties dynamically at runtime. This can be used for a variety ### Understanding After Effects -To understand how to change animation properties in Lottie, you should first understand how animation properties are stored in Lottie. Animation properties are stored in a data tree that mimics the information heirarchy of After Effects. In After Effects a Composition is a collection of Layers that each have their own timelines. Layer objects have string names, and their contents can be an image, shape layers, fills, strokes, or just about anything that is drawable. Each object in After Effects has a name. Lottie can find these objects and properties by their name using a KeyPath. +To understand how to change animation properties in Lottie, you should first understand how animation properties are stored in Lottie. Animation properties are stored in a data tree that mimics the information hierarchy of After Effects. In After Effects a Composition is a collection of Layers that each have their own timelines. Layer objects have string names, and their contents can be an image, shape layers, fills, strokes, or just about anything that is drawable. Each object in After Effects has a name. Lottie can find these objects and properties by their name using a KeyPath. ### Usage diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt index b42cc960c..aacdc7c02 100644 --- a/example/CMakeLists.txt +++ b/example/CMakeLists.txt @@ -1,8 +1,14 @@ add_executable(lottie2gif "lottie2gif.cpp") -target_compile_options(lottie2gif - PRIVATE - -std=c++14) +if(MSVC) + target_compile_options(lottie2gif + PRIVATE + /std:c++14) +else() + target_compile_options(lottie2gif + PRIVATE + -std=c++14) +endif() target_link_libraries(lottie2gif rlottie) diff --git a/example/win32Player/Source.cpp b/example/win32Player/Source.cpp new file mode 100644 index 000000000..99ea876dd --- /dev/null +++ b/example/win32Player/Source.cpp @@ -0,0 +1,60 @@ +#include "rlottie.h" +#include "animation.h" +using namespace rlottie; + +std::unique_ptr anim; +uint32_t *buffer; +size_t width, height; +size_t bytesPerLine; +uint32_t curColor = UINT32_MAX; + +void setAnimationSize(size_t w, size_t h) +{ + width = w; + height = h; + bytesPerLine = width * sizeof(uint32_t); + + if (buffer != NULL) freeAnimation(); + buffer = (uint32_t*)calloc(bytesPerLine * height, sizeof(uint32_t)); +} + +void setAnimation(char* path, size_t* w, size_t* h) +{ + anim = Animation::loadFromFile(path); + anim->size(*w, *h); + setAnimationSize(*w, *h); +} + +uint32_t* renderRLottieAnimation(uint32_t frameNum) +{ + Surface surface = Surface(buffer, width, height, bytesPerLine); + anim->renderSync(frameNum, surface); + // background color + for (int i = 0; i < height; i++) + for (int j = 0; j < width; ++j) + { + uint32_t* v = buffer + i * width + j; + if (*v == 0) *v = curColor; + } + return buffer; +} + +void setAnimationColor(int r, int g, int b) +{ + curColor = ((255 << 16) * r) + ((255 << 8) * g) + 255 * b; +} + +size_t getTotalFrame() +{ + return anim->totalFrame(); +} + +bool isAnimNULL() +{ + return anim == NULL; +} + +void freeAnimation() +{ + free(buffer); +} \ No newline at end of file diff --git a/example/win32Player/animation.h b/example/win32Player/animation.h new file mode 100644 index 000000000..483cb3faa --- /dev/null +++ b/example/win32Player/animation.h @@ -0,0 +1,10 @@ +#pragma once +#include + +void setAnimation(char* path, size_t* w, size_t* h); +void setAnimationSize(size_t w, size_t h); +uint32_t* renderRLottieAnimation(uint32_t frameNum); +size_t getTotalFrame(); +bool isAnimNULL(); +void setAnimationColor(int r, int g, int b); +void freeAnimation(); \ No newline at end of file diff --git a/example/win32Player/framework.h b/example/win32Player/framework.h new file mode 100644 index 000000000..33a6be646 --- /dev/null +++ b/example/win32Player/framework.h @@ -0,0 +1,15 @@ +// header.h : include file for standard system include files, +// or project specific include files +// + +#pragma once + +#include "targetver.h" +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +// Windows Header Files +#include +// C RunTime Header Files +#include +#include +#include +#include diff --git a/example/win32Player/resource.h b/example/win32Player/resource.h new file mode 100644 index 000000000..ac46939a8 --- /dev/null +++ b/example/win32Player/resource.h @@ -0,0 +1,40 @@ +//{{NO_DEPENDENCIES}} +// This is an include file generated by Microsoft Visual C++. +// It is being used in rlottiePlayer.rc. +// +#define IDC_MYICON 2 +#define IDD_RLOTTIEPLAYER_DIALOG 102 +#define IDS_APP_TITLE 103 +#define IDD_ABOUTBOX 103 +#define IDM_ABOUT 104 +#define IDM_EXIT 105 +#define IDI_RLOTTIEPLAYER 107 +#define IDI_SMALL 108 +#define IDC_RLOTTIEPLAYER 109 +#define IDR_MAINFRAME 128 +#define MAIN_WINDOW 130 +#define BTN_BROWSE 1004 +#define BTN_WHITE 1005 +#define BTN_BLACK 1006 +#define BTN_RED 1007 +#define BTN_GREEN 1008 +#define BTN_BLUE 1009 +#define SLIDER_CANVAS_RESIZE 1010 +#define BTN_PLAY 1011 +#define SLIDER_PLAY 1012 +#define TEXT_FILENAME 1013 +#define PICCTRL_RLOTTIE 1014 +#define TIMER_PLAY_ANIM 1015 +#define IDC_STATIC -1 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NO_MFC 1 +#define _APS_NEXT_RESOURCE_VALUE 131 +#define _APS_NEXT_COMMAND_VALUE 32771 +#define _APS_NEXT_CONTROL_VALUE 1017 +#define _APS_NEXT_SYMED_VALUE 110 +#endif +#endif diff --git a/example/win32Player/rlottie.dll b/example/win32Player/rlottie.dll new file mode 100644 index 0000000000000000000000000000000000000000..296f70a0b6d60fb904f0ffdb8518ea18c182f2b0 GIT binary patch literal 2035712 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

m=ZuWSa5q;5(sTq?)@LzVI^ig?z?^zuz%vtDaC_ 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�(xGXrV2-AM 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 Y|Mkfz+uhA;4ig+mJxdz}Af)yFA6%M&tN;K2 literal 0 HcmV?d00001 diff --git a/example/win32Player/rlottiePlayer.cpp b/example/win32Player/rlottiePlayer.cpp new file mode 100644 index 000000000..b2d0431f8 --- /dev/null +++ b/example/win32Player/rlottiePlayer.cpp @@ -0,0 +1,521 @@ +// rlottiePlayer.cpp : Defines the entry point for the application. +// + + +#include "framework.h" +#include "rlottiePlayer.h" +using namespace Gdiplus; + +#define MAX_LOADSTRING 100 + +// Global Variables: +HINSTANCE hInst; // current instance +WCHAR szTitle[MAX_LOADSTRING]; // The title bar text +WCHAR szWindowClass[MAX_LOADSTRING]; // the main window class name +HWND mainWindow; // Main Window Instance +HWND hTextFileToBeOpened; // openDialog file path +HWND hBtnPlay; +HWND hSliderPlay, hSliderCanvasResize; +UINT curFrame = 0; +RlottieBitmap anim; // rendered Animation Bitmap +RECT animRect, backRect; +size_t animWidth, animHeight; +Gdiplus::Color backColor(255, 255, 255, 255); +Gdiplus::Color borderColor(255, 0, 0, 0); +bool isViewChanged = false; + +// Forward declarations of functions included in this code module: +ATOM MyRegisterClass(HINSTANCE hInstance); +BOOL InitInstance(HINSTANCE, int); +LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); +INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); +void openJSONFileDialog(HWND); +void initUIControl(HWND); +void dlgUICommand(HWND, WPARAM); +void resizeCanvas(HWND, int); +void changeBackgroundColor(int r, int g, int b); + +// Animation Rendering Functions +void draw(HDC); +Bitmap* CreateBitmap(void* data, unsigned int width, unsigned int height); +void renderAnimation(UINT); + +int APIENTRY wWinMain(_In_ HINSTANCE hInstance, + _In_opt_ HINSTANCE hPrevInstance, + _In_ LPWSTR lpCmdLine, + _In_ int nCmdShow) +{ + UNREFERENCED_PARAMETER(hPrevInstance); + UNREFERENCED_PARAMETER(lpCmdLine); + + // initialize Gdiplus + Gdiplus::GdiplusStartupInput gdiplusStartUpInput; + ULONG_PTR gdiplustoken; + Gdiplus::GdiplusStartup(&gdiplustoken, &gdiplusStartUpInput, nullptr); + + // Initialize global strings + LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); + LoadStringW(hInstance, IDC_RLOTTIEPLAYER, szWindowClass, MAX_LOADSTRING); + MyRegisterClass(hInstance); + + // Perform application initialization: + if (!InitInstance(hInstance, nCmdShow)) + { + return FALSE; + } + + HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_RLOTTIEPLAYER)); + + MSG msg; + + // Main message loop: + while (GetMessage(&msg, nullptr, 0, 0)) + { + if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + + Gdiplus::GdiplusShutdown(gdiplustoken); + return (int)msg.wParam; +} + + + +// +// FUNCTION: MyRegisterClass() +// +// PURPOSE: Registers the window class. +// +ATOM MyRegisterClass(HINSTANCE hInstance) +{ + WNDCLASSEXW wcex; + + wcex.cbSize = sizeof(WNDCLASSEX); + + wcex.style = CS_HREDRAW | CS_VREDRAW; + wcex.lpfnWndProc = WndProc; + wcex.cbClsExtra = 0; + wcex.cbWndExtra = 0; + wcex.hInstance = hInstance; + wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_RLOTTIEPLAYER)); + wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); + wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); + wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_RLOTTIEPLAYER); + wcex.lpszClassName = szWindowClass; + wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); + + return RegisterClassExW(&wcex); +} + +// +// FUNCTION: InitInstance(HINSTANCE, int) +// +// PURPOSE: Saves instance handle and creates main window +// +// COMMENTS: +// +// In this function, we save the instance handle in a global variable and +// create and display the main program window. +// +BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) +{ + hInst = hInstance; // Store instance handle in our global variable + + DWORD dwStyle = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX; + mainWindow = CreateWindowEx(0, szWindowClass, szTitle, dwStyle, + CW_USEDEFAULT, CW_USEDEFAULT, WND_WIDTH, WND_HEIGHT, nullptr, nullptr, hInstance, nullptr); + + if (!mainWindow) + { + return FALSE; + } + + ShowWindow(mainWindow, nCmdShow); + UpdateWindow(mainWindow); + SetMenu(mainWindow, NULL); + + return TRUE; +} + +// +// FUNCTION: WndProc(HWND, UINT, WPARAM, LPARAM) +// +// PURPOSE: Processes messages for the main window. +// +// WM_COMMAND - process the application menu +// WM_PAINT - Paint the main window +// WM_DESTROY - post a quit message and return +// +// +LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + static bool isplay = false; + int wmId = LOWORD(wParam); + + switch (message) + { + case WM_CREATE: + { + initUIControl(hWnd); + break; + } + case WM_TIMER: + { + switch (wmId) + { + case TIMER_PLAY_ANIM: + { + renderAnimation(curFrame + 1); + SendMessage(hSliderPlay, TBM_SETPOS, TRUE, curFrame); + break; + } + default: + break; + } + break; + } + case WM_COMMAND: + { + // Parse the menu selections: + switch (wmId) + { + case IDM_ABOUT: + DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); + break; + + case IDM_EXIT: + DestroyWindow(hWnd); + break; + + case BTN_BROWSE: + openJSONFileDialog(hWnd); + break; + + case BTN_PLAY: + { + LPWSTR textBtnPlay; + USES_CONVERSION; + if (isplay) + { + isplay = false; + textBtnPlay = A2W("Play"); + KillTimer(hWnd, TIMER_PLAY_ANIM); + } + else + { + isplay = true; + textBtnPlay = A2W("Pause"); + SetTimer(hWnd, TIMER_PLAY_ANIM, 10, NULL); + } + SetWindowText(hBtnPlay, textBtnPlay); + break; + } + + case WM_DROPFILES: + break; + case BTN_WHITE: + changeBackgroundColor(1, 1, 1); + break; + case BTN_BLACK: + changeBackgroundColor(0, 0, 0); + break; + case BTN_RED: + changeBackgroundColor(1, 0, 0); + break; + case BTN_GREEN: + changeBackgroundColor(0, 1, 0); + break; + case BTN_BLUE: + changeBackgroundColor(0, 0, 1); + break; + + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + } + break; + + case WM_HSCROLL: + { + if ((lParam != 0) && (reinterpret_cast(lParam) == hSliderPlay)) + { + UINT frameNum = SendDlgItemMessage(hWnd, SLIDER_PLAY, TBM_GETPOS, 0, 0); + renderAnimation(frameNum); + } + else if ((lParam != 0) && (reinterpret_cast(lParam) == hSliderCanvasResize)) + { + static int curSize = anim.width / RESIZE_LENGTH; + int newSize = SendDlgItemMessage(hWnd, SLIDER_CANVAS_RESIZE, TBM_GETPOS, 0, 0); + resizeCanvas(hWnd, (curSize - newSize) * RESIZE_LENGTH); + curSize = newSize; + } + break; + } + + case WM_PAINT: + { + PAINTSTRUCT ps; + HDC hdc = BeginPaint(hWnd, &ps); + draw(hdc); + EndPaint(hWnd, &ps); + } + break; + case WM_CTLCOLORSTATIC: + { + static HBRUSH hBrushEdit = CreateSolidBrush(RGB(255, 255, 255)); + return (LRESULT)hBrushEdit; + } + + case WM_DESTROY: + freeAnimation(); + PostQuitMessage(0); + break; + + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + return 0; +} + +// Message handler for about box. +INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + switch (message) + { + case WM_INITDIALOG: + return (INT_PTR)TRUE; + + case WM_COMMAND: + if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) + { + EndDialog(hDlg, LOWORD(wParam)); + return (INT_PTR)TRUE; + } + break; + } + return (INT_PTR)FALSE; +} + +void openJSONFileDialog(HWND hDlg) +{ + OPENFILENAME ofn; // common dialog box structure + TCHAR szFile[260] = { 0 }; // if using TCHAR macros + + // Initialize OPENFILENAME + ZeroMemory(&ofn, sizeof(ofn)); + ofn.lStructSize = sizeof(ofn); + ofn.hwndOwner = hDlg; + ofn.lpstrFile = szFile; + ofn.nMaxFile = sizeof(szFile); + ofn.lpstrFilter = _T("JSON\0*.json\0"); + ofn.nFilterIndex = 1; + ofn.lpstrFileTitle = NULL; + ofn.nMaxFileTitle = 0; + ofn.lpstrInitialDir = NULL; + ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; + + isViewChanged = true; + if (GetOpenFileName(&ofn)) + { + isViewChanged = true; + SetWindowText(hTextFileToBeOpened, ofn.lpstrFile); + // LPWSTR(w_char*) -> LPSTR(char*) + USES_CONVERSION; + LPSTR path = W2A(ofn.lpstrFile); + + setAnimation(path, &animWidth, &animHeight); + // init play slider + SendMessage(hSliderPlay, TBM_SETRANGE, FALSE, MAKELPARAM(0, getTotalFrame())); + SendMessage(hSliderPlay, TBM_SETPOS, TRUE, 0); + renderAnimation(0); + } +} + +void draw(HDC hdc) +{ + Graphics gf(hdc); + int half_interval = UI_INTERVAL / 2; + + // background + SolidBrush brush(backColor); + int back_y = half_interval + BTN_HEIGHT; + int back_height = back_y + BMP_MAX_LEN + UI_INTERVAL; + if (isViewChanged) + { + isViewChanged = false; + gf.FillRectangle(&brush, 0, back_y, WND_WIDTH, back_height); + } + + // image borderline + Pen pen(borderColor); + gf.DrawRectangle(&pen, anim.x - half_interval, anim.y - half_interval, anim.width + half_interval * 2, anim.height + half_interval * 2); + + // image + if (anim.image != NULL) + { + gf.DrawImage(anim.image, anim.x, anim.y, anim.width, anim.height); + } +} + +Bitmap* CreateBitmap(void* data, unsigned int width, unsigned int height) +{ + BITMAPINFO Info; + memset(&Info, 0, sizeof(Info)); + + Info.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); + Info.bmiHeader.biWidth = width; + Info.bmiHeader.biHeight = height; + Info.bmiHeader.biPlanes = 1; + Info.bmiHeader.biBitCount = 32; + Info.bmiHeader.biCompression = BI_RGB; + Info.bmiHeader.biSizeImage = 0; //(((32 * width + 31) & ~31) / 8) * height; + + return new Gdiplus::Bitmap(&Info, data); +} + +void renderAnimation(UINT frameNum) +{ + if (isAnimNULL()) return; + if (anim.image != NULL) delete anim.image; + + curFrame = frameNum % getTotalFrame(); + + // render + UINT* resRender = renderRLottieAnimation(curFrame); + anim.image = CreateBitmap(resRender, animWidth, animHeight); + anim.image->RotateFlip(RotateNoneFlipY); + // call WM_PAINT message + InvalidateRect(mainWindow, &animRect, FALSE); +} + +void initUIControl(HWND hWnd) +{ + int half_ui_interval = UI_INTERVAL / 2; + + // button browse + int browse_x = UI_INTERVAL; + int browse_y = half_ui_interval; + CreateWindow(L"button", L"Browse", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, + browse_x, browse_y, BTN_WIDTH, BTN_HEIGHT, hWnd, (HMENU)BTN_BROWSE, hInst, NULL); + + // textbox FilePath + int textFile_x = browse_x + BTN_WIDTH + UI_INTERVAL; + int textFile_y = browse_y; + hTextFileToBeOpened = CreateWindowEx(0, L"static", L"No file selected.", WS_CHILD | WS_VISIBLE | ES_LEFT, + textFile_x, textFile_y, WND_WIDTH * 0.6, TEXT_HEIGHT, hWnd, (HMENU)TEXT_FILENAME, hInst, 0); + + // image + anim.x = WND_WIDTH / 4; + anim.y = browse_y + BTN_HEIGHT + UI_INTERVAL * 2; + anim.width = BMP_MAX_LEN; + anim.height = anim.width; + + // animating range + SetRect(&animRect, + anim.x - UI_INTERVAL, + anim.y - UI_INTERVAL, + anim.x + anim.width + UI_INTERVAL * 2, + anim.y + anim.height + UI_INTERVAL * 2 + ); + + // background range + SetRect(&backRect, + 0, + anim.y - UI_INTERVAL, + WND_WIDTH, + anim.y + anim.height + UI_INTERVAL * 2 + ); + + // text Background Color + int textBC_x = WND_WIDTH / 20; + int textBC_y = anim.y + anim.height + UI_INTERVAL * 2; + CreateWindowEx(0, L"static", L"Background Color", WS_CHILD | WS_VISIBLE | ES_LEFT, + textBC_x, textBC_y, 120, TEXT_HEIGHT, hWnd, (HMENU)TEXT_FILENAME, hInst, 0); + + // radio button + // white + int white_x = WND_WIDTH / 20; + int white_y = textBC_y + TEXT_HEIGHT + half_ui_interval; + CreateWindowEx(0, L"button", L"White", WS_VISIBLE | WS_CHILD | BS_AUTORADIOBUTTON, + white_x, white_y, RDOBTN_WIDTH, RDOBTN_HEIGHT, hWnd, (HMENU)BTN_WHITE, hInst, NULL); + + // black + int black_x = white_x + RDOBTN_WIDTH + half_ui_interval; + int black_y = white_y; + CreateWindowEx(0, L"button", L"Black", WS_VISIBLE | WS_CHILD | BS_AUTORADIOBUTTON, + black_x, black_y, RDOBTN_WIDTH, RDOBTN_HEIGHT, hWnd, (HMENU)BTN_BLACK, hInst, NULL); + + // red + int red_x = black_x + RDOBTN_WIDTH + half_ui_interval; + int red_y = white_y; + CreateWindowEx(0, L"button", L"Red", WS_VISIBLE | WS_CHILD | BS_AUTORADIOBUTTON, + red_x, red_y, RDOBTN_WIDTH, RDOBTN_HEIGHT, hWnd, (HMENU)BTN_RED, hInst, NULL); + + // green + int green_x = red_x + RDOBTN_WIDTH + half_ui_interval; + int green_y = white_y; + CreateWindowEx(0, L"button", L"Green", WS_VISIBLE | WS_CHILD | BS_AUTORADIOBUTTON, + green_x, green_y, RDOBTN_WIDTH, RDOBTN_HEIGHT, hWnd, (HMENU)BTN_GREEN, hInst, NULL); + + // blue + int blue_x = green_x + RDOBTN_WIDTH + half_ui_interval; + int blue_y = white_y; + CreateWindowEx(0, L"button", L"Blue", WS_VISIBLE | WS_CHILD | BS_AUTORADIOBUTTON, + blue_x, blue_y, RDOBTN_WIDTH, RDOBTN_HEIGHT, hWnd, (HMENU)BTN_BLUE, hInst, NULL); + + CheckRadioButton(hWnd, BTN_WHITE, BTN_BLUE, BTN_WHITE); + + // text Canvas Resize + int textCR_x = WND_WIDTH / 2; + int textCR_y = textBC_y; + CreateWindowEx(0, L"static", L"Canvas Resize", WS_CHILD | WS_VISIBLE | ES_LEFT, + textCR_x, textCR_y, 120, TEXT_HEIGHT, hWnd, (HMENU)TEXT_FILENAME, hInst, 0); + + // slider Canvas Resize + int sliderCR_x = textCR_x; + int sliderCR_y = textCR_y + TEXT_HEIGHT + half_ui_interval; + hSliderCanvasResize = CreateWindowExW(0, TRACKBAR_CLASSW, NULL, WS_CHILD | WS_VISIBLE | TBS_FIXEDLENGTH | TBS_NOTICKS, + sliderCR_x, sliderCR_y, WND_WIDTH * 0.2, SLIDER_HEIGHT, hWnd, (HMENU)SLIDER_CANVAS_RESIZE, hInst, NULL); + + // init resize slider + UINT sizeSlider = anim.width / RESIZE_LENGTH; + SendMessage(hSliderCanvasResize, TBM_SETRANGE, FALSE, MAKELPARAM(0, sizeSlider)); + SendMessage(hSliderCanvasResize, TBM_SETPOS, TRUE, sizeSlider); + + // button play + int btnPlay_x = WND_WIDTH / 10; + int btnPlay_y = red_y + RDOBTN_HEIGHT + UI_INTERVAL * 2; + hBtnPlay = CreateWindow(L"button", L"Play", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, + btnPlay_x, btnPlay_y, BTN_WIDTH, BTN_HEIGHT, hWnd, (HMENU)BTN_PLAY, hInst, NULL); + + // slider play + int sliderPlay_x = btnPlay_x + BTN_WIDTH + UI_INTERVAL; + int sliderPlay_y = btnPlay_y; + hSliderPlay = CreateWindowExW(0, TRACKBAR_CLASSW, NULL, WS_CHILD | WS_VISIBLE | TBS_FIXEDLENGTH | TBS_NOTICKS, + sliderPlay_x, sliderPlay_y, WND_WIDTH * 0.6, SLIDER_HEIGHT, hWnd, (HMENU)SLIDER_PLAY, hInst, NULL); +} + +void resizeCanvas(HWND hWnd, int resizeValue) +{ + isViewChanged = true; + anim.x += resizeValue / 2; + anim.y += resizeValue / 2; + anim.width -= resizeValue; + anim.height -= resizeValue; + InvalidateRect(hWnd, &animRect, TRUE); +} + +void changeBackgroundColor(int r, int g, int b) +{ + isViewChanged = true; + backColor = Gdiplus::Color(r * 255, g * 255, b * 255); + if (r + g + b == 0) borderColor = Gdiplus::Color(255, 255, 255); + else borderColor = Gdiplus::Color(0, 0, 0); + setAnimationColor(r, g, b); + renderAnimation(curFrame); + InvalidateRect(mainWindow, &backRect, FALSE); +} \ No newline at end of file diff --git a/example/win32Player/rlottiePlayer.exe b/example/win32Player/rlottiePlayer.exe new file mode 100644 index 0000000000000000000000000000000000000000..b52a4cb77c726702eb03e0adfe8df830ee24a88e GIT binary patch literal 244224 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 F{{hNbt // OPENFILENAME +#include "atlconv.h" // String cast. (ex. LPWSTR <-> LPSTR) +#include +#include // slider handle + +// interval +#define UI_INTERVAL 20 + +// length +#define WND_WIDTH 1000 +#define WND_HEIGHT 800 +#define BMP_MAX_LEN 500 +#define BTN_WIDTH 100 +#define BTN_HEIGHT 30 +#define TEXT_HEIGHT 20 +#define SLIDER_HEIGHT 25 +#define RDOBTN_WIDTH 60 +#define RDOBTN_HEIGHT 20 +#define RESIZE_LENGTH 10 + +typedef struct RlottieBitmap +{ + Gdiplus::Bitmap* image = NULL; + int x = 0; + int y = 0; + unsigned int width = 0; + unsigned int height = 0; +}RlottieBitmap; \ No newline at end of file diff --git a/example/win32Player/rlottiePlayer.ico b/example/win32Player/rlottiePlayer.ico new file mode 100644 index 0000000000000000000000000000000000000000..b3ec03bd617f32e58128fa977fd6ac9605124f4b GIT binary patch literal 46227 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 yqsyw{UDO)}L@cL-fxA$C?te4#II}S+P*)k=< + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {cc7ad634-4d29-4d8e-997d-9727dabb44ee} + rlottiePlayer + 10.0 + + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + false + + + true + ..\..\inc;$(IncludePath) + + + false + ..\..\inc;$(IncludePath) + + + + Level3 + true + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + + + Windows + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + + + Windows + true + true + true + + + + + Level3 + true + _DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + + + Windows + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;rlottie.lib;gdiplus.lib;%(AdditionalDependencies) + + + + + Level3 + true + true + true + NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + + + Windows + true + true + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;rlottie.lib;gdiplus.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/example/win32Player/rlottiePlayer.vcxproj.filters b/example/win32Player/rlottiePlayer.vcxproj.filters new file mode 100644 index 000000000..c8cf65baa --- /dev/null +++ b/example/win32Player/rlottiePlayer.vcxproj.filters @@ -0,0 +1,55 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + + + Resource Files + + + + + Resource Files + + + Resource Files + + + \ No newline at end of file diff --git a/example/win32Player/rlottiePlayer.vcxproj.user b/example/win32Player/rlottiePlayer.vcxproj.user new file mode 100644 index 000000000..88a550947 --- /dev/null +++ b/example/win32Player/rlottiePlayer.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/example/win32Player/small.ico b/example/win32Player/small.ico new file mode 100644 index 0000000000000000000000000000000000000000..b3ec03bd617f32e58128fa977fd6ac9605124f4b GIT binary patch literal 46227 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 diff --git a/format b/format new file mode 100755 index 000000000..c5630b483 --- /dev/null +++ b/format @@ -0,0 +1 @@ +git diff -U0 --no-color HEAD^ | clang-format-diff -i -p1 \ No newline at end of file diff --git a/inc/rlottie.h b/inc/rlottie.h index 12c413bf6..67565691c 100644 --- a/inc/rlottie.h +++ b/inc/rlottie.h @@ -108,11 +108,11 @@ enum class Property { FillOpacity, /*!< Opacity property of Fill object , value type is float [ 0 .. 100] */ StrokeColor, /*!< Color property of Stroke object , value type is rlottie::Color */ StrokeOpacity, /*!< Opacity property of Stroke object , value type is float [ 0 .. 100] */ - StrokeWidth, /*!< stroke with property of Stroke object , value type is float */ + StrokeWidth, /*!< stroke width property of Stroke object , value type is float */ TrAnchor, /*!< Transform Anchor property of Layer and Group object , value type is rlottie::Point */ TrPosition, /*!< Transform Position property of Layer and Group object , value type is rlottie::Point */ TrScale, /*!< Transform Scale property of Layer and Group object , value type is rlottie::Size. range[0 ..100] */ - TrRotation, /*!< Transform Scale property of Layer and Group object , value type is float. range[0 .. 360] in degrees*/ + TrRotation, /*!< Transform Rotation property of Layer and Group object , value type is float. range[0 .. 360] in degrees*/ TrOpacity /*!< Transform Opacity property of Layer and Group object , value type is float [ 0 .. 100] */ }; diff --git a/inc/rlottie_capi.h b/inc/rlottie_capi.h index 9bdf336f8..80907ae67 100644 --- a/inc/rlottie_capi.h +++ b/inc/rlottie_capi.h @@ -25,7 +25,7 @@ #include #include -#include +#include "rlottiecommon.h" #ifdef __cplusplus extern "C" { @@ -46,6 +46,36 @@ typedef enum { typedef struct Lottie_Animation_S Lottie_Animation; +/** + * @brief Runs lottie initialization code when rlottie library is loaded + * dynamically. + * + * + * This api should be called before any other api when rlottie library + * is loaded using dlopen() or equivalent. + * + * @see lottie_shutdown() + * + * @ingroup Lottie_Animation + * @internal + */ +RLOTTIE_API void lottie_init(void); + +/** + * @brief Runs lottie teardown code when rlottie library is loaded + * dynamically. + * + * This api should be called before unloading the rlottie library for + * proper cleanup of the resource without doing so will result in undefined + * behaviour. + * + * @see lottie_init() + * + * @ingroup Lottie_Animation + * @internal + */ +RLOTTIE_API void lottie_shutdown(void); + /** * @brief Constructs an animation object from file path. * @@ -274,6 +304,23 @@ RLOTTIE_API void lottie_animation_property_override(Lottie_Animation *animation, * */ RLOTTIE_API const LOTMarkerList* lottie_animation_get_markerlist(Lottie_Animation *animation); +/** + * @brief Configures rlottie model cache policy. + * + * Provides Library level control to configure model cache + * policy. Setting it to 0 will disable + * the cache as well as flush all the previously cached content. + * + * @param[in] cacheSize Maximum Model Cache size. + * + * @note to disable Caching configure with 0 size. + * @note to flush the current Cache content configure it with 0 and + * then reconfigure with the new size. + * + * @internal + */ +RLOTTIE_API void lottie_configure_model_cache_size(size_t cacheSize); + #ifdef __cplusplus } #endif diff --git a/packaging/rlottie.spec b/packaging/rlottie.spec index c757a1fee..55cdee8e9 100644 --- a/packaging/rlottie.spec +++ b/packaging/rlottie.spec @@ -10,7 +10,7 @@ Version: 0.2 Release: %mkrel %{?git:-c git%{git}} %{rel} Summary: Platform independent standalone library that plays Lottie Animation Group: System/Libraries -License: MIT and BSD +License: MIT and BSD and MPL-2.0 URL: http://www.tizen.org/ Source0: https://github.com/Samsung/rlottie/archive/master/%{name}-%{version}%{?git:-git%{git}}.tar.gz diff --git a/src/binding/c/lottieanimation_capi.cpp b/src/binding/c/lottieanimation_capi.cpp index 2434b5faa..53ca7bda5 100644 --- a/src/binding/c/lottieanimation_capi.cpp +++ b/src/binding/c/lottieanimation_capi.cpp @@ -26,6 +26,9 @@ using namespace rlottie; +extern void lottie_init_impl(); +extern void lottie_shutdown_impl(); + extern "C" { #include #include @@ -38,6 +41,34 @@ struct Lottie_Animation_S LOTMarkerList *mMarkerList; }; +static uint32_t _lottie_lib_ref_count = 0; + +RLOTTIE_API void lottie_init(void) +{ + if (_lottie_lib_ref_count > 0) { + _lottie_lib_ref_count++; + return; + } + lottie_init_impl(); + + _lottie_lib_ref_count = 1; +} + +RLOTTIE_API void lottie_shutdown(void) +{ + if (_lottie_lib_ref_count <= 0) { + // lottie_init() is not called before lottie_shutdown() + // or multiple shutdown is getting called. + return; + } + + _lottie_lib_ref_count--; + + if (_lottie_lib_ref_count == 0) { + lottie_shutdown_impl(); + } +} + RLOTTIE_API Lottie_Animation_S *lottie_animation_from_file(const char *path) { if (auto animation = Animation::loadFromFile(path) ) { @@ -275,4 +306,10 @@ lottie_animation_get_markerlist(Lottie_Animation_S *animation) return (const LOTMarkerList*)animation->mMarkerList; } +RLOTTIE_API void +lottie_configure_model_cache_size(size_t cacheSize) +{ + rlottie::configureModelCacheSize(cacheSize); +} + } diff --git a/src/lottie/lottieanimation.cpp b/src/lottie/lottieanimation.cpp index 601c065c3..afcc400bc 100644 --- a/src/lottie/lottieanimation.cpp +++ b/src/lottie/lottieanimation.cpp @@ -178,20 +178,29 @@ class RenderTaskScheduler { for (unsigned n = 0; n != _count; ++n) { _threads.emplace_back([&, n] { run(n); }); } + + IsRunning = true; } public: + static bool IsRunning; + static RenderTaskScheduler &instance() { static RenderTaskScheduler singleton; return singleton; } - ~RenderTaskScheduler() - { - for (auto &e : _q) e.done(); + ~RenderTaskScheduler() { stop(); } - for (auto &e : _threads) e.join(); + void stop() + { + if (IsRunning) { + IsRunning = false; + + for (auto &e : _q) e.done(); + for (auto &e : _threads) e.join(); + } } std::future process(SharedRenderTask task) @@ -214,12 +223,16 @@ public: #else class RenderTaskScheduler { public: + static bool IsRunning; + static RenderTaskScheduler &instance() { static RenderTaskScheduler singleton; return singleton; } + void stop() {} + std::future process(SharedRenderTask task) { auto result = task->playerImpl->render(task->frameNo, task->surface, @@ -228,8 +241,11 @@ public: return std::move(task->receiver); } }; + #endif +bool RenderTaskScheduler::IsRunning{false}; + std::future AnimationImpl::renderAsync(size_t frameNo, Surface &&surface, bool keepAspectRatio) @@ -441,6 +457,29 @@ void Surface::setDrawRegion(size_t x, size_t y, size_t width, size_t height) mDrawArea.h = height; } +namespace { +void lottieShutdownRenderTaskScheduler() +{ + if (RenderTaskScheduler::IsRunning) { + RenderTaskScheduler::instance().stop(); + } +} +} // namespace + +// private apis exposed to c interface +void lottie_init_impl() +{ + // do nothing for now. +} + +extern void lottieShutdownRasterTaskScheduler(); + +void lottie_shutdown_impl() +{ + lottieShutdownRenderTaskScheduler(); + lottieShutdownRasterTaskScheduler(); +} + #ifdef LOTTIE_LOGGING_SUPPORT void initLogging() { diff --git a/src/lottie/lottiefiltermodel.h b/src/lottie/lottiefiltermodel.h index b2b98b190..4f78c11a3 100644 --- a/src/lottie/lottiefiltermodel.h +++ b/src/lottie/lottiefiltermodel.h @@ -238,7 +238,7 @@ class FilterData { public: void addValue(LOTVariant& value) { - uint index = static_cast(value.property()); + uint32_t index = static_cast(value.property()); if (mBitset.test(index)) { std::replace_if(mFilters.begin(), mFilters.end(), [&value](const LOTVariant& e) { @@ -253,7 +253,7 @@ public: void removeValue(LOTVariant& value) { - uint index = static_cast(value.property()); + uint32_t index = static_cast(value.property()); if (mBitset.test(index)) { mBitset.reset(index); mFilters.erase(std::remove_if(mFilters.begin(), mFilters.end(), @@ -266,7 +266,7 @@ public: } bool hasFilter(rlottie::Property prop) const { - return mBitset.test(static_cast(prop)); + return mBitset.test(static_cast(prop)); } model::Color color(rlottie::Property prop, int frame) const { diff --git a/src/lottie/lottieitem.cpp b/src/lottie/lottieitem.cpp index 7cd25ccd7..cb1bc2cdd 100644 --- a/src/lottie/lottieitem.cpp +++ b/src/lottie/lottieitem.cpp @@ -149,9 +149,9 @@ bool renderer::Composition::update(int frameNo, const VSize &size, bool renderer::Composition::render(const rlottie::Surface &surface) { - mSurface.reset(reinterpret_cast(surface.buffer()), - uint(surface.width()), uint(surface.height()), - uint(surface.bytesPerLine()), + mSurface.reset(reinterpret_cast(surface.buffer()), + uint32_t(surface.width()), uint32_t(surface.height()), + uint32_t(surface.bytesPerLine()), VBitmap::Format::ARGB32_Premultiplied); /* schedule all preprocess task for this frame at once. @@ -200,7 +200,7 @@ VRle renderer::Mask::rle() { if (!vCompare(mCombinedAlpha, 1.0f)) { VRle obj = mRasterizer.rle(); - obj *= uchar(mCombinedAlpha * 255); + obj *= uint8_t(mCombinedAlpha * 255); return obj; } else { return mRasterizer.rle(); @@ -343,7 +343,7 @@ renderer::Layer::Layer(model::Layer *layerData) : mLayerData(layerData) mLayerMask = std::make_unique(mLayerData); } -bool renderer::Layer::resolveKeyPath(LOTKeyPath &keyPath, uint depth, +bool renderer::Layer::resolveKeyPath(LOTKeyPath &keyPath, uint32_t depth, LOTVariant &value) { if (!keyPath.matches(name(), depth)) { @@ -359,12 +359,12 @@ bool renderer::Layer::resolveKeyPath(LOTKeyPath &keyPath, uint depth, return true; } -bool renderer::ShapeLayer::resolveKeyPath(LOTKeyPath &keyPath, uint depth, +bool renderer::ShapeLayer::resolveKeyPath(LOTKeyPath &keyPath, uint32_t depth, LOTVariant &value) { if (renderer::Layer::resolveKeyPath(keyPath, depth, value)) { if (keyPath.propagate(name(), depth)) { - uint newDepth = keyPath.nextDepth(name(), depth); + uint32_t newDepth = keyPath.nextDepth(name(), depth); mRoot->resolveKeyPath(keyPath, newDepth, value); } return true; @@ -372,12 +372,12 @@ bool renderer::ShapeLayer::resolveKeyPath(LOTKeyPath &keyPath, uint depth, return false; } -bool renderer::CompLayer::resolveKeyPath(LOTKeyPath &keyPath, uint depth, +bool renderer::CompLayer::resolveKeyPath(LOTKeyPath &keyPath, uint32_t depth, LOTVariant &value) { if (renderer::Layer::resolveKeyPath(keyPath, depth, value)) { if (keyPath.propagate(name(), depth)) { - uint newDepth = keyPath.nextDepth(name(), depth); + uint32_t newDepth = keyPath.nextDepth(name(), depth); for (const auto &layer : mLayers) { layer->resolveKeyPath(keyPath, newDepth, value); } @@ -507,7 +507,7 @@ void renderer::CompLayer::render(VPainter *painter, const VRle &inheritMask, renderHelper(&srcPainter, inheritMask, matteRle, cache); srcPainter.end(); painter->drawBitmap(VPoint(), srcBitmap, - uchar(combinedAlpha() * 255.0f)); + uint8_t(combinedAlpha() * 255.0f)); cache.release_surface(srcBitmap); } else { renderHelper(painter, inheritMask, matteRle, cache); @@ -597,11 +597,21 @@ void renderer::CompLayer::renderMatteLayer(VPainter *painter, const VRle &mask, srcBitmap.updateLuma(); } + auto clip = layerPainter.clipBoundingRect(); + + // if the layer has only one renderer then use it as the clip rect + // when blending 2 buffer and copy back to final buffer to avoid + // unnecessary pixel processing. + if (layer->renderList().size() == 1) + { + clip = layer->renderList()[0]->rle().boundingRect(); + } + // 2.3 draw src buffer as mask - layerPainter.drawBitmap(VPoint(), srcBitmap); + layerPainter.drawBitmap(clip, srcBitmap, clip); layerPainter.end(); // 3. draw the result buffer into painter - painter->drawBitmap(VPoint(), layerBitmap); + painter->drawBitmap(clip, layerBitmap, clip); cache.release_surface(srcBitmap); cache.release_surface(layerBitmap); @@ -853,7 +863,7 @@ renderer::DrawableList renderer::ShapeLayer::renderList() return {mDrawableList.data(), mDrawableList.size()}; } -bool renderer::Group::resolveKeyPath(LOTKeyPath &keyPath, uint depth, +bool renderer::Group::resolveKeyPath(LOTKeyPath &keyPath, uint32_t depth, LOTVariant &value) { if (!keyPath.skip(name())) { @@ -870,7 +880,7 @@ bool renderer::Group::resolveKeyPath(LOTKeyPath &keyPath, uint depth, } if (keyPath.propagate(name(), depth)) { - uint newDepth = keyPath.nextDepth(name(), depth); + uint32_t newDepth = keyPath.nextDepth(name(), depth); for (auto &child : mContents) { child->resolveKeyPath(keyPath, newDepth, value); } @@ -878,7 +888,7 @@ bool renderer::Group::resolveKeyPath(LOTKeyPath &keyPath, uint depth, return true; } -bool renderer::Fill::resolveKeyPath(LOTKeyPath &keyPath, uint depth, +bool renderer::Fill::resolveKeyPath(LOTKeyPath &keyPath, uint32_t depth, LOTVariant &value) { if (!keyPath.matches(mModel.name(), depth)) { @@ -893,7 +903,7 @@ bool renderer::Fill::resolveKeyPath(LOTKeyPath &keyPath, uint depth, return false; } -bool renderer::Stroke::resolveKeyPath(LOTKeyPath &keyPath, uint depth, +bool renderer::Stroke::resolveKeyPath(LOTKeyPath &keyPath, uint32_t depth, LOTVariant &value) { if (!keyPath.matches(mModel.name(), depth)) { @@ -1097,7 +1107,7 @@ void renderer::Rect::updatePath(VPath &path, int frameNo) { VPointF pos = mData->mPos.value(frameNo); VPointF size = mData->mSize.value(frameNo); - float roundness = mData->mRound.value(frameNo); + float roundness = mData->roundness(frameNo); VRectF r(pos.x() - size.x() / 2, pos.y() - size.y() / 2, size.x(), size.y()); diff --git a/src/lottie/lottieitem.h b/src/lottie/lottieitem.h index 1fcb561b9..001ce667c 100644 --- a/src/lottie/lottieitem.h +++ b/src/lottie/lottieitem.h @@ -80,7 +80,7 @@ namespace renderer { using DrawableList = VSpan; -enum class DirtyFlagBit : uchar { +enum class DirtyFlagBit : uint8_t { None = 0x00, Matrix = 0x01, Alpha = 0x02, @@ -239,8 +239,8 @@ public: std::vector & cmasks() { return mCApiData->mMasks; } std::vector & cnodes() { return mCApiData->mCNodeList; } const char * name() const { return mLayerData->name(); } - virtual bool resolveKeyPath(LOTKeyPath &keyPath, uint depth, - LOTVariant &value); + virtual bool resolveKeyPath(LOTKeyPath &keyPath, uint32_t depth, + LOTVariant &value); protected: virtual void preprocessStage(const VRect &clip) = 0; @@ -275,7 +275,7 @@ public: void render(VPainter *painter, const VRle &mask, const VRle &matteRle, SurfaceCache &cache) final; void buildLayerNode() final; - bool resolveKeyPath(LOTKeyPath &keyPath, uint depth, + bool resolveKeyPath(LOTKeyPath &keyPath, uint32_t depth, LOTVariant &value) override; protected: @@ -317,7 +317,7 @@ public: explicit ShapeLayer(model::Layer *layerData, VArenaAlloc *allocator); DrawableList renderList() final; void buildLayerNode() final; - bool resolveKeyPath(LOTKeyPath &keyPath, uint depth, + bool resolveKeyPath(LOTKeyPath &keyPath, uint32_t depth, LOTVariant &value) override; protected: @@ -355,13 +355,13 @@ private: class Object { public: - enum class Type : uchar { Unknown, Group, Shape, Paint, Trim }; + enum class Type : uint8_t { Unknown, Group, Shape, Paint, Trim }; virtual ~Object() = default; Object & operator=(Object &&) noexcept = delete; virtual void update(int frameNo, const VMatrix &parentMatrix, float parentAlpha, const DirtyFlag &flag) = 0; virtual void renderList(std::vector &) {} - virtual bool resolveKeyPath(LOTKeyPath &, uint, LOTVariant &) + virtual bool resolveKeyPath(LOTKeyPath &, uint32_t, LOTVariant &) { return false; } @@ -387,7 +387,7 @@ public: static const char *TAG = "__"; return mModel.hasModel() ? mModel.name() : TAG; } - bool resolveKeyPath(LOTKeyPath &keyPath, uint depth, + bool resolveKeyPath(LOTKeyPath &keyPath, uint32_t depth, LOTVariant &value) override; protected: @@ -449,7 +449,7 @@ protected: { return (mData->mPos.changed(prevFrame, curFrame) || mData->mSize.changed(prevFrame, curFrame) || - mData->mRound.changed(prevFrame, curFrame)); + mData->roundnessChanged(prevFrame, curFrame)); } }; @@ -532,7 +532,7 @@ public: protected: bool updateContent(int frameNo, const VMatrix &matrix, float alpha) final; - bool resolveKeyPath(LOTKeyPath &keyPath, uint depth, + bool resolveKeyPath(LOTKeyPath &keyPath, uint32_t depth, LOTVariant &value) final; private: @@ -557,7 +557,7 @@ public: protected: bool updateContent(int frameNo, const VMatrix &matrix, float alpha) final; - bool resolveKeyPath(LOTKeyPath &keyPath, uint depth, + bool resolveKeyPath(LOTKeyPath &keyPath, uint32_t depth, LOTVariant &value) final; private: diff --git a/src/lottie/lottieitem_capi.cpp b/src/lottie/lottieitem_capi.cpp index a4d8546f5..31ca54a68 100644 --- a/src/lottie/lottieitem_capi.cpp +++ b/src/lottie/lottieitem_capi.cpp @@ -88,7 +88,7 @@ void renderer::Layer::buildLayerNode() mCApiData = std::make_unique(); clayer().keypath = name(); } - if (complexContent()) clayer().mAlpha = uchar(combinedAlpha() * 255.f); + if (complexContent()) clayer().mAlpha = uint8_t(combinedAlpha() * 255.f); clayer().mVisible = visible(); // update matte if (hasMatte()) { @@ -121,10 +121,10 @@ void renderer::Layer::buildLayerNode() auto ptPtr = reinterpret_cast(pts.data()); auto elmPtr = reinterpret_cast(elm.data()); cNode.mPath.ptPtr = ptPtr; - cNode.mPath.ptCount = pts.size(); + cNode.mPath.ptCount = 2 * pts.size(); cNode.mPath.elmPtr = elmPtr; cNode.mPath.elmCount = elm.size(); - cNode.mAlpha = uchar(mask.mCombinedAlpha * 255.0f); + cNode.mAlpha = uint8_t(mask.mCombinedAlpha * 255.0f); switch (mask.maskMode()) { case model::Mask::Mode::Add: cNode.mMode = MaskAdd; @@ -196,7 +196,7 @@ void renderer::ImageLayer::buildLayerNode() // Alpha calculation already combined. lotDrawable->mCNode->mImageInfo.mAlpha = - uchar(lotDrawable->mBrush.mTexture->mAlpha); + uint8_t(lotDrawable->mBrush.mTexture->mAlpha); cnodes().push_back(lotDrawable->mCNode.get()); } @@ -216,7 +216,7 @@ static void updateGStops(LOTNode *n, const VGradient *grad) LOTGradientStop *ptr = n->mGradient.stopPtr; for (const auto &i : grad->mStops) { ptr->pos = i.first; - ptr->a = uchar(i.second.alpha() * grad->alpha()); + ptr->a = uint8_t(i.second.alpha() * grad->alpha()); ptr->r = i.second.red(); ptr->g = i.second.green(); ptr->b = i.second.blue(); diff --git a/src/lottie/lottiekeypath.cpp b/src/lottie/lottiekeypath.cpp index e8b6c6aef..21b01aac2 100644 --- a/src/lottie/lottiekeypath.cpp +++ b/src/lottie/lottiekeypath.cpp @@ -12,7 +12,7 @@ LOTKeyPath::LOTKeyPath(const std::string &keyPath) } } -bool LOTKeyPath::matches(const std::string &key, uint depth) +bool LOTKeyPath::matches(const std::string &key, uint32_t depth) { if (skip(key)) { // This is an object we programatically create. @@ -28,7 +28,7 @@ bool LOTKeyPath::matches(const std::string &key, uint depth) return false; } -uint LOTKeyPath::nextDepth(const std::string key, uint depth) +uint32_t LOTKeyPath::nextDepth(const std::string key, uint32_t depth) { if (skip(key)) { // If it's a container then we added programatically and it isn't a part @@ -51,7 +51,7 @@ uint LOTKeyPath::nextDepth(const std::string key, uint depth) return depth; } -bool LOTKeyPath::fullyResolvesTo(const std::string key, uint depth) +bool LOTKeyPath::fullyResolvesTo(const std::string key, uint32_t depth) { if (depth > mKeys.size()) { return false; diff --git a/src/lottie/lottiekeypath.h b/src/lottie/lottiekeypath.h index 0b59b161f..2c53287ef 100644 --- a/src/lottie/lottiekeypath.h +++ b/src/lottie/lottiekeypath.h @@ -30,19 +30,19 @@ class LOTKeyPath { public: LOTKeyPath(const std::string &keyPath); - bool matches(const std::string &key, uint depth); - uint nextDepth(const std::string key, uint depth); - bool fullyResolvesTo(const std::string key, uint depth); + bool matches(const std::string &key, uint32_t depth); + uint32_t nextDepth(const std::string key, uint32_t depth); + bool fullyResolvesTo(const std::string key, uint32_t depth); - bool propagate(const std::string key, uint depth) + bool propagate(const std::string key, uint32_t depth) { return skip(key) ? true : (depth < size()) || (mKeys[depth] == "**"); } bool skip(const std::string &key) const { return key == "__"; } private: - bool isGlobstar(uint depth) const { return mKeys[depth] == "**"; } - bool isGlob(uint depth) const { return mKeys[depth] == "*"; } + bool isGlobstar(uint32_t depth) const { return mKeys[depth] == "**"; } + bool isGlob(uint32_t depth) const { return mKeys[depth] == "*"; } bool endsWithGlobstar() const { return mKeys.back() == "**"; } size_t size() const { return mKeys.size() - 1; } diff --git a/src/lottie/lottiemodel.cpp b/src/lottie/lottiemodel.cpp index e2b48e64b..1bca99d2e 100644 --- a/src/lottie/lottiemodel.cpp +++ b/src/lottie/lottiemodel.cpp @@ -205,7 +205,7 @@ void model::Dash::getDashInfo(int frameNo, std::vector &result) const { result.clear(); - if (mData.empty()) return; + if (mData.size() <= 1) return; if (result.capacity() < mData.size()) result.reserve(mData.size() + 1); @@ -256,52 +256,12 @@ void model::Gradient::populate(VGradientStops &stops, int frameNo) auto opacityArraySize = size - colorPoints * 4; float *opacityPtr = ptr + (colorPoints * 4); stops.clear(); - size_t j = 0; for (int i = 0; i < colorPoints; i++) { float colorStop = ptr[0]; model::Color color = model::Color(ptr[1], ptr[2], ptr[3]); if (opacityArraySize) { - if (j == opacityArraySize) { - // already reached the end - float stop1 = opacityPtr[j - 4]; - float op1 = opacityPtr[j - 3]; - float stop2 = opacityPtr[j - 2]; - float op2 = opacityPtr[j - 1]; - if (colorStop > stop2) { - stops.push_back( - std::make_pair(colorStop, color.toColor(op2))); - } else { - float progress = (colorStop - stop1) / (stop2 - stop1); - float opacity = op1 + progress * (op2 - op1); - stops.push_back( - std::make_pair(colorStop, color.toColor(opacity))); - } - continue; - } - for (; j < opacityArraySize; j += 2) { - float opacityStop = opacityPtr[j]; - if (opacityStop < colorStop) { - // add a color using opacity stop - stops.push_back(std::make_pair( - opacityStop, color.toColor(opacityPtr[j + 1]))); - continue; - } - // add a color using color stop - if (j == 0) { - stops.push_back(std::make_pair( - colorStop, color.toColor(opacityPtr[j + 1]))); - } else { - float progress = (colorStop - opacityPtr[j - 2]) / - (opacityPtr[j] - opacityPtr[j - 2]); - float opacity = - opacityPtr[j - 1] + - progress * (opacityPtr[j + 1] - opacityPtr[j - 1]); - stops.push_back( - std::make_pair(colorStop, color.toColor(opacity))); - } - j += 2; - break; - } + float opacity = getOpacityAtPosition(opacityPtr, opacityArraySize, colorStop); + stops.push_back(std::make_pair(colorStop, color.toColor(opacity))); } else { stops.push_back(std::make_pair(colorStop, color.toColor())); } @@ -309,6 +269,21 @@ void model::Gradient::populate(VGradientStops &stops, int frameNo) } } +float model::Gradient::getOpacityAtPosition(float *opacities, size_t opacityArraySize, float position) +{ + for (size_t i = 2; i < opacityArraySize; i += 2) + { + float lastPosition = opacities[i - 2]; + float thisPosition = opacities[i]; + if (opacities[i] >= position) { + float progress = (position - lastPosition) / (thisPosition - lastPosition); + progress = progress < 0.0f ? 0.0f : 1.0f < progress ? 1.0f : progress; //clamp(progress, 0, 1) + return opacities[i - 1] + progress * (opacities[i + 1] - opacities[i - 1]); + } + } + return 0.0f; +} + void model::Gradient::update(std::unique_ptr &grad, int frameNo) { bool init = false; diff --git a/src/lottie/lottiemodel.h b/src/lottie/lottiemodel.h index 851341476..3e0430853 100644 --- a/src/lottie/lottiemodel.h +++ b/src/lottie/lottiemodel.h @@ -57,9 +57,9 @@ inline T lerp(const T &start, const T &end, float t) namespace model { -enum class MatteType : uchar { None = 0, Alpha = 1, AlphaInv, Luma, LumaInv }; +enum class MatteType : uint8_t { None = 0, Alpha = 1, AlphaInv, Luma, LumaInv }; -enum class BlendMode : uchar { +enum class BlendMode : uint8_t { Normal = 0, Multiply = 1, Screen = 2, @@ -72,8 +72,8 @@ public: Color(float red, float green, float blue) : r(red), g(green), b(blue) {} VColor toColor(float a = 1) { - return VColor(uchar(255 * r), uchar(255 * g), uchar(255 * b), - uchar(255 * a)); + return VColor(uint8_t(255 * r), uint8_t(255 * g), uint8_t(255 * b), + uint8_t(255 * a)); } friend inline Color operator+(const Color &c1, const Color &c2); friend inline Color operator-(const Color &c1, const Color &c2); @@ -111,6 +111,11 @@ struct PathData { VPath &result) { result.reset(); + // test for empty animation data. + if (start.mPoints.empty() || end.mPoints.empty()) + { + return; + } auto size = std::min(start.mPoints.size(), end.mPoints.size()); /* reserve exact memory requirement at once * ptSize = size + 1(size + close) @@ -440,7 +445,8 @@ public: Path, Polystar, Trim, - Repeater + Repeater, + RoundedCorner }; explicit Object(Object::Type type) : mPtr(nullptr) @@ -661,7 +667,7 @@ public: class Layer : public Group { public: - enum class Type : uchar { + enum class Type : uint8_t { Precomp = 0, Solid = 1, Image = 2, @@ -670,6 +676,7 @@ public: Text = 5 }; Layer() : Group(Object::Type::Layer) {} + bool hasRoundedCorner() const noexcept { return mHasRoundedCorner; } bool hasPathOperator() const noexcept { return mHasPathOperator; } bool hasGradient() const noexcept { return mHasGradient; } bool hasMask() const noexcept { return mHasMask; } @@ -680,7 +687,10 @@ public: int inFrame() const noexcept { return mInFrame; } int outFrame() const noexcept { return mOutFrame; } int startFrame() const noexcept { return mStartFrame; } - Color solidColor() const noexcept { return mExtra->mSolidColor; } + Color solidColor() const noexcept + { + return mExtra ? mExtra->mSolidColor : Color(); + } bool autoOrient() const noexcept { return mAutoOrient; } int timeRemap(int frameNo) const; VSize layerSize() const { return mLayerSize; } @@ -694,10 +704,7 @@ public: { return mTransform ? mTransform->opacity(frameNo) : 1.0f; } - Asset *asset() const - { - return (mExtra && mExtra->mAsset) ? mExtra->mAsset : nullptr; - } + Asset *asset() const { return mExtra ? mExtra->mAsset : nullptr; } struct Extra { Color mSolidColor; std::string mPreCompRefId; @@ -717,6 +724,7 @@ public: MatteType mMatteType{MatteType::None}; Type mLayerType{Layer::Type::Null}; BlendMode mBlendMode{BlendMode::Normal}; + bool mHasRoundedCorner{false}; bool mHasPathOperator{false}; bool mHasMask{false}; bool mHasRepeater{false}; @@ -813,6 +821,7 @@ public: private: void populate(VGradientStops &stops, int frameNo); + float getOpacityAtPosition(float *opacities, size_t opacityArraySize, float position); public: int mGradientType{1}; /* "t" Linear=1 , Radial = 2*/ @@ -893,11 +902,30 @@ public: Property mShape; }; +class RoundedCorner : public Object { +public: + RoundedCorner() : Object(Object::Type::RoundedCorner) {} + float radius(int frameNo) const { return mRadius.value(frameNo);} +public: + Property mRadius{0}; +}; + class Rect : public Shape { public: Rect() : Shape(Object::Type::Rect) {} + float roundness(int frameNo) + { + return mRoundedCorner ? mRoundedCorner->radius(frameNo) : + mRound.value(frameNo); + } + bool roundnessChanged(int prevFrame, int curFrame) + { + return mRoundedCorner ? mRoundedCorner->mRadius.changed(prevFrame, curFrame) : + mRound.changed(prevFrame, curFrame); + } public: + RoundedCorner* mRoundedCorner{nullptr}; Property mPos; Property mSize; Property mRound{0}; diff --git a/src/lottie/lottieparser.cpp b/src/lottie/lottieparser.cpp index e5ef03774..83be17e39 100644 --- a/src/lottie/lottieparser.cpp +++ b/src/lottie/lottieparser.cpp @@ -145,6 +145,10 @@ public: return true; } + void Error() + { + st_ = kError; + } protected: explicit LookaheadParserHandler(char *str); @@ -191,6 +195,7 @@ public: int GetInt(); double GetDouble(); const char * GetString(); + std::string GetStringObject(); bool GetBool(); void GetNull(); @@ -228,6 +233,9 @@ public: model::Object * parseObjectTypeAttr(); model::Object * parseGroupObject(); model::Rect * parseRectObject(); + model::RoundedCorner * parseRoundedCorner(); + void updateRoundedCorner(model::Group *parent, model::RoundedCorner *rc); + model::Ellipse * parseEllipseObject(); model::Path * parseShapeObject(); model::Polystar *parsePolystarObject(); @@ -396,7 +404,6 @@ bool LottieParserImpl::EnterObject() { if (st_ != kEnteringObject) { st_ = kError; - RAPIDJSON_ASSERT(false); return false; } @@ -408,7 +415,6 @@ bool LottieParserImpl::EnterArray() { if (st_ != kEnteringArray) { st_ = kError; - RAPIDJSON_ASSERT(false); return false; } @@ -438,7 +444,6 @@ const char *LottieParserImpl::NextObjectKey() } if (st_ != kExitingObject) { - RAPIDJSON_ASSERT(false); st_ = kError; return nullptr; } @@ -462,7 +467,6 @@ bool LottieParserImpl::NextArrayValue() } if (st_ == kError || st_ == kHasKey) { - RAPIDJSON_ASSERT(false); st_ = kError; return false; } @@ -474,7 +478,6 @@ int LottieParserImpl::GetInt() { if (st_ != kHasNumber || !v_.IsInt()) { st_ = kError; - RAPIDJSON_ASSERT(false); return 0; } @@ -487,7 +490,6 @@ double LottieParserImpl::GetDouble() { if (st_ != kHasNumber) { st_ = kError; - RAPIDJSON_ASSERT(false); return 0.; } @@ -500,7 +502,6 @@ bool LottieParserImpl::GetBool() { if (st_ != kHasBool) { st_ = kError; - RAPIDJSON_ASSERT(false); return false; } @@ -523,7 +524,6 @@ const char *LottieParserImpl::GetString() { if (st_ != kHasString) { st_ = kError; - RAPIDJSON_ASSERT(false); return nullptr; } @@ -532,6 +532,17 @@ const char *LottieParserImpl::GetString() return result; } +std::string LottieParserImpl::GetStringObject() +{ + auto str = GetString(); + + if (str) { + return std::string(str); + } + + return {}; +} + void LottieParserImpl::SkipOut(int depth) { do { @@ -540,7 +551,6 @@ void LottieParserImpl::SkipOut(int depth) } else if (st_ == kExitingArray || st_ == kExitingObject) { --depth; } else if (st_ == kError) { - RAPIDJSON_ASSERT(false); return; } @@ -606,7 +616,6 @@ void LottieParserImpl::Skip(const char * /*key*/) model::BlendMode LottieParserImpl::getBlendMode() { - RAPIDJSON_ASSERT(PeekType() == kNumberType); auto mode = model::BlendMode::Normal; switch (GetInt()) { @@ -643,7 +652,6 @@ void LottieParserImpl::resolveLayerRefs() void LottieParserImpl::parseComposition() { - RAPIDJSON_ASSERT(PeekType() == kObjectType); EnterObject(); std::shared_ptr sharedComposition = std::make_shared(); @@ -651,22 +659,16 @@ void LottieParserImpl::parseComposition() compRef = comp; while (const char *key = NextObjectKey()) { if (0 == strcmp(key, "v")) { - RAPIDJSON_ASSERT(PeekType() == kStringType); - comp->mVersion = std::string(GetString()); + comp->mVersion = GetStringObject(); } else if (0 == strcmp(key, "w")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); comp->mSize.setWidth(GetInt()); } else if (0 == strcmp(key, "h")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); comp->mSize.setHeight(GetInt()); } else if (0 == strcmp(key, "ip")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); comp->mStartFrame = GetDouble(); } else if (0 == strcmp(key, "op")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); comp->mEndFrame = GetDouble(); } else if (0 == strcmp(key, "fr")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); comp->mFrameRate = GetDouble(); } else if (0 == strcmp(key, "assets")) { parseAssets(comp); @@ -686,6 +688,10 @@ void LottieParserImpl::parseComposition() // don't have a valid bodymovin header return; } + if (comp->mStartFrame > comp->mEndFrame) { + // reveresed animation? missing data? + return; + } if (!IsValid()) { return; } @@ -700,20 +706,16 @@ void LottieParserImpl::parseComposition() void LottieParserImpl::parseMarker() { - RAPIDJSON_ASSERT(PeekType() == kObjectType); EnterObject(); std::string comment; int timeframe{0}; int duration{0}; while (const char *key = NextObjectKey()) { if (0 == strcmp(key, "cm")) { - RAPIDJSON_ASSERT(PeekType() == kStringType); - comment = std::string(GetString()); + comment = GetStringObject(); } else if (0 == strcmp(key, "tm")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); timeframe = GetDouble(); } else if (0 == strcmp(key, "dr")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); duration = GetDouble(); } else { @@ -729,7 +731,6 @@ void LottieParserImpl::parseMarker() void LottieParserImpl::parseMarkers() { - RAPIDJSON_ASSERT(PeekType() == kArrayType); EnterArray(); while (NextArrayValue()) { parseMarker(); @@ -739,7 +740,6 @@ void LottieParserImpl::parseMarkers() void LottieParserImpl::parseAssets(model::Composition *composition) { - RAPIDJSON_ASSERT(PeekType() == kArrayType); EnterArray(); while (NextArrayValue()) { auto asset = parseAsset(); @@ -815,8 +815,6 @@ static std::string toString(const T &value) */ model::Asset *LottieParserImpl::parseAsset() { - RAPIDJSON_ASSERT(PeekType() == kObjectType); - auto asset = allocator().make(); std::string filename; std::string relativePath; @@ -824,30 +822,24 @@ model::Asset *LottieParserImpl::parseAsset() EnterObject(); while (const char *key = NextObjectKey()) { if (0 == strcmp(key, "w")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); asset->mWidth = GetInt(); } else if (0 == strcmp(key, "h")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); asset->mHeight = GetInt(); } else if (0 == strcmp(key, "p")) { /* image name */ asset->mAssetType = model::Asset::Type::Image; - RAPIDJSON_ASSERT(PeekType() == kStringType); - filename = std::string(GetString()); + filename = GetStringObject(); } else if (0 == strcmp(key, "u")) { /* relative image path */ - RAPIDJSON_ASSERT(PeekType() == kStringType); - relativePath = std::string(GetString()); + relativePath = GetStringObject(); } else if (0 == strcmp(key, "e")) { /* relative image path */ embededResource = GetInt(); } else if (0 == strcmp(key, "id")) { /* reference id*/ if (PeekType() == kStringType) { - asset->mRefId = std::string(GetString()); + asset->mRefId = GetStringObject(); } else { - RAPIDJSON_ASSERT(PeekType() == kNumberType); asset->mRefId = toString(GetInt()); } } else if (0 == strcmp(key, "layers")) { asset->mAssetType = model::Asset::Type::Precomp; - RAPIDJSON_ASSERT(PeekType() == kArrayType); EnterArray(); bool staticFlag = true; while (NextArrayValue()) { @@ -886,7 +878,6 @@ void LottieParserImpl::parseLayers(model::Composition *comp) comp->mRootLayer->mLayerType = model::Layer::Type::Precomp; comp->mRootLayer->setName("__"); bool staticFlag = true; - RAPIDJSON_ASSERT(PeekType() == kArrayType); EnterArray(); while (NextArrayValue()) { auto layer = parseLayer(); @@ -900,6 +891,8 @@ void LottieParserImpl::parseLayers(model::Composition *comp) model::Color LottieParserImpl::toColor(const char *str) { + if (!str) return {}; + model::Color color; auto len = strlen(str); @@ -925,7 +918,6 @@ model::Color LottieParserImpl::toColor(const char *str) model::MatteType LottieParserImpl::getMatteType() { - RAPIDJSON_ASSERT(PeekType() == kNumberType); switch (GetInt()) { case 1: return model::MatteType::Alpha; @@ -947,7 +939,6 @@ model::MatteType LottieParserImpl::getMatteType() model::Layer::Type LottieParserImpl::getLayerType() { - RAPIDJSON_ASSERT(PeekType() == kNumberType); switch (GetInt()) { case 0: return model::Layer::Type::Precomp; @@ -979,7 +970,6 @@ model::Layer::Type LottieParserImpl::getLayerType() */ model::Layer *LottieParserImpl::parseLayer() { - RAPIDJSON_ASSERT(PeekType() == kObjectType); model::Layer *layer = allocator().make(); curLayerRef = layer; bool ddd = true; @@ -988,43 +978,33 @@ model::Layer *LottieParserImpl::parseLayer() if (0 == strcmp(key, "ty")) { /* Type of layer*/ layer->mLayerType = getLayerType(); } else if (0 == strcmp(key, "nm")) { /*Layer name*/ - RAPIDJSON_ASSERT(PeekType() == kStringType); layer->setName(GetString()); } else if (0 == strcmp(key, "ind")) { /*Layer index in AE. Used for parenting and expressions.*/ - RAPIDJSON_ASSERT(PeekType() == kNumberType); layer->mId = GetInt(); } else if (0 == strcmp(key, "ddd")) { /*3d layer */ - RAPIDJSON_ASSERT(PeekType() == kNumberType); ddd = GetInt(); } else if (0 == strcmp(key, "parent")) { /*Layer Parent. Uses "ind" of parent.*/ - RAPIDJSON_ASSERT(PeekType() == kNumberType); layer->mParentId = GetInt(); } else if (0 == strcmp(key, "refId")) { /*preComp Layer reference id*/ - RAPIDJSON_ASSERT(PeekType() == kStringType); - layer->extra()->mPreCompRefId = std::string(GetString()); + layer->extra()->mPreCompRefId = GetStringObject(); layer->mHasGradient = true; mLayersToUpdate.push_back(layer); } else if (0 == strcmp(key, "sr")) { // "Layer Time Stretching" - RAPIDJSON_ASSERT(PeekType() == kNumberType); layer->mTimeStreatch = GetDouble(); } else if (0 == strcmp(key, "tm")) { // time remapping parseProperty(layer->extra()->mTimeRemap); } else if (0 == strcmp(key, "ip")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); layer->mInFrame = std::lround(GetDouble()); } else if (0 == strcmp(key, "op")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); layer->mOutFrame = std::lround(GetDouble()); } else if (0 == strcmp(key, "st")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); layer->mStartFrame = GetDouble(); } else if (0 == strcmp(key, "bm")) { layer->mBlendMode = getBlendMode(); } else if (0 == strcmp(key, "ks")) { - RAPIDJSON_ASSERT(PeekType() == kObjectType); EnterObject(); layer->mTransform = parseTransformObject(ddd); } else if (0 == strcmp(key, "shapes")) { @@ -1084,7 +1064,7 @@ model::Layer *LottieParserImpl::parseLayer() staticFlag &= child->isStatic(); } - if (layer->hasMask()) { + if (layer->hasMask() && layer->mExtra) { for (const auto &mask : layer->mExtra->mMasks) { staticFlag &= mask->isStatic(); } @@ -1097,7 +1077,6 @@ model::Layer *LottieParserImpl::parseLayer() void LottieParserImpl::parseMaskProperty(model::Layer *layer) { - RAPIDJSON_ASSERT(PeekType() == kArrayType); EnterArray(); while (NextArrayValue()) { layer->extra()->mMasks.push_back(parseMaskObject()); @@ -1108,7 +1087,6 @@ model::Mask *LottieParserImpl::parseMaskObject() { auto obj = allocator().make(); - RAPIDJSON_ASSERT(PeekType() == kObjectType); EnterObject(); while (const char *key = NextObjectKey()) { if (0 == strcmp(key, "inv")) { @@ -1153,7 +1131,6 @@ model::Mask *LottieParserImpl::parseMaskObject() void LottieParserImpl::parseShapesAttr(model::Layer *layer) { - RAPIDJSON_ASSERT(PeekType() == kArrayType); EnterArray(); while (NextArrayValue()) { parseObject(layer); @@ -1162,13 +1139,19 @@ void LottieParserImpl::parseShapesAttr(model::Layer *layer) model::Object *LottieParserImpl::parseObjectTypeAttr() { - RAPIDJSON_ASSERT(PeekType() == kStringType); const char *type = GetString(); + if (!type) { + vWarning << "No object type specified"; + return nullptr; + } if (0 == strcmp(type, "gr")) { return parseGroupObject(); } else if (0 == strcmp(type, "rc")) { return parseRectObject(); - } else if (0 == strcmp(type, "el")) { + } else if (0 == strcmp(type, "rd")) { + curLayerRef->mHasRoundedCorner = true; + return parseRoundedCorner(); + } else if (0 == strcmp(type, "el")) { return parseEllipseObject(); } else if (0 == strcmp(type, "tr")) { return parseTransformObject(); @@ -1205,18 +1188,39 @@ model::Object *LottieParserImpl::parseObjectTypeAttr() void LottieParserImpl::parseObject(model::Group *parent) { - RAPIDJSON_ASSERT(PeekType() == kObjectType); EnterObject(); while (const char *key = NextObjectKey()) { if (0 == strcmp(key, "ty")) { auto child = parseObjectTypeAttr(); - if (child && !child->hidden()) parent->mChildren.push_back(child); + if (child && !child->hidden()) { + if (child->type() == model::Object::Type::RoundedCorner) { + updateRoundedCorner(parent, static_cast(child)); + } + parent->mChildren.push_back(child); + } } else { Skip(key); } } } +void LottieParserImpl::updateRoundedCorner(model::Group *group, model::RoundedCorner *rc) +{ + for(auto &e : group->mChildren) + { + if (e->type() == model::Object::Type::Rect) { + static_cast(e)->mRoundedCorner = rc; + if (!rc->isStatic()) { + e->setStatic(false); + group->setStatic(false); + //@TODO need to propagate. + } + } else if ( e->type() == model::Object::Type::Group) { + updateRoundedCorner(static_cast(e), rc); + } + } +} + model::Object *LottieParserImpl::parseGroupObject() { auto group = allocator().make(); @@ -1225,14 +1229,13 @@ model::Object *LottieParserImpl::parseGroupObject() if (0 == strcmp(key, "nm")) { group->setName(GetString()); } else if (0 == strcmp(key, "it")) { - RAPIDJSON_ASSERT(PeekType() == kArrayType); EnterArray(); while (NextArrayValue()) { - RAPIDJSON_ASSERT(PeekType() == kObjectType); parseObject(group); } - if (group->mChildren.back()->type() == - model::Object::Type::Transform) { + if (!group->mChildren.empty() + && group->mChildren.back()->type() + == model::Object::Type::Transform) { group->mTransform = static_cast(group->mChildren.back()); group->mChildren.pop_back(); @@ -1282,6 +1285,28 @@ model::Rect *LottieParserImpl::parseRectObject() return obj; } +/* + * https://github.com/airbnb/lottie-web/blob/master/docs/json/shapes/rect.json + */ +model::RoundedCorner *LottieParserImpl::parseRoundedCorner() +{ + auto obj = allocator().make(); + + while (const char *key = NextObjectKey()) { + if (0 == strcmp(key, "nm")) { + obj->setName(GetString()); + } else if (0 == strcmp(key, "r")) { + parseProperty(obj->mRadius); + } else if (0 == strcmp(key, "hd")) { + obj->setHidden(GetBool()); + } else { + Skip(key); + } + } + obj->setStatic(obj->mRadius.isStatic()); + return obj; +} + /* * https://github.com/airbnb/lottie-web/blob/master/docs/json/shapes/ellipse.json */ @@ -1387,7 +1412,6 @@ model::Polystar *LottieParserImpl::parsePolystarObject() model::Trim::TrimType LottieParserImpl::getTrimType() { - RAPIDJSON_ASSERT(PeekType() == kNumberType); switch (GetInt()) { case 1: return model::Trim::TrimType::Simultaneously; @@ -1396,7 +1420,7 @@ model::Trim::TrimType LottieParserImpl::getTrimType() return model::Trim::TrimType::Individually; break; default: - RAPIDJSON_ASSERT(0); + Error(); return model::Trim::TrimType::Simultaneously; break; } @@ -1544,10 +1568,13 @@ model::Transform *LottieParserImpl::parseTransformObject(bool ddd) } else if (0 == strcmp(key, "hd")) { objT->setHidden(GetBool()); } else if (0 == strcmp(key, "rx")) { + if (!obj->mExtra) return nullptr; parseProperty(obj->mExtra->m3DRx); } else if (0 == strcmp(key, "ry")) { + if (!obj->mExtra) return nullptr; parseProperty(obj->mExtra->m3DRy); } else if (0 == strcmp(key, "rz")) { + if (!obj->mExtra) return nullptr; parseProperty(obj->mExtra->m3DRz); } else { Skip(key); @@ -1606,7 +1633,6 @@ model::Fill *LottieParserImpl::parseFillObject() */ CapStyle LottieParserImpl::getLineCap() { - RAPIDJSON_ASSERT(PeekType() == kNumberType); switch (GetInt()) { case 1: return CapStyle::Flat; @@ -1622,7 +1648,6 @@ CapStyle LottieParserImpl::getLineCap() FillRule LottieParserImpl::getFillRule() { - RAPIDJSON_ASSERT(PeekType() == kNumberType); switch (GetInt()) { case 1: return FillRule::Winding; @@ -1641,7 +1666,6 @@ FillRule LottieParserImpl::getFillRule() */ JoinStyle LottieParserImpl::getLineJoin() { - RAPIDJSON_ASSERT(PeekType() == kNumberType); switch (GetInt()) { case 1: return JoinStyle::Miter; @@ -1678,7 +1702,6 @@ model::Stroke *LottieParserImpl::parseStrokeObject() } else if (0 == strcmp(key, "lj")) { obj->mJoinStyle = getLineJoin(); } else if (0 == strcmp(key, "ml")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); obj->mMiterLimit = GetDouble(); } else if (0 == strcmp(key, "d")) { parseDashProperty(obj->mDash); @@ -1700,7 +1723,6 @@ void LottieParserImpl::parseGradientProperty(model::Gradient *obj, const char * key) { if (0 == strcmp(key, "t")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); obj->mGradientType = GetInt(); } else if (0 == strcmp(key, "o")) { parseProperty(obj->mOpacity); @@ -1758,10 +1780,8 @@ model::GradientFill *LottieParserImpl::parseGFillObject() void LottieParserImpl::parseDashProperty(model::Dash &dash) { - RAPIDJSON_ASSERT(PeekType() == kArrayType); EnterArray(); while (NextArrayValue()) { - RAPIDJSON_ASSERT(PeekType() == kObjectType); EnterObject(); while (const char *key = NextObjectKey()) { if (0 == strcmp(key, "v")) { @@ -1791,7 +1811,6 @@ model::GradientStroke *LottieParserImpl::parseGStrokeObject() } else if (0 == strcmp(key, "lj")) { obj->mJoinStyle = getLineJoin(); } else if (0 == strcmp(key, "ml")) { - RAPIDJSON_ASSERT(PeekType() == kNumberType); obj->mMiterLimit = GetDouble(); } else if (0 == strcmp(key, "d")) { parseDashProperty(obj->mDash); @@ -1807,10 +1826,8 @@ model::GradientStroke *LottieParserImpl::parseGStrokeObject() void LottieParserImpl::getValue(std::vector &v) { - RAPIDJSON_ASSERT(PeekType() == kArrayType); EnterArray(); while (NextArrayValue()) { - RAPIDJSON_ASSERT(PeekType() == kArrayType); EnterArray(); VPointF pt; getValue(pt); @@ -1847,7 +1864,7 @@ void LottieParserImpl::getValue(float &val) } else if (PeekType() == kNumberType) { val = GetDouble(); } else { - RAPIDJSON_ASSERT(0); + Error(); } } @@ -1890,7 +1907,7 @@ void LottieParserImpl::getValue(int &val) } else if (PeekType() == kNumberType) { val = GetInt(); } else { - RAPIDJSON_ASSERT(0); + Error(); } } @@ -1905,7 +1922,6 @@ void LottieParserImpl::parsePathInfo() bool arrayWrapper = (PeekType() == kArrayType); if (arrayWrapper) EnterArray(); - RAPIDJSON_ASSERT(PeekType() == kObjectType); EnterObject(); while (const char *key = NextObjectKey()) { if (0 == strcmp(key, "i")) { @@ -1917,7 +1933,7 @@ void LottieParserImpl::parsePathInfo() } else if (0 == strcmp(key, "c")) { mPathInfo.mClosed = GetBool(); } else { - RAPIDJSON_ASSERT(0); + Error(); Skip(nullptr); } } @@ -1937,7 +1953,6 @@ void LottieParserImpl::getValue(model::PathData &obj) VPointF LottieParserImpl::parseInperpolatorPoint() { VPointF cp; - RAPIDJSON_ASSERT(PeekType() == kObjectType); EnterObject(); while (const char *key = NextObjectKey()) { if (0 == strcmp(key, "x")) { @@ -2026,17 +2041,15 @@ void LottieParserImpl::parseKeyFrame(model::KeyFrames &obj) continue; } else if (0 == strcmp(key, "n")) { if (PeekType() == kStringType) { - parsed.interpolatorKey = GetString(); + parsed.interpolatorKey = GetStringObject(); } else { - RAPIDJSON_ASSERT(PeekType() == kArrayType); EnterArray(); while (NextArrayValue()) { - RAPIDJSON_ASSERT(PeekType() == kStringType); if (parsed.interpolatorKey.empty()) { - parsed.interpolatorKey = GetString(); + parsed.interpolatorKey = GetStringObject(); } else { // skip rest of the string - GetString(); + Skip(nullptr); } } } @@ -2092,12 +2105,10 @@ void LottieParserImpl::parseShapeProperty(model::Property &obj) if (PeekType() == kArrayType) { EnterArray(); while (NextArrayValue()) { - RAPIDJSON_ASSERT(PeekType() == kObjectType); parseKeyFrame(obj.animation()); } } else { if (!obj.isStatic()) { - RAPIDJSON_ASSERT(false); st_ = kError; return; } @@ -2118,14 +2129,12 @@ void LottieParserImpl::parsePropertyHelper(model::Property &obj) { if (PeekType() == kNumberType) { if (!obj.isStatic()) { - RAPIDJSON_ASSERT(false); st_ = kError; return; } /*single value property with no animation*/ getValue(obj.value()); } else { - RAPIDJSON_ASSERT(PeekType() == kArrayType); EnterArray(); while (NextArrayValue()) { /* property with keyframe info*/ @@ -2138,9 +2147,7 @@ void LottieParserImpl::parsePropertyHelper(model::Property &obj) * or array of object without entering the array * thats why this hack is there */ - RAPIDJSON_ASSERT(PeekType() == kNumberType); if (!obj.isStatic()) { - RAPIDJSON_ASSERT(false); st_ = kError; return; } @@ -2252,6 +2259,11 @@ public: << " , a:" << !obj->isStatic() << " }"; break; } + case model::Object::Type::RoundedCorner: { + vDebug << level << "{ RoundedCorner: name: " << obj->name() + << " , a:" << !obj->isStatic() << " }"; + break; + } case model::Object::Type::Ellipse: { vDebug << level << "{ Ellipse: name: " << obj->name() << " , a:" << !obj->isStatic() << " }"; diff --git a/src/vector/stb/CMakeLists.txt b/src/vector/stb/CMakeLists.txt index 4861e993c..b668b43a8 100644 --- a/src/vector/stb/CMakeLists.txt +++ b/src/vector/stb/CMakeLists.txt @@ -2,9 +2,11 @@ if(LOTTIE_MODULE) add_library(rlottie-image-loader SHARED stb_image.cpp ) - target_compile_options(rlottie-image-loader PRIVATE - -fvisibility=hidden - ) + if(NOT MSVC) + target_compile_options(rlottie-image-loader PRIVATE + -fvisibility=hidden + ) + endif() get_filename_component(LOTTIE_MODULE_FILENAME ${LOTTIE_MODULE_PATH} NAME) get_filename_component(LOTTIE_MODULE_DIR ${LOTTIE_MODULE_PATH} DIRECTORY) diff --git a/src/vector/stb/meson.build b/src/vector/stb/meson.build index 49be07630..128114f34 100644 --- a/src/vector/stb/meson.build +++ b/src/vector/stb/meson.build @@ -3,14 +3,14 @@ source_file = ['stb_image.cpp'] if get_option('module') == true rlottie_image_loader_dir = get_option('moduledir') != '' ? get_option('moduledir') : get_option('libdir') - rlottie_image_loader_lib = shared_library('rlottie-image-loader', - source_file, - include_directories : [include_directories('.'), config_dir], - install : true, - install_dir : rlottie_image_loader_dir, - cpp_args : compiler_flags, - gnu_symbol_visibility : 'hidden', - ) + rlottie_image_loader_lib = shared_module('rlottie-image-loader', + source_file, + include_directories : [include_directories('.'), config_dir], + install : true, + install_dir : rlottie_image_loader_dir, + cpp_args : compiler_flags, + gnu_symbol_visibility : 'hidden', + ) cc = meson.get_compiler('cpp') stb_dep = cc.find_library('dl', required : false) else diff --git a/src/vector/stb/stb_image.h b/src/vector/stb/stb_image.h index ae0c1e529..56f818305 100644 --- a/src/vector/stb/stb_image.h +++ b/src/vector/stb/stb_image.h @@ -307,6 +307,10 @@ RECENT REVISION HISTORY: #include #endif // STBI_NO_STDIO +#if defined _WIN32 || defined __CYGWIN__ +#include +#endif // defined _WIN32 || defined __CYGWIN__ + #define STBI_VERSION 1 enum @@ -1149,14 +1153,38 @@ static void stbi__float_postprocess(float *result, int *x, int *y, int *comp, in static FILE *stbi__fopen(char const *filename, char const *mode) { - FILE *f; -#if defined(_MSC_VER) && _MSC_VER >= 1400 - if (0 != fopen_s(&f, filename, mode)) - f=0; -#else - f = fopen(filename, mode); -#endif - return f; + FILE *f; +#if defined(_MSC_VER) + DWORD cch = + MultiByteToWideChar(CP_UTF8, 0, filename, -1, nullptr, 0); + wchar_t *filenameU = new wchar_t[cch]; + if(!filenameU) + { + return 0; + } + MultiByteToWideChar(CP_UTF8, 0, filename, -1, filenameU, cch); + cch = MultiByteToWideChar(CP_UTF8, 0, mode, -1, nullptr, 0); + wchar_t *modeU = new wchar_t[cch]; + if(!modeU) + { + delete[] filenameU; + return 0; + } + MultiByteToWideChar(CP_UTF8, 0, mode, -1, modeU, cch); +#if _MSC_VER >= 1400 + if(0 != _wfopen_s(&f, filenameU, modeU)) + f = 0; + delete[] filenameU; + delete[] modeU; +#else // _MSC_VER >= 1400 + f = _wfopen(filenameU, modeU); + delete[] filenameU; + delete[] modeU; +#endif // _MSC_VER >= 1400 +#else // _MSC_VER + f = fopen(filename, mode); +#endif //_MSC_VER + return f; } diff --git a/src/vector/vbezier.cpp b/src/vector/vbezier.cpp index 797d56440..15889299d 100644 --- a/src/vector/vbezier.cpp +++ b/src/vector/vbezier.cpp @@ -81,12 +81,12 @@ float VBezier::tAtLength(float l, float totalLength) const t *= 0.5; float lastBigger = 1.0; - while (1) { + for (int num = 0; num < 100500; num++) { VBezier right = *this; VBezier left; right.parameterSplitLeft(t, &left); float lLen = left.length(); - if (fabs(lLen - l) < error) break; + if (fabs(lLen - l) < error) return t; if (lLen < l) { t += (lastBigger - t) * 0.5f; @@ -95,6 +95,7 @@ float VBezier::tAtLength(float l, float totalLength) const t -= t * 0.5f; } } + vWarning << "no convergence"; return t; } diff --git a/src/vector/vbitmap.cpp b/src/vector/vbitmap.cpp index 22cb24346..378db2278 100644 --- a/src/vector/vbitmap.cpp +++ b/src/vector/vbitmap.cpp @@ -31,31 +31,31 @@ V_BEGIN_NAMESPACE void VBitmap::Impl::reset(size_t width, size_t height, VBitmap::Format format) { mRoData = nullptr; - mWidth = uint(width); - mHeight = uint(height); + mWidth = uint32_t(width); + mHeight = uint32_t(height); mFormat = format; mDepth = depth(format); mStride = ((mWidth * mDepth + 31) >> 5) << 2; // bytes per scanline (must be multiple of 4) - mOwnData = std::make_unique(mStride * mHeight); + mOwnData = std::make_unique(mStride * mHeight); } -void VBitmap::Impl::reset(uchar *data, size_t width, size_t height, size_t bytesPerLine, - VBitmap::Format format) +void VBitmap::Impl::reset(uint8_t *data, size_t width, size_t height, + size_t bytesPerLine, VBitmap::Format format) { mRoData = data; - mWidth = uint(width); - mHeight = uint(height); - mStride = uint(bytesPerLine); + mWidth = uint32_t(width); + mHeight = uint32_t(height); + mStride = uint32_t(bytesPerLine); mFormat = format; mDepth = depth(format); mOwnData = nullptr; } -uchar VBitmap::Impl::depth(VBitmap::Format format) +uint8_t VBitmap::Impl::depth(VBitmap::Format format) { - uchar depth = 1; + uint8_t depth = 1; switch (format) { case VBitmap::Format::Alpha8: depth = 8; @@ -70,7 +70,7 @@ uchar VBitmap::Impl::depth(VBitmap::Format format) return depth; } -void VBitmap::Impl::fill(uint /*pixel*/) +void VBitmap::Impl::fill(uint32_t /*pixel*/) { //@TODO } @@ -79,9 +79,9 @@ void VBitmap::Impl::updateLuma() { if (mFormat != VBitmap::Format::ARGB32_Premultiplied) return; auto dataPtr = data(); - for (uint col = 0; col < mHeight; col++) { - uint *pixel = (uint *)(dataPtr + mStride * col); - for (uint row = 0; row < mWidth; row++) { + for (uint32_t col = 0; col < mHeight; col++) { + uint32_t *pixel = (uint32_t *)(dataPtr + mStride * col); + for (uint32_t row = 0; row < mWidth; row++) { int alpha = vAlpha(*pixel); if (alpha == 0) { pixel++; @@ -112,8 +112,8 @@ VBitmap::VBitmap(size_t width, size_t height, VBitmap::Format format) mImpl = rc_ptr(width, height, format); } -VBitmap::VBitmap(uchar *data, size_t width, size_t height, size_t bytesPerLine, - VBitmap::Format format) +VBitmap::VBitmap(uint8_t *data, size_t width, size_t height, + size_t bytesPerLine, VBitmap::Format format) { if (!data || width <= 0 || height <= 0 || bytesPerLine <= 0 || format == Format::Invalid) @@ -122,7 +122,7 @@ VBitmap::VBitmap(uchar *data, size_t width, size_t height, size_t bytesPerLine, mImpl = rc_ptr(data, width, height, bytesPerLine, format); } -void VBitmap::reset(uchar *data, size_t w, size_t h, size_t bytesPerLine, +void VBitmap::reset(uint8_t *data, size_t w, size_t h, size_t bytesPerLine, VBitmap::Format format) { if (mImpl) { @@ -165,12 +165,12 @@ size_t VBitmap::depth() const return mImpl ? mImpl->mDepth : 0; } -uchar *VBitmap::data() +uint8_t *VBitmap::data() { return mImpl ? mImpl->data() : nullptr; } -uchar *VBitmap::data() const +uint8_t *VBitmap::data() const { return mImpl ? mImpl->data() : nullptr; } @@ -195,7 +195,7 @@ VBitmap::Format VBitmap::format() const return mImpl ? mImpl->format() : VBitmap::Format::Invalid; } -void VBitmap::fill(uint pixel) +void VBitmap::fill(uint32_t pixel) { if (mImpl) mImpl->fill(pixel); } diff --git a/src/vector/vbitmap.h b/src/vector/vbitmap.h index a068d7446..bc5059a7f 100644 --- a/src/vector/vbitmap.h +++ b/src/vector/vbitmap.h @@ -30,7 +30,7 @@ V_BEGIN_NAMESPACE class VBitmap { public: - enum class Format: uchar { + enum class Format : uint8_t { Invalid, Alpha8, ARGB32, @@ -39,8 +39,10 @@ public: VBitmap() = default; VBitmap(size_t w, size_t h, VBitmap::Format format); - VBitmap(uchar *data, size_t w, size_t h, size_t bytesPerLine, VBitmap::Format format); - void reset(uchar *data, size_t w, size_t h, size_t stride, VBitmap::Format format); + VBitmap(uint8_t *data, size_t w, size_t h, size_t bytesPerLine, + VBitmap::Format format); + void reset(uint8_t *data, size_t w, size_t h, size_t stride, + VBitmap::Format format); void reset(size_t w, size_t h, VBitmap::Format format=Format::ARGB32_Premultiplied); size_t stride() const; size_t width() const; @@ -48,27 +50,28 @@ public: size_t depth() const; VBitmap::Format format() const; bool valid() const; - uchar * data(); - uchar * data() const; + uint8_t * data(); + uint8_t * data() const; VRect rect() const; VSize size() const; - void fill(uint pixel); + void fill(uint32_t pixel); void updateLuma(); private: struct Impl { - std::unique_ptr mOwnData{nullptr}; - uchar * mRoData{nullptr}; - uint mWidth{0}; - uint mHeight{0}; - uint mStride{0}; - uchar mDepth{0}; + std::unique_ptr mOwnData{nullptr}; + uint8_t * mRoData{nullptr}; + uint32_t mWidth{0}; + uint32_t mHeight{0}; + uint32_t mStride{0}; + uint8_t mDepth{0}; VBitmap::Format mFormat{VBitmap::Format::Invalid}; explicit Impl(size_t width, size_t height, VBitmap::Format format) { reset(width, height, format); } - explicit Impl(uchar *data, size_t w, size_t h, size_t bytesPerLine, VBitmap::Format format) + explicit Impl(uint8_t *data, size_t w, size_t h, size_t bytesPerLine, + VBitmap::Format format) { reset(data, w, h, bytesPerLine, format); } @@ -77,12 +80,12 @@ private: size_t stride() const { return mStride; } size_t width() const { return mWidth; } size_t height() const { return mHeight; } - uchar * data() { return mRoData ? mRoData : mOwnData.get(); } + uint8_t * data() { return mRoData ? mRoData : mOwnData.get(); } VBitmap::Format format() const { return mFormat; } - void reset(uchar *, size_t, size_t, size_t, VBitmap::Format); + void reset(uint8_t *, size_t, size_t, size_t, VBitmap::Format); void reset(size_t, size_t, VBitmap::Format); - static uchar depth(VBitmap::Format format); - void fill(uint); + static uint8_t depth(VBitmap::Format format); + void fill(uint32_t); void updateLuma(); }; diff --git a/src/vector/vbrush.cpp b/src/vector/vbrush.cpp index fc0902ba8..f2ab3387c 100644 --- a/src/vector/vbrush.cpp +++ b/src/vector/vbrush.cpp @@ -43,7 +43,7 @@ VBrush::VBrush(const VColor &color) : mType(VBrush::Type::Solid), mColor(color) { } -VBrush::VBrush(uchar r, uchar g, uchar b, uchar a) +VBrush::VBrush(uint8_t r, uint8_t g, uint8_t b, uint8_t a) : mType(VBrush::Type::Solid), mColor(r, g, b, a) { diff --git a/src/vector/vbrush.h b/src/vector/vbrush.h index 74f8dcafe..a1abbd34e 100644 --- a/src/vector/vbrush.h +++ b/src/vector/vbrush.h @@ -75,7 +75,7 @@ public: VBrush():mType(Type::NoBrush),mColor(){}; explicit VBrush(const VColor &color); explicit VBrush(const VGradient *gradient); - explicit VBrush(uchar r, uchar g, uchar b, uchar a); + explicit VBrush(uint8_t r, uint8_t g, uint8_t b, uint8_t a); explicit VBrush(const VTexture *texture); inline VBrush::Type type() const { return mType; } public: diff --git a/src/vector/vdrawable.cpp b/src/vector/vdrawable.cpp index c8ff02bc7..55b1bc842 100644 --- a/src/vector/vdrawable.cpp +++ b/src/vector/vdrawable.cpp @@ -106,7 +106,7 @@ void VDrawable::setDashInfo(std::vector &dashInfo) bool hasChanged = false; if (obj->mDash.size() == dashInfo.size()) { - for (uint i = 0; i < dashInfo.size(); ++i) { + for (uint32_t i = 0; i < dashInfo.size(); ++i) { if (!vCompare(obj->mDash[i], dashInfo[i])) { hasChanged = true; break; diff --git a/src/vector/vdrawhelper.cpp b/src/vector/vdrawhelper.cpp index 4594ae52c..41593c862 100644 --- a/src/vector/vdrawhelper.cpp +++ b/src/vector/vdrawhelper.cpp @@ -56,7 +56,7 @@ public: VCacheKey hash_val = 0; VCacheData info; const VGradientStops &stops = gradient.mStops; - for (uint i = 0; i < stops.size() && i <= 2; i++) + for (uint32_t i = 0; i < stops.size() && i <= 2; i++) hash_val += VCacheKey(stops[i].second.premulARGB() * gradient.alpha()); @@ -100,11 +100,11 @@ public: } protected: - uint maxCacheSize() const { return 60; } + uint32_t maxCacheSize() const { return 60; } VCacheData addCacheElement(VCacheKey hash_val, const VGradient &gradient) { if (mCache.size() == maxCacheSize()) { - uint count = maxCacheSize() / 10; + uint32_t count = maxCacheSize() / 10; while (count--) { mCache.erase(mCache.begin()); } @@ -147,7 +147,7 @@ bool VGradientCache::generateGradientColorTable(const VGradientStops &stops, colorTable[pos++] = curColor; - while (fpos <= curr->first) { + while (fpos <= curr->first && pos < size) { colorTable[pos] = colorTable[pos - 1]; pos++; fpos += incr; @@ -519,7 +519,7 @@ static void blend_color(size_t size, const VRle::Span *array, void *userData) { VSpanData *data = (VSpanData *)(userData); Operator op = getOperator(data); - const uint color = data->mSolid; + const uint32_t color = data->mSolid; for (size_t i = 0 ; i < size; ++i) { const auto &span = array[i]; @@ -528,16 +528,16 @@ static void blend_color(size_t size, const VRle::Span *array, void *userData) } // Signature of Process Object -// void Pocess(uint* scratchBuffer, size_t x, size_t y, uchar cov) +// void Pocess(uint* scratchBuffer, size_t x, size_t y, uint8_t cov) template static inline void process_in_chunk(const VRle::Span *array, size_t size, Process process) { - std::array buf; + std::array buf; for (size_t i = 0; i < size; i++) { const auto &span = array[i]; size_t len = span.len; - size_t x = span.x; + auto x = span.x; while (len) { auto l = std::min(len, buf.size()); process(buf.data(), x, span.y, l, span.coverage); @@ -557,7 +557,7 @@ static void blend_gradient(size_t size, const VRle::Span *array, process_in_chunk( array, size, - [&](uint *scratch, size_t x, size_t y, size_t len, uchar cov) { + [&](uint32_t *scratch, size_t x, size_t y, size_t len, uint8_t cov) { op.srcFetch(scratch, &op, data, (int)y, (int)x, (int)len); op.func(data->buffer((int)x, (int)y), (int)len, scratch, cov); }); @@ -569,7 +569,7 @@ constexpr const T &clamp(const T &v, const T &lo, const T &hi) return v < lo ? lo : hi < v ? hi : v; } -static constexpr inline uchar alpha_mul(uchar a, uchar b) +static constexpr inline uint8_t alpha_mul(uint8_t a, uint8_t b) { return ((a * b) >> 8); } @@ -590,7 +590,7 @@ static void blend_image_xform(size_t size, const VRle::Span *array, process_in_chunk( array, size, - [&](uint *scratch, size_t x, size_t y, size_t len, uchar cov) { + [&](uint32_t *scratch, size_t x, size_t y, size_t len, uint8_t cov) { const auto coverage = (cov * src.alpha()) >> 8; const float xfactor = y * data->m21 + data->dx + data->m11; const float yfactor = y * data->m22 + data->dy + data->m12; diff --git a/src/vector/vdrawhelper.h b/src/vector/vdrawhelper.h index e654e93bc..7d31e3f37 100644 --- a/src/vector/vdrawhelper.h +++ b/src/vector/vdrawhelper.h @@ -127,7 +127,7 @@ public: void resetBuffer(int val = 0); - inline uchar *scanLine(int y) + inline uint8_t *scanLine(int y) { assert(y >= 0); assert(size_t(y) < mHeight); @@ -150,7 +150,7 @@ private: size_t mHeight{0}; size_t mBytesPerLine{0}; size_t mBytesPerPixel{0}; - mutable uchar * mBuffer{nullptr}; + mutable uint8_t *mBuffer{nullptr}; }; struct VGradientData { @@ -171,8 +171,8 @@ struct VGradientData { struct VTextureData : public VRasterBuffer { uint32_t pixel(int x, int y) const { return *pixelRef(x, y); }; - uchar alpha() const { return mAlpha; } - void setAlpha(uchar alpha) { mAlpha = alpha; } + uint8_t alpha() const { return mAlpha; } + void setAlpha(uint8_t alpha) { mAlpha = alpha; } void setClip(const VRect &clip); // clip rect int left; @@ -180,7 +180,7 @@ struct VTextureData : public VRasterBuffer { int top; int bottom; bool hasAlpha; - uchar mAlpha; + uint8_t mAlpha; }; struct VColorTable { @@ -208,7 +208,7 @@ struct VSpanData { mDrawableSize = VSize(region.width(), region.height()); } - uint *buffer(int x, int y) const + uint32_t *buffer(int x, int y) const { return mRasterBuffer->pixelRef(x + mOffset.x(), y + mOffset.y()); } @@ -256,9 +256,10 @@ inline constexpr int vAlpha(uint32_t c) return c >> 24; } -static inline uint32_t interpolate_pixel(uint x, uint a, uint y, uint b) +static inline uint32_t interpolate_pixel(uint32_t x, uint32_t a, uint32_t y, + uint32_t b) { - uint t = (x & 0xff00ff) * a + (y & 0xff00ff) * b; + uint32_t t = (x & 0xff00ff) * a + (y & 0xff00ff) * b; t >>= 8; t &= 0xff00ff; x = ((x >> 8) & 0xff00ff) * a + ((y >> 8) & 0xff00ff) * b; diff --git a/src/vector/vdrawhelper_common.cpp b/src/vector/vdrawhelper_common.cpp index b2eb6db01..8a91b0f33 100644 --- a/src/vector/vdrawhelper_common.cpp +++ b/src/vector/vdrawhelper_common.cpp @@ -65,10 +65,10 @@ static void color_SourceOver(uint32_t *dest, int length, uint32_t color, dest = d * sa * ca + d * cia = d * (sa * ca + cia) */ -static void color_DestinationIn(uint *dest, int length, uint color, - uint alpha) +static void color_DestinationIn(uint32_t *dest, int length, uint32_t color, + uint32_t alpha) { - uint a = vAlpha(color); + uint32_t a = vAlpha(color); if (alpha != 255) { a = BYTE_MUL(a, alpha) + 255 - alpha; } @@ -82,10 +82,10 @@ static void color_DestinationIn(uint *dest, int length, uint color, dest = d * sia * ca + d * cia = d * (sia * ca + cia) */ -static void color_DestinationOut(uint *dest, int length, uint color, - uint alpha) +static void color_DestinationOut(uint32_t *dest, int length, uint32_t color, + uint32_t alpha) { - uint a = vAlpha(~color); + uint32_t a = vAlpha(~color); if (alpha != 255) a = BYTE_MUL(a, alpha) + 255 - alpha; for (int i = 0; i < length; ++i) { dest[i] = BYTE_MUL(dest[i], a); @@ -96,9 +96,9 @@ static void src_Source(uint32_t *dest, int length, const uint32_t *src, uint32_t alpha) { if (alpha == 255) { - memcpy(dest, src, size_t(length) * sizeof(uint)); + memcpy(dest, src, size_t(length) * sizeof(uint32_t)); } else { - uint ialpha = 255 - alpha; + uint32_t ialpha = 255 - alpha; for (int i = 0; i < length; ++i) { dest[i] = interpolate_pixel(src[i], alpha, dest[i], ialpha); @@ -112,7 +112,7 @@ static void src_Source(uint32_t *dest, int length, const uint32_t *src, static void src_SourceOver(uint32_t *dest, int length, const uint32_t *src, uint32_t alpha) { - uint s, sia; + uint32_t s, sia; if (alpha == 255) { for (int i = 0; i < length; ++i) { @@ -136,33 +136,33 @@ static void src_SourceOver(uint32_t *dest, int length, const uint32_t *src, } } -static void src_DestinationIn(uint *dest, int length, const uint *src, - uint alpha) +static void src_DestinationIn(uint32_t *dest, int length, const uint32_t *src, + uint32_t alpha) { if (alpha == 255) { for (int i = 0; i < length; ++i) { dest[i] = BYTE_MUL(dest[i], vAlpha(src[i])); } } else { - uint cia = 255 - alpha; + uint32_t cia = 255 - alpha; for (int i = 0; i < length; ++i) { - uint a = BYTE_MUL(vAlpha(src[i]), alpha) + cia; + uint32_t a = BYTE_MUL(vAlpha(src[i]), alpha) + cia; dest[i] = BYTE_MUL(dest[i], a); } } } -static void src_DestinationOut(uint *dest, int length, const uint *src, - uint alpha) +static void src_DestinationOut(uint32_t *dest, int length, const uint32_t *src, + uint32_t alpha) { if (alpha == 255) { for (int i = 0; i < length; ++i) { dest[i] = BYTE_MUL(dest[i], vAlpha(~src[i])); } } else { - uint cia = 255 - alpha; + uint32_t cia = 255 - alpha; for (int i = 0; i < length; ++i) { - uint sia = BYTE_MUL(vAlpha(~src[i]), alpha) + cia; + uint32_t sia = BYTE_MUL(vAlpha(~src[i]), alpha) + cia; dest[i] = BYTE_MUL(dest[i], sia); } } diff --git a/src/vector/vglobal.h b/src/vector/vglobal.h index 45e95e335..0aad7e8ce 100644 --- a/src/vector/vglobal.h +++ b/src/vector/vglobal.h @@ -29,9 +29,6 @@ #include #include -using uint = uint32_t; -using ushort = uint16_t; -using uchar = uint8_t; #if !defined(V_NAMESPACE) @@ -122,10 +119,13 @@ public: explicit constexpr inline vFlagHelper(int ai) noexcept : i(ai) {} constexpr inline operator int() const noexcept { return i; } - explicit constexpr inline vFlagHelper(uint ai) noexcept : i(int(ai)) {} + explicit constexpr inline vFlagHelper(uint32_t ai) noexcept : i(int(ai)) {} explicit constexpr inline vFlagHelper(short ai) noexcept : i(int(ai)) {} - explicit constexpr inline vFlagHelper(ushort ai) noexcept : i(int(uint(ai))) {} - constexpr inline operator uint() const noexcept { return uint(i); } + explicit constexpr inline vFlagHelper(uint16_t ai) noexcept + : i(int(uint32_t(ai))) + { + } + constexpr inline operator uint32_t() const noexcept { return uint32_t(i); } }; template @@ -139,7 +139,7 @@ public: using Int = typename std::conditional< std::is_unsigned::type>::value, - unsigned int, signed int>::type; + uint32_t, signed int>::type; using enum_type = Enum; // compiler-generated copy/move ctor/assignment operators are fine! @@ -153,7 +153,7 @@ public: i &= mask; return *this; } - inline vFlag &operator&=(uint mask) noexcept + inline vFlag &operator&=(uint32_t mask) noexcept { i &= mask; return *this; @@ -206,7 +206,7 @@ public: { return vFlag(vFlagHelper(i & mask)); } - constexpr inline vFlag operator&(uint mask) const noexcept + constexpr inline vFlag operator&(uint32_t mask) const noexcept { return vFlag(vFlagHelper(i & mask)); } @@ -236,44 +236,47 @@ public: class VColor { public: VColor() = default; - explicit VColor(uchar red, uchar green, uchar blue, uchar alpha = 255) noexcept - :a(alpha), r(red), g(green), b(blue){} - inline uchar red() const noexcept { return r; } - inline uchar green() const noexcept { return g; } - inline uchar blue() const noexcept { return b; } - inline uchar alpha() const noexcept { return a; } - inline void setRed(uchar red) noexcept { r = red; } - inline void setGreen(uchar green) noexcept { g = green; } - inline void setBlue(uchar blue) noexcept { b = blue; } - inline void setAlpha(uchar alpha) noexcept { a = alpha; } + explicit VColor(uint8_t red, uint8_t green, uint8_t blue, + uint8_t alpha = 255) noexcept + : a(alpha), r(red), g(green), b(blue) + { + } + inline uint8_t red() const noexcept { return r; } + inline uint8_t green() const noexcept { return g; } + inline uint8_t blue() const noexcept { return b; } + inline uint8_t alpha() const noexcept { return a; } + inline void setRed(uint8_t red) noexcept { r = red; } + inline void setGreen(uint8_t green) noexcept { g = green; } + inline void setBlue(uint8_t blue) noexcept { b = blue; } + inline void setAlpha(uint8_t alpha) noexcept { a = alpha; } inline bool isOpaque() const { return a == 255; } inline bool isTransparent() const { return a == 0; } inline bool operator==(const VColor &o) const { return ((a == o.a) && (r == o.r) && (g == o.g) && (b == o.b)); } - uint premulARGB() const + uint32_t premulARGB() const { int pr = (r * a) / 255; int pg = (g * a) / 255; int pb = (b * a) / 255; - return uint((a << 24) | (pr << 16) | (pg << 8) | (pb)); + return uint32_t((a << 24) | (pr << 16) | (pg << 8) | (pb)); } - uint premulARGB(float opacity) const + uint32_t premulARGB(float opacity) const { int alpha = int(a * opacity); int pr = (r * alpha) / 255; int pg = (g * alpha) / 255; int pb = (b * alpha) / 255; - return uint((alpha << 24) | (pr << 16) | (pg << 8) | (pb)); + return uint32_t((alpha << 24) | (pr << 16) | (pg << 8) | (pb)); } public: - uchar a{0}; - uchar r{0}; - uchar g{0}; - uchar b{0}; + uint8_t a{0}; + uint8_t r{0}; + uint8_t g{0}; + uint8_t b{0}; }; enum class FillRule: unsigned char { EvenOdd, Winding }; diff --git a/src/vector/vpainter.cpp b/src/vector/vpainter.cpp index 4ebbc5cb6..ab5492c7f 100644 --- a/src/vector/vpainter.cpp +++ b/src/vector/vpainter.cpp @@ -66,7 +66,7 @@ static void fillRect(const VRect &r, VSpanData *data) int i = 0; while (i < n) { spans[i].x = short(x1); - spans[i].len = ushort(x2 - x1); + spans[i].len = uint16_t(x2 - x1); spans[i].y = short(y + i); spans[i].coverage = 255; ++i; @@ -84,12 +84,12 @@ void VPainter::drawBitmapUntransform(const VRect & target, { mSpanData.initTexture(&bitmap, const_alpha, source); if (!mSpanData.mUnclippedBlendFunc) return; - mSpanData.dx = float(-target.x()); - mSpanData.dy = float(-target.y()); - VRect rr = source.translated(target.x(), target.y()); + // update translation matrix for source texture. + mSpanData.dx = float(target.x() - source.x()); + mSpanData.dy = float(target.y() - source.y()); - fillRect(rr, &mSpanData); + fillRect(target, &mSpanData); } VPainter::VPainter(VBitmap *buffer) diff --git a/src/vector/vpath.cpp b/src/vector/vpath.cpp index f0dbec8ea..d49cd0094 100644 --- a/src/vector/vpath.cpp +++ b/src/vector/vpath.cpp @@ -219,13 +219,13 @@ void VPath::VPathData::addOval(const VRectF &rect, VPath::Direction dir) void VPath::VPathData::addRect(const VRectF &rect, VPath::Direction dir) { - if (rect.empty()) return; - float x = rect.x(); float y = rect.y(); float w = rect.width(); float h = rect.height(); + if (vCompare(w, 0.f) && vCompare(h, 0.f)) return; + reserve(5, 6); // 1Move + 4Line + 1Close if (dir == VPath::Direction::CW) { moveTo(x + w, y); diff --git a/src/vector/vpath.h b/src/vector/vpath.h index 90c2c3e53..9273cb61b 100644 --- a/src/vector/vpath.h +++ b/src/vector/vpath.h @@ -35,7 +35,7 @@ class VPath { public: enum class Direction { CCW, CW }; - enum class Element : uchar { MoveTo, LineTo, CubicTo, Close }; + enum class Element : uint8_t { MoveTo, LineTo, CubicTo, Close }; bool empty() const; bool null() const; void moveTo(const VPointF &p); diff --git a/src/vector/vraster.cpp b/src/vector/vraster.cpp index 062431532..fdf66fb01 100644 --- a/src/vector/vraster.cpp +++ b/src/vector/vraster.cpp @@ -380,7 +380,7 @@ struct VRleTask { outRef.convert(mPath); outRef.convert(mCap, mJoin, mStrokeWidth, mMiterLimit); - uint points, contors; + uint32_t points, contors; SW_FT_Stroker_Set(stroker, outRef.ftWidth, outRef.ftCap, outRef.ftJoin, outRef.ftMiterLimit); @@ -461,20 +461,29 @@ class RleTaskScheduler { for (unsigned n = 0; n != _count; ++n) { _threads.emplace_back([&, n] { run(n); }); } + + IsRunning = true; } public: + static bool IsRunning; + static RleTaskScheduler &instance() { static RleTaskScheduler singleton; return singleton; } - ~RleTaskScheduler() - { - for (auto &e : _q) e.done(); + ~RleTaskScheduler() { stop(); } - for (auto &e : _threads) e.join(); + void stop() + { + if (IsRunning) { + IsRunning = false; + + for (auto &e : _q) e.done(); + for (auto &e : _threads) e.join(); + } } void process(VTask task) @@ -499,12 +508,16 @@ public: SW_FT_Stroker stroker; public: + static bool IsRunning; + static RleTaskScheduler &instance() { static RleTaskScheduler singleton; return singleton; } + void stop() {} + RleTaskScheduler() { SW_FT_Stroker_New(&stroker); } ~RleTaskScheduler() { SW_FT_Stroker_Done(stroker); } @@ -513,6 +526,8 @@ public: }; #endif +bool RleTaskScheduler::IsRunning{false}; + struct VRasterizer::VRasterizerImpl { VRleTask mTask; @@ -560,4 +575,11 @@ void VRasterizer::rasterize(VPath path, CapStyle cap, JoinStyle join, updateRequest(); } +void lottieShutdownRasterTaskScheduler() +{ + if (RleTaskScheduler::IsRunning) { + RleTaskScheduler::instance().stop(); + } +} + V_END_NAMESPACE diff --git a/src/vector/vrle.cpp b/src/vector/vrle.cpp index c7a520f59..753db1a11 100644 --- a/src/vector/vrle.cpp +++ b/src/vector/vrle.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include "vdebug.h" #include "vglobal.h" @@ -40,7 +41,7 @@ static size_t _opGeneric(rle_view &a, rle_view &b, Result &result, static size_t _opIntersect(const VRect &, rle_view &, Result &); static size_t _opIntersect(rle_view &, rle_view &, Result &); -static inline uchar divBy255(int x) +static inline uint8_t divBy255(int x) { return (x + (x >> 8) + 0x80) >> 8; } @@ -141,7 +142,7 @@ void VRle::Data::updateBbox() const } } -void VRle::Data::operator*=(uchar alpha) +void VRle::Data::operator*=(uint8_t alpha) { for (auto &i : mSpans) { i.coverage = divBy255(i.coverage * alpha); @@ -223,7 +224,7 @@ void VRle::Data::opGeneric(const VRle::Data &aObj, const VRle::Data &bObj, mSpans.reserve(a.size() + b.size()); // if two rle are disjoint - if (!aObj.bbox().intersects(aObj.bbox())) { + if (!aObj.bbox().intersects(bObj.bbox())) { if (a.data()[0].y < b.data()[0].y) { copy(a.data(), a.size(), mSpans); copy(b.data(), b.size(), mSpans); @@ -424,7 +425,7 @@ static size_t _opIntersect(const VRect &clip, rle_view &obj, Result &result) out->x = minx; } else { out->x = span.x; - out->len = std::min(span.len, ushort(maxx - span.x + 1)); + out->len = std::min(span.len, uint16_t(maxx - span.x + 1)); } if (out->len != 0) { out->y = span.y; @@ -441,12 +442,12 @@ static size_t _opIntersect(const VRect &clip, rle_view &obj, Result &result) return result.max_size() - available; } -static void blitXor(VRle::Span *spans, int count, uchar *buffer, int offsetX) +static void blitXor(VRle::Span *spans, int count, uint8_t *buffer, int offsetX) { while (count--) { int x = spans->x + offsetX; int l = spans->len; - uchar *ptr = buffer + x; + uint8_t *ptr = buffer + x; while (l--) { int da = *ptr; *ptr = divBy255((255 - spans->coverage) * (da) + @@ -457,13 +458,13 @@ static void blitXor(VRle::Span *spans, int count, uchar *buffer, int offsetX) } } -static void blitDestinationOut(VRle::Span *spans, int count, uchar *buffer, +static void blitDestinationOut(VRle::Span *spans, int count, uint8_t *buffer, int offsetX) { while (count--) { int x = spans->x + offsetX; int l = spans->len; - uchar *ptr = buffer + x; + uint8_t *ptr = buffer + x; while (l--) { *ptr = divBy255((255 - spans->coverage) * (*ptr)); ptr++; @@ -472,13 +473,13 @@ static void blitDestinationOut(VRle::Span *spans, int count, uchar *buffer, } } -static void blitSrcOver(VRle::Span *spans, int count, uchar *buffer, +static void blitSrcOver(VRle::Span *spans, int count, uint8_t *buffer, int offsetX) { while (count--) { int x = spans->x + offsetX; int l = spans->len; - uchar *ptr = buffer + x; + uint8_t *ptr = buffer + x; while (l--) { *ptr = spans->coverage + divBy255((255 - spans->coverage) * (*ptr)); ptr++; @@ -487,12 +488,12 @@ static void blitSrcOver(VRle::Span *spans, int count, uchar *buffer, } } -void blitSrc(VRle::Span *spans, int count, uchar *buffer, int offsetX) +void blitSrc(VRle::Span *spans, int count, uint8_t *buffer, int offsetX) { while (count--) { int x = spans->x + offsetX; int l = spans->len; - uchar *ptr = buffer + x; + uint8_t *ptr = buffer + x; while (l--) { *ptr = std::max(spans->coverage, *ptr); ptr++; @@ -501,15 +502,16 @@ void blitSrc(VRle::Span *spans, int count, uchar *buffer, int offsetX) } } -size_t bufferToRle(uchar *buffer, int size, int offsetX, int y, VRle::Span *out) +size_t bufferToRle(uint8_t *buffer, int size, int offsetX, int y, + VRle::Span *out) { size_t count = 0; - uchar value = buffer[0]; + uint8_t value = buffer[0]; int curIndex = 0; // size = offsetX < 0 ? size + offsetX : size; for (int i = 0; i < size; i++) { - uchar curValue = buffer[0]; + uint8_t curValue = buffer[0]; if (value != curValue) { if (value) { out->y = y; @@ -549,10 +551,10 @@ struct SpanMerger { break; } } - using blitter = void (*)(VRle::Span *, int, uchar *, int); + using blitter = void (*)(VRle::Span *, int, uint8_t *, int); blitter _blitter; std::array _result; - std::array _buffer; + std::array _buffer; VRle::Span * _aStart{nullptr}; VRle::Span * _bStart{nullptr}; diff --git a/src/vector/vrle.h b/src/vector/vrle.h index 761e5d1bf..1bbb8365b 100644 --- a/src/vector/vrle.h +++ b/src/vector/vrle.h @@ -36,8 +36,8 @@ public: struct Span { short x{0}; short y{0}; - ushort len{0}; - uchar coverage{0}; + uint16_t len{0}; + uint8_t coverage{0}; }; using VRleSpanCb = void (*)(size_t count, const VRle::Span *spans, void *userData); @@ -52,7 +52,7 @@ public: void reset() { d.write().reset(); } void translate(const VPoint &p) { d.write().translate(p); } - void operator*=(uchar alpha) { d.write() *= alpha; } + void operator*=(uint8_t alpha) { d.write() *= alpha; } void intersect(const VRect &r, VRleSpanCb cb, void *userData) const; void intersect(const VRle &rle, VRleSpanCb cb, void *userData) const; @@ -91,7 +91,7 @@ public: void setBbox(const VRect &bbox) const; void reset(); void translate(const VPoint &p); - void operator*=(uchar alpha); + void operator*=(uint8_t alpha); void opGeneric(const VRle::Data &, const VRle::Data &, Op code); void opSubstract(const VRle::Data &, const VRle::Data &); void opIntersect(VRle::View a, VRle::View b); diff --git a/src/wasm/rlottiewasm.cpp b/src/wasm/rlottiewasm.cpp index 4c759cc76..af163796d 100644 --- a/src/wasm/rlottiewasm.cpp +++ b/src/wasm/rlottiewasm.cpp @@ -27,6 +27,81 @@ public: return mPlayer ? true : false; } + void setFillColor(std::string keypath, float r, float g, float b) + { + if (!mPlayer) return; + + mPlayer->setValue(keypath, + rlottie::Color(r, g, b)); + } + + void setStrokeColor(std::string keypath, float r, float g, float b) + { + if (!mPlayer) return; + + mPlayer->setValue(keypath, + rlottie::Color(r, g, b)); + } + + void setFillOpacity(std::string keypath, float opacity) + { + if (!mPlayer || opacity > 100 || opacity < 0) return; + + mPlayer->setValue(keypath, opacity); + } + + void setStrokeOpacity(std::string keypath, float opacity) + { + if (!mPlayer || opacity > 100 || opacity < 0) return; + + mPlayer->setValue(keypath, opacity); + } + + void setStrokeWidth(std::string keypath, float width) + { + if (!mPlayer || width < 0) return; + + mPlayer->setValue(keypath, width); + } + + void setAnchor(std::string keypath, float x, float y) + { + if (!mPlayer) return; + + mPlayer->setValue(keypath, + rlottie::Point(x, y)); + } + + void setPosition(std::string keypath, float x, float y) + { + if (!mPlayer) return; + + mPlayer->setValue(keypath, + rlottie::Point(x, y)); + } + + void setScale(std::string keypath, float width, float height) + { + if (!mPlayer) return; + + mPlayer->setValue(keypath, + rlottie::Size(width, height)); + } + + void setRotation(std::string keypath, float degree) + { + if (!mPlayer || degree > 360 || degree < 0) return; + + mPlayer->setValue(keypath, degree); + } + + void setOpacity(std::string keypath, float opacity) + { + if (!mPlayer || opacity > 100 || opacity < 0) return; + + mPlayer->setValue(keypath, opacity); + } + // canvas pixel pix[0] pix[1] pix[2] pix[3] {B G R A} // lottie pixel pix[0] pix[1] pix[2] pix[3] {R G B A} val render(int frame, int width, int height) @@ -105,5 +180,15 @@ EMSCRIPTEN_BINDINGS(rlottie_bindings) .constructor(&RlottieWasm::create) .function("load", &RlottieWasm::load, allow_raw_pointers()) .function("frames", &RlottieWasm::frames) - .function("render", &RlottieWasm::render); + .function("render", &RlottieWasm::render) + .function("setFillColor", &RlottieWasm::setFillColor) + .function("setStrokeColor", &RlottieWasm::setStrokeColor) + .function("setFillOpacity", &RlottieWasm::setFillOpacity) + .function("setStrokeOpacity", &RlottieWasm::setStrokeOpacity) + .function("setStrokeWidth", &RlottieWasm::setStrokeWidth) + .function("setAnchor", &RlottieWasm::setAnchor) + .function("setPosition", &RlottieWasm::setPosition) + .function("setScale", &RlottieWasm::setScale) + .function("setRotation", &RlottieWasm::setRotation) + .function("setOpacity", &RlottieWasm::setOpacity); } diff --git a/vs2019/rlottie.vcxproj b/vs2019/rlottie.vcxproj index d1326af72..81a72fba6 100644 --- a/vs2019/rlottie.vcxproj +++ b/vs2019/rlottie.vcxproj @@ -45,7 +45,7 @@ MultiByte - Application + DynamicLibrary false v142 true @@ -118,6 +118,9 @@ true true true + ../inc;./;../src/lottie;../src/vector;../src/vector/pixman;../src/vector/freetype;%(AdditionalIncludeDirectories) + -DRLOTTIE_BUILD %(AdditionalOptions) + 4251;4244;4996 Console