feat: add first-class text layers
This commit is contained in:
@@ -3,6 +3,7 @@ import type { Rect } from "@core/geometry";
|
||||
import type { Layer } from "@core/layer";
|
||||
import type { ArtboardId, LayerId } from "@core/id";
|
||||
import type { TransformTarget } from "./transform";
|
||||
import { measureTextLayer } from "@core/text-layer";
|
||||
|
||||
export function resolveTransformTargetBounds(document: ImageDocument, target: TransformTarget): Rect | undefined {
|
||||
switch (target.type) {
|
||||
@@ -62,6 +63,12 @@ function resolveLayerBounds(document: ImageDocument, layer: Layer): Rect | undef
|
||||
h: source.h * layer.transform.scale.y,
|
||||
};
|
||||
}
|
||||
case "text": {
|
||||
const size = measureTextLayer(layer);
|
||||
return { x: layer.transform.position.x, y: layer.transform.position.y, w: size.w * layer.transform.scale.x, h: size.h * layer.transform.scale.y };
|
||||
}
|
||||
case "adjustment":
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user