summaryrefslogtreecommitdiffstats
path: root/libass/ass_render.c
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@blackbox>2011-06-26 05:44:52 +0200
committerGrigori Goronzy <greg@blackbox>2011-06-26 05:44:52 +0200
commitc13cb222435ff61533a26efcd46c6246ea541dc1 (patch)
treef03ac5753c0b2b790da042655b738aebe9af4a0d /libass/ass_render.c
parent1d3bc3309153410ea8baaa111ee846f289b572a2 (diff)
downloadlibass-c13cb222435ff61533a26efcd46c6246ea541dc1.tar.bz2
libass-c13cb222435ff61533a26efcd46c6246ea541dc1.tar.xz
bitmap: add stride
Add stride support to the basic bitmap type used for low-level rasterization.
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r--libass/ass_render.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 021bfc4..b036bf2 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -296,18 +296,18 @@ static ASS_Image **render_glyph_i(ASS_Renderer *render_priv,
// split up into left and right for karaoke, if needed
if (lbrk > r[j].x0) {
if (lbrk > r[j].x1) lbrk = r[j].x1;
- img = my_draw_bitmap(bm->buffer + r[j].y0 * bm->w + r[j].x0,
+ img = my_draw_bitmap(bm->buffer + r[j].y0 * bm->stride + r[j].x0,
lbrk - r[j].x0, r[j].y1 - r[j].y0,
- bm->w, dst_x + r[j].x0, dst_y + r[j].y0, color);
+ bm->stride, dst_x + r[j].x0, dst_y + r[j].y0, color);
if (!img) break;
*tail = img;
tail = &img->next;
}
if (lbrk < r[j].x1) {
if (lbrk < r[j].x0) lbrk = r[j].x0;
- img = my_draw_bitmap(bm->buffer + r[j].y0 * bm->w + lbrk,
+ img = my_draw_bitmap(bm->buffer + r[j].y0 * bm->stride + lbrk,
r[j].x1 - lbrk, r[j].y1 - r[j].y0,
- bm->w, dst_x + lbrk, dst_y + r[j].y0, color2);
+ bm->stride, dst_x + lbrk, dst_y + r[j].y0, color2);
if (!img) break;
*tail = img;
tail = &img->next;
@@ -387,8 +387,8 @@ render_glyph(ASS_Renderer *render_priv, Bitmap *bm, int dst_x, int dst_y,
if (brk > b_x0) { // draw left part
if (brk > b_x1)
brk = b_x1;
- img = my_draw_bitmap(bm->buffer + bm->w * b_y0 + b_x0,
- brk - b_x0, b_y1 - b_y0, bm->w,
+ img = my_draw_bitmap(bm->buffer + bm->stride * b_y0 + b_x0,
+ brk - b_x0, b_y1 - b_y0, bm->stride,
dst_x + b_x0, dst_y + b_y0, color);
if (!img) return tail;
*tail = img;
@@ -397,8 +397,8 @@ render_glyph(ASS_Renderer *render_priv, Bitmap *bm, int dst_x, int dst_y,
if (brk < b_x1) { // draw right part
if (brk < b_x0)
brk = b_x0;
- img = my_draw_bitmap(bm->buffer + bm->w * b_y0 + brk,
- b_x1 - brk, b_y1 - b_y0, bm->w,
+ img = my_draw_bitmap(bm->buffer + bm->stride * b_y0 + brk,
+ b_x1 - brk, b_y1 - b_y0, bm->stride,
dst_x + brk, dst_y + b_y0, color2);
if (!img) return tail;
*tail = img;