CSS-Flip
view release on metacpan or search on metacpan
lib/CSS/Janus.pm view on Meta::CPAN
my $line = shift;
$line =~ s{$BODY_DIRECTION_LTR_RE}{$1$2$3~TMP~}g;
$line =~ s{$BODY_DIRECTION_RTL_RE}{$1$2$3ltr}g;
$line =~ s{~TMP~}{rtl}g;
return $line;
}
# fixLeftAndRight ($line)
#
# Replaces left with right and vice versa in line, e,g,:
# 'padding-left: 2px; margin-right: 1px;' =>
# 'padding-right: 2px; margin-left: 1px;'
sub fixLeftAndRight {
my $self = shift;
my $line = shift;
$line =~ s{$LEFT_RE}{$1~TMP~}g;
$line =~ s{$RIGHT_RE}{$1left}g;
$line =~ s{~TMP~}{right}g;
return $line;
}
# fixLeftAndRightInUrl ($line)
#
# Replaces left with right and vice versa within background URLs, e.g.:
# 'background:url(right.png)' => 'background:url(left.png)'
sub fixLeftAndRightInUrl {
my $self = shift;
my $line = shift;
$line =~ s{$LEFT_IN_URL_RE}{~TMP~}g;
$line =~ s{$RIGHT_IN_URL_RE}{left}g;
$line =~ s{~TMP~}{right}g;
return $line;
}
# fixLtrAndRtlInUrl ($line)
#
# Replaces ltr with rtl and vice versa within background URLs, e.g.:
# 'background:url(rtl.png)' => 'background:url(ltr.png)'
sub fixLtrAndRtlInUrl {
my $self = shift;
my $line = shift;
$line =~ s{$LTR_IN_URL_RE}{~TMP~}g;
$line =~ s{$RTL_IN_URL_RE}{ltr}g;
$line =~ s{~TMP~}{rtl}g;
return $line;
}
# fixCursorProperties ($line)
#
# Changes directional CSS cursor properties:
# 'cursor: ne-resize' => 'cursor: nw-resize'
sub fixCursorProperties {
my $self = shift;
my $line = shift;
$line =~ s{$CURSOR_EAST_RE}{$1~TMP~}g;
$line =~ s{$CURSOR_WEST_RE}{$1e-resize}g;
$line =~ s{~TMP~}{w-resize}g;
return $line;
}
# fixBorderRadius ($line)
#
# Changes border-radius and its browser-specific variants, e.g.:
# 'border-radius: 1px 2px 3px 4px / 5px 6px 7px' =>
# 'border-radius: 2px 1px 4px 3px / 6px 5px 6px 7px'
sub fixBorderRadius {
my $self = shift;
my $line = shift;
$line =~ s{$BORDER_RADIUS_RE}{
reorderBorderRadius($&, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10)
}eg;
return $line;
}
# fixFourPartNotation ($line)
#
# Fixes the second and fourth positions in four-part CSS notation, e.g.:
# 'padding: 1px 2px 3px 4px' => 'padding: 1px 4px 3px 2px'
sub fixFourPartNotation {
my $self = shift;
my $line = shift;
$line =~ s{$FOUR_NOTATION_QUANTITY_RE}{$1 $4 $3 $2}g;
$line =~ s{$FOUR_NOTATION_COLOR_RE}{$1$2 $5 $4 $3}g;
return $line;
}
# fixBackgroundPosition ($line)
#
# METHOD. Changes horizontal background values in line.
#
# If value is not replaceable, croak it (by default) or carp it (if
# 'ignore_bad_bgp' option is set).
sub fixBackgroundPosition {
my $self = shift;
my $line = shift;
$line =~ s{$BG_HORIZONTAL_PERCENTAGE_RE}{
calculateNewBackgroundPosition($&, $1, $2, $3, $4, $5)
}eg;
$line =~ s{$BG_HORIZONTAL_PERCENTAGE_X_RE}{
calculateNewBackgroundPositionX($&, $1, $2)
( run in 0.756 second using v1.01-cache-2.11-cpan-39bf76dae61 )