mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-23 10:34:07 +00:00
(struct redisplay_interface): Add active_p argument to
draw_window_cursor member. All uses changed.
This commit is contained in:
parent
5c9cc435b8
commit
e5a3b7d969
@ -2258,13 +2258,15 @@ struct redisplay_interface
|
||||
void (*clear_frame_area) P_ ((struct frame *f, int x, int y,
|
||||
int width, int height));
|
||||
|
||||
/* Draw specified cursor NEW_CURSOR_TYPE of width NEW_CURSOR_WIDTH
|
||||
at row GLYPH_ROW on window W. */
|
||||
/* Draw specified cursor CURSOR_TYPE of width CURSOR_WIDTH
|
||||
at row GLYPH_ROW on window W if ON_P is 1. If ON_P is
|
||||
0, don't draw cursor. If ACTIVE_P is 1, system caret
|
||||
should track this cursor (when applicable). */
|
||||
void (*draw_window_cursor) P_ ((struct window *w,
|
||||
struct glyph_row *glyph_row,
|
||||
int on, int x, int y,
|
||||
int new_cursor_type,
|
||||
int new_cursor_width));
|
||||
int x, int y,
|
||||
int cursor_type, int cursor_width,
|
||||
int on_p, int active_p));
|
||||
|
||||
/* Draw vertical border for window W from (X,Y0) to (X,Y1). */
|
||||
void (*draw_vertical_window_border) P_ ((struct window *w,
|
||||
|
@ -4648,19 +4648,20 @@ mac_clear_frame_area (f, x, y, width, height)
|
||||
/* RIF: Draw cursor on window W. */
|
||||
|
||||
static void
|
||||
mac_draw_window_cursor (w, glyph_row, on, x, y, new_cursor_type, new_cursor_width)
|
||||
mac_draw_window_cursor (w, glyph_row, x, y, cursor_type, cursor_width, on_p, active_p)
|
||||
struct window *w;
|
||||
struct glyph_row *glyph_row;
|
||||
int on, x, y;
|
||||
int new_cursor_type, new_cursor_width;
|
||||
int x, y;
|
||||
int cursor_type, cursor_width;
|
||||
int on_p, active_p;
|
||||
{
|
||||
if (on)
|
||||
if (on_p)
|
||||
{
|
||||
w->phys_cursor_type = new_cursor_type;
|
||||
w->phys_cursor_width = new_cursor_width;
|
||||
w->phys_cursor_type = cursor_type;
|
||||
w->phys_cursor_width = cursor_width;
|
||||
w->phys_cursor_on_p = 1;
|
||||
|
||||
switch (new_cursor_type)
|
||||
switch (cursor_type)
|
||||
{
|
||||
case HOLLOW_BOX_CURSOR:
|
||||
x_draw_hollow_cursor (w, glyph_row);
|
||||
@ -4673,7 +4674,7 @@ mac_draw_window_cursor (w, glyph_row, on, x, y, new_cursor_type, new_cursor_widt
|
||||
case HBAR_CURSOR:
|
||||
/* TODO. For now, just draw bar cursor. */
|
||||
case BAR_CURSOR:
|
||||
x_draw_bar_cursor (w, glyph_row, new_cursor_width);
|
||||
x_draw_bar_cursor (w, glyph_row, cursor_width);
|
||||
break;
|
||||
|
||||
case NO_CURSOR:
|
||||
|
@ -5160,13 +5160,14 @@ w32_clear_frame_area (f, x, y, width, height)
|
||||
/* RIF: Draw or clear cursor on window W. */
|
||||
|
||||
static void
|
||||
w32_draw_window_cursor (w, glyph_row, on, x, y, new_cursor_type, new_cursor_width)
|
||||
w32_draw_window_cursor (w, glyph_row, x, y, cursor_type, cursor_width, on_p, active_p)
|
||||
struct window *w;
|
||||
struct glyph_row *glyph_row;
|
||||
int on, x, y;
|
||||
int new_cursor_type, new_cursor_width;
|
||||
int x, y;
|
||||
int cursor_type, cursor_width;
|
||||
int on_p, active_p;
|
||||
{
|
||||
if (on)
|
||||
if (on_p)
|
||||
{
|
||||
/* If the user wants to use the system caret, make sure our own
|
||||
cursor remains invisible. */
|
||||
@ -5175,12 +5176,12 @@ w32_draw_window_cursor (w, glyph_row, on, x, y, new_cursor_type, new_cursor_widt
|
||||
if (w->phys_cursor_type != NO_CURSOR)
|
||||
erase_phys_cursor (w);
|
||||
|
||||
new_cursor_type = w->phys_cursor_type = NO_CURSOR;
|
||||
cursor_type = w->phys_cursor_type = NO_CURSOR;
|
||||
w->phys_cursor_width = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
w->phys_cursor_type = new_cursor_type;
|
||||
w->phys_cursor_type = cursor_type;
|
||||
}
|
||||
|
||||
w->phys_cursor_on_p = 1;
|
||||
@ -5188,7 +5189,7 @@ w32_draw_window_cursor (w, glyph_row, on, x, y, new_cursor_type, new_cursor_widt
|
||||
/* If this is the active cursor, we need to track it with the
|
||||
system caret, so third party software like screen magnifiers
|
||||
and speech synthesizers can follow the cursor. */
|
||||
if (active_cursor)
|
||||
if (active_p)
|
||||
{
|
||||
HWND hwnd = FRAME_W32_WINDOW (f);
|
||||
|
||||
@ -5210,7 +5211,7 @@ w32_draw_window_cursor (w, glyph_row, on, x, y, new_cursor_type, new_cursor_widt
|
||||
PostMessage (hwnd, WM_EMACS_TRACK_CARET, 0, 0);
|
||||
}
|
||||
|
||||
switch (new_cursor_type)
|
||||
switch (cursor_type)
|
||||
{
|
||||
case HOLLOW_BOX_CURSOR:
|
||||
x_draw_hollow_cursor (w, glyph_row);
|
||||
@ -5221,11 +5222,11 @@ w32_draw_window_cursor (w, glyph_row, on, x, y, new_cursor_type, new_cursor_widt
|
||||
break;
|
||||
|
||||
case BAR_CURSOR:
|
||||
x_draw_bar_cursor (w, glyph_row, new_cursor_width, BAR_CURSOR);
|
||||
x_draw_bar_cursor (w, glyph_row, cursor_width, BAR_CURSOR);
|
||||
break;
|
||||
|
||||
case HBAR_CURSOR:
|
||||
x_draw_bar_cursor (w, glyph_row, new_cursor_width, HBAR_CURSOR);
|
||||
x_draw_bar_cursor (w, glyph_row, cursor_width, HBAR_CURSOR);
|
||||
break;
|
||||
|
||||
case NO_CURSOR:
|
||||
|
17
src/xterm.c
17
src/xterm.c
@ -7500,20 +7500,21 @@ x_clear_frame_area (f, x, y, width, height)
|
||||
/* RIF: Draw cursor on window W. */
|
||||
|
||||
static void
|
||||
x_draw_window_cursor (w, glyph_row, on, x, y, new_cursor_type, new_cursor_width)
|
||||
x_draw_window_cursor (w, glyph_row, x, y, cursor_type, cursor_width, on_p, active_p)
|
||||
struct window *w;
|
||||
struct glyph_row *glyph_row;
|
||||
int on, x, y;
|
||||
int new_cursor_type, new_cursor_width;
|
||||
int x, y;
|
||||
int cursor_type, cursor_width;
|
||||
int on_p, active_p;
|
||||
{
|
||||
struct frame *f = XFRAME (WINDOW_FRAME (w));
|
||||
|
||||
if (on)
|
||||
if (on_p)
|
||||
{
|
||||
w->phys_cursor_type = new_cursor_type;
|
||||
w->phys_cursor_type = cursor_type;
|
||||
w->phys_cursor_on_p = 1;
|
||||
|
||||
switch (new_cursor_type)
|
||||
switch (cursor_type)
|
||||
{
|
||||
case HOLLOW_BOX_CURSOR:
|
||||
x_draw_hollow_cursor (w, glyph_row);
|
||||
@ -7524,11 +7525,11 @@ x_draw_window_cursor (w, glyph_row, on, x, y, new_cursor_type, new_cursor_width)
|
||||
break;
|
||||
|
||||
case BAR_CURSOR:
|
||||
x_draw_bar_cursor (w, glyph_row, new_cursor_width, BAR_CURSOR);
|
||||
x_draw_bar_cursor (w, glyph_row, cursor_width, BAR_CURSOR);
|
||||
break;
|
||||
|
||||
case HBAR_CURSOR:
|
||||
x_draw_bar_cursor (w, glyph_row, new_cursor_width, HBAR_CURSOR);
|
||||
x_draw_bar_cursor (w, glyph_row, cursor_width, HBAR_CURSOR);
|
||||
break;
|
||||
|
||||
case NO_CURSOR:
|
||||
|
Loading…
Reference in New Issue
Block a user