diff options
author | Bad Diode <bd@badd10de.dev> | 2023-05-29 16:44:50 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2023-05-29 16:44:50 +0200 |
commit | 3b5ee67114bf789c93db23b7a3611302dce7142e (patch) | |
tree | 32b5bbd2879b5ffeecd7df6e20c836f80f555c72 /src/renderer_m0.c | |
parent | ac17920096b18caa4cadec3fea347f9fc804baea (diff) | |
download | stepper-3b5ee67114bf789c93db23b7a3611302dce7142e.tar.gz stepper-3b5ee67114bf789c93db23b7a3611302dce7142e.zip |
Add initial theming support
Diffstat (limited to 'src/renderer_m0.c')
-rw-r--r-- | src/renderer_m0.c | 52 |
1 files changed, 43 insertions, 9 deletions
diff --git a/src/renderer_m0.c b/src/renderer_m0.c index eb19718..9373b73 100644 --- a/src/renderer_m0.c +++ b/src/renderer_m0.c | |||
@@ -782,6 +782,48 @@ txt_drawc_small(char c, size_t x, size_t y, u8 clr) { | |||
782 | // Initialization. | 782 | // Initialization. |
783 | // | 783 | // |
784 | 784 | ||
785 | Palette themes[] = { | ||
786 | { | ||
787 | COLOR_BLACK, // BG | ||
788 | COLOR_WHITE, // FG | ||
789 | COLOR_BLUE, // ACC_0 | ||
790 | COLOR_RED, // ACC_1 | ||
791 | COLOR_CYAN, // ACC_2 | ||
792 | COLOR_GREY, // COL_OFF | ||
793 | }, | ||
794 | { | ||
795 | RGB15(31, 31, 31), // BG | ||
796 | RGB15( 8, 8, 8), // FG | ||
797 | RGB15( 2, 17, 31), // ACC_0 | ||
798 | RGB15(31, 0, 10), // ACC_1 | ||
799 | RGB15( 0, 27, 30), // ACC_2 | ||
800 | RGB15(16, 17, 19), // COL_OFF | ||
801 | }, | ||
802 | { | ||
803 | RGB15( 0, 0, 31), // BG | ||
804 | RGB15(31, 31, 31), // FG | ||
805 | RGB15( 0, 31, 14), // ACC_0 | ||
806 | RGB15(24, 7, 19), // ACC_1 | ||
807 | RGB15(31, 17, 27), // ACC_2 | ||
808 | RGB15(22, 22, 31), // COL_OFF | ||
809 | }, | ||
810 | { | ||
811 | RGB15(11, 24, 31), // BG | ||
812 | RGB15(31, 31, 31), // FG | ||
813 | RGB15(8, 17, 22), // COL_OFF | ||
814 | RGB15(29, 17, 22), // ACC_1 | ||
815 | RGB15(29, 17, 22), // ACC_1 | ||
816 | RGB15(25, 27, 29), // COL_OFF | ||
817 | }, | ||
818 | }; | ||
819 | |||
820 | void | ||
821 | swap_palette(int idx) { | ||
822 | for (size_t i = 0; i < 16; i++) { | ||
823 | PAL_BUFFER_BG[i] = themes[idx][i]; | ||
824 | } | ||
825 | } | ||
826 | |||
785 | void | 827 | void |
786 | renderer_init(void) { | 828 | renderer_init(void) { |
787 | // Initialize display mode and bg palette. | 829 | // Initialize display mode and bg palette. |
@@ -815,15 +857,7 @@ renderer_init(void) { | |||
815 | BG_H_SCROLL_1 = -240; | 857 | BG_H_SCROLL_1 = -240; |
816 | 858 | ||
817 | // Initialize default palette. | 859 | // Initialize default palette. |
818 | PAL_BUFFER_BG[0] = COLOR_BLACK; | 860 | swap_palette(0); |
819 | PAL_BUFFER_BG[1] = COLOR_WHITE; | ||
820 | PAL_BUFFER_BG[2] = COLOR_RED; | ||
821 | PAL_BUFFER_BG[3] = COLOR_BLUE; | ||
822 | PAL_BUFFER_BG[4] = COLOR_CYAN; | ||
823 | PAL_BUFFER_BG[5] = COLOR_GREY; | ||
824 | PAL_BUFFER_BG[6] = COLOR_WHITE; | ||
825 | PAL_BUFFER_BG[7] = COLOR_GREEN; | ||
826 | PAL_BUFFER_BG[8] = COLOR_PURPLE; | ||
827 | 861 | ||
828 | // Initialize text engine. | 862 | // Initialize text engine. |
829 | txt_init(txt_drawc); | 863 | txt_init(txt_drawc); |