Skip to content

PaintSweepGradient

PaintSweepGradient #

Bases: PaintGradient

More information on Sweep gradient https://api.flutter.dev/flutter/dart-ui/Gradient/Gradient.sweep.html

center #

center: OffsetValue | None

The center of the gradient.

color_stops #

color_stops: list[Number] | None = None

A list of values from 0.0 to 1.0 that denote fractions along the gradient.

If provided, this list must have the same length as colors. If the first value is not 0.0, then a stop with position 0.0 and a color equal to the first color in colors is implied. If the last value is not 1.0, then a stop with position 1.0 and a color equal to the last color in colors is implied.

colors #

colors: list[str]

The https://flet.dev/docs/reference/colors the gradient should obtain at each of the stops. This list must contain at least two colors.

If stops is provided, this list must have the same length as stops.

end_angle #

end_angle: Number = pi * 2

The angle in radians at which stop 1.0 of the gradient is placed. Defaults to math.pi * 2.

rotation #

rotation: Number | None = None

The rotation of the gradient in https://en.wikipedia.org/wiki/Radian, around the center-point of its bounding box.

start_angle #

start_angle: Number = 0.0

The angle in https://en.wikipedia.org/wiki/Radian at which stop 0.0 of the gradient is placed. Defaults to 0.0.

tile_mode #

tile_mode: GradientTileMode = CLAMP

How this gradient should tile the plane beyond in the region before begin and after end.

copy_with #

copy_with(
    *,
    center: OffsetValue | None = None,
    colors: list[str] | None = None,
    color_stops: list[Number] | None = None,
    tile_mode: GradientTileMode | None = None,
    start_angle: Number | None = None,
    end_angle: Number | None = None,
    rotation: Number | None = None,
) -> PaintSweepGradient

Returns a copy of this object with the specified properties overridden.

Examples#

Canvas paint#

import math

import flet as ft
import flet.canvas as cv


def main(page: ft.Page):
    page.add(
        cv.Canvas(
            width=float("inf"),
            expand=True,
            shapes=[
                cv.Path(
                    elements=[
                        cv.Path.Arc(
                            x=10,
                            y=230,
                            width=100,
                            height=100,
                            start_angle=3 * math.pi / 4,
                            sweep_angle=3 * math.pi / 2,
                        ),
                    ],
                    paint=ft.Paint(
                        stroke_width=15,
                        stroke_join=ft.StrokeJoin.ROUND,
                        style=ft.PaintingStyle.STROKE,
                        gradient=ft.PaintSweepGradient(
                            start_angle=0,
                            end_angle=math.pi * 2,
                            rotation=3 * math.pi / 4,
                            center=(60, 280),
                            colors=[ft.Colors.YELLOW, ft.Colors.PURPLE],
                            color_stops=[0.0, 1.0],
                        ),
                    ),
                ),
            ],
        )
    )


ft.run(main)

canvas-paint