2024-12-01 00:01:37 +00:00
|
|
|
import QtQuick
|
|
|
|
|
|
|
|
Item {
|
|
|
|
id: playingCard
|
|
|
|
width: 100
|
|
|
|
height: width * 1.4 // Maintian the aspect ratio of a playing card
|
|
|
|
|
|
|
|
// Annoyingly, there is no easy way to make this type-safe, QML does have enums
|
|
|
|
// but they only act as ints, and since we need the string names for the img paths
|
|
|
|
// anyways, typing these as simple strings is the easiest way to do this.
|
|
|
|
required property string color
|
|
|
|
required property string value
|
2024-12-01 00:10:27 +00:00
|
|
|
property string backStyle: "red"
|
|
|
|
property bool isFaceDown: false
|
2024-12-01 00:01:37 +00:00
|
|
|
|
|
|
|
Image {
|
|
|
|
id: cardImage
|
|
|
|
anchors.fill: parent
|
2024-12-01 00:10:27 +00:00
|
|
|
source: playingCard.isFaceDown
|
|
|
|
? "qrc:/img/playing_cards/backs/" + playingCard.backStyle + ".svg"
|
|
|
|
: "qrc:/img/playing_cards/fronts/" + playingCard.color + "_" + playingCard.value + ".svg"
|
2024-12-01 00:01:37 +00:00
|
|
|
fillMode: Image.PreserveAspectFit
|
|
|
|
}
|
|
|
|
}
|