|
AnishGulati |
7cf124 |
"""
|
|
AnishGulati |
7cf124 |
Will store all the functions corresponding to solids in lottie
|
|
AnishGulati |
7cf124 |
"""
|
|
AnishGulati |
decf6d |
|
|
AnishGulati |
7cf124 |
import sys
|
|
AnishGulati |
7cf124 |
import settings
|
|
AnishGulati |
ac3983 |
from common.misc import get_color_hex
|
|
AnishGulati |
1f6b9a |
from common.Count import Count
|
|
AnishGulati |
1292be |
from common.Layer import Layer
|
|
AnishGulati |
7cf124 |
from helpers.blendMode import get_blend
|
|
AnishGulati |
0635b5 |
from helpers.transform import gen_helpers_transform
|
|
AnishGulati |
1db9b5 |
from effects.fill import gen_effects_fill
|
|
AnishGulati |
0635b5 |
from synfig.group import get_additional_width, get_additional_height
|
|
AnishGulati |
7cf124 |
sys.path.append("..")
|
|
AnishGulati |
7cf124 |
|
|
AnishGulati |
decf6d |
|
|
AnishGulati |
ac3983 |
def gen_layer_solid(lottie, layer, idx):
|
|
AnishGulati |
7cf124 |
"""
|
|
AnishGulati |
7cf124 |
Generates the dictionary corresponding to layers/solid.json
|
|
AnishGulati |
0f1f11 |
|
|
AnishGulati |
0f1f11 |
Args:
|
|
AnishGulati |
1292be |
lottie (dict) : Lottie generated solid layer stored here
|
|
AnishGulati |
a3579e |
layer (common.Layer.Layer) : Synfig format solid layer
|
|
AnishGulati |
1292be |
idx (int) : Stores the index(number of) of solid layer
|
|
AnishGulati |
0f1f11 |
|
|
AnishGulati |
0f1f11 |
Returns:
|
|
AnishGulati |
0f1f11 |
(None)
|
|
AnishGulati |
7cf124 |
"""
|
|
AnishGulati |
7cf124 |
index = Count()
|
|
AnishGulati |
7cf124 |
lottie["ddd"] = settings.DEFAULT_3D
|
|
AnishGulati |
7cf124 |
lottie["ind"] = idx
|
|
AnishGulati |
7cf124 |
lottie["ty"] = settings.LAYER_SOLID_TYPE
|
|
AnishGulati |
ac3983 |
lottie["nm"] = layer.get_description()
|
|
AnishGulati |
7cf124 |
lottie["sr"] = settings.LAYER_DEFAULT_STRETCH
|
|
AnishGulati |
7cf124 |
lottie["ks"] = {} # Transform properties to be filled
|
|
AnishGulati |
1db9b5 |
lottie["ef"] = [] # Stores the effects
|
|
AnishGulati |
1db9b5 |
|
|
AnishGulati |
3ca27d |
pos = [settings.lottie_format["w"]/2 + get_additional_width()/2,
|
|
AnishGulati |
0635b5 |
settings.lottie_format["h"]/2 + get_additional_height()/2]
|
|
AnishGulati |
3ca27d |
|
|
AnishGulati |
7cf124 |
anchor = pos
|
|
AnishGulati |
a3579e |
gen_helpers_transform(lottie["ks"], pos, anchor)
|
|
AnishGulati |
7cf124 |
|
|
AnishGulati |
1db9b5 |
lottie["ef"].append({})
|
|
AnishGulati |
a3579e |
gen_effects_fill(lottie["ef"][-1], layer, index.inc())
|
|
AnishGulati |
1db9b5 |
|
|
AnishGulati |
7cf124 |
lottie["ao"] = settings.LAYER_DEFAULT_AUTO_ORIENT
|
|
AnishGulati |
3ca27d |
lottie["sw"] = settings.lottie_format["w"] + get_additional_width() # Solid Width
|
|
AnishGulati |
3ca27d |
lottie["sh"] = settings.lottie_format["h"] + get_additional_height() # Solid Height
|
|
AnishGulati |
0f1f11 |
|
|
AnishGulati |
1d9f57 |
lottie["sc"] = get_color_hex(layer.get_param("color").get()[0])
|
|
AnishGulati |
7cf124 |
|
|
AnishGulati |
7cf124 |
lottie["ip"] = settings.lottie_format["ip"]
|
|
AnishGulati |
7cf124 |
lottie["op"] = settings.lottie_format["op"]
|
|
AnishGulati |
7cf124 |
lottie["st"] = 0 # Don't know yet
|
|
AnishGulati |
a3579e |
get_blend(lottie, layer)
|