tiny optimisation
This commit is contained in:
parent
88bcd6d6b1
commit
c96bab9d37
1 changed files with 7 additions and 5 deletions
|
@ -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):
|
||||
|
|
Loading…
Add table
Reference in a new issue