Lines Matching refs:cursor
20 * The hardware cursor definition requires 2 bits per pixel. The
21 * Cursor size reguardless of the visible cursor size is 64 pixels
22 * by 64 lines. The total memory required to define the cursor is
24 * must be in a contigiuos format. The 2 bit cursor code values are
46 * cursor is specificed by CURS_HORZ_VERT_POSN. Care must be taken
47 * when the cursor hot spot is not the top left corner and the
48 * physical cursor position becomes negative. It will be displayed
49 * if either the horizontal or vertical cursor position is negative
51 * If x becomes negative the cursor manager must adjust the CURS_HORZ_OFFSET
55 * CUR_OFFSET must be adjusted to a point to the appropriate line in the cursor
73 static int atyfb_cursor(struct fb_info *info, struct fb_cursor *cursor)
87 if (cursor->enable)
95 if (cursor->set & FB_CUR_SETPOS) {
96 x = cursor->image.dx - cursor->hot.x - info->var.xoffset;
104 y = cursor->image.dy - cursor->hot.y - info->var.yoffset;
112 h = cursor->image.height;
115 * In doublescan mode, the cursor location
130 if (cursor->set & FB_CUR_SETCMAP) {
133 fg_idx = cursor->image.fg_color;
134 bg_idx = cursor->image.bg_color;
149 if (cursor->set & (FB_CUR_SETSHAPE | FB_CUR_SETIMAGE)) {
150 u8 *src = (u8 *)cursor->image.data;
151 u8 *msk = (u8 *)cursor->mask;
153 unsigned int width = (cursor->image.width + 7) >> 3;
154 unsigned int height = cursor->image.height;
160 // Clear cursor image with 1010101010...
170 switch (cursor->rop) {
185 * If cursor size is not a multiple of 8 characters
188 if ((j + 1) * 8 > cursor->image.width) {
190 (1 << ((cursor->image.width & 7) * 2)) - 1);