summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/goban/display.c29
1 files changed, 12 insertions, 17 deletions
diff --git a/apps/plugins/goban/display.c b/apps/plugins/goban/display.c
index 8c18039759..64b3adebb4 100644
--- a/apps/plugins/goban/display.c
+++ b/apps/plugins/goban/display.c
@@ -938,14 +938,15 @@ draw_stone_raw (int pixel_x, int pixel_y, bool black)
938#if LCD_DEPTH > 1 938#if LCD_DEPTH > 1
939 rb->lcd_set_foreground (black ? BLACK_COLOR : WHITE_COLOR); 939 rb->lcd_set_foreground (black ? BLACK_COLOR : WHITE_COLOR);
940#else 940#else
941 if (black) 941 int draw_mode;
942 { 942/* check whether foreground is bright or dark */
943 rb->lcd_set_drawmode (DRMODE_SOLID); 943#if defined(HAVE_NEGATIVE_LCD)
944 } 944 draw_mode = DRMODE_SOLID | (black ? DRMODE_INVERSEVID : 0);
945 else 945#else
946 { 946 draw_mode = DRMODE_SOLID | (black ? 0 : DRMODE_INVERSEVID);
947 rb->lcd_set_drawmode (DRMODE_SOLID + DRMODE_INVERSEVID); 947#endif /* HAVE_NEGATIVE_LCD */
948 } 948
949 rb->lcd_set_drawmode (draw_mode);
949#endif 950#endif
950 951
951 draw_circle (pixel_x + LINE_OFFSET, 952 draw_circle (pixel_x + LINE_OFFSET,
@@ -955,17 +956,11 @@ draw_stone_raw (int pixel_x, int pixel_y, bool black)
955#if LCD_DEPTH > 1 956#if LCD_DEPTH > 1
956 rb->lcd_set_foreground (black ? WHITE_COLOR : BLACK_COLOR); 957 rb->lcd_set_foreground (black ? WHITE_COLOR : BLACK_COLOR);
957#else 958#else
958 if (black) 959 rb->lcd_set_drawmode (draw_mode ^ DRMODE_INVERSEVID);
959 {
960 rb->lcd_set_drawmode (DRMODE_SOLID + DRMODE_INVERSEVID);
961 }
962 else
963 {
964 rb->lcd_set_drawmode (DRMODE_SOLID);
965 }
966#endif /* LCD_DEPTH > 1 */ 960#endif /* LCD_DEPTH > 1 */
967 961
968 if (!black) 962 /* outline stones of background color only */
963 if (draw_mode & DRMODE_INVERSEVID)
969 { 964 {
970 draw_circle (pixel_x + LINE_OFFSET, 965 draw_circle (pixel_x + LINE_OFFSET,
971 pixel_y + LINE_OFFSET, LINE_OFFSET, false); 966 pixel_y + LINE_OFFSET, LINE_OFFSET, false);