- imagePath = self._store.STORE_LOOKUP[self._player.background]
- self._backgroundImage = self._store.get_surface_from_store(imagePath)
- if not self._imageNav.get_state():
- cairoContext = self._image.window.cairo_create()
- if not self._isPortrait:
- cairoContext.transform(cairo.Matrix(0, 1, 1, 0, 0, 0))
- self._draw_presenter(cairoContext, self._currentButtonState)
- else:
- cairoContext = self._image.window.cairo_create()
- if not self._isPortrait:
- cairoContext.transform(cairo.Matrix(0, 1, 1, 0, 0, 0))
- self._draw_presenter(cairoContext, self._potentialButtonState)
-
- @misc_utils.log_exception(_moduleLogger)
- def _on_navigating(self, widget, navState):
- buttonState = self._translate_state(navState)
- self._potentialButtonState = buttonState
- cairoContext = self._image.window.cairo_create()
- if not self._isPortrait:
- cairoContext.transform(cairo.Matrix(0, 1, 1, 0, 0, 0))
- self._draw_state(cairoContext, self._potentialButtonState)
-
- @misc_utils.log_exception(_moduleLogger)
- def _on_nav_action(self, widget, navState):
- try:
- buttonState = self._translate_state(navState)
- if buttonState == self.BUTTON_STATE_PLAY:
- self._player.play()
- elif buttonState == self.BUTTON_STATE_PAUSE:
- self._player.pause()
- elif buttonState == self.BUTTON_STATE_NEXT:
- self._player.next()
- elif buttonState == self.BUTTON_STATE_BACK:
- self._player.back()
- elif buttonState == self.BUTTON_STATE_UP:
- raise NotImplementedError("Drag-down not implemented yet")
- elif buttonState == self.BUTTON_STATE_CANCEL:
- pass
- finally:
- if self._player.state == "play":
- buttonState = self.BUTTON_STATE_PLAY
- else:
- buttonState = self.BUTTON_STATE_PAUSE
- self._potentialButtonState = buttonState
- cairoContext = self._image.window.cairo_create()
- if not self._isPortrait:
- cairoContext.transform(cairo.Matrix(0, 1, 1, 0, 0, 0))
- self._draw_state(cairoContext, self._potentialButtonState)
-
- def _translate_state(self, navState):
- if navState == "clicking" or not self._canNavigate:
- if self._currentButtonState == self.BUTTON_STATE_PLAY:
- return self.BUTTON_STATE_PAUSE
- else:
- return self.BUTTON_STATE_PLAY
- elif navState == "down":
- return self.BUTTON_STATE_UP
- elif navState == "up":
- return self.BUTTON_STATE_CANCEL
- elif navState == "left":
- return self.BUTTON_STATE_NEXT
- elif navState == "right":
- return self.BUTTON_STATE_BACK