File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -68,9 +68,9 @@ def paintEvent(self, e):
6868 # As described in __init__ above, we need to be careful in cases with
6969 # mixed resolution displays if dpi_ratio is changing between painting
7070 # events.
71- if self ._dpi_ratio_prev is None :
72- self . _dpi_ratio_prev = self . _dpi_ratio
73- elif self . _dpi_ratio != self ._dpi_ratio_prev :
71+ if self ._dpi_ratio_prev or self . _dpi_ratio != self . _dpi_ratio_prev :
72+ # We need to update the figure DPI
73+ self ._update_figure_dpi ()
7474 # The easiest way to resize the canvas is to emit a resizeEvent
7575 # since we implement all the logic for resizing the canvas for
7676 # that event.
@@ -196,6 +196,10 @@ def __init__(self, figure):
196196 self .figure ._original_dpi = self .figure .dpi
197197 self .figure .dpi = self ._dpi_ratio * self .figure ._original_dpi
198198
199+ def _update_figure_dpi (self ):
200+ dpi = self ._dpi_ratio * self .figure ._original_dpi
201+ self .figure ._set_dpi (dpi , forward = False )
202+
199203
200204@_BackendQT5 .export
201205class _BackendQT5Agg (_BackendQT5 ):
Original file line number Diff line number Diff line change @@ -418,11 +418,16 @@ def _get_axes(self):
418418 def _get_dpi (self ):
419419 return self ._dpi
420420
421- def _set_dpi (self , dpi ):
421+ def _set_dpi (self , dpi , forward = True ):
422+ """
423+ The forward kwarg is passed on to set_size_inches
424+ """
422425 self ._dpi = dpi
423426 self .dpi_scale_trans .clear ().scale (dpi , dpi )
424- self .set_size_inches (* self .get_size_inches ())
427+ w , h = self .get_size_inches ()
428+ self .set_size_inches (w , h , forward = forward )
425429 self .callbacks .process ('dpi_changed' , self )
430+
426431 dpi = property (_get_dpi , _set_dpi )
427432
428433 def get_tight_layout (self ):
You can’t perform that action at this time.
0 commit comments