|
1 | | -from dumbdisplay.ddcmds import DDC_setlevelanchor, DDC_movelevelanchorby |
| 1 | +from dumbdisplay.ddcmds import DDC_setlevelanchor, DDC_movelevelanchorby, DDC_setlevelrotate |
2 | 2 | from dumbdisplay.ddimpl import DumbDisplayImpl |
3 | 3 | from dumbdisplay.ddlayer import DDLayer, _DD_BOOL_ARG, _DD_FLOAT_ARG, _DD_INT_ARG, _DD_FLOAT_IS_ZERO |
4 | 4 |
|
@@ -85,7 +85,14 @@ def moveLevelAnchorBy(self, by_x: float, by_y: float, reach_in_millis: int = 0): |
85 | 85 | if reach_in_millis > 0: |
86 | 86 | self.dd._sendCommand(self.layer_id, DDC_movelevelanchorby, _DD_FLOAT_ARG(by_x), _DD_FLOAT_ARG(by_y), _DD_INT_ARG(reach_in_millis)); |
87 | 87 | 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)) |
89 | 96 | def registerLevelBackground(self, background_id: str, background_image_name: str, draw_background_options: str = ""): |
90 | 97 | """ |
91 | 98 | register an image for setting as level's background |
|
0 commit comments