Lines Matching full:cursor

3  *  ATI Mach64 CT/VT/GT/LT Cursor Support
21 * The hardware cursor definition requires 2 bits per pixel. The
22 * Cursor size reguardless of the visible cursor size is 64 pixels
23 * by 64 lines. The total memory required to define the cursor is
25 * must be in a contigiuos format. The 2 bit cursor code values are
33 * Cursor Offset 64 pixels Actual Displayed Area
47 * cursor is specificed by CURS_HORZ_VERT_POSN. Care must be taken
48 * when the cursor hot spot is not the top left corner and the
49 * physical cursor position becomes negative. It will be displayed
50 * if either the horizontal or vertical cursor position is negative
52 * If x becomes negative the cursor manager must adjust the CURS_HORZ_OFFSET
56 * CUR_OFFSET must be adjusted to a point to the appropriate line in the cursor
61 * Hardware Cursor support.
68 static int atyfb_cursor(struct fb_info *info, struct fb_cursor *cursor) in atyfb_cursor() argument
82 if (cursor->enable) in atyfb_cursor()
90 if (cursor->set & FB_CUR_SETPOS) { in atyfb_cursor()
91 x = cursor->image.dx - cursor->hot.x - info->var.xoffset; in atyfb_cursor()
99 y = cursor->image.dy - cursor->hot.y - info->var.yoffset; in atyfb_cursor()
107 h = cursor->image.height; in atyfb_cursor()
110 * In doublescan mode, the cursor location in atyfb_cursor()
125 if (cursor->set & FB_CUR_SETCMAP) { in atyfb_cursor()
128 fg_idx = cursor->image.fg_color; in atyfb_cursor()
129 bg_idx = cursor->image.bg_color; in atyfb_cursor()
144 if (cursor->set & (FB_CUR_SETSHAPE | FB_CUR_SETIMAGE)) { in atyfb_cursor()
145 u8 *src = (u8 *)cursor->image.data; in atyfb_cursor()
146 u8 *msk = (u8 *)cursor->mask; in atyfb_cursor()
148 unsigned int width = (cursor->image.width + 7) >> 3; in atyfb_cursor()
149 unsigned int height = cursor->image.height; in atyfb_cursor()
155 // Clear cursor image with 1010101010... in atyfb_cursor()
165 switch (cursor->rop) { in atyfb_cursor()
180 * If cursor size is not a multiple of 8 characters in atyfb_cursor()
183 if ((j + 1) * 8 > cursor->image.width) { in atyfb_cursor()
185 (1 << ((cursor->image.width & 7) * 2)) - 1); in atyfb_cursor()