From c74c8f22407ca7028eeb9551fa2925b75f54cac3 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Sat, 02 Jun 2012 12:10:46 +0000 Subject: account for toolbars when positioning video window overlay --- diff --git a/TurtleArt/tagplay.py b/TurtleArt/tagplay.py index a90104b..6f8032c 100644 --- a/TurtleArt/tagplay.py +++ b/TurtleArt/tagplay.py @@ -104,7 +104,7 @@ class Gplay(): if lc.tw.running_sugar: self.bin.set_transient_for(lc.tw.activity) - self.bin.move(x, y + 108) + self.bin.move(x, y) self.bin.resize(w, h) self.bin.show_all() diff --git a/TurtleArt/talogo.py b/TurtleArt/talogo.py index db44a8e..03d4957 100644 --- a/TurtleArt/talogo.py +++ b/TurtleArt/talogo.py @@ -27,6 +27,8 @@ from time import time from operator import isNumberType from UserDict import UserDict +from sugar.graphics import style + from taconstants import TAB_LAYER, DEFAULT_SCALE, PREFIX_DICTIONARY from tapalette import block_names, value_blocks from tautils import get_pixbuf_from_journal, convert, data_from_file, \ @@ -752,8 +754,17 @@ class LogoCode: return if self.tw.gst_available: from tagplay import play_movie_from_file - play_movie_from_file(self, self.filepath, self.x2tx(), self.y2ty(), - w, h) + # The video window is an overlay, so we need to know where + # the canvas is relative to the window, e.g., which + # toolbars, if any are open. + yoffset = 0 + if self.tw.running_sugar: + if not self.tw.activity.is_fullscreen(): + yoffset += style.GRID_CELL_SIZE + if self.tw.activity.toolbars_expanded(): + yoffset += style.GRID_CELL_SIZE + play_movie_from_file(self, self.filepath, self.x2tx(), + self.y2ty() + yoffset, w, h) def _expand_forever(self, b, blk, blocks): """ Expand a while or until block into: forever, ifelse, stopstack diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py index d8a4a36..7a9d9ad 100644 --- a/TurtleArtActivity.py +++ b/TurtleArtActivity.py @@ -515,6 +515,24 @@ class TurtleArtActivity(activity.Activity): ''' Keep-button clicked. ''' self.jobject_new_patch() + def is_fullscreen(self): + ''' Are we in fullscreen mode (toolbars hidden)? ''' + # Fixme: this should be a exposed as a window property, not private + return self._is_fullscreen + + def toolbars_expanded(self): + ''' Are any toolbars expanded? ''' + if self.palette_toolbar_button.is_expanded(): + return True + elif self.edit_toolbar_button.is_expanded(): + return True + elif self.view_toolbar_button.is_expanded(): + return True + elif self.activity_toolbar_button.is_expanded(): + return True + else: + return False + def _setup_toolbar(self): ''' Setup toolbar according to Sugar version. ''' if self.has_toolbarbox: -- cgit v0.9.1