Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import QtQuick 2.12
- import QtQuick3D 1.0
- Model {
- id:panel
- property Item panelContents
- property real ppm: 250
- property int margin: 0
- property int marginTop: margin
- property int marginBottom: margin
- property int marginLeft: margin
- property int marginRight: margin
- onMarginTopChanged: panelContents.y = -marginTop
- onMarginLeftChanged: panelContents.x = -marginLeft
- property size physicalDimensions: Qt.size(0.4, 0.4)
- property size pixelDimensions: Qt.size(100, 100)
- function setPhysicalDimensions(size) {
- physicalDimensions = size;
- pixelDimensions.x = size.x*ppm;
- pixelDimensions.y = size.y*ppm;
- }
- function setPixelDimensions(size) {
- pixelDimensions = size;
- physicalDimensions.x = size.x/ppm;
- physicalDimensions.y = size.y/ppm;
- }
- panelContents.onWidthChanged: pixelDimensions.x = panelContents.width
- panelContents.onHeightChanged: pixelDimensions.x = panelContents.height
- property size croppedDimensions: Qt.size(dimensions.width-marginLeft-marginRight, dimensions.height-marginTop-marginBottom)
- source: "#Rect"
- scale: Qt.vector3d(croppedDimensions.width/ppm, croppedDimensions.height/ppm, 1)
- materials: DefaultMaterial {
- lighting: DefaultMaterial.NoLighting
- diffuseMap: Texture {
- sourceItem: panelContents
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement