Files
Gruppe-02-clone/Projekte/jme-common/src/main/resources/Interface/Lemur/pp-styles.groovy
Johannes Schmelz 465aef567e Gui
2024-11-18 03:50:54 +00:00

107 lines
3.7 KiB
Groovy

// Styling of Lemur components
// For documentation, see:
// https://github.com/jMonkeyEngine-Contributions/Lemur/wiki/Styling
import com.simsilica.lemur.*
import com.simsilica.lemur.component.QuadBackgroundComponent
def bgColor = color(1, 1, 1, 1)
def buttonEnabledColor = color(0.8, 0.9, 1, 1)
def buttonDisabledColor = color(0.8, 0.9, 1, 0.2)
//def buttonBgColor = color(0, 0.75, 0.75, 1)
def sliderColor = color(0.6, 0.8, 0.8, 1)
def sliderBgColor = color(0.5, 0.75, 0.75, 1)
def gradientColor = color(1, 1, 1, 1)
def tabbuttonEnabledColor = color(0.4, 0.45, 0.5, 1)
def playButtonBorderColor = color(1, 0.6, 0, 1) // For "Spielen" button
def blackColor = color(0, 0, 0, 1) // Define black color for border
def playButtonBorderColor = color(1, 0.6, 0, 1) // Orange border for "Spielen" button
def playButtonTextColor = color(0, 0, 0, 1) // Black text color for "Spielen" button
def buttonBgColor = color(1, 1, 1, 1) // White background for "Spiel beenden" and "Einstellungen" buttons
def buttonTextColor = color(0, 0, 0, 1) // Black text color for "Spiel beenden" and "Einstellungen" buttons
def borderColor = color(0, 0, 0, 1) // Black border for "Spiel beenden" and "Einstellungen"
def gradient = TbtQuadBackgroundComponent.create(
texture(name: "/com/simsilica/lemur/icons/bordered-gradient.png", generateMips: false),
1, 1, 1, 126, 126, 1f, false)
def doubleGradient = new QuadBackgroundComponent(gradientColor)
doubleGradient.texture = texture(name: "/com/simsilica/lemur/icons/double-gradient-128.png", generateMips: false)
// Hauptstil für die Schriftart
selector("pp") {
font = font("Interface/Fonts/Metropolis/Metropolis-Regular-32.fnt")
}
// Titel für "Einstellungen"
selector("settings-title", "pp") {
color = color(1, 1, 1, 1)
fontSize = 48
textHAlignment = HAlignment.Center
insets = new Insets3f(5, 5, 5, 5)
}
// Container Stil
selector("container", "pp") {
background = gradient.clone()
background.setColor(bgColor)
}
// Slider Stil
selector("slider", "pp") {
insets = new Insets3f(5, 10, 5, 10) // Abstand
background = new QuadBackgroundComponent(sliderBgColor)
}
selector("play-button", "pp") {
color = playButtonTextColor // Black text color
background = new QuadBackgroundComponent(playButtonBorderColor) // Orange border background
insets = new Insets3f(15, 25, 15, 25) // Padding for larger button size
background.setMargin(5, 5) // Thin border effect around the background color
fontSize = 36 // Larger font size for prominence
}
selector("menu-button", "pp") {
color = buttonTextColor // Black text color
background = new QuadBackgroundComponent(buttonBgColor) // White background
insets = new Insets3f(10, 20, 10, 20) // Padding
background.setMargin(1, 1) // Thin black border
background.setColor(borderColor) // Set black border color
fontSize = 24 // Standard font size
}
def pressedCommand = new Command<Button>() {
void execute(Button source) {
if (source.isPressed())
source.move(1, -1, 0)
else
source.move(-1, 1, 0)
}
}
def enabledCommand = new Command<Button>() {
void execute(Button source) {
if (source.isEnabled())
source.setColor(buttonEnabledColor)
else
source.setColor(buttonDisabledColor)
}
}
def stdButtonCommands = [
(ButtonAction.Down) : [pressedCommand],
(ButtonAction.Up) : [pressedCommand],
(ButtonAction.Enabled) : [enabledCommand],
(ButtonAction.Disabled): [enabledCommand]
]
selector("button", "pp") {
background = gradient.clone()
color = buttonEnabledColor
insets = new Insets3f(2, 2, 2, 2)
buttonCommands = stdButtonCommands
}