当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript svg.path方法代码示例

本文整理汇总了TypeScript中@cycle/dom.svg.path方法的典型用法代码示例。如果您正苦于以下问题:TypeScript svg.path方法的具体用法?TypeScript svg.path怎么用?TypeScript svg.path使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在@cycle/dom.svg的用法示例。


在下文中一共展示了svg.path方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: renderEdgeType1

function renderEdgeType1(vw: Dagre.Edge, graph: Dagre.Graph): VNode | null {
  const edgeData: StreamGraphEdge = (graph as any).edge(vw.v, vw.w);
  if (!edgeData.points) {
    return null;
  }
  const points = edgeData.points.map(({x, y}) =>
    ({ x: x + DIAGRAM_PADDING_H, y: y + DIAGRAM_PADDING_V }),
  );
  // Make arrow tail not touch origin stream
  points[0].x = points[0].x * 0.4 + points[1].x * 0.6;
  points[0].y = points[0].y * 0.4 + points[1].y * 0.6;
  const x0 = points[0].x, x1 = points[1].x, y0 = points[0].y, y1 = points[1].y;
  if (Math.sqrt((x0 - x1) * (x0 - x1) + (y0 - y1) * (y0 - y1)) < 6) {
    points.shift();
  }

  return svg.path({
    class: {
      [styles.edgeType1Style]: true,
    },
    attrs: {
      d: `M ${points.map(({ x, y }) => `${x} ${y}`).join(' ')}`,
    },
  });
}
开发者ID:whitecolor,项目名称:cyclejs,代码行数:25,代码来源:view.ts

示例2: renderArrowHead

function renderArrowHead(vw: Dagre.Edge): VNode {
  return svg.defs([
    svg.marker({
      attrs: {
        id: `arrowhead${vw.v}-${vw.w}`,
        viewBox: '0 0 10 10',
        refX: '9',
        refY: '5',
        markerUnits: 'strokeWidth',
        markerWidth: '8',
        markerHeight: '6',
        orient: 'auto',
      },
    }, [
      svg.path({
        class: {
          [styles.edgeArrowHeadStyle]: true,
        },
        attrs: {
          d: 'M 0 0 L 10 5 L 0 10 z',
        },
      }),
    ]),
  ]);
}
开发者ID:whitecolor,项目名称:cyclejs,代码行数:25,代码来源:view.ts

示例3: renderEdgeType2

function renderEdgeType2(vw: Dagre.Edge, graph: Dagre.Graph): VNode | null {
  const edgeData: StreamGraphEdge = (graph as any).edge(vw.v, vw.w);
  if (!edgeData.points) {
    return null;
  }
  const points = edgeData.points
    .map(({x, y}) => ({ x: x + DIAGRAM_PADDING_H, y: y + DIAGRAM_PADDING_V }));

  return svg.g([
    svg.path({
      class: {
        [styles.edgeType2Style]: true,
      },
      attrs: {
        d: `M ${points.map(({ x, y }) => `${x} ${y}`).join(' ')}`,
        'marker-end': `url("#arrowhead${vw.v}-${vw.w}")`,
      },
    }),
    renderArrowHead(vw),
  ]);
}
开发者ID:whitecolor,项目名称:cyclejs,代码行数:21,代码来源:view.ts


注:本文中的@cycle/dom.svg.path方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。