From 3c9e414c8ac1005672421da378e3fec9a4c568f8 Mon Sep 17 00:00:00 2001 From: Margaret Matocha Date: Sat, 8 Aug 2020 09:56:14 -0500 Subject: [PATCH 1/4] Updated label.py to correct position of initial blank text --- adafruit_display_text/label.py | 43 +++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/adafruit_display_text/label.py b/adafruit_display_text/label.py index aa868cd..a7f55c4 100755 --- a/adafruit_display_text/label.py +++ b/adafruit_display_text/label.py @@ -95,10 +95,7 @@ def __init__( self.width = max_glyphs self._font = font self._text = None - if anchor_point is None: - self._anchor_point = (0, 0) - else: - self._anchor_point = anchor_point + self._anchor_point = anchor_point self.x = x self.y = y @@ -126,7 +123,7 @@ def __init__( if text is not None: self._update_text(str(text)) - if anchored_position is not None: + if (anchored_position is not None) and (anchor_point is not None): self.anchored_position = anchored_position def _create_background_box(self, lines, y_offset): @@ -374,14 +371,19 @@ def anchor_point(self): @anchor_point.setter def anchor_point(self, new_anchor_point): - current_anchored_position = self.anchored_position - self._anchor_point = new_anchor_point - self.anchored_position = current_anchored_position + if self._anchor_point is not None: + current_anchored_position = self.anchored_position + self._anchor_point = new_anchor_point + self.anchored_position = current_anchored_position + else: + self._anchor_point = new_anchor_point @property def anchored_position(self): """Position relative to the anchor_point. Tuple containing x,y pixel coordinates.""" + if self._anchor_point is None: + return None return ( int(self.x + (self._anchor_point[0] * self._boundingbox[2] * self._scale)), int( @@ -393,14 +395,17 @@ def anchored_position(self): @anchored_position.setter def anchored_position(self, new_position): - new_x = int( - new_position[0] - - self._anchor_point[0] * (self._boundingbox[2] * self._scale) - ) - new_y = int( - new_position[1] - - (self._anchor_point[1] * self._boundingbox[3] * self._scale) - + round((self._boundingbox[3] * self._scale) / 2.0) - ) - self.x = new_x - self.y = new_y + if (self._anchor_point is None) or (new_position is None): + pass # Note: anchor_point must be set before setting anchored_position + else: + new_x = int( + new_position[0] + - self._anchor_point[0] * (self._boundingbox[2] * self._scale) + ) + new_y = int( + new_position[1] + - (self._anchor_point[1] * self._boundingbox[3] * self._scale) + + round((self._boundingbox[3] * self._scale) / 2.0) + ) + self.x = new_x + self.y = new_y From 4cfc2a467534c150eb2943e9aaa76cd58590d0f7 Mon Sep 17 00:00:00 2001 From: Margaret Matocha Date: Sat, 8 Aug 2020 10:15:38 -0500 Subject: [PATCH 2/4] ran black --- adafruit_display_text/label.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adafruit_display_text/label.py b/adafruit_display_text/label.py index a7f55c4..1a3e65a 100755 --- a/adafruit_display_text/label.py +++ b/adafruit_display_text/label.py @@ -395,8 +395,8 @@ def anchored_position(self): @anchored_position.setter def anchored_position(self, new_position): - if (self._anchor_point is None) or (new_position is None): - pass # Note: anchor_point must be set before setting anchored_position + if (self._anchor_point is None) or (new_position is None): + pass # Note: anchor_point must be set before setting anchored_position else: new_x = int( new_position[0] From e89c457f19032d2e6e4d831d925ed96eef43c933 Mon Sep 17 00:00:00 2001 From: Margaret Matocha Date: Mon, 10 Aug 2020 18:23:01 -0500 Subject: [PATCH 3/4] Changed pass to return per requested change --- adafruit_display_text/label.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adafruit_display_text/label.py b/adafruit_display_text/label.py index 1a3e65a..6b52b7e 100755 --- a/adafruit_display_text/label.py +++ b/adafruit_display_text/label.py @@ -396,7 +396,7 @@ def anchored_position(self): @anchored_position.setter def anchored_position(self, new_position): if (self._anchor_point is None) or (new_position is None): - pass # Note: anchor_point must be set before setting anchored_position + return # Note: anchor_point must be set before setting anchored_position else: new_x = int( new_position[0] From b66efa13235c8d93907f6f02b6f77de2cd316780 Mon Sep 17 00:00:00 2001 From: Margaret Matocha Date: Mon, 10 Aug 2020 18:32:47 -0500 Subject: [PATCH 4/4] Deleted else and corrected tabbing --- adafruit_display_text/label.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/adafruit_display_text/label.py b/adafruit_display_text/label.py index 6b52b7e..9f65598 100755 --- a/adafruit_display_text/label.py +++ b/adafruit_display_text/label.py @@ -397,15 +397,14 @@ def anchored_position(self): def anchored_position(self, new_position): if (self._anchor_point is None) or (new_position is None): return # Note: anchor_point must be set before setting anchored_position - else: - new_x = int( - new_position[0] - - self._anchor_point[0] * (self._boundingbox[2] * self._scale) - ) - new_y = int( - new_position[1] - - (self._anchor_point[1] * self._boundingbox[3] * self._scale) - + round((self._boundingbox[3] * self._scale) / 2.0) - ) - self.x = new_x - self.y = new_y + new_x = int( + new_position[0] + - self._anchor_point[0] * (self._boundingbox[2] * self._scale) + ) + new_y = int( + new_position[1] + - (self._anchor_point[1] * self._boundingbox[3] * self._scale) + + round((self._boundingbox[3] * self._scale) / 2.0) + ) + self.x = new_x + self.y = new_y