vue3-sketch-ruler
Version:
> 是一个基于 Vue 3 + TypeScript 的标尺组件库,适用于低代码平台、大屏可视化、做图工具等场景,提供类似 Photoshop 的缩放与标尺辅助线体验。
35 lines • 1.03 kB
TypeScript
import { Ref } from 'vue';
export interface SnapTarget {
/** 目标类型 */
type: 'tick' | 'guide-line' | 'custom';
/** 目标位置(世界坐标) */
position: number;
/** 优先级 */
priority: number;
}
export interface SnapResult {
/** 吸附后的位置 */
position: number;
/** 吸附目标 */
target: SnapTarget;
/** 原始位置 */
original: number;
}
export interface SnapOptions {
/** 吸附阈值(像素) */
threshold: Ref<number>;
/** 当前缩放比例 */
scale: Ref<number>;
/** 刻度吸附目标 */
tickTargets?: Ref<number[]>;
/** 参考线吸附目标 */
guideLineTargets?: Ref<number[]>;
/** 自定义吸附目标 */
customTargets?: Ref<number[]>;
/** 吸附强度(0-1,0.5 为软吸附) */
strength?: Ref<number>;
}
export declare function useSnapDetection(options: SnapOptions): {
snap: (position: number, direction: "h" | "v") => SnapResult | null;
};
//# sourceMappingURL=useSnapDetection.d.ts.map