solitare/CardModel.qml

30 lines
822 B
QML
Raw Normal View History

2024-12-01 18:43:49 +00:00
import Solitare
2024-12-01 00:01:37 +00:00
import QtQuick
Item {
2024-12-01 18:43:49 +00:00
id: cardModel
width: 80
2024-12-01 00:01:37 +00:00
height: width * 1.4 // Maintian the aspect ratio of a playing card
2024-12-01 18:43:49 +00:00
required property PlayingCard card;
required property bool isFaceDown;
2024-12-01 18:43:49 +00:00
property string backStyle: "red"
2024-12-02 18:30:47 +00:00
signal clicked();
2024-12-01 18:43:49 +00:00
2024-12-01 00:01:37 +00:00
Image {
id: cardImage
anchors.fill: parent
source: cardModel.isFaceDown
2024-12-01 18:43:49 +00:00
? "qrc:/img/playing_cards/backs/" + cardModel.backStyle + ".svg"
: cardModel.card
? "qrc:/img/playing_cards/fronts/" + cardModel.card.suitString + "_" + cardModel.card.valueString + ".svg"
: "qrc:/img/playing_cards/backs/blue.svg"
2024-12-01 00:01:37 +00:00
fillMode: Image.PreserveAspectFit
2024-12-02 18:30:47 +00:00
MouseArea {
anchors.fill: parent
onClicked: cardModel.clicked()
}
2024-12-01 00:01:37 +00:00
}
}