Changeset 3494 for libcaca/trunk/caca/driver/vga.c
- Timestamp:
- 05/21/09 22:55:13 (4 years ago)
- File:
-
- 1 edited
-
libcaca/trunk/caca/driver/vga.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/caca/driver/vga.c
r3489 r3494 121 121 char *screen = (char *)(intptr_t)0x000b8000; 122 122 uint32_t const *cvchars, *cvattrs; 123 int xmin, ymin, xmax, ymax;123 int dx, dy, dw, dh; 124 124 125 caca_get_dirty_rect angle(dp->cv, i, &xmin, &ymin, &xmax, &ymax);125 caca_get_dirty_rect(dp->cv, i, &dx, &dy, &dw, &dh); 126 126 127 127 cvchars = (uint32_t const *)caca_get_canvas_chars(dp->cv) 128 + xmin + ymin* dp->cv->width;128 + dx + dy * dp->cv->width; 129 129 cvattrs = (uint32_t const *)caca_get_canvas_attrs(dp->cv) 130 + xmin + ymin* dp->cv->width;130 + dx + dy * dp->cv->width; 131 131 132 screen += ymin * dp->cv->width + xmin;132 screen += dy * dp->cv->width + dx; 133 133 134 for(y = ymin; y <= ymax; y++)134 for(y = dy; y < dy + dh; y++) 135 135 { 136 for(x = xmin; x <= xmax; x++)136 for(x = dx; x < dx + dw; x++) 137 137 { 138 138 char ch = caca_utf32_to_cp437(*cvchars++); 139 if(x < xmax&& *cvchars == CACA_MAGIC_FULLWIDTH)139 if(x < dx + dw - 1 && *cvchars == CACA_MAGIC_FULLWIDTH) 140 140 { 141 141 *screen++ = '['; … … 149 149 } 150 150 151 cvchars += dp->cv->width - (xmax - xmin) - 1;152 cvattrs += dp->cv->width - (xmax - xmin) - 1;153 screen += 2 * (dp->cv->width - (xmax - xmin) - 1);151 cvchars += dp->cv->width - dw; 152 cvattrs += dp->cv->width - dw; 153 screen += 2 * (dp->cv->width - dw); 154 154 } 155 155 }
Note: See TracChangeset
for help on using the changeset viewer.
