mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-04 20:20:38 +08:00
Margin around layer height plot
This commit is contained in:
parent
614f4d9ca4
commit
802b631e2d
@ -242,8 +242,10 @@ sub _update_canvas_size {
|
|||||||
my ($canvas_w, $canvas_h) = ($canvas_size->GetWidth, $canvas_size->GetHeight);
|
my ($canvas_w, $canvas_h) = ($canvas_size->GetWidth, $canvas_size->GetHeight);
|
||||||
return if $canvas_w == 0;
|
return if $canvas_w == 0;
|
||||||
|
|
||||||
my $size = $canvas_size;
|
my $padding = $self->{canvas_padding} = 10; # border size in pixels
|
||||||
my @size = ($size->GetWidth, $size->GetHeight);
|
|
||||||
|
my @size = ($canvas_w - 2*$padding, $canvas_h - 2*$padding);
|
||||||
|
$self->{canvas_size} = [@size];
|
||||||
|
|
||||||
$self->{scaling_factor_x} = $size[0]/($self->{max_layer_height} - $self->{min_layer_height});
|
$self->{scaling_factor_x} = $size[0]/($self->{max_layer_height} - $self->{min_layer_height});
|
||||||
$self->{scaling_factor_y} = $size[1]/$self->{object_height};
|
$self->{scaling_factor_y} = $size[1]/$self->{object_height};
|
||||||
@ -325,8 +327,7 @@ sub _draw_layers_as_lines {
|
|||||||
sub _draw_layer_height_spline {
|
sub _draw_layer_height_spline {
|
||||||
my ($self, $dc, $layer_height_spline, $pen) = @_;
|
my ($self, $dc, $layer_height_spline, $pen) = @_;
|
||||||
|
|
||||||
my $size = $self->GetSize;
|
my @size = @{$self->{canvas_size}};
|
||||||
my @size = ($size->GetWidth, $size->GetHeight);
|
|
||||||
|
|
||||||
$dc->SetPen($pen);
|
$dc->SetPen($pen);
|
||||||
my @points = ();
|
my @points = ();
|
||||||
@ -344,13 +345,12 @@ sub _draw_layer_height_spline {
|
|||||||
sub point_to_pixel {
|
sub point_to_pixel {
|
||||||
my ($self, @point) = @_;
|
my ($self, @point) = @_;
|
||||||
|
|
||||||
my $size = $self->GetSize;
|
my @size = @{$self->{canvas_size}};
|
||||||
my @size = ($size->GetWidth, $size->GetHeight);
|
|
||||||
|
|
||||||
my $x = ($point[0] - $self->{min_layer_height})*$self->{scaling_factor_x};
|
my $x = ($point[0] - $self->{min_layer_height})*$self->{scaling_factor_x} + $self->{canvas_padding};
|
||||||
my $y = $size[1] - $point[1]*$self->{scaling_factor_y}; # invert y-axis
|
my $y = $size[1] - $point[1]*$self->{scaling_factor_y} + $self->{canvas_padding}; # invert y-axis
|
||||||
|
|
||||||
return Wx::Point->new(min(max($x, 0), $size[0]), min(max($y, 0), $size[1])); # limit to canvas size
|
return Wx::Point->new(min(max($x, $self->{canvas_padding}), $size[0]+$self->{canvas_padding}), min(max($y, $self->{canvas_padding}), $size[1]+$self->{canvas_padding})); # limit to canvas size
|
||||||
}
|
}
|
||||||
|
|
||||||
# Takes a Wx::Point in scaled canvas coordinates and converts it
|
# Takes a Wx::Point in scaled canvas coordinates and converts it
|
||||||
@ -358,10 +358,9 @@ sub point_to_pixel {
|
|||||||
sub pixel_to_point {
|
sub pixel_to_point {
|
||||||
my ($self, $point) = @_;
|
my ($self, $point) = @_;
|
||||||
|
|
||||||
my $size = $self->GetSize;
|
my @size = @{$self->{canvas_size}};
|
||||||
my @size = ($size->GetWidth, $size->GetHeight);
|
|
||||||
|
|
||||||
my $x = $point->x/$self->{scaling_factor_x} + $self->{min_layer_height};
|
my $x = ($point->x-$self->{canvas_padding})/$self->{scaling_factor_x} + $self->{min_layer_height};
|
||||||
my $y = ($size[1] - $point->y)/$self->{scaling_factor_y}; # invert y-axis
|
my $y = ($size[1] - $point->y)/$self->{scaling_factor_y}; # invert y-axis
|
||||||
|
|
||||||
return (min(max($x, $self->{min_layer_height}), $self->{max_layer_height}), min(max($y, 0), $self->{object_height})); # limit to object size and layer constraints
|
return (min(max($x, $self->{min_layer_height}), $self->{max_layer_height}), min(max($y, 0), $self->{object_height})); # limit to object size and layer constraints
|
||||||
|
Loading…
x
Reference in New Issue
Block a user