Lines Matching refs:ri

66 	struct rasops_info *ri;  member
241 rasops_init(struct rasops_info *ri, int wantrows, int wantcols) in rasops_init() argument
244 memset(&ri->ri_optfont, 0, sizeof(ri->ri_optfont)); in rasops_init()
247 if (ri->ri_font == NULL) { in rasops_init()
263 if ((ri->ri_flg & RI_ENABLE_ALPHA) != 0) in rasops_init()
265 if ((ri->ri_flg & RI_PREFER_ALPHA) != 0) in rasops_init()
267 if ((ri->ri_flg & RI_PREFER_WIDEFONT) != 0) in rasops_init()
270 ri->ri_width / wantcols, in rasops_init()
290 if (ri->ri_flg & RI_ROTATE_MASK) { in rasops_init()
291 if (ri->ri_flg & RI_ROTATE_CW) in rasops_init()
293 else if (ri->ri_flg & RI_ROTATE_CCW) in rasops_init()
298 if (wsfont_lock(cookie, &ri->ri_font)) { in rasops_init()
303 ri->ri_wsfcookie = cookie; in rasops_init()
308 if ((uintptr_t)ri->ri_bits & 3) { in rasops_init()
314 if (ri->ri_stride & 3) { in rasops_init()
320 if (rasops_reconfig(ri, wantrows, wantcols)) in rasops_init()
323 rasops_init_devcmap(ri); in rasops_init()
331 rasops_reconfig(struct rasops_info *ri, int wantrows, int wantcols) in rasops_reconfig() argument
344 if (ri->ri_optfont.data != NULL) { in rasops_reconfig()
345 kmem_free(ri->ri_optfont.data, ri->ri_optfont.stride * in rasops_reconfig()
346 ri->ri_optfont.fontheight * ri->ri_optfont.numchars); in rasops_reconfig()
347 ri->ri_optfont.data = NULL; in rasops_reconfig()
351 ri->ri_optfont.firstchar = WSFONT_FLAG_OPT; in rasops_reconfig()
352 ri->ri_optfont.numchars = 16; in rasops_reconfig()
353 ri->ri_optfont.fontwidth = ri->ri_font->fontwidth; in rasops_reconfig()
354 ri->ri_optfont.fontheight = ri->ri_font->fontheight; in rasops_reconfig()
355 ri->ri_optfont.stride = ri->ri_font->stride; in rasops_reconfig()
356 len = ri->ri_optfont.fontheight * ri->ri_optfont.stride * in rasops_reconfig()
357 ri->ri_optfont.numchars; in rasops_reconfig()
359 if (ri->ri_font->fontwidth > 32 || ri->ri_font->fontwidth < 4) { in rasops_reconfig()
365 if ((ri->ri_flg & RI_NO_AUTO) == 0) { in rasops_reconfig()
366 ri->ri_optfont.data = kmem_zalloc(len, KM_SLEEP); in rasops_reconfig()
367 if (FONT_IS_ALPHA(&ri->ri_optfont)) in rasops_reconfig()
368 rasops_make_box_chars_alpha(ri); in rasops_reconfig()
370 switch (ri->ri_optfont.stride) { in rasops_reconfig()
372 rasops_make_box_chars_8(ri); in rasops_reconfig()
375 rasops_make_box_chars_16(ri); in rasops_reconfig()
378 rasops_make_box_chars_32(ri); in rasops_reconfig()
381 kmem_free(ri->ri_optfont.data, len); in rasops_reconfig()
382 ri->ri_optfont.data = NULL; in rasops_reconfig()
390 memset(&ri->ri_optfont, 0, sizeof(ri->ri_optfont)); in rasops_reconfig()
393 bpp = (ri->ri_depth == 15 ? 16 : ri->ri_depth); in rasops_reconfig()
395 if ((ri->ri_flg & RI_CFGDONE) != 0) { in rasops_reconfig()
396 ri->ri_bits = ri->ri_origbits; in rasops_reconfig()
397 ri->ri_hwbits = ri->ri_hworigbits; in rasops_reconfig()
408 ri->ri_emuwidth = ri->ri_font->fontwidth * wantcols; in rasops_reconfig()
409 ri->ri_emuheight = ri->ri_font->fontheight * wantrows; in rasops_reconfig()
411 if (ri->ri_emuwidth > ri->ri_width) in rasops_reconfig()
412 ri->ri_emuwidth = ri->ri_width; in rasops_reconfig()
414 if (ri->ri_emuheight > ri->ri_height) in rasops_reconfig()
415 ri->ri_emuheight = ri->ri_height; in rasops_reconfig()
418 while ((ri->ri_emuwidth * bpp & 31) != 0) in rasops_reconfig()
419 ri->ri_emuwidth--; in rasops_reconfig()
422 if (ri->ri_flg & (RI_ROTATE_CW|RI_ROTATE_CCW)) { in rasops_reconfig()
423 ri->ri_rows = ri->ri_emuwidth / ri->ri_font->fontwidth; in rasops_reconfig()
424 ri->ri_cols = ri->ri_emuheight / ri->ri_font->fontheight; in rasops_reconfig()
428 ri->ri_cols = ri->ri_emuwidth / ri->ri_font->fontwidth; in rasops_reconfig()
429 ri->ri_rows = ri->ri_emuheight / ri->ri_font->fontheight; in rasops_reconfig()
431 ri->ri_emustride = ri->ri_emuwidth * bpp >> 3; in rasops_reconfig()
432 ri->ri_ccol = 0; in rasops_reconfig()
433 ri->ri_crow = 0; in rasops_reconfig()
434 ri->ri_pelbytes = bpp >> 3; in rasops_reconfig()
436 ri->ri_xscale = (ri->ri_font->fontwidth * bpp) >> 3; in rasops_reconfig()
437 ri->ri_yscale = ri->ri_font->fontheight * ri->ri_stride; in rasops_reconfig()
438 ri->ri_fontscale = ri->ri_font->fontheight * ri->ri_font->stride; in rasops_reconfig()
440 ri->ri_origbits = ri->ri_bits; in rasops_reconfig()
441 ri->ri_hworigbits = ri->ri_hwbits; in rasops_reconfig()
444 if ((ri->ri_flg & RI_CLEAR) != 0) { in rasops_reconfig()
445 rasops_memset32(ri->ri_bits, 0, ri->ri_stride * ri->ri_height); in rasops_reconfig()
446 if (ri->ri_hwbits) in rasops_reconfig()
447 rasops_memset32(ri->ri_hwbits, 0, in rasops_reconfig()
448 ri->ri_stride * ri->ri_height); in rasops_reconfig()
452 if ((ri->ri_flg & RI_CENTER) != 0) { in rasops_reconfig()
455 xoff = ((ri->ri_width * bpp >> 3) - ri->ri_emustride) >> 1; in rasops_reconfig()
456 if (ri->ri_depth != 24) { in rasops_reconfig()
468 yoff = ((ri->ri_height - ri->ri_emuheight) >> 1) * in rasops_reconfig()
469 ri->ri_stride; in rasops_reconfig()
471 ri->ri_bits += xoff; in rasops_reconfig()
472 ri->ri_bits += yoff; in rasops_reconfig()
473 if (ri->ri_hwbits != NULL) { in rasops_reconfig()
474 ri->ri_hwbits += xoff; in rasops_reconfig()
475 ri->ri_hwbits += yoff; in rasops_reconfig()
478 ri->ri_yorigin = (int)(ri->ri_bits - ri->ri_origbits) / in rasops_reconfig()
479 ri->ri_stride; in rasops_reconfig()
480 ri->ri_xorigin = (((int)(ri->ri_bits - ri->ri_origbits) % in rasops_reconfig()
481 ri->ri_stride) * 8 / bpp); in rasops_reconfig()
483 ri->ri_xorigin = ri->ri_yorigin = 0; in rasops_reconfig()
486 height = ri->ri_font->fontheight; in rasops_reconfig()
487 ri->ri_ul.off = rounddown(height, 16) / 16; /* offset from bottom */ in rasops_reconfig()
488 ri->ri_ul.height = roundup(height, 16) / 16; /* height */ in rasops_reconfig()
494 ri->ri_ops.mapchar = rasops_mapchar; in rasops_reconfig()
495 ri->ri_ops.copyrows = rasops_copyrows; in rasops_reconfig()
496 ri->ri_ops.copycols = rasops_copycols; in rasops_reconfig()
497 ri->ri_ops.erasecols = rasops_erasecols; in rasops_reconfig()
498 ri->ri_ops.eraserows = rasops_eraserows; in rasops_reconfig()
499 ri->ri_ops.cursor = rasops_cursor; in rasops_reconfig()
500 ri->ri_do_cursor = rasops_do_cursor; in rasops_reconfig()
502 ri->ri_caps &= ~(WSSCREEN_UNDERLINE | WSSCREEN_HILIT | in rasops_reconfig()
505 if ((ri->ri_flg & RI_FORCEMONO) != 0 || in rasops_reconfig()
507 ri->ri_depth < 8 in rasops_reconfig()
509 ri->ri_depth < 4 in rasops_reconfig()
512 ri->ri_ops.allocattr = rasops_allocattr_mono; in rasops_reconfig()
513 ri->ri_caps |= WSSCREEN_UNDERLINE | WSSCREEN_REVERSE; in rasops_reconfig()
515 ri->ri_ops.allocattr = rasops_allocattr_color; in rasops_reconfig()
516 ri->ri_caps |= WSSCREEN_UNDERLINE | WSSCREEN_HILIT | in rasops_reconfig()
520 switch (ri->ri_depth) { in rasops_reconfig()
523 rasops1_init(ri); in rasops_reconfig()
528 rasops2_init(ri); in rasops_reconfig()
533 rasops4_init(ri); in rasops_reconfig()
538 rasops8_init(ri); in rasops_reconfig()
544 rasops15_init(ri); in rasops_reconfig()
549 rasops24_init(ri); in rasops_reconfig()
554 rasops32_init(ri); in rasops_reconfig()
558 ri->ri_flg &= ~RI_CFGDONE; in rasops_reconfig()
565 if (ri->ri_flg & RI_ROTATE_MASK) { in rasops_reconfig()
566 if (ri->ri_flg & RI_ROTATE_CW) { in rasops_reconfig()
567 ri->ri_real_ops = ri->ri_ops; in rasops_reconfig()
568 ri->ri_ops.copycols = rasops_copycols_rotated_cw; in rasops_reconfig()
569 ri->ri_ops.copyrows = rasops_copyrows_rotated_cw; in rasops_reconfig()
570 ri->ri_ops.erasecols = rasops_erasecols_rotated_cw; in rasops_reconfig()
571 ri->ri_ops.eraserows = rasops_eraserows_rotated_cw; in rasops_reconfig()
572 ri->ri_ops.putchar = rasops_putchar_rotated_cw; in rasops_reconfig()
573 } else if (ri->ri_flg & RI_ROTATE_CCW) { in rasops_reconfig()
574 ri->ri_real_ops = ri->ri_ops; in rasops_reconfig()
575 ri->ri_ops.copycols = rasops_copycols_rotated_ccw; in rasops_reconfig()
576 ri->ri_ops.copyrows = rasops_copyrows_rotated_ccw; in rasops_reconfig()
577 ri->ri_ops.erasecols = rasops_erasecols_rotated_ccw; in rasops_reconfig()
578 ri->ri_ops.eraserows = rasops_eraserows_rotated_ccw; in rasops_reconfig()
579 ri->ri_ops.putchar = rasops_putchar_rotated_ccw; in rasops_reconfig()
584 ri->ri_flg |= RI_CFGDONE; in rasops_reconfig()
595 struct rasops_info *ri = (struct rasops_info *)cookie; in rasops_mapchar() local
597 KASSERT(ri->ri_font != NULL); in rasops_mapchar()
599 int glyph = wsfont_map_unichar(ri->ri_font, c); in rasops_mapchar()
600 if (glyph < 0 || !CHAR_IN_FONT(glyph, PICK_FONT(ri, glyph))) { in rasops_mapchar()
693 struct rasops_info *ri = (struct rasops_info *)cookie; in rasops_copyrows() local
708 if (src + num > ri->ri_rows) in rasops_copyrows()
709 num = ri->ri_rows - src; in rasops_copyrows()
716 if (dst + num > ri->ri_rows) in rasops_copyrows()
717 num = ri->ri_rows - dst; in rasops_copyrows()
723 src *= ri->ri_yscale; in rasops_copyrows()
724 dst *= ri->ri_yscale; in rasops_copyrows()
725 num *= ri->ri_font->fontheight; in rasops_copyrows()
726 stride = ri->ri_stride; in rasops_copyrows()
735 sp = ri->ri_bits + src; in rasops_copyrows()
736 dp = ri->ri_bits + dst; in rasops_copyrows()
737 if (ri->ri_hwbits) in rasops_copyrows()
738 hp = ri->ri_hwbits + dst; in rasops_copyrows()
741 memcpy(dp, sp, ri->ri_emustride); in rasops_copyrows()
742 if (ri->ri_hwbits) { in rasops_copyrows()
743 memcpy(hp, dp, ri->ri_emustride); in rasops_copyrows()
760 struct rasops_info *ri = (struct rasops_info *)cookie; in rasops_copycols() local
771 if ((unsigned)row >= (unsigned)ri->ri_rows) in rasops_copycols()
779 if (src + num > ri->ri_cols) in rasops_copycols()
780 num = ri->ri_cols - src; in rasops_copycols()
787 if (dst + num > ri->ri_cols) in rasops_copycols()
788 num = ri->ri_cols - dst; in rasops_copycols()
794 height = ri->ri_font->fontheight; in rasops_copycols()
795 row *= ri->ri_yscale; in rasops_copycols()
796 num *= ri->ri_xscale; in rasops_copycols()
798 sp = ri->ri_bits + row + src * ri->ri_xscale; in rasops_copycols()
799 dp = ri->ri_bits + row + dst * ri->ri_xscale; in rasops_copycols()
800 if (ri->ri_hwbits) in rasops_copycols()
801 hp = ri->ri_hwbits + row + dst * ri->ri_xscale; in rasops_copycols()
805 if (ri->ri_hwbits) { in rasops_copycols()
807 hp += ri->ri_stride; in rasops_copycols()
809 sp += ri->ri_stride; in rasops_copycols()
810 dp += ri->ri_stride; in rasops_copycols()
820 struct rasops_info *ri = (struct rasops_info *)cookie; in rasops_cursor() local
823 if ((ri->ri_flg & RI_CURSOR) != 0) in rasops_cursor()
825 if ((ri->ri_flg & RI_CURSORCLIP) == 0) in rasops_cursor()
827 ri->ri_do_cursor(ri); in rasops_cursor()
830 ri->ri_crow = row; in rasops_cursor()
831 ri->ri_ccol = col; in rasops_cursor()
834 ri->ri_flg &= ~RI_CURSORCLIP; in rasops_cursor()
835 if (row < 0 || row >= ri->ri_rows) in rasops_cursor()
836 ri->ri_flg |= RI_CURSORCLIP; in rasops_cursor()
837 else if (col < 0 || col >= ri->ri_cols) in rasops_cursor()
838 ri->ri_flg |= RI_CURSORCLIP; in rasops_cursor()
842 ri->ri_flg |= RI_CURSOR; in rasops_cursor()
844 if ((ri->ri_flg & RI_CURSORCLIP) == 0) in rasops_cursor()
846 ri->ri_do_cursor(ri); in rasops_cursor()
848 ri->ri_flg &= ~RI_CURSOR; in rasops_cursor()
855 rasops_init_devcmap(struct rasops_info *ri) in rasops_init_devcmap() argument
861 switch (ri->ri_depth) { in rasops_init_devcmap()
863 ri->ri_devcmap[0] = 0; in rasops_init_devcmap()
865 ri->ri_devcmap[i] = -1; in rasops_init_devcmap()
870 ri->ri_devcmap[i] = 0xaaaaaaaa; in rasops_init_devcmap()
872 ri->ri_devcmap[0] = 0; in rasops_init_devcmap()
873 ri->ri_devcmap[8] = 0x55555555; in rasops_init_devcmap()
874 ri->ri_devcmap[15] = -1; in rasops_init_devcmap()
884 ri->ri_devcmap[i] = in rasops_init_devcmap()
891 if ((ri->ri_flg & RI_8BIT_IS_RGB) == 0) { in rasops_init_devcmap()
898 ri->ri_devcmap[i] = in rasops_init_devcmap()
908 if (ri->ri_rnum <= 8) in rasops_init_devcmap()
909 c = (uint32_t)(*p >> (8 - ri->ri_rnum)) << ri->ri_rpos; in rasops_init_devcmap()
911 c = (uint32_t)(*p << (ri->ri_rnum - 8)) << ri->ri_rpos; in rasops_init_devcmap()
914 if (ri->ri_gnum <= 8) in rasops_init_devcmap()
915 c |= (uint32_t)(*p >> (8 - ri->ri_gnum)) << ri->ri_gpos; in rasops_init_devcmap()
917 c |= (uint32_t)(*p << (ri->ri_gnum - 8)) << ri->ri_gpos; in rasops_init_devcmap()
920 if (ri->ri_bnum <= 8) in rasops_init_devcmap()
921 c |= (uint32_t)(*p >> (8 - ri->ri_bnum)) << ri->ri_bpos; in rasops_init_devcmap()
923 c |= (uint32_t)(*p << (ri->ri_bnum - 8)) << ri->ri_bpos; in rasops_init_devcmap()
930 switch (ri->ri_depth) { in rasops_init_devcmap()
937 if ((ri->ri_flg & RI_BSWAP) != 0) in rasops_init_devcmap()
943 if ((ri->ri_flg & RI_BSWAP) == 0) in rasops_init_devcmap()
945 if ((ri->ri_flg & RI_BSWAP) != 0) in rasops_init_devcmap()
962 if ((ri->ri_flg & RI_BSWAP) != 0) in rasops_init_devcmap()
967 ri->ri_devcmap[i] = c; in rasops_init_devcmap()
990 struct rasops_info *ri = (struct rasops_info *)cookie; in rasops_eraserows() local
1002 if (row + num > ri->ri_rows) in rasops_eraserows()
1003 num = ri->ri_rows - row; in rasops_eraserows()
1015 if (num == ri->ri_rows && (ri->ri_flg & RI_FULLCLEAR) != 0) { in rasops_eraserows()
1016 bytes = ri->ri_stride; in rasops_eraserows()
1017 num = ri->ri_height; in rasops_eraserows()
1018 rp = (uint32_t *)ri->ri_origbits; in rasops_eraserows()
1019 if (ri->ri_hwbits) in rasops_eraserows()
1020 hp = (uint32_t *)ri->ri_hworigbits; in rasops_eraserows()
1022 bytes = ri->ri_emustride; in rasops_eraserows()
1023 num *= ri->ri_font->fontheight; in rasops_eraserows()
1024 rp = (uint32_t *)(ri->ri_bits + row * ri->ri_yscale); in rasops_eraserows()
1025 if (ri->ri_hwbits) in rasops_eraserows()
1026 hp = (uint32_t *)(ri->ri_hwbits + row * ri->ri_yscale); in rasops_eraserows()
1029 bg = ATTR_BG(ri, attr); in rasops_eraserows()
1033 if (ri->ri_hwbits) { in rasops_eraserows()
1035 DELTA(hp, ri->ri_stride, uint32_t *); in rasops_eraserows()
1037 DELTA(rp, ri->ri_stride, uint32_t *); in rasops_eraserows()
1046 rasops_do_cursor(struct rasops_info *ri) in rasops_do_cursor() argument
1055 if (ri->ri_flg & RI_ROTATE_MASK) { in rasops_do_cursor()
1056 if (ri->ri_flg & RI_ROTATE_CW) { in rasops_do_cursor()
1058 row = ri->ri_ccol; in rasops_do_cursor()
1059 col = ri->ri_rows - ri->ri_crow - 1; in rasops_do_cursor()
1060 } else if (ri->ri_flg & RI_ROTATE_CCW) { in rasops_do_cursor()
1062 row = ri->ri_cols - ri->ri_ccol - 1; in rasops_do_cursor()
1063 col = ri->ri_crow; in rasops_do_cursor()
1065 row = ri->ri_crow; in rasops_do_cursor()
1066 col = ri->ri_ccol; in rasops_do_cursor()
1071 row = ri->ri_crow; in rasops_do_cursor()
1072 col = ri->ri_ccol; in rasops_do_cursor()
1075 height = ri->ri_font->fontheight; in rasops_do_cursor()
1077 rp = ri->ri_bits + FBOFFSET(ri, row, col); in rasops_do_cursor()
1078 if (ri->ri_hwbits) in rasops_do_cursor()
1079 hp = ri->ri_hwbits + FBOFFSET(ri, row, col); in rasops_do_cursor()
1087 if (ri->ri_xscale == 1) { in rasops_do_cursor()
1091 if (ri->ri_hwbits) { in rasops_do_cursor()
1093 hp += ri->ri_stride; in rasops_do_cursor()
1095 rp += ri->ri_stride; in rasops_do_cursor()
1107 slop2 = (ri->ri_xscale - slop1) & 3; in rasops_do_cursor()
1108 full = (ri->ri_xscale - slop1 /* - slop2 */) >> 2; in rasops_do_cursor()
1132 if (ri->ri_hwbits) { in rasops_do_cursor()
1135 hp += ri->ri_stride; in rasops_do_cursor()
1137 rp += ri->ri_stride; in rasops_do_cursor()
1147 struct rasops_info *ri = (struct rasops_info *)cookie; in rasops_erasecols() local
1154 if ((unsigned)row >= (unsigned)ri->ri_rows) in rasops_erasecols()
1162 if (col + num > ri->ri_cols) in rasops_erasecols()
1163 num = ri->ri_cols - col; in rasops_erasecols()
1169 height = ri->ri_font->fontheight; in rasops_erasecols()
1170 num *= ri->ri_xscale; in rasops_erasecols()
1172 rp = (uint32_t *)(ri->ri_bits + FBOFFSET(ri, row, col)); in rasops_erasecols()
1173 if (ri->ri_hwbits) in rasops_erasecols()
1174 hp = (uint32_t *)(ri->ri_hwbits + FBOFFSET(ri, row, col)); in rasops_erasecols()
1176 bg = ATTR_BG(ri, attr); in rasops_erasecols()
1180 if (ri->ri_hwbits) { in rasops_erasecols()
1182 DELTA(hp, ri->ri_stride, uint32_t *); in rasops_erasecols()
1184 DELTA(rp, ri->ri_stride, uint32_t *); in rasops_erasecols()
1189 rasops_make_box_chars_16(struct rasops_info *ri) in rasops_make_box_chars_16() argument
1193 uint16_t *data = (uint16_t *)ri->ri_optfont.data; in rasops_make_box_chars_16()
1195 vert_mask = 0xc000U >> ((ri->ri_font->fontwidth >> 1) - 1); in rasops_make_box_chars_16()
1196 hmask_left = 0xff00U << (8 - (ri->ri_font->fontwidth >> 1)); in rasops_make_box_chars_16()
1197 hmask_right = hmask_left >> ((ri->ri_font->fontwidth + 1) >> 1); in rasops_make_box_chars_16()
1203 mid = (ri->ri_font->fontheight + 1) >> 1; in rasops_make_box_chars_16()
1207 data += ri->ri_font->fontheight; in rasops_make_box_chars_16()
1215 for (i = mid; i < ri->ri_font->fontheight; i++) in rasops_make_box_chars_16()
1220 i = ri->ri_font->fontheight >> 1; in rasops_make_box_chars_16()
1233 rasops_make_box_chars_8(struct rasops_info *ri) in rasops_make_box_chars_8() argument
1237 uint8_t *data = (uint8_t *)ri->ri_optfont.data; in rasops_make_box_chars_8()
1239 vert_mask = 0xc0U >> ((ri->ri_font->fontwidth >> 1) - 1); in rasops_make_box_chars_8()
1240 hmask_left = 0xf0U << (4 - (ri->ri_font->fontwidth >> 1)); in rasops_make_box_chars_8()
1241 hmask_right = hmask_left >> ((ri->ri_font->fontwidth + 1) >> 1); in rasops_make_box_chars_8()
1243 mid = (ri->ri_font->fontheight + 1) >> 1; in rasops_make_box_chars_8()
1247 data += ri->ri_font->fontheight; in rasops_make_box_chars_8()
1255 for (i = mid; i < ri->ri_font->fontheight; i++) in rasops_make_box_chars_8()
1260 i = ri->ri_font->fontheight >> 1; in rasops_make_box_chars_8()
1273 rasops_make_box_chars_32(struct rasops_info *ri) in rasops_make_box_chars_32() argument
1277 uint32_t *data = (uint32_t *)ri->ri_optfont.data; in rasops_make_box_chars_32()
1279 vert_mask = 0xc0000000U >> ((ri->ri_font->fontwidth >> 1) - 1); in rasops_make_box_chars_32()
1280 hmask_left = 0xffff0000U << (16 - (ri->ri_font->fontwidth >> 1)); in rasops_make_box_chars_32()
1281 hmask_right = hmask_left >> ((ri->ri_font->fontwidth + 1) >> 1); in rasops_make_box_chars_32()
1287 mid = (ri->ri_font->fontheight + 1) >> 1; in rasops_make_box_chars_32()
1291 data += ri->ri_font->fontheight; in rasops_make_box_chars_32()
1299 for (i = mid; i < ri->ri_font->fontheight; i++) in rasops_make_box_chars_32()
1304 i = ri->ri_font->fontheight >> 1; in rasops_make_box_chars_32()
1317 rasops_make_box_chars_alpha(struct rasops_info *ri) in rasops_make_box_chars_alpha() argument
1320 uint8_t *data = (uint8_t *)ri->ri_optfont.data; in rasops_make_box_chars_alpha()
1323 he = ri->ri_font->fontheight; in rasops_make_box_chars_alpha()
1324 wi = ri->ri_font->fontwidth; in rasops_make_box_chars_alpha()
1331 data += ri->ri_fontscale; in rasops_make_box_chars_alpha()
1374 rasops_get_cmap(struct rasops_info *ri, uint8_t *palette, size_t bytes) in rasops_get_cmap() argument
1377 if ((ri->ri_depth == 8) && ((ri->ri_flg & RI_8BIT_IS_RGB) != 0)) { in rasops_get_cmap()
1454 struct rasops_info *ri = (struct rasops_info *)cookie; in rasops_copychar() local
1460 r_srccol = ri->ri_rows - srcrow - 1; in rasops_copychar()
1461 r_dstcol = ri->ri_rows - dstrow - 1; in rasops_copychar()
1463 r_srcrow *= ri->ri_yscale; in rasops_copychar()
1464 r_dstrow *= ri->ri_yscale; in rasops_copychar()
1465 height = ri->ri_font->fontheight; in rasops_copychar()
1467 sp = ri->ri_bits + r_srcrow + r_srccol * ri->ri_xscale; in rasops_copychar()
1468 dp = ri->ri_bits + r_dstrow + r_dstcol * ri->ri_xscale; in rasops_copychar()
1471 memmove(dp, sp, ri->ri_xscale); in rasops_copychar()
1472 dp += ri->ri_stride; in rasops_copychar()
1473 sp += ri->ri_stride; in rasops_copychar()
1480 struct rasops_info *ri = (struct rasops_info *)cookie; in rasops_putchar_rotated_cw() local
1484 if (__predict_false((unsigned int)row > ri->ri_rows || in rasops_putchar_rotated_cw()
1485 (unsigned int)col > ri->ri_cols)) in rasops_putchar_rotated_cw()
1489 if (ri->ri_rows - row - 1 < 0) in rasops_putchar_rotated_cw()
1493 ri->ri_real_ops.putchar(cookie, col, ri->ri_rows - row - 1, uc, in rasops_putchar_rotated_cw()
1501 height = ri->ri_font->fontheight; in rasops_putchar_rotated_cw()
1503 rp = (uint16_t *)(ri->ri_bits + col * ri->ri_yscale + in rasops_putchar_rotated_cw()
1504 (ri->ri_rows - row - 1) * ri->ri_xscale); in rasops_putchar_rotated_cw()
1506 fg = (uint16_t)ATTR_FG(ri, attr); in rasops_putchar_rotated_cw()
1510 DELTA(rp, ri->ri_stride, uint16_t *); in rasops_putchar_rotated_cw()
1518 struct rasops_info *ri = (struct rasops_info *)cookie; in rasops_erasecols_rotated_cw() local
1522 ri->ri_ops.putchar(cookie, row, i, ' ', attr); in rasops_erasecols_rotated_cw()
1529 struct rasops_info *ri = (struct rasops_info *)cookie; in rasops_copyrows_rotated_cw() local
1534 for (col = 0; col < ri->ri_cols; col++) in rasops_copyrows_rotated_cw()
1539 for (col = 0; col < ri->ri_cols; col++) in rasops_copyrows_rotated_cw()
1562 struct rasops_info *ri = (struct rasops_info *)cookie; in rasops_eraserows_rotated_cw() local
1566 for (col = 0; col < ri->ri_cols; col++) in rasops_eraserows_rotated_cw()
1567 ri->ri_ops.putchar(cookie, rn, col, ' ', attr); in rasops_eraserows_rotated_cw()
1578 struct rasops_info *ri = (struct rasops_info *)cookie; in rasops_copychar_ccw() local
1582 r_srcrow = ri->ri_cols - srccol - 1; in rasops_copychar_ccw()
1583 r_dstrow = ri->ri_cols - dstcol - 1; in rasops_copychar_ccw()
1587 r_srcrow *= ri->ri_yscale; in rasops_copychar_ccw()
1588 r_dstrow *= ri->ri_yscale; in rasops_copychar_ccw()
1589 height = ri->ri_font->fontheight; in rasops_copychar_ccw()
1591 sp = ri->ri_bits + r_srcrow + r_srccol * ri->ri_xscale; in rasops_copychar_ccw()
1592 dp = ri->ri_bits + r_dstrow + r_dstcol * ri->ri_xscale; in rasops_copychar_ccw()
1595 memmove(dp, sp, ri->ri_xscale); in rasops_copychar_ccw()
1596 dp += ri->ri_stride; in rasops_copychar_ccw()
1597 sp += ri->ri_stride; in rasops_copychar_ccw()
1604 struct rasops_info *ri = (struct rasops_info *)cookie; in rasops_putchar_rotated_ccw() local
1608 if (__predict_false((unsigned int)row > ri->ri_rows || in rasops_putchar_rotated_ccw()
1609 (unsigned int)col > ri->ri_cols)) in rasops_putchar_rotated_ccw()
1613 if (ri->ri_cols - col - 1 < 0) in rasops_putchar_rotated_ccw()
1617 ri->ri_real_ops.putchar(cookie, ri->ri_cols - col - 1, row, uc, in rasops_putchar_rotated_ccw()
1625 height = ri->ri_font->fontheight; in rasops_putchar_rotated_ccw()
1627 rp = (uint16_t *)(ri->ri_bits + in rasops_putchar_rotated_ccw()
1628 (ri->ri_cols - col - 1) * ri->ri_yscale + in rasops_putchar_rotated_ccw()
1629 row * ri->ri_xscale + in rasops_putchar_rotated_ccw()
1630 (ri->ri_font->fontwidth - 1) * ri->ri_pelbytes); in rasops_putchar_rotated_ccw()
1632 fg = (uint16_t)ATTR_FG(ri, attr); in rasops_putchar_rotated_ccw()
1636 DELTA(rp, ri->ri_stride, uint16_t *); in rasops_putchar_rotated_ccw()
1645 struct rasops_info *ri = (struct rasops_info *)cookie; in rasops_copyrows_rotated_ccw() local
1650 for (col = 0; col < ri->ri_cols; col++) in rasops_copyrows_rotated_ccw()
1655 for (col = 0; col < ri->ri_cols; col++) in rasops_copyrows_rotated_ccw()