optimized some path calculation code

This commit is contained in:
2025-08-18 18:04:21 +02:00
parent 306c8755eb
commit a507916f1c
2 changed files with 9 additions and 7 deletions

View File

@ -37,6 +37,9 @@ class Knob:
def get_position(self):
return self.position
def get_index(self, knobs):
return knobs.index(self)
def __eq__(self, other):
if other is None: return False

View File

@ -92,16 +92,16 @@ class Knobs:
def calculate_label_path(self, knob, label_x):
if len(knob.label_path) == 0:
knob.label_path.append(knob.get_position())
knob_index = knob.get_index(self.knobs)
if self.is_left_side:
if (knob == self.knobs[0] or knob == self.knobs[1] or
knob == self.knobs[4] or knob == self.knobs[5]):
if knob_index in [0, 1, 4, 5] :
x = knob.get_position()[0] + self.knobs_radius * 1.5
y = knob.get_position()[1] + self.knobs_radius * 1.5
elif (knob == self.knobs[2] or knob == self.knobs[3] or knob == self.knobs[6]):
elif knob_index in [2, 3, 6]:
x = knob.get_position()[0] + self.knobs_radius * 1.5
y = knob.get_position()[1] - self.knobs_radius * 1.5
else: # knob 7
x = knob.get_position()[0] - self.knobs_radius * 1.5
x = knob.get_position()[0] - self.knobs_radius * 1.5
y = knob.get_position()[1] + self.knobs_radius * 1.5
knob.label_path.append((x, y))
@ -110,11 +110,10 @@ class Knobs:
elif (knob == self.knobs[4] or knob == self.knobs[7]):
knob.label_path.append((self.knobs[4].get_position()[0] + self.knobs_radius * 1.5, self.gui.screenH/2))
else:
if (knob == self.knobs[1] or knob == self.knobs[2] or
knob == self.knobs[4] or knob == self.knobs[5]):
if knob_index in [1, 2, 4, 5]:
x = knob.get_position()[0] + self.knobs_radius * 1.5
y = knob.get_position()[1] + self.knobs_radius * 1.5
elif (knob == self.knobs[3] or knob == self.knobs[6] or knob == self.knobs[7]):
elif knob_index in [3, 6, 7]:
x = knob.get_position()[0] + self.knobs_radius * 1.5
y = knob.get_position()[1] - self.knobs_radius * 1.5
else: # knob 0