[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master ab5b2e63fa: Respect `x-cursor-fore-pixel' on Haiku
From: |
Po Lu |
Subject: |
master ab5b2e63fa: Respect `x-cursor-fore-pixel' on Haiku |
Date: |
Sun, 6 Feb 2022 22:13:20 -0500 (EST) |
branch: master
commit ab5b2e63fa0b966570cc505fa4a77d16cf3f45d6
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Respect `x-cursor-fore-pixel' on Haiku
* src/haikufns.c (haiku_set_cursor_color): Respect
`x-cursor-fore-pixel'.
(syms_of_haikufns): Declare variable `x-cursor-fore-pixel'.
---
src/haikufns.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/src/haikufns.c b/src/haikufns.c
index eb736f1153..8aad2cbd7f 100644
--- a/src/haikufns.c
+++ b/src/haikufns.c
@@ -1393,7 +1393,7 @@ haiku_set_cursor_color (struct frame *f, Lisp_Object arg,
Lisp_Object oldval)
CHECK_STRING (arg);
block_input ();
- Emacs_Color color;
+ Emacs_Color color, fore_pixel;
if (haiku_get_color (SSDATA (arg), &color))
{
@@ -1403,6 +1403,17 @@ haiku_set_cursor_color (struct frame *f, Lisp_Object
arg, Lisp_Object oldval)
}
FRAME_CURSOR_COLOR (f) = color;
+
+ if (STRINGP (Vx_cursor_fore_pixel))
+ {
+ if (haiku_get_color (SSDATA (Vx_cursor_fore_pixel),
+ &fore_pixel))
+ error ("Bad color %s", Vx_cursor_fore_pixel);
+ FRAME_OUTPUT_DATA (f)->cursor_fg = fore_pixel.pixel;
+ }
+ else
+ FRAME_OUTPUT_DATA (f)->cursor_fg = FRAME_BACKGROUND_PIXEL (f);
+
if (FRAME_VISIBLE_P (f))
{
gui_update_cursor (f, 0);
@@ -2685,6 +2696,10 @@ syms_of_haikufns (void)
doc: /* SKIP: real doc in xfns.c. */);
Vx_max_tooltip_size = Fcons (make_fixnum (80), make_fixnum (40));
+ DEFVAR_LISP ("x-cursor-fore-pixel", Vx_cursor_fore_pixel,
+ doc: /* SKIP: real doc in xfns.c. */);
+ Vx_cursor_fore_pixel = Qnil;
+
#ifdef USE_BE_CAIRO
DEFVAR_LISP ("cairo-version-string", Vcairo_version_string,
doc: /* Version info for cairo. */);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master ab5b2e63fa: Respect `x-cursor-fore-pixel' on Haiku,
Po Lu <=