Beispiel #1
0
 def size_allocate(self, widget, allocation):
     dpival = self.figure.dpi
     winch = allocation.width / dpival
     hinch = allocation.height / dpival
     self.figure.set_size_inches(winch, hinch, forward=False)
     FigureCanvasBase.resize_event(self)
     self.draw_idle()
Beispiel #2
0
 def scroll_event(self, widget, event):
     x = event.x
     # flipy so y=0 is bottom of canvas
     y = self.get_allocation().height - event.y
     step = 1 if event.direction == Gdk.ScrollDirection.UP else -1
     FigureCanvasBase.scroll_event(self, x, y, step, guiEvent=event)
     return False  # finish event propagation?
Beispiel #3
0
 def button_release_event(self, widget, event):
     x = event.x
     # flipy so y=0 is bottom of canvas
     y = self.get_allocation().height - event.y
     FigureCanvasBase.button_release_event(
         self, x, y, event.button, guiEvent=event)
     return False  # finish event propagation?
Beispiel #4
0
    def __init__(self, figure):
        if _debug: print 'FigureCanvasGTK.%s' % fn_name()
        FigureCanvasBase.__init__(self, figure)
        gtk.DrawingArea.__init__(self)

        self._idle_draw_id  = 0
        self._need_redraw   = True
        self._pixmap_width  = -1
        self._pixmap_height = -1
        self._lastCursor    = None

        self.connect('scroll_event',         self.scroll_event)
        self.connect('button_press_event',   self.button_press_event)
        self.connect('button_release_event', self.button_release_event)
        self.connect('configure_event',      self.configure_event)
        self.connect('expose_event',         self.expose_event)
        self.connect('key_press_event',      self.key_press_event)
        self.connect('key_release_event',    self.key_release_event)
        self.connect('motion_notify_event',  self.motion_notify_event)
        self.connect('leave_notify_event',   self.leave_notify_event)
        self.connect('enter_notify_event',   self.enter_notify_event)

        self.set_events(self.__class__.event_mask)

        self.set_double_buffered(False)
        self.set_flags(gtk.CAN_FOCUS)
        self._renderer_init()

        self._idle_event_id = gobject.idle_add(self.idle_event)
Beispiel #5
0
 def button_release_event(self, widget, event):
     if _debug: print 'FigureCanvasGTK.%s' % fn_name()
     x = event.x
     # flipy so y=0 is bottom of canvas
     y = self.allocation.height - event.y
     FigureCanvasBase.button_release_event(self, x, y, event.button, guiEvent=event)
     return False  # finish event propagation?
Beispiel #6
0
 def mouseDoubleClickEvent(self, event):
     x, y = self.mouseEventCoords(event.pos())
     button = self.buttond.get(event.button())
     if button is not None:
         FigureCanvasBase.button_press_event(self, x, y,
                                             button, dblclick=True,
                                             guiEvent=event)
Beispiel #7
0
    def __init__(self, figure):
        if _debug:
            print "FigureCanvasGTK.%s" % fn_name()
        FigureCanvasBase.__init__(self, figure)
        gtk.DrawingArea.__init__(self)

        self._idleID = 0
        self._need_redraw = True
        self._pixmap_width = -1
        self._pixmap_height = -1
        self._lastCursor = None

        self.connect("scroll_event", self.scroll_event)
        self.connect("button_press_event", self.button_press_event)
        self.connect("button_release_event", self.button_release_event)
        self.connect("configure_event", self.configure_event)
        self.connect("expose_event", self.expose_event)
        self.connect("key_press_event", self.key_press_event)
        self.connect("key_release_event", self.key_release_event)
        self.connect("motion_notify_event", self.motion_notify_event)

        self.set_events(self.__class__.event_mask)

        self.set_double_buffered(False)
        self.set_flags(gtk.CAN_FOCUS)
        self._renderer_init()
Beispiel #8
0
 def __init__(self, figure):
     if _figure_ports['count'] >= FIGURE_LIMIT:
         logger.warning("Figure limit of %i reached. Returning NULL figure" % FIGURE_LIMIT)
         return None
     FigureCanvasBase.__init__(self, figure)
     self.frame_count = 0
     self._user_event = None
     self._user_cmd_ret = None
     self._server_port = new_web_port()
     self._request_handlers = {}
     self._frame = None
     self._header = ""
     self._home_x = {}
     self._home_y = {}
     self._zoomed = False
     self._panned = False
     self._first_frame = True
     self._custom_content = None
     self._width, self._height = self.get_width_height()
     self.flip = Affine2D().scale(1, -1).translate(0, self._height)
     logger.debug("Initialising figure of width: %i, height: %i" % (self._width, self._height))
     logger.debug("Creating canvas web server on port %i" % self._server_port)
     try:
         self._server = simple_server.WebSocketServer(('', self._server_port), self.web_socket_transfer_data, simple_server.WebSocketRequestHandler)
         self._thread = thread.start_new_thread(self._server.serve_forever, ())
         register_web_server(self._server_port, self)
     except Exception, e:
         logger.error("Failed to create webserver. (%s)" % str(e))
         sys.exit(1)
Beispiel #9
0
    def __init__(self, figure):
        if _debug: print('FigureCanvasGTK3.%s' % fn_name())
        FigureCanvasBase.__init__(self, figure)
        GObject.GObject.__init__(self)

        self._idle_draw_id  = 0
        self._need_redraw   = True
        self._lastCursor    = None

        self.connect('scroll_event',         self.scroll_event)
        self.connect('button_press_event',   self.button_press_event)
        self.connect('button_release_event', self.button_release_event)
        self.connect('configure_event',      self.configure_event)
        self.connect('draw',                 self.on_draw_event)
        self.connect('key_press_event',      self.key_press_event)
        self.connect('key_release_event',    self.key_release_event)
        self.connect('motion_notify_event',  self.motion_notify_event)
        self.connect('leave_notify_event',   self.leave_notify_event)
        self.connect('enter_notify_event',   self.enter_notify_event)
        self.connect('size_allocate',        self.size_allocate)

        self.set_events(self.__class__.event_mask)

        self.set_double_buffered(True)
        self.set_can_focus(True)
        self._renderer_init()
        self._idle_event_id = GLib.idle_add(self.idle_event)
        default_context = GLib.main_context_get_thread_default() or GLib.main_context_default()
        self._idle_event_source = default_context.find_source_by_id(self._idle_event_id)
Beispiel #10
0
 def enterEvent(self, event):
     try:
         x, y = self.mouseEventCoords(event.pos())
     except AttributeError:
         # the event from PyQt4 does not include the position
         x = y = None
     FigureCanvasBase.enter_notify_event(self, guiEvent=event, xy=(x, y))
Beispiel #11
0
 def mouseMoveEvent(self, event):
     x = event.x()
     # flipy so y=0 is bottom of canvas
     y = self.figure.bbox.height - event.y()
     FigureCanvasBase.motion_notify_event(self, x, y)
     if DEBUG:
         print("mouse move")
Beispiel #12
0
    def key_release_event(self, widget, event):        
        if _debug: print 'FigureCanvasGTK.%s' % fn_name()
        key = self._get_key(event)
        if _debug: print "release", key
        FigureCanvasBase.key_release_event(self, key)

        return False  # finish event propagation?
Beispiel #13
0
 def mouseReleaseEvent( self, event ):
     x = event.x()
     # flipy so y=0 is bottom of canvas
     y = self.figure.bbox.height() - event.y()
     FigureCanvasBase.button_release_event( self, x, y, event.button() )
     if DEBUG: print 'button released'
     self.draw()
Beispiel #14
0
    def __init__(self, figure):
        FigureCanvasBase.__init__(self, figure)
        GObject.GObject.__init__(self)

        self._idle_draw_id  = 0
        self._lastCursor    = None

        self.connect('scroll_event',         self.scroll_event)
        self.connect('button_press_event',   self.button_press_event)
        self.connect('button_release_event', self.button_release_event)
        self.connect('configure_event',      self.configure_event)
        self.connect('draw',                 self.on_draw_event)
        self.connect('key_press_event',      self.key_press_event)
        self.connect('key_release_event',    self.key_release_event)
        self.connect('motion_notify_event',  self.motion_notify_event)
        self.connect('leave_notify_event',   self.leave_notify_event)
        self.connect('enter_notify_event',   self.enter_notify_event)
        self.connect('size_allocate',        self.size_allocate)

        self.set_events(self.__class__.event_mask)

        self.set_double_buffered(True)
        self.set_can_focus(True)
        self._renderer_init()
        default_context = GLib.main_context_get_thread_default() or GLib.main_context_default()
 def mouseDoubleClickEvent( self, event ):
     x = event.pos().x()
     # flipy so y=0 is bottom of canvas
     y = self.figure.bbox.height - event.pos().y()
     button = self.buttond[event.button()]
     FigureCanvasBase.button_press_event( self, x, y, button, dblclick=True )
     if DEBUG: print('button doubleclicked:', event.button())
Beispiel #16
0
 def mouseReleaseEvent( self, event ):
     x = event.x()
     # flipy so y=0 is bottom of canvas
     y = self.figure.bbox.height - event.y()
     button = self.buttond[event.button()]
     FigureCanvasBase.button_release_event( self, x, y, button )
     if DEBUG: print 'button released'
Beispiel #17
0
 def mousePressEvent( self, event ):
     x = event.pos().x()
     # flipy so y=0 is bottom of canvas
     y = self.figure.bbox.height - event.pos().y()
     button = self.buttond[event.button()]
     FigureCanvasBase.button_press_event( self, x, y, button )
     if DEBUG: print 'button pressed:', event.button()
Beispiel #18
0
 def wheelEvent( self, event ):
     x = event.x()
     y = self.figure.bbox.height - event.y()
     steps = event.delta()/120
     if (event.orientation() == Qt.Qt.Vertical):
         FigureCanvasBase.scroll_event( self, x, y, steps)
         if DEBUG: print 'scroll event : delta = %i, steps = %i ' % (event.delta(),steps)
Beispiel #19
0
 def keyPressEvent(self, event):
     key = self._get_key(event)
     if key is None:
         return
     FigureCanvasBase.key_press_event(self, key, guiEvent=event)
     if DEBUG:
         print('key press', key)
Beispiel #20
0
 def keyReleaseEvent(self, event):
     key = self._get_key(event)
     if key is None:
         return
     FigureCanvasBase.key_release_event(self, key, guiEvent=event)
     if DEBUG:
         print('key release', key)
Beispiel #21
0
 def button_press_event(self, widget, event):
     if _debug: print 'FigureCanvasGTK.{0!s}'.format(fn_name())
     x = event.x
     # flipy so y=0 is bottom of canvas
     y = self.allocation.height - event.y
     FigureCanvasBase.button_press_event(self, x, y, event.button)
     return False  # finish event propagation?
Beispiel #22
0
 def resize(self, width, height):
     self.renderer.set_width_height(width, height)
     dpi = self.figure.dpi
     width /= dpi
     height /= dpi
     self.figure.set_size_inches(width, height)
     FigureCanvasBase.resize_event(self)
Beispiel #23
0
    def __init__(self, figure):
        if _debug: print 'FigureCanvasGTK.%s' % fn_name()
        FigureCanvasBase.__init__(self, figure)
        gtk.DrawingArea.__init__(self)

        self._idleID        = 0
        self._need_redraw   = True
        self._pixmap_width  = -1
        self._pixmap_height = -1
        self._lastCursor    = None

        self.connect('button_press_event',   self.button_press_event)
        self.connect('button_release_event', self.button_release_event)
        self.connect('configure_event',      self.configure_event)
        self.connect('expose_event',         self.expose_event)
        self.connect('key_press_event',      self.key_press_event)
        self.connect('key_release_event',    self.key_release_event)
        self.connect('motion_notify_event',  self.motion_notify_event)

        self.set_events(
            gdk.BUTTON_PRESS_MASK   |
            gdk.BUTTON_RELEASE_MASK |
            gdk.EXPOSURE_MASK       |
            gdk.KEY_PRESS_MASK      |
            gdk.KEY_RELEASE_MASK    |
            gdk.LEAVE_NOTIFY_MASK   |
            gdk.POINTER_MOTION_MASK |
            gdk.POINTER_MOTION_HINT_MASK)

        self.set_double_buffered(False)
        self.set_flags(gtk.CAN_FOCUS)
        self._renderer_init()
Beispiel #24
0
    def __init__( self, figure ):
        if DEBUG: print('FigureCanvasQt: ', figure)
        _create_qApp()

        QtGui.QWidget.__init__( self )
        FigureCanvasBase.__init__( self, figure )
        self.figure = figure
        self.setMouseTracking( True )
        self._idle = True
        # hide until we can test and fix
        #self.startTimer(backend_IdleEvent.milliseconds)
        w,h = self.get_width_height()
        self.resize( w, h )

        # JDH: Note the commented out code below does not work as
        # expected, because according to Pierre Raybaut, The reason is
        # that PyQt fails (silently) to call a method of this object
        # just before detroying it. Using a lambda function will work,
        # exactly the same as using a function (which is not bound to
        # the object to be destroyed).
        #
        #QtCore.QObject.connect(self, QtCore.SIGNAL('destroyed()'),
        #    self.close_event)
        QtCore.QObject.connect(self, QtCore.SIGNAL('destroyed()'),
                               lambda: self.close_event())
Beispiel #25
0
    def __init__(self, figure):
        FigureCanvasBase.__init__(self, figure)
        gtk.DrawingArea.__init__(self)
        
        self._idleID        = 0
        self._draw_pixmap   = True
        self._pixmap_width  = -1
        self._pixmap_height = -1

        self._lastCursor = None

        self.set_flags(gtk.CAN_FOCUS)
        self.grab_focus()
        self.set_double_buffered(False)

        self.connect('key_press_event',      self.key_press_event)
        self.connect('key_release_event',    self.key_release_event)
        self.connect('expose_event',         self.expose_event)
        self.connect('configure_event',      self.configure_event)
        self.connect('motion_notify_event',  self.motion_notify_event)
        self.connect('button_press_event',   self.button_press_event)
        self.connect('button_release_event', self.button_release_event)

        self.set_events(
            #gdk.FOCUS_CHANGE_MASK  |
            gdk.KEY_PRESS_MASK      |
            gdk.KEY_RELEASE_MASK    |
            gdk.EXPOSURE_MASK       |
            gdk.LEAVE_NOTIFY_MASK   |
            gdk.BUTTON_PRESS_MASK   |
            gdk.BUTTON_RELEASE_MASK |
            gdk.POINTER_MOTION_MASK  )

        self._renderer_init()
Beispiel #26
0
    def __init__(self, figure):
        FigureCanvasBase.__init__(self, figure)
        # print "Init of Canvas called....",figure
        self.frame_count = 0
        global figure_number
        self.figure_number = figure_number
        figure_number += 1
        self._clients = set()
        self._frame = None
        self._header = ""
        self._home_x = {}
        self._home_y = {}
        self._zoomed = False
        self._first_frame = True
        self._width, self._height = self.get_width_height()
        self.flip = Affine2D().scale(1, -1).translate(0, self._height)

        # Start WebSocket server
        try:
            self._server = websocket.WebSocketApp(
                "ws://" + HOST + ":" + PORT + "/client/" + SESSION_ID,
                on_open=self.web_socket_open,
                on_message=self.web_socket_message,
                on_close=self.web_socket_close,
                on_error=self.web_socket_close,
            )
            self._thread = thread.start_new_thread(self._server.run_forever, ())
        except Exception, e:
            print "Failed to create websocket server. (%s)" % str(e)
            # sys.exit(1)
            raise e
Beispiel #27
0
 def button_release_event(self, widget, event):
     if _debug:
         print "FigureCanvasGTK.%s" % fn_name()
     x = event.x
     y = self.allocation.height - event.y
     FigureCanvasBase.button_release_event(self, x, y, event.button)
     return False  # finish event propagation?
Beispiel #28
0
    def __init__(self, figure):
        if _debug: print 'FigureCanvasGTK3.%s' % fn_name()
        FigureCanvasBase.__init__(self, figure)
        GObject.GObject.__init__(self)

        self._idle_draw_id  = 0
        self._need_redraw   = True
        self._lastCursor    = None

        self.connect('scroll_event',         self.scroll_event)
        self.connect('button_press_event',   self.button_press_event)
        self.connect('button_release_event', self.button_release_event)
        self.connect('configure_event',      self.configure_event)
        self.connect('draw',                 self.on_draw_event)
        self.connect('key_press_event',      self.key_press_event)
        self.connect('key_release_event',    self.key_release_event)
        self.connect('motion_notify_event',  self.motion_notify_event)
        self.connect('leave_notify_event',   self.leave_notify_event)
        self.connect('enter_notify_event',   self.enter_notify_event)

        self.set_events(self.__class__.event_mask)

        self.set_double_buffered(True)
        self.set_can_focus(True)
        self._renderer_init()
        self._idle_event_id = GObject.idle_add(self.idle_event)
Beispiel #29
0
    def _update_pointer_position(self, guiEvent=None):
        """
        Figure out if we are inside the canvas or not and update the
        canvas enter/leave events
        """
        # if the pointer if over the canvas, set the lastx and lasty
        # attrs of the canvas so it can process event w/o mouse click
        # or move

        # the window's upper, left coords in screen coords
        xw = self._tkcanvas.winfo_rootx()
        yw = self._tkcanvas.winfo_rooty()
        # the pointer's location in screen coords
        xp, yp = self._tkcanvas.winfo_pointerxy()

        # not figure out the canvas coordinates of the pointer
        xc = xp - xw
        yc = yp - yw

        # flip top/bottom
        yc = self.figure.bbox.height - yc

        # JDH: this method was written originally to get the pointer
        # location to the backend lastx and lasty attrs so that events
        # like KeyEvent can be handled without mouse events.  Eg, if
        # the cursor is already above the axes, then key presses like
        # 'g' should toggle the grid.  In order for this to work in
        # backend_bases, the canvas needs to know _lastx and _lasty.
        # There are three ways to get this info the canvas:
        #
        # 1) set it explicity
        #
        # 2) call enter/leave events explicity.  The downside of this
        #    in the impl below is that enter could be repeatedly
        #    triggered if thes  mouse is over the axes and one is
        #    resizing with the keyboard.  This is not entirely bad,
        #    because the mouse position relative to the canvas is
        #    changing, but it may be surprising to get repeated entries
        #    without leaves
        #
        # 3) process it as a motion notify event.  This also has pros
        #    and cons.  The mouse is moving relative to the window, but
        #    this may surpise an event handler writer who is getting
        #   motion_notify_events even if the mouse has not moved

        # here are the three scenarios
        if 1:
            # just manually set it
            self._lastx, self._lasty = xc, yc
        elif 0:
            # alternate implementation: process it as a motion
            FigureCanvasBase.motion_notify_event(self, xc, yc, guiEvent)
        elif 0:
            # alternate implementation -- process enter/leave events
            # instead of motion/notify
            if self.figure.bbox.contains(xc, yc):
                self.enter_notify_event(guiEvent, xy=(xc,yc))
            else:
                self.leave_notify_event(guiEvent)
Beispiel #30
0
 def mouseReleaseEvent(self, event):
     x, y = self.mouseEventCoords(event)
     button = self.buttond.get(event.button())
     if button is not None:
         FigureCanvasBase.button_release_event(self, x, y, button,
                                               guiEvent=event)
     if DEBUG:
         print('button released')
Beispiel #31
0
 def scroll_event(self, widget, event):
     x, y = self._mouse_event_coords(event)
     step = 1 if event.direction == Gdk.ScrollDirection.UP else -1
     FigureCanvasBase.scroll_event(self, x, y, step, guiEvent=event)
     return False  # finish event propagation?
Beispiel #32
0
 def key_release_event(self, widget, event):
     key = self._get_key(event)
     FigureCanvasBase.key_release_event(self, key, guiEvent=event)
     return True  # stop event propagation
Beispiel #33
0
 def enterEvent(self, event):
     FigureCanvasBase.enter_notify_event(self, event)
Beispiel #34
0
 def get_width_height(self):
     w, h = FigureCanvasBase.get_width_height(self)
     return int(w / self._dpi_ratio), int(h / self._dpi_ratio)
Beispiel #35
0
 def keyReleaseEvent(self, event):
     key = self._get_key(event)
     if key is not None:
         FigureCanvasBase.key_release_event(self, key, guiEvent=event)
Beispiel #36
0
 def start_event_loop(self, timeout):
     FigureCanvasBase.start_event_loop_default(self, timeout)
 def __init__(self, figure):
     FigureCanvasBase.__init__(self, figure)
     width, height = self.get_width_height()
     self.renderer = RendererMac(figure.dpi, width, height)
     _macosx.FigureCanvas.__init__(self, width, height)
Beispiel #38
0
 def motion_notify_event(self, event):
     x = event.x
     # flipy so y=0 is bottom of canvas
     y = self.figure.bbox.height - event.y
     FigureCanvasBase.motion_notify_event(self, x, y, guiEvent=event)
Beispiel #39
0
 def stop_event_loop(self):
     FigureCanvasBase.stop_event_loop_default(self)
Beispiel #40
0
 def key_press(self, event):
     key = self._get_key(event)
     FigureCanvasBase.key_press_event(self, key, guiEvent=event)
Beispiel #41
0
 def key_release(self, event):
     key = self._get_key(event)
     FigureCanvasBase.key_release_event(self, key, guiEvent=event)
Beispiel #42
0
def test_get_default_filename(tmpdir):
    plt.rcParams['savefig.directory'] = str(tmpdir)
    fig = plt.figure()
    canvas = FigureCanvasBase(fig)
    filename = canvas.get_default_filename()
    assert filename == 'image.png'
Beispiel #43
0
 def scroll_event(self, event):
     x = event.x
     y = self.figure.bbox.height - event.y
     num = getattr(event, 'num', None)
     step = 1 if num == 4 else -1 if num == 5 else 0
     FigureCanvasBase.scroll_event(self, x, y, step, guiEvent=event)
Beispiel #44
0
 def enter_notify_event(self, widget, event):
     x, y, state = event.window.get_pointer()
     FigureCanvasBase.enter_notify_event(self, event, xy=(x, y))
Beispiel #45
0
 def enter_notify_event(self, event):
     x = event.x
     # flipy so y=0 is bottom of canvas
     y = self.figure.bbox.height - event.y
     FigureCanvasBase.enter_notify_event(self, guiEvent=event, xy=(x, y))
Beispiel #46
0
 def leave_notify_event(self, widget, event):
     FigureCanvasBase.leave_notify_event(self, event)
Beispiel #47
0
 def key_release_event(self, widget, event):
     if _debug: print 'FigureCanvasGTK.%s' % fn_name()
     key = self._get_key(event)
     if _debug: print "release", key
     FigureCanvasBase.key_release_event(self, key)
     return False  # finish event propagation?
Beispiel #48
0
 def key_release_event(self, widget, event):
     if _debug: print('FigureCanvasGTK.%s' % fn_name())
     key = self._get_key(event)
     if _debug: print("release", key)
     FigureCanvasBase.key_release_event(self, key, guiEvent=event)
     return True  # stop event propagation
Beispiel #49
0
 def keyPressEvent(self, event):
     key = self._get_key(event)
     if key is not None:
         FigureCanvasBase.key_press_event(self, key, guiEvent=event)
Beispiel #50
0
 def enter_notify_event(self, widget, event):
     x, y = self._mouse_event_coords(event)
     FigureCanvasBase.enter_notify_event(self, guiEvent=event, xy=(x, y))
Beispiel #51
0
 def mouseMoveEvent(self, event):
     x, y = self.mouseEventCoords(event)
     FigureCanvasBase.motion_notify_event(self, x, y, guiEvent=event)
Beispiel #52
0
 def motion_notify_event(self, widget, event):
     x, y = self._mouse_event_coords(event)
     FigureCanvasBase.motion_notify_event(self, x, y, guiEvent=event)
     return False  # finish event propagation?
Beispiel #53
0
 def enter_notify_event(self, widget, event):
     x = event.x
     # flipy so y=0 is bottom of canvas
     y = self.get_allocation().height - event.y
     FigureCanvasBase.enter_notify_event(self, guiEvent=event, xy=(x, y))
Beispiel #54
0
 def leaveEvent(self, event):
     QtGui.QApplication.restoreOverrideCursor()
     FigureCanvasBase.leave_notify_event(self, event)
Beispiel #55
0
 def key_press_event(self, widget, event):
     if _debug: print('FigureCanvasGTK.%s' % fn_name())
     key = self._get_key(event)
     if _debug: print("hit", key)
     FigureCanvasBase.key_press_event(self, key, guiEvent=event)
     return False  # finish event propagation?
Beispiel #56
0
 def keyReleaseEvent(self, event):
     key = self._get_key(event)
     if key is None:
         return
     FigureCanvasBase.key_release_event(self, key)
     if DEBUG: print 'key release', key
Beispiel #57
0
 def keyPressEvent(self, event):
     key = self._get_key(event)
     if key is None:
         return
     FigureCanvasBase.key_press_event(self, key)
     if DEBUG: print('key press', key)
 def __init__(self, *args):
     FigureCanvasBase.__init__(self, *args)
Beispiel #59
0
 def mouseMoveEvent(self, event):
     x = event.x()
     # flipy so y=0 is bottom of canvas
     y = self.figure.bbox.height - event.y()
     FigureCanvasBase.motion_notify_event(self, x, y)
Beispiel #60
0
 def __init__(self, figure):
     FigureCanvasBase.__init__(self, figure)
     width, height = self.get_width_height()
     _macosx.FigureCanvas.__init__(self, width, height)
     self._device_scale = 1.0