# `GSTangentOnQuadraticThroughPoint`

*Function*

## Declaration

```swift
func GSTangentOnQuadraticThroughPoint(_ P0: NSPoint, _ P1: NSPoint, _ P2: NSPoint, _ externalPoint: NSPoint, _ tangents: UnsafeMutablePointer<GSTangentInfo>) -> Int32
```

```objc
int GSTangentOnQuadraticThroughPoint(NSPoint P0, NSPoint P1, NSPoint P2, NSPoint externalPoint, GSTangentInfo *tangents);
```

```python
GSTangentOnQuadraticThroughPoint(P0: NSPoint, P1: NSPoint, P2: NSPoint, externalPoint: NSPoint, tangents: GSTangentInfo) -> int
```

## See Also

### Curve Evaluation and Tangents

- [`GSPointOnLine`](/Core/GlyphsCore/GSPointOnLine)
- [`GSPointOffsetFromLine`](/Core/GlyphsCore/GSPointOffsetFromLine) — Like `GSPointOnLine`, but with the returned point offset by a certain amount onto a parallel line. So, more like the inverse of `GSNearestPointOnLine`.
- [`GSPointOffsetAtAngle`](/Core/GlyphsCore/GSPointOffsetAtAngle) — Returns a new point offset by the given distance in the direction of the given angle in radiants.
- [`GSPointAtTime`](/Core/GlyphsCore/GSPointAtTime)
- [`GSPointOnCubicPoints`](/Core/GlyphsCore/GSPointOnCubicPoints)
- [`GSPointOnCubicSegment`](/Core/GlyphsCore/GSPointOnCubicSegment)
- [`GSPointOnQuarticPoints`](/Core/GlyphsCore/GSPointOnQuarticPoints)
- [`GSPointOnQuarticSegment`](/Core/GlyphsCore/GSPointOnQuarticSegment)
- [`GSPointOnQuadraticPoints`](/Core/GlyphsCore/GSPointOnQuadraticPoints)
- [`GSTangentOnQuadraticPoints`](/Core/GlyphsCore/GSTangentOnQuadraticPoints)
- [`GSTangentOnQuadraticSegment`](/Core/GlyphsCore/GSTangentOnQuadraticSegment)
- [`GSTangentOnCubicSegment`](/Core/GlyphsCore/GSTangentOnCubicSegment)
- [`GSTangentOnCubicPoints`](/Core/GlyphsCore/GSTangentOnCubicPoints)

