def render(self): if self.lower_key == G.INTRO_KEY: self.render_as_intro_key() return else: _list, n = G.get_in_list(self.lower_key) idx = _list.index(self.lower_key) self.width = (self._size[0]) / float(len(_list)) * self._increment self.height = self._size[1] / 6.0 * self._increment self.x = self.width * idx + self._pos[0] self.y = self.height * n + \ self._center[1] - self._mouse_position[1] * self._increment self.font_size = self.height / 6 * 5.0 if self.selected: self.context.set_source_rgba(*self.selected_color) else: self.context.set_source_rgba(*self.normal_color) self.context.rectangle(self.x, self.y, self.width, self.height) self.context.fill() self.render_label() self.check_selected()
def __draw_cb(self, widget, context): atn = self.get_allocation() self.context = context self.size = (atn.width, atn.height) self.keyboard_size = (atn.width * self.increment, atn.height * self.increment) self.center = (atn.width / 2.0, atn.height / 2.0) l1, l2 = G.KEYS1() + G.KEYS2() _l1, _l2 = G.KEYS3() + G.KEYS4() l = l1 + _l1 + ['SPACE'] if not self.keys: for lowed in l: _list, n = G.get_in_list(lowed) upped = _list[lowed] key = Key(lowed, upped, self.context) key.connect('selected', self.__selected_key) key.connect('unselected', self.__unselected_key) self.keys.append(key) self.render()