diff --git a/lib/Slic3r/GUI/2DBed.pm b/lib/Slic3r/GUI/2DBed.pm index 52bafad11..dd2cbdb1e 100644 --- a/lib/Slic3r/GUI/2DBed.pm +++ b/lib/Slic3r/GUI/2DBed.pm @@ -25,7 +25,7 @@ sub new { sub _repaint { my ($self) = @_; - my $dc = Wx::PaintDC->new($self); + my $dc = Wx::AutoBufferedPaintDC->new($self); my ($cw, $ch) = $self->GetSizeWH; return if $cw == 0; # when canvas is not rendered yet, size is 0,0 diff --git a/lib/Slic3r/GUI/Plater/2D.pm b/lib/Slic3r/GUI/Plater/2D.pm index 788892050..b3b1cc11d 100644 --- a/lib/Slic3r/GUI/Plater/2D.pm +++ b/lib/Slic3r/GUI/Plater/2D.pm @@ -71,7 +71,7 @@ sub on_instances_moved { sub repaint { my ($self, $event) = @_; - my $dc = Wx::PaintDC->new($self); + my $dc = Wx::AutoBufferedPaintDC->new($self); my $size = $self->GetSize; my @size = ($size->GetWidth, $size->GetHeight); diff --git a/lib/Slic3r/GUI/Projector.pm b/lib/Slic3r/GUI/Projector.pm index 7a6e6af1b..1e2446545 100644 --- a/lib/Slic3r/GUI/Projector.pm +++ b/lib/Slic3r/GUI/Projector.pm @@ -730,7 +730,7 @@ sub DESTROY { } package Slic3r::GUI::Projector::Screen; -use Wx qw(:dialog :id :misc :sizer :colour :pen :brush :font); +use Wx qw(:dialog :id :misc :sizer :colour :pen :brush :font wxBG_STYLE_CUSTOM); use Wx::Event qw(EVT_PAINT EVT_SIZE); use base qw(Wx::Dialog Class::Accessor); @@ -746,6 +746,7 @@ sub new { $self->config($config); $self->config2($config2); + $self->SetBackgroundStyle(wxBG_STYLE_CUSTOM); EVT_SIZE($self, \&_resize); EVT_PAINT($self, \&_repaint); $self->_resize; @@ -807,7 +808,7 @@ sub project_layers { sub _repaint { my ($self) = @_; - my $dc = Wx::PaintDC->new($self); + my $dc = Wx::AutoBufferedPaintDC->new($self); my ($cw, $ch) = $self->GetSizeWH; return if $cw == 0; # when canvas is not rendered yet, size is 0,0