94
94
self.config.get_stage_width(), self.config.get_stage_height())
96
96
# Initialize menu overlay texture
97
self.overlay_status = False
97
self.is_overlay = False
98
98
self.menu_overlay = MenuOverlay(self.config.theme)
99
99
self.menu_overlay.set_opacity(0)
100
self.menu_overlay.set_name("overlay")
101
100
self.menu_overlay.set_size(
102
101
self.config.get_stage_width(), self.config.get_stage_height())
103
102
self.stage.add(self.menu_overlay)
258
257
a video playing and menu showing at the same time. Overlay is not part
259
258
of any specific screen. It is used for all screens when neccesary.
261
self.overlay_status = True
262
if self.config.show_effects():
260
if not self.is_overlay:
261
self.is_overlay = True
263
262
self.menu_overlay.fade_in()
265
self.menu_overlay.set_opacity(255)
263
self.player.is_reactive_allowed = False
267
265
def disable_menu_overlay(self):
269
267
Disable menu overlay. Overlay should be disabled when current screen is
270
268
a type of Screen.OSD.
272
self.overlay_status = False
273
if self.config.show_effects():
271
self.is_overlay = False
274
272
self.menu_overlay.fade_out()
276
self.menu_overlay.set_opacity(0)
278
def is_overlay(self):
280
Get menu overlay status.
281
@return boolean value. True if menu overlay is active, otherwise False.
283
return self.overlay_status
273
self.player.is_reactive_allowed = True
285
275
def change_screen(self, screen, direction):
286
276
'''Transition the given screen in the direction provided.'''
287
277
# Enable/Disable menu overlay
288
if screen.kind == Screen.OSD and self.is_overlay():
278
if screen.kind == Screen.OSD:
289
279
self.disable_menu_overlay()
290
elif screen.kind != Screen.OSD and not self.is_overlay():
291
281
self.enable_menu_overlay()
293
283
# Add current screen to screen history
367
357
if self.current.is_interested_in_play_action():
368
358
self.current.execute_play_action()
370
if self.player.is_playing():
360
if self.player.is_playing:
371
361
self.player.pause()
372
362
self.current.handle_user_event(event)
391
381
def _handle_player_stop(self, event):
392
382
'''Handle UserEvent.PLAYER_STOP.'''
393
if self.player.is_playing():
383
if self.player.is_playing:
394
384
self.player.stop()
395
385
self.current.handle_user_event(event)