Skip to content

Commit af23244

Browse files
committed
added setLevelRotation
1 parent 5182045 commit af23244

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

dumbdisplay/ddcmds.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
DDC_setlevelanchor = "#3a"
22
DDC_movelevelanchorby = "#3b"
3+
DDC_setlevelrotate = "#4e"

dumbdisplay/ddlayer_multilevel.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from dumbdisplay.ddcmds import DDC_setlevelanchor, DDC_movelevelanchorby
1+
from dumbdisplay.ddcmds import DDC_setlevelanchor, DDC_movelevelanchorby, DDC_setlevelrotate
22
from dumbdisplay.ddimpl import DumbDisplayImpl
33
from dumbdisplay.ddlayer import DDLayer, _DD_BOOL_ARG, _DD_FLOAT_ARG, _DD_INT_ARG, _DD_FLOAT_IS_ZERO
44

@@ -85,7 +85,14 @@ def moveLevelAnchorBy(self, by_x: float, by_y: float, reach_in_millis: int = 0):
8585
if reach_in_millis > 0:
8686
self.dd._sendCommand(self.layer_id, DDC_movelevelanchorby, _DD_FLOAT_ARG(by_x), _DD_FLOAT_ARG(by_y), _DD_INT_ARG(reach_in_millis));
8787
else:
88-
self.dd._sendCommand(self.layer_id, DDC_movelevelanchorby, _DD_FLOAT_ARG(by_x), _DD_FLOAT_ARG(by_y));
88+
self.dd._sendCommand(self.layer_id, DDC_movelevelanchorby, _DD_FLOAT_ARG(by_x), _DD_FLOAT_ARG(by_y))
89+
def setLevelRotation(self, angle: float, pivotX: float = 0, pivotY: float = 0):
90+
if pivotX == 0 and pivotY == 0:
91+
self.dd._sendCommand(self.layer_id, DDC_setlevelrotate, _DD_FLOAT_ARG(angle))
92+
elif pivotY == 0:
93+
self.dd._sendCommand(self.layer_id, DDC_setlevelrotate, _DD_FLOAT_ARG(angle), _DD_FLOAT_ARG(pivotX))
94+
else:
95+
self.dd._sendCommand(self.layer_id, DDC_setlevelrotate, _DD_FLOAT_ARG(angle), _DD_FLOAT_ARG(pivotX), _DD_FLOAT_ARG(pivotY))
8996
def registerLevelBackground(self, background_id: str, background_image_name: str, draw_background_options: str = ""):
9097
"""
9198
register an image for setting as level's background

0 commit comments

Comments
 (0)