diff --git a/g13gui/bitwidgets/label.py b/g13gui/bitwidgets/label.py index 533e30e..6f3e094 100644 --- a/g13gui/bitwidgets/label.py +++ b/g13gui/bitwidgets/label.py @@ -28,7 +28,9 @@ class Label(Widget): self._spacing = spacing self._align = align self._strokeWidth = strokeWidth - self._bounds = FontManager.getFont(self.font).getsize(self.text) + + (left, top, right, bottom) = FontManager.getFont(self.font).getbbox(self.text) + self._bounds = (right - left, bottom - top) def draw(self, ctx): if self._visible: @@ -62,17 +64,20 @@ class Label(Widget): @text.setter def text(self, text): self.setProperty('text', text) - self.bounds = FontManager.getFont(self.font).getsize(self.text) + (left, top, right, bottom) = FontManager.getFont(self.font).getbbox(self.text) + self.bounds = (right - left, bottom - top) @font.setter def font(self, font): self.setProperty('font', font) - self.bounds = FontManager.getFont(self.font).getsize(self.text) + (left, top, right, bottom) = FontManager.getFont(self.font).getbbox(self.text) + self.bounds = (right - left, bottom - top) @spacing.setter def spacing(self, spacing): self.setProperty('spacing', spacing) - self.bounds = FontManager.getFont(self.font).getsize(self.text) + (left, top, right, bottom) = FontManager.getFont(self.font).getbbox(self.text) + self.bounds = (right - left, bottom - top) @align.setter def align(self, align): diff --git a/g13gui/bitwidgets/listview.py b/g13gui/bitwidgets/listview.py index 39ec2b4..eb77a38 100644 --- a/g13gui/bitwidgets/listview.py +++ b/g13gui/bitwidgets/listview.py @@ -141,7 +141,8 @@ class ListItem(Widget): self._isHighlighted = is_highlighted self._font = font - (_, self._fontHeight) = FontManager.getFont(self._font).getsize('Wqpj') + (_, top, _, bottom) = FontManager.getFont(self._font).getbbox('Wqpj') + self._fontHeight = bottom - top self.position = (0, ypos) self.bounds = (DISPLAY_WIDTH, self._fontHeight + 3)