/* * * Usage: * procname cursor mode x y */ HIDDEN int fbo_cursor_tcl(void *clientData, int argc, const char **argv) { struct fb_obj *fbop = (struct fb_obj *)clientData; int mode; int x, y; int status; if (argc != 5) { bu_log("ERROR: expecting five arguments\n"); return BRLCAD_ERROR; } if (sscanf(argv[2], "%d", &mode) != 1) { bu_log("fb_cursor: bad mode - %s", argv[2]); return BRLCAD_ERROR; } if (sscanf(argv[3], "%d", &x) != 1) { bu_log("fb_cursor: bad x value - %s", argv[3]); return BRLCAD_ERROR; } if (sscanf(argv[4], "%d", &y) != 1) { bu_log("fb_cursor: bad y value - %s", argv[4]); return BRLCAD_ERROR; } status = fb_cursor(fbop->fbo_fbs.fbs_fbp, mode, x, y); if (status == 0) return BRLCAD_OK; return BRLCAD_ERROR; }
HIDDEN int mem_cursor(FBIO *ifp, int mode, int x, int y) { fb_sim_cursor(ifp, mode, x, y); if (MI(ifp)->write_thru) { return fb_cursor(MI(ifp)->fbp, mode, x, y); } return 0; }
/* f b _ S e t u p ( ) */ int fb_Setup(char *file, int size) { if ( BU_STR_EQUAL( file, "/dev/remote" ) ) file = "/dev/debug"; prnt_Event( "Opening device..." ); if (((fbiop = fb_open(file[0] == '\0' ? NULL : file, size, size)) == FBIO_NULL) || (fb_ioinit( fbiop ) == -1) || (fb_wmap( fbiop, COLORMAP_NULL ) == -1)) return 0; (void) fb_setcursor( fbiop, arrowcursor, 16, 16, 0, 0 ); (void) fb_cursor( fbiop, 1, size/2, size/2 ); prnt_Event( (char *) NULL ); return 1; }
/* * * Usage: * procname cursor mode x y */ HIDDEN int fbo_cursor_tcl(ClientData clientData, Tcl_Interp *interp, int argc, char **argv) { struct fb_obj *fbop = (struct fb_obj *)clientData; int mode; int x, y; int status; struct bu_vls vls; if (argc != 5) { bu_vls_init(&vls); bu_vls_printf(&vls, "helplib fb_cursor"); Tcl_Eval(interp, bu_vls_addr(&vls)); bu_vls_free(&vls); } if (sscanf(argv[2], "%d", &mode) != 1) { Tcl_AppendResult(interp, "fb_cursor: bad mode - ", argv[2], (char *)NULL); return TCL_ERROR; } if (sscanf(argv[3], "%d", &x) != 1) { Tcl_AppendResult(interp, "fb_cursor: bad x value - ", argv[3], (char *)NULL); return TCL_ERROR; } if (sscanf(argv[4], "%d", &y) != 1) { Tcl_AppendResult(interp, "fb_cursor: bad y value - ", argv[4], (char *)NULL); return TCL_ERROR; } status = fb_cursor(fbop->fbo_fbs.fbs_fbp, mode, x, y); if (status == 0) return TCL_OK; return TCL_ERROR; }