Lines Matching refs:ri
329 struct rasops_info *ri;
427 ri = &sc->sc_console_screen.scr_ri;
436 sc->sc_defaultscreen_descr.textops = &ri->ri_ops;
437 sc->sc_defaultscreen_descr.capabilities = ri->ri_caps;
438 sc->sc_defaultscreen_descr.nrows = ri->ri_rows;
439 sc->sc_defaultscreen_descr.ncols = ri->ri_cols;
445 ri->ri_font->fontwidth,
446 ri->ri_font->fontheight,
451 ri->ri_devcmap[(defattr >> 16) & 0xff]);
456 wsdisplay_cnattach(&sc->sc_defaultscreen_descr, ri, 0, 0,
511 struct rasops_info *ri = &scr->scr_ri;
513 ri->ri_depth = 8;
514 ri->ri_width = 1280;
516 ri->ri_height = 900;
518 ri->ri_height = 1024;
520 ri->ri_stride = 2048;
521 ri->ri_flg = RI_CENTER | RI_8BIT_IS_RGB /*|
524 ri->ri_bits = (void *)sc->sc_fb;
525 rasops_init(ri, 0, 0);
526 ri->ri_caps = WSSCREEN_WSCOLORS | WSSCREEN_HILIT | WSSCREEN_UNDERLINE |
530 rasops_reconfig(ri, sc->sc_height / ri->ri_font->fontheight,
531 sc->sc_width / ri->ri_font->fontwidth);
533 ri->ri_hw = scr;
535 ri->ri_ops.copyrows = hyperfb_copyrows;
536 ri->ri_ops.copycols = hyperfb_copycols;
537 ri->ri_ops.eraserows = hyperfb_eraserows;
538 ri->ri_ops.erasecols = hyperfb_erasecols;
539 ri->ri_ops.cursor = hyperfb_cursor;
540 ri->ri_ops.putchar = hyperfb_putchar;
1049 hyperfb_nuke_cursor(struct rasops_info *ri)
1051 struct vcons_screen *scr = ri->ri_hw;
1055 if (ri->ri_flg & RI_CURSOR) {
1056 wi = ri->ri_font->fontwidth;
1057 he = ri->ri_font->fontheight;
1058 x = ri->ri_ccol * wi + ri->ri_xorigin;
1059 y = ri->ri_crow * he + ri->ri_yorigin;
1061 ri->ri_flg &= ~RI_CURSOR;
1068 struct rasops_info *ri = cookie;
1069 struct vcons_screen *scr = ri->ri_hw;
1073 wi = ri->ri_font->fontwidth;
1074 he = ri->ri_font->fontheight;
1078 if (ri->ri_flg & RI_CURSOR) {
1079 hyperfb_nuke_cursor(ri);
1081 x = col * wi + ri->ri_xorigin;
1082 y = row * he + ri->ri_yorigin;
1084 ri->ri_flg |= RI_CURSOR;
1086 ri->ri_crow = row;
1087 ri->ri_ccol = col;
1089 ri->ri_crow = row;
1090 ri->ri_ccol = col;
1091 ri->ri_flg &= ~RI_CURSOR;
1098 struct rasops_info *ri = cookie;
1099 struct wsdisplay_font *font = PICK_FONT(ri, c);
1100 struct vcons_screen *scr = ri->ri_hw;
1112 if (row == ri->ri_crow && col == ri->ri_ccol) {
1113 ri->ri_flg &= ~RI_CURSOR;
1119 x = ri->ri_xorigin + col * wi;
1120 y = ri->ri_yorigin + row * he;
1122 bg = ri->ri_devcmap[(attr >> 16) & 0xf];
1123 fg = ri->ri_devcmap[(attr >> 24) & 0x0f];
1152 if (ri->ri_font->stride == 1) {
1180 struct rasops_info *ri = cookie;
1181 struct vcons_screen *scr = ri->ri_hw;
1186 if (ri->ri_crow == row &&
1187 (ri->ri_ccol >= srccol && ri->ri_ccol < (srccol + ncols)) &&
1188 (ri->ri_flg & RI_CURSOR)) {
1189 hyperfb_nuke_cursor(ri);
1192 xs = ri->ri_xorigin + ri->ri_font->fontwidth * srccol;
1193 xd = ri->ri_xorigin + ri->ri_font->fontwidth * dstcol;
1194 y = ri->ri_yorigin + ri->ri_font->fontheight * row;
1195 width = ri->ri_font->fontwidth * ncols;
1196 height = ri->ri_font->fontheight;
1198 if (ri->ri_crow == row &&
1199 (ri->ri_ccol >= dstcol && ri->ri_ccol < (dstcol + ncols)))
1200 ri->ri_flg &= ~RI_CURSOR;
1208 struct rasops_info *ri = cookie;
1209 struct vcons_screen *scr = ri->ri_hw;
1214 x = ri->ri_xorigin + ri->ri_font->fontwidth * startcol;
1215 y = ri->ri_yorigin + ri->ri_font->fontheight * row;
1216 width = ri->ri_font->fontwidth * ncols;
1217 height = ri->ri_font->fontheight;
1220 hyperfb_rectfill(sc, x, y, width, height, ri->ri_devcmap[bg]);
1221 if (ri->ri_crow == row &&
1222 (ri->ri_ccol >= startcol &&
1223 ri->ri_ccol < (startcol + ncols)))
1224 ri->ri_flg &= ~RI_CURSOR;
1231 struct rasops_info *ri = cookie;
1232 struct vcons_screen *scr = ri->ri_hw;
1237 if ((ri->ri_crow >= srcrow &&
1238 ri->ri_crow < (srcrow + nrows)) &&
1239 (ri->ri_flg & RI_CURSOR)) {
1240 hyperfb_nuke_cursor(ri);
1242 x = ri->ri_xorigin;
1243 ys = ri->ri_yorigin + ri->ri_font->fontheight * srcrow;
1244 yd = ri->ri_yorigin + ri->ri_font->fontheight * dstrow;
1245 width = ri->ri_emuwidth;
1246 height = ri->ri_font->fontheight * nrows;
1248 if (ri->ri_crow >= dstrow && ri->ri_crow < (dstrow + nrows))
1249 ri->ri_flg &= ~RI_CURSOR;
1256 struct rasops_info *ri = cookie;
1257 struct vcons_screen *scr = ri->ri_hw;
1262 x = ri->ri_xorigin;
1263 y = ri->ri_yorigin + ri->ri_font->fontheight * row;
1264 width = ri->ri_emuwidth;
1265 height = ri->ri_font->fontheight * nrows;
1268 hyperfb_rectfill(sc, x, y, width, height, ri->ri_devcmap[bg]);
1270 if (ri->ri_crow >= row && ri->ri_crow < (row + nrows))
1271 ri->ri_flg &= ~RI_CURSOR;