summaryrefslogtreecommitdiff
path: root/createcalls.cpp
diff options
context:
space:
mode:
authorFox Caminiti <fox@foxcam.net>2022-11-28 21:46:43 -0500
committerFox Caminiti <fox@foxcam.net>2022-11-28 21:46:43 -0500
commit7a5e57b5c806437b0fbd2ab0c08d616d5dec0090 (patch)
tree511ca8e173b8bfc17eead7dfa8576bb5dffa7ecb /createcalls.cpp
parent6eb627210eb2b77bcde7ca75d9bcb5b50d240f64 (diff)
fancy keybind UI added, major brush regression
Diffstat (limited to 'createcalls.cpp')
-rw-r--r--createcalls.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/createcalls.cpp b/createcalls.cpp
index d1f6448..a984454 100644
--- a/createcalls.cpp
+++ b/createcalls.cpp
@@ -659,13 +659,20 @@ Layer_TraverseForPoint(project_data *File, project_state *State, memory *Memory,
v2 PointUV = {0, 0};
int OuterWidth = Comp->Width, OuterHeight = Comp->Height;
int InnerWidth = 0, InnerHeight = 0;
- for (int i = 1; i <= Recursions; i++) {
- block_layer *InnerLayer = (block_layer *)Memory_Block_AddressAtIndex(Memory, F_Layers, RecursionIdx[i]);
- layer_transforms T = Layer_GetTransforms(InnerLayer);
- Layer_GetDimensions(Memory, InnerLayer, &InnerWidth, &InnerHeight);
+ if (Recursions == 0) {
+ block_layer *Layer = (block_layer *)Memory_Block_AddressAtIndex(Memory, F_Layers, State->Brush.LayerToPaint_Index);
+ layer_transforms T = Layer_GetTransforms(Layer);
+ Layer_GetDimensions(Memory, Layer, &InnerWidth, &InnerHeight);
PointUV = T_CompUVToLayerUV(T, OuterWidth, OuterHeight, InnerWidth, InnerHeight, State->TempZoomRatio);
- OuterWidth = InnerWidth;
- OuterHeight = InnerHeight;
+ } else {
+ for (int i = 1; i <= Recursions; i++) {
+ block_layer *InnerLayer = (block_layer *)Memory_Block_AddressAtIndex(Memory, F_Layers, RecursionIdx[i]);
+ layer_transforms T = Layer_GetTransforms(InnerLayer);
+ Layer_GetDimensions(Memory, InnerLayer, &InnerWidth, &InnerHeight);
+ PointUV = T_CompUVToLayerUV(T, OuterWidth, OuterHeight, InnerWidth, InnerHeight, State->TempZoomRatio);
+ OuterWidth = InnerWidth;
+ OuterHeight = InnerHeight;
+ }
}
return PointUV * V2(InnerWidth, InnerHeight);
}