You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
import wx
 | 
						|
 | 
						|
from .backend_agg import FigureCanvasAgg
 | 
						|
from .backend_wx import _BackendWx, _FigureCanvasWxBase
 | 
						|
from .backend_wx import (  # noqa: F401 # pylint: disable=W0611
 | 
						|
    NavigationToolbar2Wx as NavigationToolbar2WxAgg)
 | 
						|
 | 
						|
 | 
						|
class FigureCanvasWxAgg(FigureCanvasAgg, _FigureCanvasWxBase):
 | 
						|
    def draw(self, drawDC=None):
 | 
						|
        """
 | 
						|
        Render the figure using agg.
 | 
						|
        """
 | 
						|
        FigureCanvasAgg.draw(self)
 | 
						|
        self.bitmap = self._create_bitmap()
 | 
						|
        self._isDrawn = True
 | 
						|
        self.gui_repaint(drawDC=drawDC)
 | 
						|
 | 
						|
    def blit(self, bbox=None):
 | 
						|
        # docstring inherited
 | 
						|
        bitmap = self._create_bitmap()
 | 
						|
        if bbox is None:
 | 
						|
            self.bitmap = bitmap
 | 
						|
        else:
 | 
						|
            srcDC = wx.MemoryDC(bitmap)
 | 
						|
            destDC = wx.MemoryDC(self.bitmap)
 | 
						|
            x = int(bbox.x0)
 | 
						|
            y = int(self.bitmap.GetHeight() - bbox.y1)
 | 
						|
            destDC.Blit(x, y, int(bbox.width), int(bbox.height), srcDC, x, y)
 | 
						|
            destDC.SelectObject(wx.NullBitmap)
 | 
						|
            srcDC.SelectObject(wx.NullBitmap)
 | 
						|
        self.gui_repaint()
 | 
						|
 | 
						|
    def _create_bitmap(self):
 | 
						|
        """Create a wx.Bitmap from the renderer RGBA buffer"""
 | 
						|
        rgba = self.get_renderer().buffer_rgba()
 | 
						|
        h, w, _ = rgba.shape
 | 
						|
        bitmap = wx.Bitmap.FromBufferRGBA(w, h, rgba)
 | 
						|
        bitmap.SetScaleFactor(self.GetDPIScaleFactor())
 | 
						|
        return bitmap
 | 
						|
 | 
						|
 | 
						|
@_BackendWx.export
 | 
						|
class _BackendWxAgg(_BackendWx):
 | 
						|
    FigureCanvas = FigureCanvasWxAgg
 |