Spray
Quick Start
from terminaltexteffects.effects.effect_spray import Spray
effect = Spray("YourTextHere")
with effect.terminal_output() as terminal:
for frame in effect:
terminal.print(frame)
Sprays the characters from a single point.
Classes:
Name | Description |
---|---|
Spray |
Sprays the characters from a single point. |
SprayConfig |
Configuration for the Spray effect. |
SprayIterator |
Iterates over the effect. Does not normally need to be called directly. |
Spray
Bases: BaseEffect[SprayConfig]
Sprays the characters from a single point.
Attributes:
Name | Type | Description |
---|---|---|
effect_config |
SprayConfig
|
Configuration for the effect. |
terminal_config |
TerminalConfig
|
Configuration for the terminal. |
Source code in terminaltexteffects/effects/effect_spray.py
__init__(input_data)
Initialize the effect with the provided input data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
input_data |
str
|
The input data to use for the effect. |
required |
SprayConfig
dataclass
Bases: ArgsDataClass
Configuration for the Spray effect.
Attributes:
Name | Type | Description |
---|---|---|
final_gradient_stops |
tuple[Color, ...]
|
Tuple of colors for the final color gradient. If only one color is provided, the characters will be displayed in that color. |
final_gradient_steps |
tuple[int, ...] | int
|
Tuple of the number of gradient steps to use. More steps will create a smoother and longer gradient animation. Valid values are n > 0. |
final_gradient_direction |
Direction
|
Direction of the final gradient. |
spray_position |
Literal['n', 'ne', 'e', 'se', 's', 'sw', 'w', 'nw', 'center']
|
Position for the spray origin. Valid values are n, ne, e, se, s, sw, w, nw, center. |
spray_volume |
float
|
Number of characters to spray per tick as a percent of the total number of characters. Valid values are 0 < n <= 1. |
movement_speed |
tuple[float, float]
|
Movement speed of the characters. Valid values are n > 0. |
movement_easing |
EasingFunction
|
Easing function to use for character movement. |
Source code in terminaltexteffects/effects/effect_spray.py
final_gradient_direction: Gradient.Direction = ArgField(cmd_name='--final-gradient-direction', type_parser=argvalidators.GradientDirection.type_parser, default=Gradient.Direction.VERTICAL, metavar=argvalidators.GradientDirection.METAVAR, help='Direction of the final gradient.')
class-attribute
instance-attribute
Gradient.Direction : Direction of the final gradient.
final_gradient_steps: tuple[int, ...] | int = ArgField(cmd_name=['--final-gradient-steps'], type_parser=argvalidators.PositiveInt.type_parser, nargs='+', default=12, metavar=argvalidators.PositiveInt.METAVAR, help='Space separated, unquoted, list of the number of gradient steps to use. More steps will create a smoother and longer gradient animation.')
class-attribute
instance-attribute
tuple[int, ...] | int : Int or Tuple of ints for the number of gradient steps to use. More steps will create a smoother and longer gradient animation.
final_gradient_stops: tuple[Color, ...] = ArgField(cmd_name=['--final-gradient-stops'], type_parser=argvalidators.ColorArg.type_parser, nargs='+', default=(Color('8A008A'), Color('00D1FF'), Color('FFFFFF')), metavar=argvalidators.ColorArg.METAVAR, help='Space separated, unquoted, list of colors for the character gradient (applied from bottom to top). If only one color is provided, the characters will be displayed in that color.')
class-attribute
instance-attribute
tuple[Color, ...] : Tuple of colors for the final color gradient. If only one color is provided, the characters will be displayed in that color.
movement_easing: easing.EasingFunction = ArgField(cmd_name='--movement-easing', type_parser=argvalidators.Ease.type_parser, default=easing.out_expo, help='Easing function to use for character movement.')
class-attribute
instance-attribute
easing.EasingFunction : Easing function to use for character movement.
movement_speed: tuple[float, float] = ArgField(cmd_name='--movement-speed', type_parser=argvalidators.PositiveFloatRange.type_parser, default=(0.4, 1.0), metavar=argvalidators.PositiveFloatRange.METAVAR, help='Movement speed of the characters.')
class-attribute
instance-attribute
tuple[float, float] : Movement speed of the characters.
spray_position: typing.Literal['n', 'ne', 'e', 'se', 's', 'sw', 'w', 'nw', 'center'] = ArgField(cmd_name='--spray-position', choices=['n', 'ne', 'e', 'se', 's', 'sw', 'w', 'nw', 'center'], default='e', help='Position for the spray origin.')
class-attribute
instance-attribute
typing.Literal['n', 'ne', 'e', 'se', 's', 'sw', 'w', 'nw', 'center'] : Position for the spray origin.
spray_volume: float = ArgField(cmd_name='--spray-volume', type_parser=argvalidators.PositiveFloat.type_parser, default=0.005, metavar=argvalidators.PositiveFloat.METAVAR, help='Number of characters to spray per tick as a percent of the total number of characters.')
class-attribute
instance-attribute
float : Number of characters to spray per tick as a percent of the total number of characters.