Referência de elementos
BaseClip, Transform e Style
1. BaseClip
interface BaseClip {
id?: string;
type: ClipType;
start: number;
duration: number;
transform?: Transform;
zIndex?: number;
opacity?: number;
style?: Style;
animations?: Animation[];
keyframes?: Keyframe[];
transition?: Transition;
}2. Referência de campos
id
- Tipo:
string - Obrigatório: não
- Finalidade: identificador do elemento
type
- Tipo:
ClipType - Obrigatório: sim
Atualmente suportado:
videoimagetextrectcirclepolygonaudiosubtitlelayouttemplate
start
- Tipo:
number - Unidade: segundos
- Obrigatório: sim
- Finalidade: tempo de início do clip
duration
- Tipo:
number - Unidade: segundos
- Obrigatório: sim
- Finalidade: duração do clip
transform
- Tipo:
Transform - Obrigatório: não
zIndex
- Tipo:
number - Obrigatório: não
- Padrão:
0
opacity
- Tipo:
number - Obrigatório: não
- Padrão:
1 - Finalidade: atalho de opacidade para elementos visíveis
- Regra de compatibilidade:
style.opacitytem prioridade maior queopacityno nível superior
style
- Tipo:
Style - Obrigatório: não
animations
- Tipo:
Animation[] - Obrigatório: não
keyframes
- Tipo:
Keyframe[] - Obrigatório: não
transition
- Tipo:
Transition - Obrigatório: não
Notas:
transitionse aplica a elementos visíveisaudionão executa transições visuais
3. Transform
interface Transform {
x?: number | string;
y?: number | string;
width?: number | string;
height?: number | string;
scale?: number | [number, number];
rotation?: number;
skew?: [number, number];
anchor?: Anchor;
}Atualmente efetivo em runtime:
xywidthheightscalerotationskewanchor
4. Regras de coordenadas percentuais
Este não é um sistema estilo DOM com origem no canto superior esquerdo. Ele usa um modelo de coordenadas centralizado.
Exemplos:
x: "50%"significa centro horizontaly: "50%"significa centro verticalx: "0%"significa totalmente à esquerdax: "100%"significa totalmente à direitay: "0%"significa topoy: "100%"significa base
5. scale
Formas suportadas:
{ "scale": 1.2 }{ "scale": [1.2, 0.8] }6. anchor
Valores suportados:
centertop-lefttoptop-rightleftrightbottom-leftbottombottom-right
7. Style
interface Style {
opacity?: number;
objectFit?: "fill" | "cover" | "contain";
fill?: string | Gradient;
stroke?: string;
strokeWidth?: number;
fontFamily?: string;
fontSize?: number;
fontWeight?: number | string;
fontStyle?: "normal" | "italic";
lineHeight?: number;
letterSpacing?: number;
textAlign?: "left" | "center" | "right";
textWrap?: boolean;
shadowColor?: string;
shadowBlur?: number;
shadowOffset?: [number, number];
borderRadius?: number | [number, number, number, number];
filters?: Filter[];
}Atualmente efetivo em runtime:
opacityobjectFitfillstrokestrokeWidthfontFamilyfontSizefontWeightfontStylelineHeightletterSpacingtextAligntextWrapshadowColorshadowBlurshadowOffsetborderRadiusfilters
8. filters
Suportados:
blurbrightnesscontrastsaturatehuegrayscalesepiainvert
9. Observações compartilhadas de estilo
style.objectFitatualmente é relevante paraimageevideo- Os valores permitidos são
fill,coverecontain - Outros tipos de clip não devem tratar
objectFitcomo um campo efetivo