當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript aerial-common2.shiftBounds函數代碼示例

本文整理匯總了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
  });
});
開發者ID:cryptobuks,項目名稱:tandem,代碼行數:8,代碼來源:synthetic-element-bounds.ts

示例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);
  } 
});
開發者ID:cryptobuks,項目名稱:tandem,代碼行數:11,代碼來源:index.ts

示例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`);
    }
  });
開發者ID:cryptobuks,項目名稱:tandem,代碼行數:38,代碼來源:synthetic-browser.ts

示例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);
});
開發者ID:cryptobuks,項目名稱:tandem,代碼行數:6,代碼來源:index.ts


注:本文中的aerial-common2.shiftBounds函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。