Changeset 689 for libcaca/trunk
- Timestamp:
- Mar 24, 2006, 5:51:59 PM (15 years ago)
- Location:
- libcaca/trunk
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/caca/caca.h
r686 r689 245 245 unsigned int caca_get_mouse_x(caca_t *kk); 246 246 unsigned int caca_get_mouse_y(caca_t *kk); 247 void caca_hide_cursor(caca_t *kk); 248 void caca_show_cursor(caca_t *kk); 247 void caca_set_mouse(caca_t *kk, int); 249 248 /* @} */ 250 249 -
libcaca/trunk/caca/caca_internals.h
r686 r689 118 118 void (* handle_resize) (caca_t *); 119 119 int (* get_event) (caca_t *, struct caca_event *); 120 void (* show_cursor) (caca_t *); 121 void (* hide_cursor) (caca_t *); 120 void (* set_mouse) (caca_t *, int); 122 121 } drv; 123 122 -
libcaca/trunk/caca/driver_conio.c
r686 r689 164 164 kk->drv.handle_resize = conio_handle_resize; 165 165 kk->drv.get_event = conio_get_event; 166 kk->drv.show_cursor = NULL; 167 kk->drv.hide_cursor = NULL; 166 kk->drv.set_mouse = NULL; 168 167 169 168 return 0; -
libcaca/trunk/caca/driver_gl.c
r686 r689 388 388 389 389 390 static void gl_show_cursor(caca_t *kk) 391 { 392 glutSetCursor(GLUT_CURSOR_RIGHT_ARROW); 393 } 394 395 static void gl_hide_cursor(caca_t *kk) 396 { 397 glutSetCursor(GLUT_CURSOR_NONE); 398 } 399 400 390 static void gl_set_mouse(caca_t *kk, int flag) 391 { 392 if(flag) 393 glutSetCursor(GLUT_CURSOR_RIGHT_ARROW); 394 else 395 glutSetCursor(GLUT_CURSOR_NONE); 396 } 401 397 402 398 /* … … 478 474 kk->drv.handle_resize = gl_handle_resize; 479 475 kk->drv.get_event = gl_get_event; 480 kk->drv.s how_cursor = gl_show_cursor;481 kk->drv.hide_cursor = gl_hide_cursor; 476 kk->drv.set_mouse = gl_set_mouse; 477 482 478 return 0; 483 479 } -
libcaca/trunk/caca/driver_ncurses.c
r686 r689 543 543 kk->drv.handle_resize = ncurses_handle_resize; 544 544 kk->drv.get_event = ncurses_get_event; 545 kk->drv.s how_cursor= NULL;546 kk->drv.hide_cursor = NULL; 545 kk->drv.set_mouse = NULL; 546 547 547 return 0; 548 548 } -
libcaca/trunk/caca/driver_network.c
r686 r689 563 563 kk->drv.handle_resize = network_handle_resize; 564 564 kk->drv.get_event = network_get_event; 565 kk->drv.show_cursor = NULL; 566 kk->drv.hide_cursor = NULL; 565 kk->drv.set_mouse = NULL; 567 566 568 567 return 0; 569 568 } 570 569 571 572 570 #endif /* USE_NETWORK */ 573 571 -
libcaca/trunk/caca/driver_slang.c
r686 r689 481 481 kk->drv.handle_resize = slang_handle_resize; 482 482 kk->drv.get_event = slang_get_event; 483 kk->drv.show_cursor = NULL; 484 kk->drv.hide_cursor = NULL; 483 kk->drv.set_mouse = NULL; 485 484 486 485 return 0; -
libcaca/trunk/caca/driver_vga.c
r686 r689 158 158 kk->drv.handle_resize = vga_handle_resize; 159 159 kk->drv.get_event = vga_get_event; 160 kk->drv.show_cursor = NULL; 161 kk->drv.hide_cursor = NULL; 160 kk->drv.set_mouse = NULL; 162 161 163 162 return 0; -
libcaca/trunk/caca/driver_win32.c
r686 r689 346 346 kk->drv.handle_resize = win32_handle_resize; 347 347 kk->drv.get_event = win32_get_event; 348 kk->drv.show_cursor = NULL; 349 kk->drv.hide_cursor = NULL; 348 kk->drv.set_mouse = NULL; 350 349 351 350 return 0; -
libcaca/trunk/caca/driver_x11.c
r688 r689 210 210 DefaultDepth(kk->drv.p->dpy, 211 211 DefaultScreen(kk->drv.p->dpy))); 212 213 214 212 kk->drv.p->pointer = None; 215 213 … … 538 536 } 539 537 540 static void x11_show_cursor(caca_t *kk) 541 { 542 XDefineCursor(kk->drv.p->dpy,kk->drv.p->window, 0); 543 } 544 545 static void x11_hide_cursor(caca_t *kk) 538 static void x11_set_mouse(caca_t *kk, int flags) 546 539 { 547 540 Cursor no_ptr; … … 549 542 XColor black, dummy; 550 543 Colormap colormap; 551 static char empty[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; 544 static char const empty[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; 545 546 if(flags) 547 { 548 XDefineCursor(kk->drv.p->dpy,kk->drv.p->window, 0); 549 return; 550 } 552 551 553 552 colormap = DefaultColormap(kk->drv.p->dpy, DefaultScreen(kk->drv.p->dpy)); 554 if ( !XAllocNamedColor(kk->drv.p->dpy, colormap, "black", &black, &dummy) ) 555 { 556 return; 557 } 558 bm_no = XCreateBitmapFromData(kk->drv.p->dpy, kk->drv.p->window, empty, 8, 8); 559 no_ptr = XCreatePixmapCursor(kk->drv.p->dpy, bm_no, bm_no, &black, &black, 0, 0); 560 XDefineCursor(kk->drv.p->dpy, kk->drv.p->window, no_ptr); 553 if(!XAllocNamedColor(kk->drv.p->dpy, colormap, "black", &black, &dummy)) 554 { 555 return; 556 } 557 bm_no = XCreateBitmapFromData(kk->drv.p->dpy, kk->drv.p->window, 558 empty, 8, 8); 559 no_ptr = XCreatePixmapCursor(kk->drv.p->dpy, bm_no, bm_no, 560 &black, &black, 0, 0); 561 XDefineCursor(kk->drv.p->dpy, kk->drv.p->window, no_ptr); 561 562 XFreeCursor(kk->drv.p->dpy, no_ptr); 562 if 563 if(bm_no != None) 563 564 XFreePixmap(kk->drv.p->dpy, bm_no); 564 XFreeColors(kk->drv.p->dpy, colormap,&black.pixel,1,0);565 XFreeColors(kk->drv.p->dpy, colormap, &black.pixel, 1, 0); 565 566 566 567 XSync(kk->drv.p->dpy, False); 567 568 } 569 568 } 570 569 571 570 /* … … 600 599 kk->drv.handle_resize = x11_handle_resize; 601 600 kk->drv.get_event = x11_get_event; 602 kk->drv.show_cursor = x11_show_cursor; 603 kk->drv.hide_cursor = x11_hide_cursor; 601 kk->drv.set_mouse = x11_set_mouse; 604 602 605 603 return 0; -
libcaca/trunk/caca/graphics.c
r688 r689 144 144 } 145 145 146 /** \brief Show cursor on capable drivers146 /** \brief Show or hide the mouse pointer. 147 147 * 148 * This function shows the cursor on drivers permitting it. 148 * This function shows or hides the mouse pointer, for devices that 149 * support it. 149 150 * 151 * \param flag 0 hides the pointer, 1 shows the system's default pointer 152 * (usually an arrow). Other values are reserved for future use. 150 153 */ 151 void caca_s how_cursor(caca_t *kk)154 void caca_set_mouse(caca_t *kk, int flag) 152 155 { 153 if(kk->drv.s how_cursor)154 kk->drv.show_cursor(kk);156 if(kk->drv.set_mouse) 157 kk->drv.set_mouse(kk, flag); 155 158 } 156 157 /** \brief Hide cursor on capable drivers158 *159 * This function hides the cursor on drivers permitting it.160 *161 */162 void caca_hide_cursor(caca_t *kk)163 {164 if(kk->drv.hide_cursor)165 kk->drv.hide_cursor(kk);166 }167 168 159 169 160 /* -
libcaca/trunk/test/demo.c
r687 r689 63 63 64 64 /* Disable cursor */ 65 caca_ hide_cursor(kk);65 caca_set_mouse(kk, 0); 66 66 67 67 /* Main menu */
Note: See TracChangeset
for help on using the changeset viewer.