Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Slic3r/GUI/3DScene.pm')
-rw-r--r--lib/Slic3r/GUI/3DScene.pm30
1 files changed, 28 insertions, 2 deletions
diff --git a/lib/Slic3r/GUI/3DScene.pm b/lib/Slic3r/GUI/3DScene.pm
index a296b01a2..68de5518b 100644
--- a/lib/Slic3r/GUI/3DScene.pm
+++ b/lib/Slic3r/GUI/3DScene.pm
@@ -16,13 +16,13 @@ use strict;
use warnings;
use Wx qw(:timer :bitmap :icon :dialog);
-use Wx::Event qw(EVT_PAINT EVT_SIZE EVT_ERASE_BACKGROUND EVT_IDLE EVT_MOUSEWHEEL EVT_MOUSE_EVENTS EVT_TIMER);
+use Wx::Event qw(EVT_PAINT EVT_SIZE EVT_ERASE_BACKGROUND EVT_IDLE EVT_MOUSEWHEEL EVT_MOUSE_EVENTS EVT_CHAR EVT_TIMER);
# must load OpenGL *before* Wx::GLCanvas
use OpenGL qw(:glconstants :glfunctions :glufunctions :gluconstants);
use base qw(Wx::GLCanvas Class::Accessor);
use Math::Trig qw(asin tan);
use List::Util qw(reduce min max first);
-use Slic3r::Geometry qw(X Y Z MIN MAX triangle_normal normalize deg2rad tan scale unscale scaled_epsilon);
+use Slic3r::Geometry qw(X Y normalize scale unscale scaled_epsilon);
use Slic3r::Geometry::Clipper qw(offset_ex intersection_pl JT_ROUND);
use Wx::GLCanvas qw(:all);
use Slic3r::Geometry qw(PI);
@@ -168,6 +168,32 @@ sub new {
});
EVT_MOUSEWHEEL($self, \&mouse_wheel_event);
EVT_MOUSE_EVENTS($self, \&mouse_event);
+# EVT_KEY_DOWN($self, sub {
+ EVT_CHAR($self, sub {
+ my ($s, $event) = @_;
+ if ($event->HasModifiers) {
+ $event->Skip;
+ } else {
+ my $key = $event->GetKeyCode;
+ if ($key == ord('0')) {
+ $self->select_view('iso');
+ } elsif ($key == ord('1')) {
+ $self->select_view('top');
+ } elsif ($key == ord('2')) {
+ $self->select_view('bottom');
+ } elsif ($key == ord('3')) {
+ $self->select_view('front');
+ } elsif ($key == ord('4')) {
+ $self->select_view('rear');
+ } elsif ($key == ord('5')) {
+ $self->select_view('left');
+ } elsif ($key == ord('6')) {
+ $self->select_view('right');
+ } else {
+ $event->Skip;
+ }
+ }
+ });
$self->{layer_height_edit_timer_id} = &Wx::NewId();
$self->{layer_height_edit_timer} = Wx::Timer->new($self, $self->{layer_height_edit_timer_id});