Mercurial > emacs
comparison src/xterm.c @ 41741:c0edacaaaea8
(x_draw_fringe_bitmap): Always undo clipping.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Sat, 01 Dec 2001 12:56:47 +0000 |
parents | e0335ea68760 |
children | ff4fb83e4986 |
comparison
equal
deleted
inserted
replaced
41740:3d527568605a | 41741:c0edacaaaea8 |
---|---|
905 face = FACE_FROM_ID (f, FRINGE_FACE_ID); | 905 face = FACE_FROM_ID (f, FRINGE_FACE_ID); |
906 PREPARE_FACE_FOR_DISPLAY (f, face); | 906 PREPARE_FACE_FOR_DISPLAY (f, face); |
907 | 907 |
908 /* Clear left fringe if no bitmap to draw or if bitmap doesn't fill | 908 /* Clear left fringe if no bitmap to draw or if bitmap doesn't fill |
909 the fringe. */ | 909 the fringe. */ |
910 b1 = -1; | 910 b1 = b2 = -1; |
911 if (left_p) | 911 if (left_p) |
912 { | 912 { |
913 if (wd > FRAME_X_LEFT_FRINGE_WIDTH (f)) | 913 if (wd > FRAME_X_LEFT_FRINGE_WIDTH (f)) |
914 wd = FRAME_X_LEFT_FRINGE_WIDTH (f); | 914 wd = FRAME_X_LEFT_FRINGE_WIDTH (f); |
915 x = (WINDOW_TO_FRAME_PIXEL_X (w, 0) | 915 x = (WINDOW_TO_FRAME_PIXEL_X (w, 0) |
963 row->visible_height); | 963 row->visible_height); |
964 if (!face->stipple) | 964 if (!face->stipple) |
965 XSetForeground (display, face->gc, face->foreground); | 965 XSetForeground (display, face->gc, face->foreground); |
966 } | 966 } |
967 | 967 |
968 if (which == NO_FRINGE_BITMAP) | 968 if (which != NO_FRINGE_BITMAP) |
969 return; | 969 { |
970 | 970 /* Draw the bitmap. I believe these small pixmaps can be cached |
971 /* Draw the bitmap. I believe these small pixmaps can be cached | 971 by the server. */ |
972 by the server. */ | 972 pixmap = XCreatePixmapFromBitmapData (display, window, bits, wd, h, |
973 pixmap = XCreatePixmapFromBitmapData (display, window, bits, wd, h, | 973 face->foreground, |
974 face->foreground, | 974 face->background, depth); |
975 face->background, depth); | 975 XCopyArea (display, pixmap, window, gc, 0, 0, wd, h, x, y + dy); |
976 XCopyArea (display, pixmap, window, gc, 0, 0, wd, h, x, y + dy); | 976 XFreePixmap (display, pixmap); |
977 XFreePixmap (display, pixmap); | 977 } |
978 | |
978 XSetClipMask (display, gc, None); | 979 XSetClipMask (display, gc, None); |
979 } | 980 } |
980 | 981 |
981 | 982 |
982 /* Draw fringe bitmaps for glyph row ROW on window W. Call this | 983 /* Draw fringe bitmaps for glyph row ROW on window W. Call this |