Lines Matching refs:wdc
518 smg_getcursor(struct smg_screen *ss, struct wsdisplay_cursor *wdc)
522 if ((wdc->which & WSDISPLAY_CURSOR_DOCUR) != 0)
523 wdc->enable = ss->ss_curcmd & PCCCMD_ENPA ? 1 : 0;
524 if ((wdc->which & WSDISPLAY_CURSOR_DOPOS) != 0) {
525 wdc->pos.x = ss->ss_curpos.x;
526 wdc->pos.y = ss->ss_curpos.y;
528 if ((wdc
529 wdc->hot.x = ss->ss_curhot.x;
530 wdc->hot.y = ss->ss_curhot.y;
532 if ((wdc->which & WSDISPLAY_CURSOR_DOCMAP) != 0) {
533 wdc->cmap.index = 0;
534 wdc->cmap.count = 0;
536 if ((wdc->which & WSDISPLAY_CURSOR_DOSHAPE) != 0) {
537 wdc->size.x = wdc->size.y = PCC_CURSOR_SIZE;
538 error = copyout(ss->ss_curimg, wdc->image,
542 error = copyout(ss->ss_curmask, wdc->mask,
552 smg_setcursor(struct smg_screen *ss, struct wsdisplay_cursor *wdc)
557 if ((wdc->which & WSDISPLAY_CURSOR_DOCMAP) != 0) {
559 if (wdc->cmap.count != 0)
567 if ((wdc->which & WSDISPLAY_CURSOR_DOSHAPE) != 0) {
568 if (wdc->size.x != PCC_CURSOR_SIZE ||
569 wdc->size.y != PCC_CURSOR_SIZE)
571 error = copyin(wdc->image, curfg, sizeof(curfg));
574 error = copyin(wdc->mask, curmask, sizeof(curmask));
582 if ((wdc->which & WSDISPLAY_CURSOR_DOCUR) != 0) {
583 if (wdc->enable)
588 if ((wdc->which & WSDISPLAY_CURSOR_DOPOS) != 0) {
589 ss->ss_curpos.x = wdc->pos.x;
590 ss->ss_curpos.y = wdc->pos.y;
592 if ((wdc->which & WSDISPLAY_CURSOR_DOHOT) != 0) {
593 ss->ss_curhot.x = wdc->hot.x;
594 ss->ss_curhot.y = wdc->hot.y;
596 if ((wdc->which & WSDISPLAY_CURSOR_DOSHAPE) != 0) {
604 smg_updatecursor(ss, wdc->which);