本文整理匯總了TypeScript中aerial-common2.shiftBounds函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript shiftBounds函數的具體用法?TypeScript shiftBounds怎麽用?TypeScript shiftBounds使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了shiftBounds函數的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: weakMemo
export const getElementStartPosition = weakMemo((element: SyntheticElement, window: SyntheticWindow) => {
// if the element is relative, then we just need to subtract the css style from the computed bounds to figure out where its static position is.
let { left, top, borderLeftWidth, borderTopWidth } = convertElementMeasurementsToNumbers(element, window);
return shiftBounds(window.allComputedBounds[element.$id], {
left: -left,
top: -top
});
});
示例2: weakMemo
export const getWorkspaceItemBounds = weakMemo((value: any, workspace: Workspace) => {
if (!value) {
return null;
}
if ((value as Artboard).$type === ARTBOARD) {
return (value as Artboard).bounds;
} else {
const artboard = getNodeArtboard((value as SlimBaseNode).id, workspace);
return shiftBounds(getComputedNodeBounds(value.id, artboard), artboard.bounds);
}
});
示例3: fork
yield fork(function* handleMoveNode() {
while(true) {
const { itemType, itemId, point, targetSelectors }: Moved = (yield take((action: Moved) => action.type === MOVED && isSyntheticNodeType(action.itemType) && !!flattenWindowObjectSources(window.struct)[action.itemId]));
// compute based on the data currently in the store
const syntheticWindow = getSyntheticWindow(yield select(), window.$id);
const syntheticNode = getSyntheticNodeById(yield select(), itemId);
const originalRect = syntheticWindow.allComputedBounds[syntheticNode.$id];
const computedStyle = syntheticWindow.allComputedStyles[syntheticNode.$id];
// TODO - computed boxes MUST also contain the offset of the parent.
const relativeRect = roundBounds(shiftBounds(convertAbsoluteBoundsToRelative(
pointToBounds(point),
syntheticNode as SyntheticElement,
syntheticWindow
), {
left: -syntheticWindow.bounds.left,
top: -syntheticWindow.bounds.top
}));
const envElement = flattenWindowObjectSources(window.struct)[syntheticNode.$id] as any as SEnvHTMLElementInterface;
const { top, left, position } = getTargetStyleOwners(envElement, ["top", "left", "position"], targetSelectors);
// TODO - get best CSS style
if (computedStyle.position === "static") {
position.style.setProperty("position", "relative");
}
// transitions will foo with dragging, so temporarily
// disable them
// TODO - need to fix this -- causes jumpy CSS inspector
// envElement.style.setProperty("transition", "none");
left.style.setProperty("left", `${relativeRect.left}px`);
top.style.setProperty("top", `${relativeRect.top}px`);
}
});
示例4: weakMemo
export const getSyntheticBrowserItemBounds = weakMemo((root: SyntheticBrowserRootState|SyntheticBrowser, item: Partial<Struct & Bounded>) => {
if (!item) return null;
if (item.bounds) return item.bounds;
const window = getSyntheticNodeWindow(root, item.$id);
return window && window.allComputedBounds[item.$id] && shiftBounds(window.allComputedBounds[item.$id], window.bounds);
});