Basics

Guides

API Reference

Menu

Basics

Guides

API Reference

class: GskPathPoint

[20:7] extends: object

Represents a point on a path. It can be queried for properties of the path at that point, such as its tangent or its curvature. To obtain a GskPathPoint, use [method@Gsk.Path.get_closest_point], [method@Gsk.Path.get_start_point], [method@Gsk.Path.get_end_point] or [method@Gsk.PathMeasure.get_point]. Note that GskPathPoint structs are meant to be stack-allocated, and don't hold a reference to the path object they are obtained from. It is the callers responsibility to keep a reference to the path as long as the GskPathPoint is used.

Members

  • handleObj
  • lib
  • retainedCallbacks
  • signalHandlerNames
  • signalSetterHandlers

Methods

  • GskPathPoint (Handle = null)

    Creates a new PathPoint by wrapping a native handle or another wrapper.

    • @p Handle is the native handle or another wrapper whose handle to adopt.
  • toNativeHandle (Source)

    Normalizes a constructor argument into a raw pointer carrier. Accepts a raw NativeHandle, a raw NativeBuffer returned from fn.call(...), another generated wrapper exposing handle(), or null. Returns null when the argument carries no pointer.

    • @p Source is the raw handle, raw buffer, wrapper, or null.
    • @r A raw pointer carrier or null when no pointer is present.
  • getLib ()

    Returns the opened native library for this generated wrapper.

    • @r The opened native library.
  • handle ()

    Returns the wrapped NativeHandle.

    • @r The wrapped NativeHandle.
  • isNull ()

    Returns true when the wrapped handle is null.

    • @r A bool.
  • describe ()

    Returns a small string for debugging generated wrappers.

    • @r A string.
  • compare (object point2)

    Returns whether @point1 is before or after @point2.

    • @p point2 is another path point.
    • @r -1 if @point1 is before @point2, 1 if @point1 is after @point2, 0 if they are equal.
  • copy ()

    Copies a path point.

    • @r the copied point.
  • equal (object point2)

    Returns whether the two path points refer to the same location on all paths. Note that the start- and endpoint of a closed contour will compare nonequal according to this definition. Use [method@Gsk.Path.is_closed] to find out if the start- and endpoint of a concrete path refer to the same location.

    • @p point2 is another path point.
    • @r true if @point1 and @point2 are equal.
  • free ()

    Frees a path point copied by [method@Gsk.PathPoint.copy].

    • @r None.
  • get_curvature (object path, string direction)

    Calculates the curvature of the path at the point. Optionally, returns the center of the osculating circle as well. The curvature is the inverse of the radius of the osculating circle. Lines have a curvature of zero (indicating an osculating circle of infinite radius). In this case, the

    • @center is not modified. Circles with a radius of zero have INFINITY as curvature Note that certain points on a path may not have a single curvature, such as sharp turns. At such points, there are two curvatures — the (limit of) the curvature of the path going into the point, and the (limit of) the curvature of the path coming out of it. The @direction argument lets you choose which one to get. Osculating circle
    • @p path is the path that @point is on.
    • @p direction is the direction for which to return the curvature.
    • @p center is return location for the center of the osculating circle.
    • @r the curvature of the path at the given point.
  • get_distance (object measure)

    Returns the distance from the beginning of the path to the point.

    • @p measure is a path measure for the path.
    • @r the distance of @point.
  • get_position (object path)

    Gets the position of the point.

    • @p path is the path that @point is on.
    • @p position is Return location for the coordinates of the point.
    • @r None.
  • get_rotation (object path, string direction)

    Gets the direction of the tangent at a given point. This is a convenience variant of [method@Gsk.PathPoint.get_tangent] that returns the angle between the tangent and the X axis. The angle can e.g. be used in gtk_snapshot_rotate().

    • @p path is the path that @point is on.
    • @p direction is the direction for which to return the rotation.
    • @r the angle between the tangent and the X axis, in degrees.
  • get_tangent (object path, string direction)

    Gets the tangent of the path at the point. Note that certain points on a path may not have a single tangent, such as sharp turns. At such points, there are two tangents — the direction of the path going into the point, and the direction coming out of it. The @direction argument lets you choose which one to get. If the path is just a single point (e.g. a circle with radius zero), then the tangent is set to 0, 0. If you want to orient something in the direction of the path, [method@Gsk.PathPoint.get_rotation] may be more convenient to use.

    • @p path is the path that @point is on.
    • @p direction is the direction for which to return the tangent.
    • @p tangent is Return location for the tangent at the point.
    • @r None.