All Projects → mrtnRitter → DearPyGui_Animate

mrtnRitter / DearPyGui_Animate

Licence: MIT license
DearPyGui_Animate is an add-on to bring DearPyGUI to life.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to DearPyGui Animate

Lottie React Native
Lottie wrapper for React Native.
Stars: ✭ 14,707 (+43155.88%)
Mutual labels:  animations
Flutter-animations
A collection of Animations that aims to improve the user experience for your next flutter project.
Stars: ✭ 137 (+302.94%)
Mutual labels:  animations
particle-animations
Animate your iOS app with particle systems
Stars: ✭ 14 (-58.82%)
Mutual labels:  animations
React Spinners Css
Amazing collection of React spinners components with pure css
Stars: ✭ 232 (+582.35%)
Mutual labels:  animations
Pathanimator
Moves a DOM element along an SVG path (or do whatever along a path...)
Stars: ✭ 251 (+638.24%)
Mutual labels:  animations
MainScreenShow
Android,动态壁纸,锁屏动画,来电秀等。桌面秀集此于一身。
Stars: ✭ 77 (+126.47%)
Mutual labels:  animations
Vue Particle Effect Buttons
A bursting particles effects buttons component ✨💥❄️🌋
Stars: ✭ 219 (+544.12%)
Mutual labels:  animations
helium-animated-pages
A light spiritual succesor to neon-animated-pages using only css animations
Stars: ✭ 17 (-50%)
Mutual labels:  animations
flutter dribble login challenge
A flutter animation UI challenge.
Stars: ✭ 51 (+50%)
Mutual labels:  animations
flip view
A Flutter app with flip animation to view profiles of friends. 🌟
Stars: ✭ 69 (+102.94%)
Mutual labels:  animations
Tourism Demo
Flutter app backed by Redux, shows animations, internationalization (i18n), ClipPath, fonts and others...
Stars: ✭ 232 (+582.35%)
Mutual labels:  animations
Editly
Slick, declarative command line video editing & API
Stars: ✭ 3,162 (+9200%)
Mutual labels:  animations
CameraButton
No description or website provided.
Stars: ✭ 31 (-8.82%)
Mutual labels:  animations
Primer
Intro Animation like Google Primer
Stars: ✭ 230 (+576.47%)
Mutual labels:  animations
Wortuhr ESP8266
Wortuhr mit ESP8266 WeMos D1 mini und NeoPixel WS2812B LEDs mit mp3 Sounds, Animationen, Transitions, Events und Spiele
Stars: ✭ 33 (-2.94%)
Mutual labels:  animations
Transition.css
Drop-in CSS transitions
Stars: ✭ 199 (+485.29%)
Mutual labels:  animations
VinylShop
https://dribbble.com/shots/4996346-Vinyl-Shop-mobile-app
Stars: ✭ 30 (-11.76%)
Mutual labels:  animations
Material-BottomBarLayout
🎉A material navigation bar library which has pretty animations and different ways of arrangement.
Stars: ✭ 56 (+64.71%)
Mutual labels:  animations
react-bones
💀 Dead simple content loading components for React and React-Native. 💀
Stars: ✭ 42 (+23.53%)
Mutual labels:  animations
MultiPy
MultiPy lets you conveniently keep track of your python scripts for personal use or showcase by loading and grouping them into categories. It allows you to either run each script individually or together with just one click.
Stars: ✭ 56 (+64.71%)
Mutual labels:  dearpygui

DearPyGui_Animate is an add-on written on top of DearPyGUI to make UI animations possible.

Updated and tested for DearPyGui 1.8.0 thanks to IvanNazaruk.


Features:

  • add, delay, pause, continue, loop, remove animations
  • get various animation data for best flow control
  • animations are bezier driven to support every individual easing (see https://cubic-bezier.com/)
  • partial animations will add up to one global animation
  • support for callbacks when animation starts, as well as when animation ends
  • support for position, size and opacity

Setup:

import dearpygui.dearpygui as dpg
import dearpygui_animate as animate

dpg.create_context()
dpg.create_viewport(title="dearpygui_animate    D E M O", width=1280, height=720)

with dpg.window(label="Demo", tag="Demo", width=200, height=100):
    dpg.add_text("Hello World!")

animate.add("position", "Demo", [622, 800], [622, 304], [0, .06, .2, .99], 60)
animate.add("opacity", "Demo", 0, 1, [.57, .06, .61, .86], 60)

dpg.setup_dearpygui()
dpg.show_viewport()
while dpg.is_dearpygui_running():
    animate.run()
    dpg.render_dearpygui_frame()
dpg.destroy_context()

Usage:

Please see the Demo for some examples of how DearPyGui_Animate can be used.


API:

See Wiki


Known limitations:

actual minimum size for windows is 32x32

windows cannot be smaller than this, but dearpygui_animate will handle smaller values ([0,0] will be translated to [32,32] automatically)

actual minimum size for items is 1x1 (tested for buttons only!)

items cannot be smaller than this, but dearpygui_animate will handle smaller values ([0,0] will be translated to [1,1] automatically)


Bugs:

If there is a theme that is attached not only to a changeable/animated object, then other objects will change their values. To reproduce:

import dearpygui.dearpygui as dpg

import dearpygui_animate as animate

dpg.create_context()
dpg.create_viewport()

with dpg.theme() as button_theme:
    with dpg.theme_component(dpg.mvButton):
        dpg.add_theme_color(dpg.mvThemeCol_Text, (0, 255, 0, 255), category=dpg.mvThemeCat_Core)

with dpg.window():
    btn1 = dpg.add_button(label="Test 1")
    btn2 = dpg.add_button(label="Test 2")

    dpg.bind_item_theme(btn1, button_theme)
    dpg.bind_item_theme(btn2, button_theme)

animate.add("opacity", btn1, 0, 1, [.57, .06, .61, .86], 60, loop="ping-pong")

dpg.setup_dearpygui()
dpg.show_viewport()
while dpg.is_dearpygui_running():
    animate.run()
    dpg.render_dearpygui_frame()
dpg.destroy_context()

0

The workaround is to wrap each future animated object into a group:

import dearpygui.dearpygui as dpg

import dearpygui_animate as animate

dpg.create_context()
dpg.create_viewport()

with dpg.theme() as button_theme:
    with dpg.theme_component(dpg.mvButton):
        dpg.add_theme_color(dpg.mvThemeCol_Text, (0, 255, 0, 255), category=dpg.mvThemeCat_Core)

with dpg.window():
    with dpg.group() as btn1_group:
        btn1 = dpg.add_button(label="Test 1")
    btn2 = dpg.add_button(label="Test 2")

    dpg.bind_item_theme(btn1, button_theme)
    dpg.bind_item_theme(btn2, button_theme)

animate.add("opacity", btn1_group, 0, 1, [.57, .06, .61, .86], 60, loop="ping-pong")

dpg.setup_dearpygui()
dpg.show_viewport()
while dpg.is_dearpygui_running():
    animate.run()
    dpg.render_dearpygui_frame()
dpg.destroy_context()

0

Unfortunately for dpg.window() you need to create a new theme


DearPyGUI_Animate is licensed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].