mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-19 19:08:05 +08:00
* Do not select layer immediatly on drag * Add LayerReferenceInput MVP widget * Properties Panel * Fix dragging marker flicker * Change mask shape to outline * Add mask rendering * Simplify select code * Remove colours * Fix inpaint/outpaint and rearrage widget UX * Add mask blur and mask starting fill parameters * Guard for the case when the layer is missing * Add icon to LayerReferenceInput to finalize its UI Co-authored-by: Keavon Chambers <keavon@keavon.com>
27 lines
766 B
TypeScript
27 lines
766 B
TypeScript
let draggingElement: HTMLElement | undefined;
|
|
|
|
export function createDragManager(): () => void {
|
|
const clearDraggingElement = (): void => {
|
|
draggingElement = undefined;
|
|
};
|
|
|
|
// Add the event listener
|
|
document.addEventListener("drop", clearDraggingElement);
|
|
|
|
// Return the destructor
|
|
return () => {
|
|
// We use setTimeout to sequence this drop after any potential users in the current call stack progression, since this will begin in an entirely new call stack later
|
|
setTimeout(() => {
|
|
document.removeEventListener("drop", clearDraggingElement);
|
|
}, 0);
|
|
};
|
|
}
|
|
|
|
export function beginDraggingElement(element: HTMLElement): void {
|
|
draggingElement = element;
|
|
}
|
|
|
|
export function currentDraggingElement(): HTMLElement | undefined {
|
|
return draggingElement;
|
|
}
|