- ArtRgbaSVPAlphaData *data = callback_data;
- art_u8 *linebuf;
- int run_x0, run_x1;
- art_u32 running_sum = start;
- int libart_x0, libart_x1;
- int k;
- art_u8 r, g, b;
- int *alphatab;
- int alpha;
-
- linebuf = data->buf;
- libart_x0 = data->libart_x0;
- libart_x1 = data->libart_x1;
-
- r = data->r;
- g = data->g;
- b = data->b;
- alphatab = data->alphatab;
-
- if (n_steps > 0)
- {
- run_x1 = steps[0].x;
- if (run_x1 > libart_x0)
- {
- alpha = running_sum >> 16;
- if (alpha)
- {
- if (alpha >= 255)
- art_rgba_fill_run (linebuf,
- r, g, b,
- run_x1 - libart_x0);
- else
- art_rgba_run_alpha (linebuf,
- r, g, b, alphatab[alpha],
- run_x1 - libart_x0);
- }
- }
-
- /* render the steps into tmpbuf */
- for (k = 0; k < n_steps - 1; k++)
- {
- running_sum += steps[k].delta;
- run_x0 = run_x1;
- run_x1 = steps[k + 1].x;
- if (run_x1 > run_x0)
- {
- alpha = running_sum >> 16;
- if (alpha)
- {
- if (alpha >= 255)
- art_rgba_fill_run (linebuf + (run_x0 - libart_x0) * 4,
- r, g, b,
- run_x1 - run_x0);
- else
- art_rgba_run_alpha (linebuf + (run_x0 - libart_x0) * 4,
- r, g, b, alphatab[alpha],
- run_x1 - run_x0);
- }
- }
- }
- running_sum += steps[k].delta;
- if (libart_x1 > run_x1)
- {
- alpha = running_sum >> 16;
- if (alpha)
- {
- if (alpha >= 255)
- art_rgba_fill_run (linebuf + (run_x1 - libart_x0) * 4,
- r, g, b,
- libart_x1 - run_x1);
- else
- art_rgba_run_alpha (linebuf + (run_x1 - libart_x0) * 4,
- r, g, b, alphatab[alpha],
- libart_x1 - run_x1);
- }
- }
- }
- else
- {
- alpha = running_sum >> 16;
- if (alpha)
- {
- if (alpha >= 255)
- art_rgba_fill_run (linebuf,
- r, g, b,
- libart_x1 - libart_x0);
- else
- art_rgba_run_alpha (linebuf,
- r, g, b, alphatab[alpha],
- libart_x1 - libart_x0);
- }
+ ArtRgbaSVPAlphaData *data = callback_data;
+ art_u8 *linebuf;
+ int run_x0, run_x1;
+ art_u32 running_sum = start;
+ int libart_x0, libart_x1;
+ int k;
+ art_u8 r, g, b;
+ int *alphatab;
+ int alpha;
+
+ linebuf = data->buf;
+ libart_x0 = data->libart_x0;
+ libart_x1 = data->libart_x1;
+
+ r = data->r;
+ g = data->g;
+ b = data->b;
+ alphatab = data->alphatab;
+
+ if (n_steps > 0) {
+ run_x1 = steps[0].x;
+ if (run_x1 > libart_x0) {
+ alpha = running_sum >> 16;
+ if (alpha) {
+ if (alpha >= 255)
+ art_rgba_fill_run(linebuf, r, g, b, run_x1 - libart_x0);
+ else
+ art_rgba_run_alpha(linebuf,
+ r, g, b, alphatab[alpha],
+ run_x1 - libart_x0);
+ }
+ }
+
+ /* render the steps into tmpbuf */
+ for (k = 0; k < n_steps - 1; k++) {
+ running_sum += steps[k].delta;
+ run_x0 = run_x1;
+ run_x1 = steps[k + 1].x;
+ if (run_x1 > run_x0) {
+ alpha = running_sum >> 16;
+ if (alpha) {
+ if (alpha >= 255)
+ art_rgba_fill_run(linebuf + (run_x0 - libart_x0) * 4,
+ r, g, b, run_x1 - run_x0);
+ else
+ art_rgba_run_alpha(linebuf + (run_x0 - libart_x0) * 4,
+ r, g, b, alphatab[alpha],
+ run_x1 - run_x0);
+ }
+ }
+ }
+ running_sum += steps[k].delta;
+ if (libart_x1 > run_x1) {
+ alpha = running_sum >> 16;
+ if (alpha) {
+ if (alpha >= 255)
+ art_rgba_fill_run(linebuf + (run_x1 - libart_x0) * 4,
+ r, g, b, libart_x1 - run_x1);
+ else
+ art_rgba_run_alpha(linebuf + (run_x1 - libart_x0) * 4,
+ r, g, b, alphatab[alpha],
+ libart_x1 - run_x1);
+ }
+ }
+ } else {
+ alpha = running_sum >> 16;
+ if (alpha) {
+ if (alpha >= 255)
+ art_rgba_fill_run(linebuf, r, g, b, libart_x1 - libart_x0);
+ else
+ art_rgba_run_alpha(linebuf,
+ r, g, b, alphatab[alpha],
+ libart_x1 - libart_x0);
+ }