Skip to content

Commit

Permalink
Merge pull request #4758 from bubblobill/Aahh_Dark
Browse files Browse the repository at this point in the history
New dark theme with less flatness.
  • Loading branch information
cwisniew authored Apr 16, 2024
2 parents e351151 + e627383 commit 22461fb
Show file tree
Hide file tree
Showing 3 changed files with 353 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -461,6 +461,7 @@ public record ThemeDetails(
new ThemeDetails("Aah(Large Print)", AahLAF_LP.class, "Aah-LP.png", false),
new ThemeDetails("Aah(Small Print)", AahLAF_SP.class, "Aah-SP.png", false),
new ThemeDetails("Aah(Very Large Print)", AahLAF_VLP.class, "Aah-VLP.png", false),
new ThemeDetails("Aark", AarkLaF.class, "Aark.png", true),
};

/** The current theme being used. */
Expand Down
34 changes: 34 additions & 0 deletions src/main/java/net/rptools/maptool/client/ui/themes/AarkLaF.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*
* This software Copyright by the RPTools.net development team, and
* licensed under the Affero GPL Version 3 or, at your option, any later
* version.
*
* MapTool Source Code is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* You should have received a copy of the GNU Affero General Public
* License * along with this source Code. If not, please visit
* <http://www.gnu.org/licenses/> and specifically the Affero license
* text at <http://www.gnu.org/licenses/agpl.html>.
*/
package net.rptools.maptool.client.ui.themes;

import com.formdev.flatlaf.FlatDarkLaf;

public class AarkLaF extends FlatDarkLaf {
public static final String NAME = "Aark";

public static boolean setup() {
return setup(new AarkLaF());
}

public static void installLafInfo() {
installLafInfo(NAME, AarkLaF.class);
}

@Override
public String getName() {
return NAME;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,318 @@
@baseColour = #edead9
@col0 = shade(@baseColour,90%)
@col5 = changeLightness(@col50, 11%)
@col10 = changeLightness(@col50, 13%)
@col20 = changeLightness(@col50, 15%)
@col30 = changeLightness(@col50, 17%)
@col40 = changeLightness(@col50, 20%)
@col50 = changeLightness(saturate(mix(@col0, @col100, 90%), 20%, derived), 23%)
@col60 = changeLightness(@col50, 38%)
@col70 = changeLightness(@col50, 46%)
@col80 = changeLightness(@col50, 58%)
@col90 = changeLightness(@col50, 85%)
@col100= tint(@baseColour, 86%)

@blue = #2675bf
@red = #c42b1c
@yellow= #fcf2a7
@dkBlue= shade(@blue, 30%)
@dkRed= shade(@red, 30%)
@dkYellow= shade(@yellow, 40%)

@gradientEnd = mix(@col100,@col0,3%)
@gradientStart = mix(@col100,@col0,25%)

@gradientBorderEnd = lighten(@gradientStart, 40%)
@gradientBorderStart = lighten(@gradientEnd, 30%)

defaultFont = +1

*.foreground = @col90
*.background = @col10
*.disabledBackground = @col40
@componentBackground = @col10
*.inactiveBackground = @col50
Component.arrowType = "triangle"
TabbedPane.arrowType= "triangle"

Button.default.startBackground = @gradientStart
Button.default.endBackground = @gradientEnd
Button.default.startBorderColor = @gradientBorderStart
Button.default.endBorderColor = @gradientBorderEnd
Button.default.borderWidth = 1
Button.default.focusedBackground = @col20
Button.default.focusedForeground = @col90
Button.default.foreground = @col90
Button.default.hoverBackground = @col50
Button.default.hoverBorderColor = @yellow
Button.default.hoverForeground = @col90
Button.default.pressedBackground = @col10
Button.default.pressedForeground = @col90
Button.default.shadowColor = @col50
Button.default.disabledBackground= @col40

Button.background
Button.foreground = if($Button.background, contrast($Button.background, @col90, @col5), $Button.default.foreground)
Button.startBackground = if($Button.background, lighten($Button.background, 10%), $Button.default.startBackground)
Button.endBackground = if($Button.background, darken($Button.background, 5%), $Button.default.endBackground)
Button.borderWidth = $Button.default.borderWidth
Button.startBorderColor = $Button.default.startBorderColor
Button.endBorderColor = $Button.default.endBorderColor
Button.disabledBackground = if($Button.background, changeLightness(desaturate($Button.background,70%,relative),80%,autoInverse), $Button.default.pressedBackground)
Button.disabledForeground = if($Button.background, fadein(contrast($Button.disabledSelectedBackground, @col90, @col5),40%,derived), $Button.default.pressedForeground)
Button.focusedBackground = if($Button.background, lighten($Button.background, 8%), $Button.default.focusedBackground)
Button.focusedForeground = if($Button.background, contrast($Button.focusedBackground, @col90, @col5), $Button.default.focusedForeground)
Button.hoverBorderColor = $Button.default.hoverBorderColor
Button.hoverBackground = if($Button.background, darken($Button.background, 4%), $Button.default.hoverBackground)
Button.hoverForeground = if($Button.background, contrast($Button.hoverBackground, @col90, @col5), $Button.default.hoverForeground)
Button.pressedBackground = if($Button.background, darken($Button.background, 12%), $Button.default.pressedBackground)
Button.pressedForeground = if($Button.background, contrast($Button.pressedBackground, @col90, @col5), $Button.default.pressedForeground)
Button.selectedBackground = if($Button.background, lighten($Button.background, 4%), lighten($Button.default.pressedBackground, 14%))
Button.selectedForeground = if($Button.background, contrast($Button.selectedBackground, @col90, @col5), $Button.default.pressedForeground)
Button.disabledSelectedBackground = if($Button.background, lighten($Button.background, 4%), $Button.default.pressedBackground)
Button.disabledSelectedForeground = if($Button.background, contrast($Button.disabledSelectedBackground, @col90, @col5), $Button.default.pressedForeground)
Button.shadowColor = $Button.default.shadowColor
Button.minimumWidth = 30
Button.paintShadow = true
Button.shadowWidth = 2

ToggleButton.foreground = $Button.foreground
ToggleButton.startBackground = $Button.startBackground
ToggleButton.endBackground = $Button.endBackground
ToggleButton.borderWidth = $Button.borderWidth
ToggleButton.startBorderColor = $Button.startBorderColor
ToggleButton.endBorderColor = $Button.endBorderColor
ToggleButton.disabledBackground = $Button.disabledBackground
ToggleButton.disabledForeground = $Button.disabledForeground
ToggleButton.focusedBackground = $Button.focusedBackground
ToggleButton.focusedForeground = $Button.focusedForeground
ToggleButton.hoverBorderColor = $Button.hoverBorderColor
ToggleButton.hoverBackground = $Button.hoverBackground
ToggleButton.hoverForeground = $Button.hoverForeground
ToggleButton.pressedBackground = $Button.pressedBackground
ToggleButton.pressedForeground = $Button.pressedForeground
ToggleButton.selectedBackground = $Button.selectedBackground
ToggleButton.selectedForeground = $Button.selectedForeground
ToggleButton.disabledSelectedBackground = $Button.disabledSelectedBackground
ToggleButton.disabledSelectedForeground = $Button.disabledSelectedForeground


Button.toolbar.hoverForeground = $Button.hoverForeground
Button.toolbar.hoverBackground = $Button.hoverBackground
Button.toolbar.pressedForeground = $Button.pressedForeground
Button.toolbar.pressedBackground = $Button.pressedBackground
Button.toolbar.selectedForeground = $Button.selectedForeground
Button.toolbar.selectedBackground = $Button.selectedBackground
Button.toolbar.disabledSelectedForeground = $Button.disabledSelectedForeground
Button.toolbar.disabledSelectedBackground = $Button.disabledSelectedBackground
ToggleButton.toolbar.hoverForeground = $Button.hoverForeground
ToggleButton.toolbar.hoverBackground = $Button.hoverBackground
ToggleButton.toolbar.pressedForeground = $Button.pressedForeground
ToggleButton.toolbar.pressedBackground = $Button.pressedBackground
ToggleButton.toolbar.selectedForeground = $Button.selectedForeground
ToggleButton.toolbar.selectedBackground = $Button.selectedBackground
ToggleButton.toolbar.disabledSelectedForeground = $Button.disabledSelectedForeground
ToggleButton.toolbar.disabledSelectedBackground = $Button.disabledSelectedBackground

Button.toolbar.margin = 3,3,3,3
Button.toolbar.spacingInsets = 1,2,1,0

CheckBox.icon.background = @col20
CheckBox.icon.checkmarkColor = @col100
CheckBox.icon.focusedBackground = @col40
CheckBox.icon.focusedBorderColor = @yellow
CheckBox.icon.focusColor = @yellow
CheckBox.icon.selectedBackground = @col0
CheckBox.icon.hoverBorderColor = @col90
CheckBox.icon.pressedBorderColor = @col90
CheckBox.icon.disabledBackground = @col40
CheckBox.icon.focusedSelectedBackground = @col20
CheckBox.icon.focusedSelectedBorderColor = @blue

CheckBox.icon.borderWidth = 0.6
CheckBox.icon.borderColor = @col80
RadioButton.icon.centerDiameter = 8

ColorChooser.swatchesSwatchSize = 18,18

Component.arc = 9
Component.borderColor = mix(@gradientBorderStart, @gradientBorderEnd, 70%)
Component.borderWidth = 1
Component.focusWidth = 1
Component.focusedBorderColor = mix(@gradientBorderStart, @gradientBorderEnd, 80%)
Component.innerFocusWidth = 0
Component.titleBarCaption = true
Component.innerOutlineWidth = 4.7

HelpButton.innerFocusWidth = 1
HelpButton.questionMarkColor = @col100
HelpButton.borderColor = $HelpButton.questionMarkColor
HelpButton.borderWidth = 3.8
HelpButton.background = @blue
HelpButton.focusedBorderColor = $HelpButton.hoverBackground
HelpButton.focusedBackground = $HelpButton.background
HelpButton.disabledQuestionMarkColor = @col60
HelpButton.disabledBackground = @col10
HelpButton.hoverBackground = darken(@blue, 15%)
HelpButton.hoverBorderColor = @col80
HelpButton.pressedBackground = @col30

InternalFrame.activeTitleBackground = @col60
InternalFrame.activeTitleForeground = @col10
InternalFrame.inactiveTitleBackground = @col30
InternalFrame.inactiveTitleForeground = @col80
InternalFrame.inactiveBorderColor = $InternalFrame.inactiveTitleBackground
InternalFrame.buttonHoverBackground = lighten($InternalFrame.activeTitleBackground,10%,derived)
InternalFrame.buttonPressedBackground = lighten($InternalFrame.activeTitleForeground,40%,derived)
InternalFrame.closeHoverBackground = @red
InternalFrame.closeHoverForeground = @col10
InternalFrame.activeBorderColor = $InternalFrame.activeTitleBackground

Menu.acceleratorForeground = @yellow
Menu.acceleratorSelectionForeground = @col100
Menu.background = @col10
#Menu.border = 1,2,1,4, @yellow, 0.5, 4
Menu.borderPainted = false
Menu.disabledForeground = @col80
Menu.foreground = @col90
Menu.icon.arrowColor = @yellow
Menu.icon.disabledArrowColor = fadein($Menu.icon.arrowColor,20%,derived)
Menu.selectionBackground = @blue
Menu.selectionForeground = @col90
Menu.opaque = true
Menu.margin = 2,4,2,2

MenuItem.foreground = $Menu.foreground
MenuItem.disabledForeground = $Menu.disabledForeground
MenuItem.background = $Menu.background
MenuItem.selectionForeground = $Menu.selectionForeground
MenuItem.selectionBackground = $Menu.selectionBackground
MenuItem.acceleratorForeground = $Menu.acceleratorForeground
MenuItem.acceleratorSelectionForeground = $Menu.acceleratorSelectionForeground
MenuItem.checkBackground = @red
MenuItem.underlineSelectionColor = @red
MenuItem.underlineSelectionBackground = @dkBlue
MenuItem.underlineSelectionCheckBackground = @yellow
MenuItem.underlineSelectionHeight = 4
MenuItem.minimumIconSize = 14,14
MenuItem.checkMargins = 1,2,1,3
#MenuItem.selectionType = underline
MenuItem.opaque = $Menu.opaque
#MenuItem.border = 1,2,1,2, @col80, 0.4, 2

CheckBoxMenuItem.foreground = $Menu.foreground
CheckBoxMenuItem.disabledForeground = $Menu.disabledForeground
CheckBoxMenuItem.background = $Menu.background
CheckBoxMenuItem.selectionForeground = $Menu.selectionForeground
CheckBoxMenuItem.selectionBackground = $Menu.selectionBackground
CheckBoxMenuItem.acceleratorForeground = $Menu.acceleratorForeground
CheckBoxMenuItem.acceleratorSelectionForeground = $Menu.acceleratorSelectionForeground
CheckBoxMenuItem.icon.checkmarkColor = $Menu.icon.arrowColor
CheckBoxMenuItem.icon.disabledCheckmarkColor = $Menu.icon.disabledArrowColor
CheckBoxMenuItem.opaque = $Menu.opaque

RadioButtonMenuItem.foreground = $Menu.foreground
RadioButtonMenuItem.disabledForeground = $Menu.disabledForeground
RadioButtonMenuItem.background = $Menu.background
RadioButtonMenuItem.selectionForeground = $Menu.selectionForeground
RadioButtonMenuItem.selectionBackground = $Menu.selectionBackground
RadioButtonMenuItem.acceleratorForeground = $Menu.acceleratorForeground
RadioButtonMenuItem.acceleratorSelectionForeground = $Menu.acceleratorSelectionForeground
RadioButtonMenuItem.opaque = $Menu.opaque

MenuBar.selectionArc = 9
MenuBar.background = $Menu.background
MenuBar.foreground = $Menu.foreground
#MenuBar.border = $Menu.border
#MenuBar.borderColor = @yellow
MenuBar.underlineSelectionColor = @col0
MenuBar.underlineSelectionHeight = 1

PopupMenuSeparator.height = 7
PopupMenu.background = $Menu.background
PopupMenuSeparator.stripeWidth = 1

Panel.background = @col30

ProgressBar.arc = 3
ProgressBar.background = @dkYellow
ProgressBar.foreground = @dkBlue
ProgressBar.selectionForeground = @yellow
ProgressBar.selectionBackground = @col0
ProgressBar.border = 1,1,1,1,@col0,1,12

ScrollBar.background = @col0
ScrollBar.showButtons = true
ScrollBar.thumb = @col60
ScrollBar.thumbArc = 7
ScrollBar.thumbInsets = 2,2,1,1
ScrollBar.track = @col40
ScrollBar.trackArc = 999
ScrollBar.trackInsets = 2, 6, 2, 6
ScrollBar.width = 15
ScrollBar.buttonArrowColor = @col60
ScrollBar.buttonDisabledArrowColor = fadein(@col90,40%,derived)
ScrollBar.hoverButtonBackground = @col90
ScrollBar.minimumButtonSize = 10, 10

Slider.focusWidth = 1
Slider.focusedColor = @col40
Slider.focusedThumbBorderColor = @col0
Slider.thumbBorderWidth = 2
Slider.thumbBorderColor = @col80
Slider.thumbColor = @col60
Slider.thumbArc = 5
Slider.thumbInsets = 2, 2, 2, 2
Slider.thumbSize = 14,14
Slider.tickColor = @col90
Slider.trackArc = 99
Slider.trackColor = @col30
Slider.trackInsets = 2, 4, 2, 4
Slider.trackValueColor = $Slider.thumbColor
Slider.trackWidth = 5

Spinner.buttonSeparatorWidth = 1.2

SplitPane.dividerSize = 5
SplitPaneDivider.hoverColor = @red
SplitPaneDivider.gripDotCount = 8
SplitPaneDivider.gripColor = @col80
SplitPane.shadow = @blue
SplitPane.background = @col40

TabbedPane.background = @col20
TabbedPane.foreground = @col80
TabbedPane.inactiveUnderlineColor = @col30
TabbedPane.selectedBackground = @col5
TabbedPane.selectedForeground = @col90
TabbedPane.showTabSeparators = true
TabbedPane.tabSeparatorColor = @col50
TabbedPane.tabSeparatorsFullHeight= true
TabbedPane.underlineColor = @col50
TabbedPane.hoverColor = @col0

TextComponent.arc = 8

TitlePane.buttonSize = 16,14
TitlePane.iconSize = 15,15
TitlePane.iconMargins = 1,1,1,1
TitlePane.titleMargins = 1,4,1,2
TitlePane.menuBarTitleGap = 8

ToolBar.background = @col5
ToolBar.foreground = @col90
ToolBar.floatable = true
ToolBar.focusableButtons = true
ToolBar.gripColor = @col90
ToolBar.separatorWidth = 8
ToolBar.separatorColor = @col90

ToolTip.background = @col50
ToolTip.foreground = @col90
ToolTip.border = 3,3,5,3, @gradientBorderEnd, 1, 6

Tree.background = @col20
Tree.textBackground = @col10
Tree.textForeground = @col90

Window.style = small

0 comments on commit 22461fb

Please sign in to comment.