Fix LED overlay tick positions and reverse handling
Use i/(count-1) fraction (matching calibration dialog) so LEDs span the full edge, and apply seg.reverse flag for correct numbering. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -142,7 +142,9 @@ class OverlayWindow:
|
||||
for i in range(count):
|
||||
display_idx = (led_index + self.calibration.offset) % total_leds
|
||||
if i == 0 or i == count - 1 or display_idx % tick_interval == 0:
|
||||
frac = i / count if count > 1 else 0.5
|
||||
frac = i / (count - 1) if count > 1 else 0.5
|
||||
if seg.reverse:
|
||||
frac = 1.0 - frac
|
||||
x = start_px + frac * (end_px - start_px)
|
||||
tick_len = 15 if display_idx % tick_interval == 0 else 10
|
||||
self._canvas.create_line(x, y_axis - tick_len, x, y_axis + tick_len, fill="white", width=2)
|
||||
@@ -160,7 +162,9 @@ class OverlayWindow:
|
||||
for i in range(count):
|
||||
display_idx = (led_index + self.calibration.offset) % total_leds
|
||||
if i == 0 or i == count - 1 or display_idx % tick_interval == 0:
|
||||
frac = i / count if count > 1 else 0.5
|
||||
frac = i / (count - 1) if count > 1 else 0.5
|
||||
if seg.reverse:
|
||||
frac = 1.0 - frac
|
||||
x = start_px + frac * (end_px - start_px)
|
||||
tick_len = 15 if display_idx % tick_interval == 0 else 10
|
||||
self._canvas.create_line(x, y_axis - tick_len, x, y_axis + tick_len, fill="white", width=2)
|
||||
@@ -178,7 +182,9 @@ class OverlayWindow:
|
||||
for i in range(count):
|
||||
display_idx = (led_index + self.calibration.offset) % total_leds
|
||||
if i == 0 or i == count - 1 or display_idx % tick_interval == 0:
|
||||
frac = i / count if count > 1 else 0.5
|
||||
frac = i / (count - 1) if count > 1 else 0.5
|
||||
if seg.reverse:
|
||||
frac = 1.0 - frac
|
||||
y = start_px + frac * (end_px - start_px)
|
||||
tick_len = 15 if display_idx % tick_interval == 0 else 10
|
||||
self._canvas.create_line(x_axis - tick_len, y, x_axis + tick_len, y, fill="white", width=2)
|
||||
@@ -196,7 +202,9 @@ class OverlayWindow:
|
||||
for i in range(count):
|
||||
display_idx = (led_index + self.calibration.offset) % total_leds
|
||||
if i == 0 or i == count - 1 or display_idx % tick_interval == 0:
|
||||
frac = i / count if count > 1 else 0.5
|
||||
frac = i / (count - 1) if count > 1 else 0.5
|
||||
if seg.reverse:
|
||||
frac = 1.0 - frac
|
||||
y = start_px + frac * (end_px - start_px)
|
||||
tick_len = 15 if display_idx % tick_interval == 0 else 10
|
||||
self._canvas.create_line(x_axis - tick_len, y, x_axis + tick_len, y, fill="white", width=2)
|
||||
|
||||
Reference in New Issue
Block a user