From 5d8e439bc597159e3c9f0a8b65c0ae869dead3a8 Mon Sep 17 00:00:00 2001 From: Matthew Fennell Date: Sat, 27 Dec 2025 12:40:20 +0000 Subject: Import Upstream version 43.0 --- src/animation/gtd-animation-enums.h | 173 ++++++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 src/animation/gtd-animation-enums.h (limited to 'src/animation/gtd-animation-enums.h') diff --git a/src/animation/gtd-animation-enums.h b/src/animation/gtd-animation-enums.h new file mode 100644 index 0000000..ed26f8e --- /dev/null +++ b/src/animation/gtd-animation-enums.h @@ -0,0 +1,173 @@ +/* gtd-animation-enums.h + * + * Copyright 2020 Georges Basile Stavracas Neto + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +#pragma once + +#include + +G_BEGIN_DECLS + + +/** + * GtdEaseMode: + * @GTD_CUSTOM_MODE: custom progress function + * @GTD_EASE_LINEAR: linear tweening + * @GTD_EASE_IN_QUAD: quadratic tweening + * @GTD_EASE_OUT_QUAD: quadratic tweening, inverse of + * %GTD_EASE_IN_QUAD + * @GTD_EASE_IN_OUT_QUAD: quadratic tweening, combininig + * %GTD_EASE_IN_QUAD and %GTD_EASE_OUT_QUAD + * @GTD_EASE_IN_CUBIC: cubic tweening + * @GTD_EASE_OUT_CUBIC: cubic tweening, invers of + * %GTD_EASE_IN_CUBIC + * @GTD_EASE_IN_OUT_CUBIC: cubic tweening, combining + * %GTD_EASE_IN_CUBIC and %GTD_EASE_OUT_CUBIC + * @GTD_EASE_IN_QUART: quartic tweening + * @GTD_EASE_OUT_QUART: quartic tweening, inverse of + * %GTD_EASE_IN_QUART + * @GTD_EASE_IN_OUT_QUART: quartic tweening, combining + * %GTD_EASE_IN_QUART and %GTD_EASE_OUT_QUART + * @GTD_EASE_IN_QUINT: quintic tweening + * @GTD_EASE_OUT_QUINT: quintic tweening, inverse of + * %GTD_EASE_IN_QUINT + * @GTD_EASE_IN_OUT_QUINT: fifth power tweening, combining + * %GTD_EASE_IN_QUINT and %GTD_EASE_OUT_QUINT + * @GTD_EASE_IN_SINE: sinusoidal tweening + * @GTD_EASE_OUT_SINE: sinusoidal tweening, inverse of + * %GTD_EASE_IN_SINE + * @GTD_EASE_IN_OUT_SINE: sine wave tweening, combining + * %GTD_EASE_IN_SINE and %GTD_EASE_OUT_SINE + * @GTD_EASE_IN_EXPO: exponential tweening + * @GTD_EASE_OUT_EXPO: exponential tweening, inverse of + * %GTD_EASE_IN_EXPO + * @GTD_EASE_IN_OUT_EXPO: exponential tweening, combining + * %GTD_EASE_IN_EXPO and %GTD_EASE_OUT_EXPO + * @GTD_EASE_IN_CIRC: circular tweening + * @GTD_EASE_OUT_CIRC: circular tweening, inverse of + * %GTD_EASE_IN_CIRC + * @GTD_EASE_IN_OUT_CIRC: circular tweening, combining + * %GTD_EASE_IN_CIRC and %GTD_EASE_OUT_CIRC + * @GTD_EASE_IN_ELASTIC: elastic tweening, with offshoot on start + * @GTD_EASE_OUT_ELASTIC: elastic tweening, with offshoot on end + * @GTD_EASE_IN_OUT_ELASTIC: elastic tweening with offshoot on both ends + * @GTD_EASE_IN_BACK: overshooting cubic tweening, with + * backtracking on start + * @GTD_EASE_OUT_BACK: overshooting cubic tweening, with + * backtracking on end + * @GTD_EASE_IN_OUT_BACK: overshooting cubic tweening, with + * backtracking on both ends + * @GTD_EASE_IN_BOUNCE: exponentially decaying parabolic (bounce) + * tweening, with bounce on start + * @GTD_EASE_OUT_BOUNCE: exponentially decaying parabolic (bounce) + * tweening, with bounce on end + * @GTD_EASE_IN_OUT_BOUNCE: exponentially decaying parabolic (bounce) + * tweening, with bounce on both ends + * @GTD_ANIMATION_LAST: last animation mode, used as a guard for + * registered global alpha functions + * + * The animation modes used by #ClutterAnimatable. This + * enumeration can be expanded in later versions of Clutter. + * + *
+ * Easing modes provided by Clutter + * + *
+ * + * Every global alpha function registered using clutter_alpha_register_func() + * or clutter_alpha_register_closure() will have a logical id greater than + * %GTD_ANIMATION_LAST. + * + * Since: 1.0 + */ +typedef enum +{ + GTD_CUSTOM_MODE = 0, + + /* linear */ + GTD_EASE_LINEAR, + + /* quadratic */ + GTD_EASE_IN_QUAD, + GTD_EASE_OUT_QUAD, + GTD_EASE_IN_OUT_QUAD, + + /* cubic */ + GTD_EASE_IN_CUBIC, + GTD_EASE_OUT_CUBIC, + GTD_EASE_IN_OUT_CUBIC, + + /* quartic */ + GTD_EASE_IN_QUART, + GTD_EASE_OUT_QUART, + GTD_EASE_IN_OUT_QUART, + + /* quintic */ + GTD_EASE_IN_QUINT, + GTD_EASE_OUT_QUINT, + GTD_EASE_IN_OUT_QUINT, + + /* sinusoidal */ + GTD_EASE_IN_SINE, + GTD_EASE_OUT_SINE, + GTD_EASE_IN_OUT_SINE, + + /* exponential */ + GTD_EASE_IN_EXPO, + GTD_EASE_OUT_EXPO, + GTD_EASE_IN_OUT_EXPO, + + /* circular */ + GTD_EASE_IN_CIRC, + GTD_EASE_OUT_CIRC, + GTD_EASE_IN_OUT_CIRC, + + /* elastic */ + GTD_EASE_IN_ELASTIC, + GTD_EASE_OUT_ELASTIC, + GTD_EASE_IN_OUT_ELASTIC, + + /* overshooting cubic */ + GTD_EASE_IN_BACK, + GTD_EASE_OUT_BACK, + GTD_EASE_IN_OUT_BACK, + + /* exponentially decaying parabolic */ + GTD_EASE_IN_BOUNCE, + GTD_EASE_OUT_BOUNCE, + GTD_EASE_IN_OUT_BOUNCE, + + /* guard, before registered alpha functions */ + GTD_EASE_LAST +} GtdEaseMode; + +/** + * GtdTimelineDirection: + * @GTD_TIMELINE_FORWARD: forward direction for a timeline + * @GTD_TIMELINE_BACKWARD: backward direction for a timeline + * + * The direction of a #GtdTimeline + */ +typedef enum +{ + GTD_TIMELINE_FORWARD, + GTD_TIMELINE_BACKWARD +} GtdTimelineDirection; + +G_END_DECLS -- cgit v1.2.3