summaryrefslogtreecommitdiff
path: root/src/include/layer.h
blob: bbea0e669af9df917774c3805b9c756132804ce8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
static block_layer *
Layer_Init(project_data *File, memory *Memory);

static void
Layer_Delete(project_data *File, project_state *State, memory *Memory, uint32 Index);

static layer_transforms
Layer_GetTransforms(block_layer *Layer);

static int
Layer_GetTopOffset(project_data *File, memory *Memory);

static void
Layer_UpdateMasksEffects(project_state *State, block_layer *Layer, memory *Memory, void *EffectBitmapAddress,
        int Width, int Height, int BytesPerPixel, int CompWidth, int CompHeight);

static void
Layer_ToggleChannel(project_data *File, memory *Memory, int32 a);

static void
Layer_Select(memory *Memory, project_state *State, int32 i);

static void
Layer_Select_RecurseUp(memory *Memory, project_state *State, int32 i, int16 RecursionIdx[MAX_PRECOMP_RECURSIONS], uint32 Recursions);

static void
Layer_DeselectAll(project_data *File, project_state *State, memory *Memory, bool32 AllowComp = 0, bool32 RecordSelection = 0);

static bool32
Layer_LoopChannels(project_state *State, memory *Memory, sorted_property_array **SortedProperty, uint16 **SortedKeyframe, block_layer *Layer,
                   property_channel **Property, block_effect **EffectOut, int *h, int *c, int *p, int LoopNumber = 8);

static void
Layer_ToggleAllChannels(project_state *State, memory *Memory, block_layer *Layer,
                        sorted_comp_array *SortedCompStart, sorted_layer_array *SortedLayerStart,
                        sorted_property_array *SortedPropertyStart, uint16 *SortedKeyframeArray);

static void
Layer_Select_Traverse(uint16 PrincipalCompIndex, memory *Memory, project_state *State, int32 IndexToFind, sorted_comp_array *SortedCompArray, sorted_layer_array *SortedLayerArray,
                      int16 RecursionIdx[MAX_PRECOMP_RECURSIONS], int32 *Recursions);

static v2
Layer_TraverseForPoint(project_data *File, project_state *State, memory *Memory, v2 PrincipalCompUV, sorted_comp_array *SortedCompArray, sorted_layer_array *SortedLayerArray, uint16 LayerIndex);

static void
Layer_RecursiveDeselect(memory *Memory, sorted_comp_array *SortedCompArray, sorted_layer_array *SortedLayerArray, uint16 TargetIndex, uint16 PrincipalIndex);