mirror of
https://github.com/slint-ui/slint.git
synced 2025-08-04 02:39:28 +00:00
Polish of the rotation feature
- Add a check that this only Applies to Image element without children - Default the origin to the center of the Image - Add docs and test cc: #1481
This commit is contained in:
parent
09e685ef51
commit
6d12b276a9
7 changed files with 174 additions and 43 deletions
64
internal/compiler/tests/syntax/basic/rotation.slint
Normal file
64
internal/compiler/tests/syntax/basic/rotation.slint
Normal file
|
@ -0,0 +1,64 @@
|
|||
// Copyright © SixtyFPS GmbH <info@slint-ui.com>
|
||||
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-commercial
|
||||
|
||||
Ex1 := Rectangle {
|
||||
Rectangle {
|
||||
rotation-origin-x: width / 2;
|
||||
rotation-angle: 45deg;
|
||||
// ^error{rotation properties can only be applied to the Image element}
|
||||
rotation-origin-y: width / 2;
|
||||
}
|
||||
Rectangle {
|
||||
// ^error{rotation properties can only be applied to the Image element}
|
||||
rotation-origin-x: width / 2;
|
||||
rotation-origin-y: width / 2;
|
||||
}
|
||||
}
|
||||
|
||||
RotImg := Image {
|
||||
rotation-angle: 45deg;
|
||||
}
|
||||
|
||||
JustAnImage := Image {}
|
||||
|
||||
ImageWithChild := Image {
|
||||
Rectangle {}
|
||||
}
|
||||
|
||||
Ex2 := Rectangle {
|
||||
Image {
|
||||
// ^error{Elements with rotation properties cannot have children elements}
|
||||
rotation-angle: 45deg;
|
||||
Rectangle {}
|
||||
}
|
||||
RotImg {
|
||||
// ^error{Elements with rotation properties cannot have children elements}
|
||||
Rectangle {}
|
||||
}
|
||||
ImageWithChild {
|
||||
// ^error{Elements with rotation properties cannot have children elements}
|
||||
rotation-origin-x: 45px;
|
||||
}
|
||||
JustAnImage {
|
||||
// ^error{Elements with rotation properties cannot have children elements}
|
||||
rotation-angle: 45deg;
|
||||
Rectangle {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Ex3 := Rectangle {
|
||||
i1 := Image {
|
||||
// ^error{Elements with rotation properties cannot have children elements}
|
||||
Rectangle {}
|
||||
}
|
||||
i2 := Rectangle {}
|
||||
// ^error{rotation properties can only be applied to the Image element}
|
||||
|
||||
TouchArea {
|
||||
clicked => {
|
||||
i1.rotation-angle = 60deg;
|
||||
i2.rotation-origin-x = 10px;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue