tiny optimisation

This commit is contained in:
XANTRONIX Development 2024-01-06 00:27:48 -05:00
parent 88bcd6d6b1
commit c96bab9d37

View file

@ -3,6 +3,8 @@ import cairo
from hexagram.gauge import Gauge
RAD = math.pi / 180.0
class Dial(Gauge):
__slots = 'x', 'y', 'radius', 'min_angle', 'max_angle',
@ -113,7 +115,7 @@ class Dial(Gauge):
cr.set_source(gradient)
cr.arc(self.x, self.y, self.radius * 0.713,
self.min_angle - self.ANGLE_OFFSET - (math.pi / 180.0) * 1.5,
self.min_angle - self.ANGLE_OFFSET - RAD * 1.5,
angle)
cr.stroke()
@ -121,8 +123,8 @@ class Dial(Gauge):
self.draw_needle(cr, 0.5, 0.89, angle)
class BottomDial(Dial):
MIN_ANGLE = 144.0 * (math.pi / 180.0)
MAX_ANGLE = 216.0 * (math.pi / 180.0)
MIN_ANGLE = 144.0 * RAD
MAX_ANGLE = 216.0 * RAD
def angle(self, value: float):
return super().angle((self.max_value - value) + self.min_value)
@ -142,8 +144,8 @@ class BottomDial(Dial):
cr.arc(self.x,
self.y,
self.radius - 36,
self.MIN_ANGLE - self.ANGLE_OFFSET - 4 * (math.pi / 180.0),
self.MAX_ANGLE - self.ANGLE_OFFSET + 4 * (math.pi / 180.0))
self.MIN_ANGLE - self.ANGLE_OFFSET - 4 * RAD,
self.MAX_ANGLE - self.ANGLE_OFFSET + 4 * RAD)
cr.stroke()
def draw_fg(self, cr: cairo.Context):