Slice
Quick Start
from terminaltexteffects.effects.effect_slice import Slice
effect = Slice("YourTextHere")
effect.effect_config.slice_direction = "diagonal"
with effect.terminal_output() as terminal:
for frame in effect:
terminal.print(frame)
Slices the input in half and slides it into place from opposite directions.
Classes:
Name | Description |
---|---|
Slice |
Slices the input in half and slides it into place from opposite directions. |
SliceConfig |
Configuration for the Slice effect. |
SliceIterator |
Effect iterator for the effect. Does not normally need to be called directly. |
Slice
Bases: BaseEffect[SliceConfig]
Slices the input in half and slides it into place from opposite directions.
Attributes:
Name | Type | Description |
---|---|---|
effect_config |
SliceConfig
|
Configuration for the effect. |
terminal_config |
TerminalConfig
|
Configuration for the terminal. |
Source code in terminaltexteffects/effects/effect_slice.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 |
SliceConfig
dataclass
Bases: ArgsDataClass
Configuration for the Slice 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. |
slice_direction |
Literal['vertical', 'horizontal', 'diagonal']
|
Direction of the slice. |
movement_speed |
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_slice.py
final_gradient_direction: Gradient.Direction = ArgField(cmd_name='--final-gradient-direction', type_parser=argvalidators.GradientDirection.type_parser, default=Gradient.Direction.DIAGONAL, 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.in_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: float = ArgField(cmd_name='--movement-speed', type_parser=argvalidators.PositiveFloat.type_parser, default=0.15, metavar=argvalidators.PositiveFloat.METAVAR, help='Movement speed of the characters. ')
class-attribute
instance-attribute
float : Movement speed of the characters. Doubled for horizontal slices.
slice_direction: typing.Literal['vertical', 'horizontal', 'diagonal'] = ArgField(cmd_name='--slice-direction', default='vertical', choices=['vertical', 'horizontal', 'diagonal'], help='Direction of the slice.')
class-attribute
instance-attribute
typing.Literal['vertical', 'horizontal', 'diagonal'] : Direction of the slice.