#----------------------------------------------------------------------------------------------
register_action_handlers
(
'Change elements background color' => ['000-c', \&change_elements_colors, 0],
'Change elements foreground color' => ['00S-C', \&change_elements_colors, 1],
'Change AsciiO background color' => ['0A0-c', \&change_asciio_background_color],
'Change grid color' => ['0AS-C', \&change_grid_color],
) ;
#----------------------------------------------------------------------------------------------
sub change_elements_colors
{
my ($self, $is_background) = @_ ;
my ($color) = $self->get_color_from_user([0, 0, 0]) ;
$self->create_undo_snapshot() ;
for my $element($self->get_selected_elements(1))
{
$is_background
? $element->set_background_color($color)
: $element->set_foreground_color($color) ;
}
$self->update_display() ;
}
#----------------------------------------------------------------------------------------------
sub change_asciio_background_color
{
my ($self) = @_ ;
my ($color) = $self->get_color_from_user([0, 0, 0]) ;
$self->create_undo_snapshot() ;
$self->flush_color_cache() ;
$self->{COLORS}{background} = $color ;
$self->update_display() ;
}
#----------------------------------------------------------------------------------------------
sub change_grid_color
{
my ($self) = @_ ;
my ($color) = $self->get_color_from_user([0, 0, 0]) ;
$self->create_undo_snapshot() ;
$self->flush_color_cache() ;
$self->{COLORS}{grid} = $color ;
$self->update_display() ;
}
#----------------------------------------------------------------------------------------------