mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-14 10:17:55 -06:00
3rd attempt to fix opengl on ubuntu
This commit is contained in:
parent
23d10fdadc
commit
8db4fdc24c
8 changed files with 58 additions and 45 deletions
|
@ -186,7 +186,9 @@ sub new {
|
|||
# Initialize 3D toolpaths preview
|
||||
if ($Slic3r::GUI::have_OpenGL) {
|
||||
$self->{preview3D} = Slic3r::GUI::Plater::3DPreview->new($self->{preview_notebook}, $self->{print}, $self->{gcode_preview_data}, $self->{config});
|
||||
Slic3r::GUI::_3DScene::set_active($self->{preview3D}->canvas, 0);
|
||||
#==================================================================================================================
|
||||
# Slic3r::GUI::_3DScene::set_active($self->{preview3D}->canvas, 0);
|
||||
#==================================================================================================================
|
||||
Slic3r::GUI::_3DScene::enable_legend_texture($self->{preview3D}->canvas, 1);
|
||||
Slic3r::GUI::_3DScene::register_on_viewport_changed_callback($self->{preview3D}->canvas, sub { Slic3r::GUI::_3DScene::set_viewport_from_scene($self->{canvas3D}, $self->{preview3D}->canvas); });
|
||||
$self->{preview_notebook}->AddPage($self->{preview3D}, L('Preview'));
|
||||
|
@ -202,21 +204,25 @@ sub new {
|
|||
EVT_NOTEBOOK_PAGE_CHANGED($self, $self->{preview_notebook}, sub {
|
||||
my $preview = $self->{preview_notebook}->GetCurrentPage;
|
||||
if (($preview != $self->{preview3D}) && ($preview != $self->{canvas3D})) {
|
||||
Slic3r::GUI::_3DScene::set_active($self->{preview3D}->canvas, 0);
|
||||
Slic3r::GUI::_3DScene::set_active($self->{canvas3D}, 0);
|
||||
#==================================================================================================================
|
||||
# Slic3r::GUI::_3DScene::set_active($self->{preview3D}->canvas, 0);
|
||||
# Slic3r::GUI::_3DScene::set_active($self->{canvas3D}, 0);
|
||||
# Slic3r::GUI::_3DScene::reset_current_canvas();
|
||||
#==================================================================================================================
|
||||
$preview->OnActivate if $preview->can('OnActivate');
|
||||
} elsif ($preview == $self->{preview3D}) {
|
||||
Slic3r::GUI::_3DScene::set_active($self->{preview3D}->canvas, 1);
|
||||
Slic3r::GUI::_3DScene::set_active($self->{canvas3D}, 0);
|
||||
#==================================================================================================================
|
||||
# Slic3r::GUI::_3DScene::set_active($self->{preview3D}->canvas, 1);
|
||||
# Slic3r::GUI::_3DScene::set_active($self->{canvas3D}, 0);
|
||||
#==================================================================================================================
|
||||
$self->{preview3D}->load_print;
|
||||
# sets the canvas as dirty to force a render at the 1st idle event (wxWidgets IsShownOnScreen() is buggy and cannot be used reliably)
|
||||
Slic3r::GUI::_3DScene::set_as_dirty($self->{preview3D}->canvas);
|
||||
} elsif ($preview == $self->{canvas3D}) {
|
||||
Slic3r::GUI::_3DScene::set_active($self->{canvas3D}, 1);
|
||||
Slic3r::GUI::_3DScene::set_active($self->{preview3D}->canvas, 0);
|
||||
#==================================================================================================================
|
||||
# Slic3r::GUI::_3DScene::set_active($self->{canvas3D}, 1);
|
||||
# Slic3r::GUI::_3DScene::set_active($self->{preview3D}->canvas, 0);
|
||||
#==================================================================================================================
|
||||
if (Slic3r::GUI::_3DScene::is_reload_delayed($self->{canvas3D})) {
|
||||
my $selections = $self->collect_selections;
|
||||
Slic3r::GUI::_3DScene::set_objects_selections($self->{canvas3D}, \@$selections);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue