mirror of
https://github.com/slint-ui/slint.git
synced 2025-10-31 20:08:35 +00:00
Although std-widgets provides many properties that adapt to the current theme users who would like to go beyond these properties and do theme dependent changes are limited. One option would be to add even more properties to the Palette, however this would potentially bloat the object, it's not obvious what properties users care about and this approach doesn't scale. In many cases developers could simply create their own properties if they knew what the current runtime theme was. This simple change allows an app to know what the current theme is and present theme appropriate UI's.
38 lines
2.2 KiB
Text
38 lines
2.2 KiB
Text
// Copyright © SixtyFPS GmbH <info@slint.dev>
|
|
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
|
|
|
|
export { Button } from "button.slint";
|
|
export { ScrollView } from "scrollview.slint";
|
|
export { ListItem } from "components.slint";
|
|
export { LineEdit } from "lineedit.slint";
|
|
import { CupertinoPalette } from "styling.slint";
|
|
export { MenuBarItem, MenuBar, MenuFrame, MenuItem } from "menu.slint";
|
|
|
|
export global StyleMetrics {
|
|
out property <length> layout-spacing: 10px;
|
|
out property <length> layout-padding: 12px;
|
|
out property <length> text-cursor-width: 1px;
|
|
out property <color> window-background: CupertinoPalette.background;
|
|
out property <color> default-text-color: CupertinoPalette.foreground;
|
|
out property <color> textedit-background: CupertinoPalette.alternate-background;
|
|
out property <color> textedit-text-color: CupertinoPalette.foreground;
|
|
out property <color> textedit-background-disabled: CupertinoPalette.tertiary-control-background;
|
|
out property <color> textedit-text-color-disabled: CupertinoPalette.foreground-secondary;
|
|
out property <bool> dark-color-scheme: Palette.color-scheme == ColorScheme.dark;
|
|
}
|
|
|
|
export global Palette {
|
|
out property <string> style-name: "cupertino";
|
|
out property <brush> background: CupertinoPalette.background;
|
|
out property <brush> foreground: CupertinoPalette.foreground;
|
|
out property <brush> alternate-background: CupertinoPalette.alternate-background;
|
|
out property <brush> alternate-foreground: CupertinoPalette.alternate-foreground;
|
|
out property <brush> control-background: CupertinoPalette.control-background;
|
|
out property <brush> control-foreground: CupertinoPalette.control-foreground;
|
|
out property <brush> accent-background: CupertinoPalette.accent-background;
|
|
out property <brush> accent-foreground: CupertinoPalette.accent-foreground;
|
|
out property <brush> selection-background: CupertinoPalette.selection-background;
|
|
out property <brush> selection-foreground: CupertinoPalette.selection-foreground;
|
|
out property <brush> border: CupertinoPalette.border;
|
|
in-out property <ColorScheme> color-scheme <=> CupertinoPalette.color-scheme;
|
|
}
|