RU | EN

Lottie

Description

Lottie is an application for viewing and rendering vector animations in real time. Lottie loads and renders animations and vectors exported in bodymovin JSON format. You can add and remove animations with the .tgs extension in the application.

The application is developed in C++ and QML using the rlottie libraries: https://github.com/Samsung/rlottie for decoding and rendering animations and LottieQuick: https://github.com/dseight/lottiequick for integration into the QML interface. They are connected via the aurora-lottie-plugin. The project demonstrates the use of vector graphics and animation with smooth playback and interactive control support.

Build Status

  • example - pipeline status
  • dev - pipeline status

Table of Contents

Compatibility

The project is compatible starting from version 5 of the Aurora OS.

Build Features

The project is built in the usual way using the Aurora SDK.

Branches Info

Application versions conform to the branch naming convention

Install and Run

The application is installed and launched according to the instructions Example's build.

The application needs to have permissions for UserDirs to work. These permissions are set in the .desktop file.

Screenshots

screenshots

Use Cases

The application has the following use cases:

  1. Adding and removing animations with an extension.tgs,
  2. Changing the animation direction,
  3. Automatic animation playback control,
  4. Switching and pausing animation.

Project Structure

The project has a standard structure of an application based on C++ and QML for Aurora OS.

  • assets directory contains examples lottie animations.
  • CMakeLists.txt file describes the project structure for the CMake build system.
  • icons directory contains the application icons for different screen resolutions.
  • qml directory contains the QML source code and the UI resources.
    • cover directory contains the application cover implementations.
    • icons directory contains the additional custom UI icons.
    • pages directory contains the application pages.
    • Lottie.qml file provides the application window implementation.
  • rpm directory contains the rpm-package build settings.
  • src directory contains the C++ source code.
    • animation directory contains an interface for managing animations.
    • main.cpp file is the application entry point.
  • translations directory contains the UI translation files.
  • ru.auroraos.Lottie.desktop file defines the display and parameters for launching the application.

Terms of Use and Participation

The source code of the project is provided under the license, which allows its use in third-party applications.

Contributor License Agreement

The contributor agreement documents the rights granted by contributors of the Open Mobile Platform.

Information about the contributors is specified in the AUTHORS file.

Code of conduct is a current set of rules of the Open Mobile Platform which informs you how we expect the members of the community will interact while contributing and communicating.