484
+ ��膩��� 1 /* Bitmaps and things for scrollbars.
+ ��膩��� 2 Copyright (C) 1989 Free Software Foundation.
+ ��膩��� 3
+ ��膩��� 4 This file is part of GNU Emacs.
+ ��膩��� 5
+ ��膩��� 6 GNU Emacs is free software; you can redistribute it and/or modify
+ ��膩��� 7 it under the terms of the GNU General Public License as published by
+ ��膩��� 8 the Free Software Foundation; either version 1, or (at your option)
+ ��膩��� 9 any later version.
+ ��膩��� 10
+ ��膩��� 11 GNU Emacs is distributed in the hope that it will be useful,
+ ��膩��� 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ��膩��� 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ ��膩��� 14 GNU General Public License for more details.
+ ��膩��� 15
+ ��膩��� 16 You should have received a copy of the GNU General Public License
+ ��膩��� 17 along with GNU Emacs; see the file COPYING. If not, write to
+ ��膩��� 18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+ ��膩��� 19
+ ��膩��� 20
+ ��膩��� 21 static void install_vertical_scrollbar ();
+ ��膩��� 22 static void install_horizontal_scrollbar ();
+ ��膩��� 23 static void x_set_horizontal_scrollbar ();
+ ��膩��� 24 static void x_set_vertical_scrollbar ();
+ ��膩��� 25
+ ��膩��� 26 /* Prefix-characters for scroll bar commands in Vglobal_mouse_map.
+ ��膩��� 27 Choice of prefix depends on which region of the scroll bar. */
+ ��膩��� 28
+ ��膩��� 29 enum scroll_bar_prefix
+ ��膩��� 30 { VSCROLL_BAR_PREFIX = 050, VSCROLL_SLIDER_PREFIX /* unused */,
+ ��膩��� 31 VSCROLL_THUMBUP_PREFIX, VSCROLL_THUMBDOWN_PREFIX,
+ ��膩��� 32 HSCROLL_BAR_PREFIX, HSCROLL_SLIDER_PREFIX /* unused */,
+ ��膩��� 33 HSCROLL_THUMBLEFT_PREFIX, HSCROLL_THUMBRIGHT_PREFIX };
+ ��膩��� 34
+ ��膩��� 35 #define CROSS_WIDTH 16
+ ��膩��� 36 #define CROSS_HEIGHT 16
+ ��膩��� 37
+ ��膩��� 38 #define CROSS_MASK_WIDTH 16
+ ��膩��� 39 #define CROSS_MASK_HEIGHT 16
+ ��膩��� 40
+ ��膩��� 41 /* Vertical and Horizontal scroll bar widths. */
+ ��膩��� 42 #define VSCROLL_WIDTH 18
+ ��膩��� 43 #define HSCROLL_HEIGHT 18
+ ��膩��� 44
+ ��膩��� 45 #ifdef HAVE_X11
+ ��膩��� 46
+ ��膩��� 47 /* Arrow cursors for scroll bars. */
+ ��膩��� 48
+ ��膩��� 49 Cursor up_arrow_cursor, down_arrow_cursor, v_double_arrow_cursor;
+ ��膩��� 50 Cursor left_arrow_cursor, right_arrow_cursor, h_double_arrow_cursor;
+ ��膩��� 51
+ ��膩��� 52 static char cross_bits[] =
+ ��膩��� 53 {
+ ��膩��� 54 0x00, 0x00, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
+ ��膩��� 55 0x80, 0x01, 0xfe, 0x7f, 0xfe, 0x7f, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
+ ��膩��� 56 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x00, 0x00
+ ��膩��� 57 };
+ ��膩��� 58
+ ��膩��� 59 static char gray_bits[] =
+ ��膩��� 60 {
+ ��膩��� 61 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
+ ��膩��� 62 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
+ ��膩��� 63 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
+ ��膩��� 64 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa
+ ��膩��� 65 };
+ ��膩��� 66
+ ��膩��� 67 static char up_arrow_bits[] =
+ ��膩��� 68 {
+ ��膩��� 69 0x00, 0x00, 0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xf0, 0x0f, 0xf8, 0x1f,
+ ��膩��� 70 0xfc, 0x3f, 0xfe, 0x7f, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
+ ��膩��� 71 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xff, 0xff
+ ��膩��� 72 };
+ ��膩��� 73
+ ��膩��� 74 static char down_arrow_bits[] =
+ ��膩��� 75 {
+ ��膩��� 76 0xff, 0xff, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
+ ��膩��� 77 0x80, 0x01, 0x80, 0x01, 0xfe, 0x7f, 0xfc, 0x3f, 0xf8, 0x1f, 0xf0, 0x0f,
+ ��膩��� 78 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00
+ ��膩��� 79 };
+ ��膩��� 80
+ ��膩��� 81 static char left_arrow_bits[] =
+ ��膩��� 82 {
+ ��膩��� 83 0x00, 0x80, 0x80, 0x80, 0xc0, 0x80, 0xe0, 0x80, 0xf0, 0x80, 0xf8, 0x80,
+ ��膩��� 84 0xfc, 0x80, 0xfe, 0xff, 0xfe, 0xff, 0xfc, 0x80, 0xf8, 0x80, 0xf0, 0x80,
+ ��膩��� 85 0xe0, 0x80, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x80
+ ��膩��� 86 };
+ ��膩��� 87
+ ��膩��� 88 static char right_arrow_bits[] =
+ ��膩��� 89 {
+ ��膩��� 90 0x01, 0x00, 0x01, 0x01, 0x01, 0x03, 0x01, 0x07, 0x01, 0x0f, 0x01, 0x1f,
+ ��膩��� 91 0x01, 0x3f, 0xff, 0x7f, 0xff, 0x7f, 0x01, 0x3f, 0x01, 0x1f, 0x01, 0x0f,
+ ��膩��� 92 0x01, 0x07, 0x01, 0x03, 0x01, 0x01, 0x01, 0x00
+ ��膩��� 93 };
+ ��膩��� 94
+ ��膩��� 95 static char cross_mask_bits[] =
+ ��膩��� 96 {
+ ��膩��� 97 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03,
+ ��膩��� 98 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x03, 0xc0, 0x03,
+ ��膩��� 99 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03
+ ��膩��� 100 };
+ ��膩��� 101 #else /* not HAVE_X11 */
+ ��膩��� 102 static short cross_bits[] =
+ ��膩��� 103 {
+ ��膩��� 104 0x0000, 0x0180, 0x0180, 0x0180,
+ ��膩��� 105 0x0180, 0x0180, 0x0180, 0x7ffe,
+ ��膩��� 106 0x7ffe, 0x0180, 0x0180, 0x0180,
+ ��膩��� 107 0x0180, 0x0180, 0x0180, 0x0000,
+ ��膩��� 108 };
+ ��膩��� 109
+ ��膩��� 110 static short gray_bits[] = {
+ ��膩��� 111 0xaaaa, 0x5555, 0xaaaa, 0x5555,
+ ��膩��� 112 0xaaaa, 0x5555, 0xaaaa, 0x5555,
+ ��膩��� 113 0xaaaa, 0x5555, 0xaaaa, 0x5555,
+ ��膩��� 114 0xaaaa, 0x5555, 0xaaaa, 0x5555};
+ ��膩��� 115
+ ��膩��� 116 static short cross_mask_bits[] =
+ ��膩��� 117 {
+ ��膩��� 118 0x03c0, 0x03c0, 0x03c0, 0x03c0,
+ ��膩��� 119 0x03c0, 0x03c0, 0xffff, 0xffff,
+ ��膩��� 120 0xffff, 0xffff, 0x03c0, 0x03c0,
+ ��膩��� 121 0x03c0, 0x03c0, 0x03c0, 0x03c0,
+ ��膩��� 122 };
+ ��膩��� 123 #endif /* X10 */