Skip to content

Commit b2bc197

Browse files
authored
HASPmota 'scale' and 'angle' for images (#24089)
1 parent 3cf2020 commit b2bc197

File tree

3 files changed

+269
-83
lines changed

3 files changed

+269
-83
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ All notable changes to this project will be documented in this file.
3131
- InfluxDb receives IPAddress as a value regression from v15.0.1.3 (#24031)
3232
- Scripter UDP and switch case (#24060)
3333
- TuyaMCU v1 soft lock when WIFI_SELECT / WIFI_RESET is initiated (#24063)
34+
- HASPmota `scale` and `angle` for images
3435

3536
### Removed
3637

lib/libesp32_lvgl/lv_haspmota/src/embedded/lv_haspmota.be

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1614,11 +1614,31 @@ class lvh_img : lvh_obj
16141614
end
16151615
def get_auto_size() end
16161616
def set_angle(v)
1617-
v = int(v)
1618-
self._lv_obj.set_angle(v)
1617+
# set center
1618+
self._lv_obj.set_style_transform_pivot_x(self._lv_obj.get_width() / 2, 0 #-lv.PART_MAIN | lv.STATE_DEFAULT-#)
1619+
self._lv_obj.set_style_transform_pivot_y(self._lv_obj.get_height() / 2, 0 #-lv.PART_MAIN | lv.STATE_DEFAULT-#)
1620+
# set angle via rotation
1621+
self._lv_obj.set_style_transform_rotation(int(v), 0 #-lv.PART_MAIN | lv.STATE_DEFAULT-#)
16191622
end
16201623
def get_angle()
1621-
return self._lv_obj.get_angle()
1624+
return self._lv_obj.get_style_transform_rotation(0 #-lv.PART_MAIN | lv.STATE_DEFAULT-#)
1625+
end
1626+
def set_scale(v)
1627+
# set center
1628+
self._lv_obj.set_style_transform_pivot_x(self._lv_obj.get_width() / 2, 0 #-lv.PART_MAIN | lv.STATE_DEFAULT-#)
1629+
self._lv_obj.set_style_transform_pivot_y(self._lv_obj.get_height() / 2, 0 #-lv.PART_MAIN | lv.STATE_DEFAULT-#)
1630+
# set angle via rotation
1631+
self._lv_obj.set_style_transform_scale(int(v), 0 #-lv.PART_MAIN | lv.STATE_DEFAULT-#)
1632+
end
1633+
def get_scale()
1634+
return (self._lv_obj.get_style_transform_scale_x(0 #-lv.PART_MAIN | lv.STATE_DEFAULT-#) +
1635+
self._lv_obj.get_style_transform_scale_y(0 #-lv.PART_MAIN | lv.STATE_DEFAULT-#)) / 2
1636+
end
1637+
def set_zoom(v)
1638+
self.set_scale(v)
1639+
end
1640+
def get_zoom()
1641+
return self.get_scale()
16221642
end
16231643
#- ------------------------------------------------------------#
16241644
# `src` virtual setter

0 commit comments

Comments
 (0)