diff --git a/selfdrive/ui/onroad/driver_state.py b/selfdrive/ui/onroad/driver_state.py index 9a5da4d298..8d5fb951d0 100644 --- a/selfdrive/ui/onroad/driver_state.py +++ b/selfdrive/ui/onroad/driver_state.py @@ -50,6 +50,7 @@ class DriverStateRenderer(Widget): self.is_active = False self.is_rhd = False self.dm_fade_state = 0.0 + self.last_rect: rl.Rectangle = rl.Rectangle(0, 0, 0, 0) self.driver_pose_vals = np.zeros(3, dtype=np.float32) self.driver_pose_diff = np.zeros(3, dtype=np.float32) self.driver_pose_sins = np.zeros(3, dtype=np.float32) @@ -106,6 +107,10 @@ class DriverStateRenderer(Widget): """Update the driver monitoring state based on model data""" sm = ui_state.sm if not sm.updated["driverMonitoringState"]: + if (self._rect.x != self.last_rect.x or self._rect.y != self.last_rect.y or + self._rect.width != self.last_rect.width or self._rect.height != self.last_rect.height): + self._pre_calculate_drawing_elements() + self.last_rect = self._rect return # Get monitoring state