This repository has been archived on 2023-08-08. You can view files and clone it, but cannot push or open issues or pull requests.
tomo-old/theme/button.go

69 lines
1.9 KiB
Go
Raw Normal View History

2023-01-17 14:38:57 -07:00
package theme
import "git.tebibyte.media/sashakoshka/tomo/artist"
2023-01-20 17:24:21 -07:00
var buttonPattern = artist.NewMultiBordered (
artist.Stroke { Weight: 1, Pattern: strokePattern },
artist.Stroke {
2023-01-17 14:38:57 -07:00
Weight: 1,
2023-01-20 21:00:26 -07:00
Pattern: artist.Beveled {
artist.NewUniform(hex(0xCCD5D2FF)),
artist.NewUniform(hex(0x4B5B59FF)),
2023-01-17 14:38:57 -07:00
},
},
artist.Stroke { Pattern: artist.NewUniform(hex(0x8D9894FF)) })
2023-01-20 17:24:21 -07:00
var selectedButtonPattern = artist.NewMultiBordered (
artist.Stroke { Weight: 1, Pattern: strokePattern },
artist.Stroke {
2023-01-17 14:38:57 -07:00
Weight: 1,
2023-01-20 21:00:26 -07:00
Pattern: artist.Beveled {
artist.NewUniform(hex(0xCCD5D2FF)),
artist.NewUniform(hex(0x4B5B59FF)),
2023-01-17 14:38:57 -07:00
},
},
artist.Stroke { Weight: 1, Pattern: accentPattern },
artist.Stroke { Pattern: artist.NewUniform(hex(0x8D9894FF)) })
2023-01-20 17:24:21 -07:00
var pressedButtonPattern = artist.NewMultiBordered (
artist.Stroke { Weight: 1, Pattern: strokePattern },
artist.Stroke {
2023-01-17 14:38:57 -07:00
Weight: 1,
2023-01-20 21:00:26 -07:00
Pattern: artist.Beveled {
artist.NewUniform(hex(0x4B5B59FF)),
artist.NewUniform(hex(0x8D9894FF)),
2023-01-17 14:38:57 -07:00
},
},
artist.Stroke { Pattern: artist.NewUniform(hex(0x8D9894FF)) })
2023-01-20 17:24:21 -07:00
var pressedSelectedButtonPattern = artist.NewMultiBordered (
artist.Stroke { Weight: 1, Pattern: strokePattern },
artist.Stroke {
2023-01-17 16:12:04 -07:00
Weight: 1,
2023-01-20 21:00:26 -07:00
Pattern: artist.Beveled {
artist.NewUniform(hex(0x4B5B59FF)),
artist.NewUniform(hex(0x8D9894FF)),
2023-01-17 16:12:04 -07:00
},
},
artist.Stroke { Pattern: artist.NewUniform(hex(0x8D9894FF)) })
2023-01-20 17:24:21 -07:00
var disabledButtonPattern = artist.NewMultiBordered (
artist.Stroke { Weight: 1, Pattern: weakForegroundPattern },
artist.Stroke { Pattern: backgroundPattern })
2023-01-17 14:38:57 -07:00
func ButtonPattern (enabled, selected, pressed bool) (artist.Pattern) {
if enabled {
if pressed {
2023-01-17 16:12:04 -07:00
if selected {
return pressedSelectedButtonPattern
} else {
return pressedButtonPattern
}
2023-01-17 14:38:57 -07:00
} else {
if selected {
return selectedButtonPattern
} else {
return buttonPattern
}
}
} else {
return disabledButtonPattern
}
}