… | |
… | |
660 | my $border = $self->border; |
660 | my $border = $self->border; |
661 | |
661 | |
662 | if ($x < $self->{w} && $x >= $self->{w} - $border |
662 | if ($x < $self->{w} && $x >= $self->{w} - $border |
663 | && $y < $self->{h} && $y >= $self->{h} - $border) { |
663 | && $y < $self->{h} && $y >= $self->{h} - $border) { |
664 | |
664 | |
665 | my ($ox, $oy) = ($ev->button_x, $ev->button_y); |
665 | my ($ox, $oy) = ($ev->{x}, $ev->{y}); |
666 | my ($bw, $bh) = ($self->{w}, $self->{h}); |
666 | my ($bw, $bh) = ($self->{w}, $self->{h}); |
667 | |
667 | |
668 | $self->{motion} = sub { |
668 | $self->{motion} = sub { |
669 | my ($ev, $x, $y) = @_; |
669 | my ($ev, $x, $y) = @_; |
670 | |
670 | |
671 | ($x, $y) = ($ev->motion_x, $ev->motion_y); |
671 | ($x, $y) = ($ev->{x}, $ev->{y}); |
672 | |
672 | |
673 | $self->{user_w} = $bw + $x - $ox; |
673 | $self->{user_w} = $bw + $x - $ox; |
674 | $self->{user_h} = $bh + $y - $oy; |
674 | $self->{user_h} = $bh + $y - $oy; |
675 | $self->check_size; |
675 | $self->check_size; |
676 | }; |
676 | }; |
677 | |
677 | |
678 | } elsif ($x >= 0 && $x < $self->{w} |
678 | } elsif ($x >= 0 && $x < $self->{w} |
679 | && $y >= 0 && $y < $border) { |
679 | && $y >= 0 && $y < $border) { |
680 | |
680 | |
681 | my ($ox, $oy) = ($ev->button_x, $ev->button_y); |
681 | my ($ox, $oy) = ($ev->{x}, $ev->{y}); |
682 | my ($bx, $by) = ($self->{x}, $self->{y}); |
682 | my ($bx, $by) = ($self->{x}, $self->{y}); |
683 | |
683 | |
684 | $self->{motion} = sub { |
684 | $self->{motion} = sub { |
685 | my ($ev, $x, $y) = @_; |
685 | my ($ev, $x, $y) = @_; |
686 | |
686 | |
687 | ($x, $y) = ($ev->motion_x, $ev->motion_y); |
687 | ($x, $y) = ($ev->{x}, $ev->{y}); |
688 | |
688 | |
689 | $self->move ($bx + $x - $ox, $by + $y - $oy); |
689 | $self->move ($bx + $x - $ox, $by + $y - $oy); |
690 | $self->update; |
690 | $self->update; |
691 | }; |
691 | }; |
692 | } |
692 | } |