Skip to content

Type Alias: GeometryPoint ​

GeometryPoint = { moveTo?: boolean; x: Coord | string; y: Coord | string; } | { curve: { hR: Coord | string; stAng: number | string; swAng: number | string; type: "arc"; wR: Coord | string; }; } | { curve: { type: "cubic"; x1: Coord | string; x2: Coord | string; y1: Coord | string; y2: Coord | string; }; x: Coord | string; y: Coord | string; } | { curve: { type: "quadratic"; x1: Coord | string; y1: Coord | string; }; x: Coord | string; y: Coord | string; } | { close: true; }

A single node of a freeform (custGeom) path.

  • coordinates are authored in the object's own inch/EMU space (0..width, 0..height), not slide-relative and not normalized
  • used by shapes (ShapeType.custGeom) and by images (clips the picture to the path)

The arc node carries no x/y: an <a:arcTo> has no explicit end point. The renderer derives it from the current pen position, the radii and the swept angle, so an end point authored here would be discarded (a warning is emitted if one is supplied).

Any coordinate, radius or angle may instead name a guide, which is written verbatim (the ST_AdjCoordinate / ST_AdjAngle string form): one declared in the shape's guides, or a built-in such as 'w', 'hc' or 'cd4'. A coordinate counts as a name when it starts with a letter or _; an angle, when it is a string at all.