469 |
static void XTframe_rehighlight P_ ((struct frame *)); |
static void XTframe_rehighlight P_ ((struct frame *)); |
470 |
static void x_frame_rehighlight P_ ((struct x_display_info *)); |
static void x_frame_rehighlight P_ ((struct x_display_info *)); |
471 |
static void x_draw_hollow_cursor P_ ((struct window *, struct glyph_row *)); |
static void x_draw_hollow_cursor P_ ((struct window *, struct glyph_row *)); |
472 |
static void x_draw_bar_cursor P_ ((struct window *, struct glyph_row *, int)); |
static void x_draw_bar_cursor P_ ((struct window *, struct glyph_row *, int, |
473 |
|
enum text_cursor_kinds)); |
474 |
static int x_intersect_rectangles P_ ((XRectangle *, XRectangle *, |
static int x_intersect_rectangles P_ ((XRectangle *, XRectangle *, |
475 |
XRectangle *)); |
XRectangle *)); |
476 |
static void expose_frame P_ ((struct frame *, int, int, int, int)); |
static void expose_frame P_ ((struct frame *, int, int, int, int)); |
11334 |
--gerd. */ |
--gerd. */ |
11335 |
|
|
11336 |
static void |
static void |
11337 |
x_draw_bar_cursor (w, row, width) |
x_draw_bar_cursor (w, row, width, kind) |
11338 |
struct window *w; |
struct window *w; |
11339 |
struct glyph_row *row; |
struct glyph_row *row; |
11340 |
int width; |
int width; |
11341 |
|
enum text_cursor_kinds kind; |
11342 |
{ |
{ |
11343 |
struct frame *f = XFRAME (w->frame); |
struct frame *f = XFRAME (w->frame); |
11344 |
struct glyph *cursor_glyph; |
struct glyph *cursor_glyph; |
11392 |
width = min (cursor_glyph->pixel_width, width); |
width = min (cursor_glyph->pixel_width, width); |
11393 |
|
|
11394 |
x_clip_to_row (w, row, gc, 0); |
x_clip_to_row (w, row, gc, 0); |
11395 |
XFillRectangle (dpy, window, gc, |
if (kind == BAR_CURSOR) |
11396 |
WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x), |
XFillRectangle (dpy, window, gc, |
11397 |
WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y), |
WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x), |
11398 |
width, row->height); |
WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y), |
11399 |
|
width, row->height); |
11400 |
|
else |
11401 |
|
XFillRectangle (dpy, window, gc, |
11402 |
|
WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x), |
11403 |
|
WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y + |
11404 |
|
row->height - width), |
11405 |
|
cursor_glyph->pixel_width, |
11406 |
|
width); |
11407 |
|
|
11408 |
XSetClipMask (dpy, gc, None); |
XSetClipMask (dpy, gc, None); |
11409 |
} |
} |
11410 |
} |
} |
11725 |
break; |
break; |
11726 |
|
|
11727 |
case BAR_CURSOR: |
case BAR_CURSOR: |
11728 |
x_draw_bar_cursor (w, glyph_row, new_cursor_width); |
x_draw_bar_cursor (w, glyph_row, new_cursor_width, BAR_CURSOR); |
11729 |
|
break; |
11730 |
|
|
11731 |
|
case HBAR_CURSOR: |
11732 |
|
x_draw_bar_cursor (w, glyph_row, new_cursor_width, HBAR_CURSOR); |
11733 |
break; |
break; |
11734 |
|
|
11735 |
case NO_CURSOR: |
case NO_CURSOR: |