r302 - trunk

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat May 26 15:46:32 EDT 2007


Author: icculus
Date: 2007-05-26 15:46:31 -0400 (Sat, 26 May 2007)
New Revision: 302

Modified:
   trunk/gui_ncurses.c
Log:
ncurses UI: better coloring for the buttons.


Modified: trunk/gui_ncurses.c
===================================================================
--- trunk/gui_ncurses.c	2007-05-21 01:07:38 UTC (rev 301)
+++ trunk/gui_ncurses.c	2007-05-26 19:46:31 UTC (rev 302)
@@ -46,6 +46,7 @@
     MOJOCOLOR_TEXT,
     MOJOCOLOR_BUTTONHOVER,
     MOJOCOLOR_BUTTONNORMAL,
+    MOJOCOLOR_BUTTONBORDER,
     MOJOCOLOR_TODO,
     MOJOCOLOR_DONE,
 } MojoColor;
@@ -159,23 +160,35 @@
 static void drawButton(MojoBox *mojobox, int button)
 {
     const boolean hover = (mojobox->hoverover == button);
+    int borderattr = 0;
     WINDOW *win = mojobox->buttons[button];
     const char *str = mojobox->buttontext[button];
     int w, h;
     getmaxyx(win, h, w);
 
-    if (hover)
+    if (!hover)
+        wbkgdset(win, COLOR_PAIR(MOJOCOLOR_BUTTONNORMAL));
+    else
+    {
+        borderattr = COLOR_PAIR(MOJOCOLOR_BUTTONBORDER) | A_BOLD;
         wbkgdset(win, COLOR_PAIR(MOJOCOLOR_BUTTONHOVER));
-    else
-        wbkgdset(win, COLOR_PAIR(MOJOCOLOR_BUTTONNORMAL));
+    } // else
 
     wclear(win);
     wmove(win, 0, 0);
-    waddch(win, '<');
+    waddch(win, borderattr | '<');
     wmove(win, 0, w-1);
-    waddch(win, '>');
+    waddch(win, borderattr | '>');
     wmove(win, 0, 2);
-    waddstr(win, str);
+
+    if (!hover)
+        waddstr(win, str);
+    else
+    {
+        wattron(win, COLOR_PAIR(MOJOCOLOR_BUTTONHOVER) | A_BOLD);
+        waddstr(win, str);
+        wattroff(win, COLOR_PAIR(MOJOCOLOR_BUTTONHOVER) | A_BOLD);
+    } // else
 } // drawButton
 
 
@@ -526,8 +539,9 @@
     init_pair(MOJOCOLOR_BORDERBOTTOM, COLOR_BLACK, COLOR_WHITE);
     init_pair(MOJOCOLOR_BORDERSHADOW, COLOR_BLACK, COLOR_BLACK);
     init_pair(MOJOCOLOR_TEXT, COLOR_BLACK, COLOR_WHITE);
-    init_pair(MOJOCOLOR_BUTTONHOVER, COLOR_WHITE, COLOR_BLUE);
+    init_pair(MOJOCOLOR_BUTTONHOVER, COLOR_YELLOW, COLOR_BLUE);
     init_pair(MOJOCOLOR_BUTTONNORMAL, COLOR_BLACK, COLOR_WHITE);
+    init_pair(MOJOCOLOR_BUTTONBORDER, COLOR_WHITE, COLOR_BLUE);
     init_pair(MOJOCOLOR_DONE, COLOR_YELLOW, COLOR_RED);
     init_pair(MOJOCOLOR_TODO, COLOR_CYAN, COLOR_BLUE);
 




More information about the mojosetup-commits mailing list