design changes

coffee cup icon and default grey background instead of coffee
This commit is contained in:
Chris 2026-02-04 22:04:23 +01:00
parent 03da092d01
commit f3299c67fa
8 changed files with 48 additions and 3 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -3,7 +3,7 @@
#include "font.h"
static struct limine_framebuffer *g_fb = NULL;
static uint32_t g_bg_color = 0xFF6B4423; // Coffee color by default
static uint32_t g_bg_color = 0xFF696969; // Dark gray background
// Dirty rectangle tracking
static DirtyRect g_dirty = {0, 0, 0, 0, false};

View file

@ -66,6 +66,40 @@ void draw_button(int x, int y, int w, int h, const char *text, bool pressed) {
draw_string(tx, ty, text, COLOR_BLACK);
}
void draw_coffee_cup(int x, int y, int size) {
// Coffee cup icon - small retro style
int cup_w = size;
int cup_h = size - 2;
// Cup body (tan/cream color)
draw_rect(x + 1, y + 2, cup_w - 2, cup_h - 3, COLOR_LTGRAY);
// Cup outline
draw_rect(x + 1, y + 2, cup_w - 2, 1, COLOR_BLACK); // Top
draw_rect(x + 1, y + 2, 1, cup_h - 3, COLOR_BLACK); // Left
draw_rect(x + cup_w - 2, y + 2, 1, cup_h - 3, COLOR_BLACK); // Right
draw_rect(x + 1, y + cup_h - 1, cup_w - 2, 1, COLOR_BLACK); // Bottom
// Rounded bottom corners
draw_rect(x + 1, y + cup_h - 1, 1, 1, COLOR_LTGRAY);
draw_rect(x + cup_w - 2, y + cup_h - 1, 1, 1, COLOR_LTGRAY);
// Handle - much bigger (on the right side, pointing inward)
draw_rect(x + cup_w, y + 3, 2, 8, COLOR_BLACK);
draw_rect(x + cup_w - 2, y + 3, 2, 1, COLOR_BLACK);
draw_rect(x + cup_w - 2, y + 10, 2, 1, COLOR_BLACK);
// Coffee liquid inside - rainbow Apple logo stripes (blue, green, yellow, red, purple, blue)
int stripe_height = (cup_h - 5) / 6;
int coffee_y = y + 4;
draw_rect(x + 2, coffee_y, cup_w - 4, stripe_height, COLOR_APPLE_BLUE);
draw_rect(x + 2, coffee_y + stripe_height, cup_w - 4, stripe_height, COLOR_APPLE_GREEN);
draw_rect(x + 2, coffee_y + stripe_height * 2, cup_w - 4, stripe_height, COLOR_APPLE_YELLOW);
draw_rect(x + 2, coffee_y + stripe_height * 3, cup_w - 4, stripe_height, COLOR_APPLE_RED);
draw_rect(x + 2, coffee_y + stripe_height * 4, cup_w - 4, stripe_height, COLOR_APPLE_VIOLET);
draw_rect(x + 2, coffee_y + stripe_height * 5, cup_w - 4, stripe_height, COLOR_APPLE_BLUE);
}
void draw_icon(int x, int y, const char *label) {
// Simple "File" Icon
draw_rect(x + 10, y, 20, 25, COLOR_WHITE);
@ -261,8 +295,12 @@ void wm_paint(void) {
draw_rect(0, sh - 28, sw, 28, COLOR_GRAY);
draw_rect(0, sh - 28, sw, 2, COLOR_WHITE); // Top highlight
// 5. Start Button
draw_button(2, sh - 26, 60, 24, "BrewOS", start_menu_open);
// 5. Start Button with Coffee Cup Icon
draw_bevel_rect(2, sh - 26, 90, 24, start_menu_open);
// Draw coffee cup icon on the button
draw_coffee_cup(5, sh - 24, 20);
// Draw BrewOS text with extra spacing on the left
draw_string(35, sh - 18, "BrewOS", COLOR_BLACK);
// Clock
draw_clock(sw - 80, sh - 20);

View file

@ -14,6 +14,13 @@
#define COLOR_DKGRAY 0xFF808080
#define COLOR_RED 0xFFFF0000
#define COLOR_COFFEE 0xFF6B4423
#define COLOR_APPLE_RED 0xFFFF0000
#define COLOR_APPLE_ORANGE 0xFFFF7F00
#define COLOR_APPLE_YELLOW 0xFFFFFF00
#define COLOR_APPLE_GREEN 0xFF00FF00
#define COLOR_APPLE_BLUE 0xFF0000FF
#define COLOR_APPLE_INDIGO 0xFF4B0082
#define COLOR_APPLE_VIOLET 0xFF9400D3
typedef struct Window Window;
struct Window {