aboutsummaryrefslogtreecommitdiffstats
path: root/src/gwin
diff options
context:
space:
mode:
Diffstat (limited to 'src/gwin')
-rw-r--r--src/gwin/button.c6
-rw-r--r--src/gwin/radio.c15
2 files changed, 13 insertions, 8 deletions
diff --git a/src/gwin/button.c b/src/gwin/button.c
index 59c7f689..f34e4ba3 100644
--- a/src/gwin/button.c
+++ b/src/gwin/button.c
@@ -25,6 +25,8 @@
#define RND_CNR_SIZE 5 // Rounded corner size for rounded buttons
#define ARROWHEAD_DIVIDER 4 // A quarter of the height for the arrow head
#define ARROWBODY_DIVIDER 4 // A quarter of the width for the arrow body
+#define TOP_FADE 50 // (TOP_FADE/255)% fade to white for top of button
+#define BOTTOM_FADE 25 // (BOTTOM_FADE/255)% fade to black for bottom of button
// Our pressed state
#define GBUTTON_FLG_PRESSED (GWIN_FIRST_CONTROL_FLAG<<0)
@@ -189,8 +191,8 @@ static const GColorSet *getDrawColors(GWidgetObject *gw) {
pcol = getDrawColors(gw);
/* Fill the box blended from variants of the fill color */
- tcol = gdispBlendColor(White, pcol->fill, 50);
- bcol = gdispBlendColor(Black, pcol->fill, 25);
+ tcol = gdispBlendColor(White, pcol->fill, TOP_FADE);
+ bcol = gdispBlendColor(Black, pcol->fill, BOTTOM_FADE);
dalpha = FIXED(255)/gw->g.height;
for(alpha = 0, i = 0; i < gw->g.height; i++, alpha += dalpha)
gdispGDrawLine(gw->g.display, gw->g.x, gw->g.y+i, gw->g.x+gw->g.width-2, gw->g.y+i, gdispBlendColor(bcol, tcol, NONFIXED(alpha)));
diff --git a/src/gwin/radio.c b/src/gwin/radio.c
index 882be503..8dc3ba6b 100644
--- a/src/gwin/radio.c
+++ b/src/gwin/radio.c
@@ -21,7 +21,10 @@
#include "src/gwin/class_gwin.h"
-#define GRADIO_TAB_CNR 3
+#define GRADIO_TAB_CNR 3 // Diagonal corner on active tab
+#define GRADIO_TOP_FADE 50 // (GRADIO_TOP_FADE/255)% fade to white for top of tab/button
+#define GRADIO_BOTTOM_FADE 25 // (GRADIO_BOTTOM_FADE/255)% fade to black for bottom of tab/button
+#define GRADIO_OUTLINE_FADE 128 // (GRADIO_OUTLINE_FADE/255)% fade to background for active tab edge
// Our pressed state
#define GRADIO_FLG_PRESSED (GWIN_FIRST_CONTROL_FLAG<<0)
@@ -238,8 +241,8 @@ void gwinRadioDraw_Radio(GWidgetObject *gw, void *param) {
pcol = getDrawColors(gw);
/* Fill the box blended from variants of the fill color */
- tcol = gdispBlendColor(White, pcol->fill, 50);
- bcol = gdispBlendColor(Black, pcol->fill, 25);
+ tcol = gdispBlendColor(White, pcol->fill, GRADIO_TOP_FADE);
+ bcol = gdispBlendColor(Black, pcol->fill, GRADIO_BOTTOM_FADE);
dalpha = FIXED(255)/gw->g.height;
for(alpha = 0, i = 0; i < gw->g.height; i++, alpha += dalpha)
gdispGDrawLine(gw->g.display, gw->g.x, gw->g.y+i, gw->g.x+gw->g.width-2, gw->g.y+i, gdispBlendColor(bcol, tcol, NONFIXED(alpha)));
@@ -260,15 +263,15 @@ void gwinRadioDraw_Radio(GWidgetObject *gw, void *param) {
pcol = getDrawColors(gw);
if ((gw->g.flags & GRADIO_FLG_PRESSED)) {
- tcol = gdispBlendColor(pcol->edge, gw->pstyle->background, 128);
+ tcol = gdispBlendColor(pcol->edge, gw->pstyle->background, GRADIO_OUTLINE_FADE);
gdispGFillStringBox(gw->g.display, gw->g.x, gw->g.y, gw->g.width, gw->g.height, gw->text, gw->g.font, pcol->text, gw->g.bgcolor, justifyCenter);
gdispGDrawLine(gw->g.display, gw->g.x, gw->g.y, gw->g.x+gw->g.width-(GRADIO_TAB_CNR+1), gw->g.y, tcol);
gdispGDrawLine(gw->g.display, gw->g.x+gw->g.width-(GRADIO_TAB_CNR+1), gw->g.y, gw->g.x+gw->g.width-1, gw->g.y+GRADIO_TAB_CNR, tcol);
gdispGDrawLine(gw->g.display, gw->g.x+gw->g.width-1, gw->g.y+GRADIO_TAB_CNR, gw->g.x+gw->g.width-1, gw->g.y+gw->g.height-1, tcol);
} else {
/* Fill the box blended from variants of the fill color */
- tcol = gdispBlendColor(White, pcol->fill, 50);
- bcol = gdispBlendColor(Black, pcol->fill, 25);
+ tcol = gdispBlendColor(White, pcol->fill, GRADIO_TOP_FADE);
+ bcol = gdispBlendColor(Black, pcol->fill, GRADIO_BOTTOM_FADE);
dalpha = FIXED(255)/gw->g.height;
for(alpha = 0, i = 0; i < gw->g.height; i++, alpha += dalpha)
gdispGDrawLine(gw->g.display, gw->g.x, gw->g.y+i, gw->g.x+gw->g.width-2, gw->g.y+i, gdispBlendColor(bcol, tcol, NONFIXED(alpha)));