1 from .base
import LottieObject, LottieProp, PseudoBool
2 from .properties
import Value, MultiDimensional, ColorValue
3 from ..nvector
import NVector
4 from ..utils.color
import Color
5 from .helpers
import VisualObject
28 def _load_get_class(cls, lottiedict):
29 if not EffectValue._classses:
30 EffectValue._classses = {
32 for sc
in EffectValue.__subclasses__()
34 return EffectValue._classses[lottiedict[
"ty"]]
52 LottieProp(
"effects",
"ef", EffectValue,
True),
67 def _load_get_class(cls, lottiedict):
68 if not Effect._classses:
71 for sc
in Effect.__subclasses__()
73 type = lottiedict[
"ty"]
75 if type
in Effect._classses:
76 return Effect._classses[type]
80 def _load_values(self, *args, **kwargs):
82 for i, (name, type)
in enumerate(self.
_effects_effects):
88 values.append(
type(*val))
92 for i, (name, type)
in enumerate(self.
_effects_effects):
94 return self.
effectseffects[i].value
95 raise AttributeError(key)
116 EffectValue.__init__(self)
130 EffectValue.__init__(self)
144 EffectValue.__init__(self)
152 LottieProp(
"value",
"v", MultiDimensional,
False),
158 EffectValue.__init__(self)
172 EffectValue.__init__(self)
188 EffectValue.__init__(self)
203 EffectValue.__init__(self)
218 EffectValue.__init__(self)
226 Replaces the whole layer with the given color
227 @note Opacity is in [0, 1]
230 (
"00", EffectValuePoint),
231 (
"01", EffectValueDropDown),
232 (
"color", EffectValueColor),
233 (
"03", EffectValueDropDown),
234 (
"04", EffectValueSlider),
235 (
"05", EffectValueSlider),
236 (
"opacity", EffectValueSlider),
245 (
"00", EffectValueColor),
246 (
"01", EffectValueCheckbox),
247 (
"02", EffectValueCheckbox),
248 (
"color", EffectValueColor),
249 (
"04", EffectValueSlider),
250 (
"05", EffectValueSlider),
251 (
"06", EffectValueSlider),
252 (
"07", EffectValueSlider),
253 (
"08", EffectValueSlider),
254 (
"09", EffectValueDropDown),
255 (
"type", EffectValueDropDown),
264 Maps layers colors based on bright/mid/dark colors
267 (
"bright", EffectValueColor),
268 (
"mid", EffectValueColor),
269 (
"dark", EffectValueColor),
277 ## @ingroup LottieCheck
278 class GroupEffect(Effect):
280 LottieProp("enabled", "en", PseudoBool, False),
284 Effect.__init__(self)
285 ## Enabled AE property value
294 (
"00", EffectValueDropDown),
295 (
"01", EffectNoValue),
296 (
"02", EffectNoValue),
297 (
"comp_inblack", EffectValueSlider),
298 (
"comp_inwhite", EffectValueSlider),
299 (
"comp_gamma", EffectValueSlider),
300 (
"comp_outblack", EffectValueSlider),
301 (
"comp_outwhite", EffectValueSlider),
302 (
"08", EffectNoValue),
303 (
"09", EffectValueSlider),
304 (
"r_inblack", EffectValueSlider),
305 (
"r_inwhite", EffectValueSlider),
306 (
"r_gamma", EffectValueSlider),
307 (
"r_outblack", EffectValueSlider),
308 (
"r_outwhite", EffectValueSlider),
309 (
"15", EffectValueSlider),
310 (
"16", EffectValueSlider),
311 (
"g_inblack", EffectValueSlider),
312 (
"g_inwhite", EffectValueSlider),
313 (
"g_gamma", EffectValueSlider),
314 (
"g_outblack", EffectValueSlider),
315 (
"g_outwhite", EffectNoValue),
316 (
"22", EffectValueSlider),
317 (
"23", EffectValueSlider),
318 (
"b_inblack", EffectValueSlider),
319 (
"b_inwhite", EffectValueSlider),
320 (
"b_gamma", EffectValueSlider),
321 (
"b_outblack", EffectValueSlider),
322 (
"b_outwhite", EffectNoValue),
323 (
"29", EffectValueSlider),
324 (
"a_inblack", EffectValueSlider),
325 (
"a_inwhite", EffectValueSlider),
326 (
"a_gamma", EffectValueSlider),
327 (
"a_outblack", EffectValueSlider),
328 (
"a_outwhite", EffectNoValue),
338 @note Opacity is in [0, 100]
341 (
"color_black", EffectValueColor),
342 (
"color_white", EffectValueColor),
343 (
"opacity", EffectValueSlider),
352 Adds a shadow to the layer
353 @note Opacity is in [0, 255]
356 (
"color", EffectValueColor),
357 (
"opacity", EffectValueSlider),
358 (
"angle", EffectValueAngle),
359 (
"distance", EffectValueSlider),
360 (
"blur", EffectValueSlider),
370 (
"index", EffectValueSlider),
382 (
"sigma", EffectValueSlider),
383 (
"dimensions", EffectValueSlider),
384 (
"wrap", EffectValueCheckbox),
393 Grouing properties in custom effects
403 (
"Rows", EffectValueSlider),
404 (
"Columns", EffectValueSlider),
405 (
"Quality", EffectValueSlider),
406 (
"03", EffectNoValue),
415 (
"Displacement Map Layer", EffectValueLayer),
416 (
"Use For Horizontal Displacement", EffectValueDropDown),
417 (
"Max Horizontal Displacement", EffectValueSlider),
418 (
"Use For Vertical Displacement", EffectValueDropDown),
419 (
"Max Vertical Displacement", EffectValueSlider),
420 (
"Displacement Map Behavior", EffectValueDropDown),
421 (
"Edge Behavior", EffectValueDropDown),
422 (
"Expand Output", EffectValueDropDown),
431 (
"00", EffectValueSlider)
440 (
"Puppet Engine", EffectValueDropDown),
441 (
"Mesh Rotation Refinement", EffectValueSlider),
442 (
"On Transparent", EffectValueDropDown),
443 (
"03", EffectNoValue),
452 (
"Completion", EffectValueSlider),
453 (
"Start Angle", EffectValueAngle),
454 (
"Wipe Center", EffectValuePoint),
455 (
"Wipe", EffectValueSlider),
456 (
"Feather", EffectValueSlider),
465 (
"radius", EffectValueSlider),
466 (
"center", EffectValuePoint),
475 (
"Radius", EffectValueSlider),
476 (
"Center", EffectValuePoint),
477 (
"Conversion type", EffectValueDropDown),
478 (
"Speed", EffectValueDropDown),
479 (
"Width", EffectValueSlider),
480 (
"Height", EffectValueSlider),
481 (
"Phase", EffectValueSlider),
Lottie <-> Python property mapper.
Grouing properties in custom effects.
Adds a shadow to the layer.
def __init__(self, angle=0)
def __init__(self, value=0)
def __init__(self, value=Color(0, 0, 0))
def __init__(self, value=0)
Lottie-web ignores these.
def __init__(self, value=0)
def __init__(self, value=NVector(0, 0))
def __init__(self, value=0)
effect_index
Effect Index.
effect_index
Effect Index.
enabled
Whether the effect is enabled.
def __init__(self, *args, **kwargs)
effects
Effect parameters.
def __getattr__(self, key)
def _load_values(self, *args, **kwargs)
Replaces the whole layer with the given color.
Maps layers colors based on bright/mid/dark colors.
An animatable property that holds a Color.
An animatable property that holds a NVector.
An animatable property that holds a float.