summaryrefslogtreecommitdiff
path: root/source/fitz/stext-output.c
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2017-07-26 15:58:33 +0200
committerTor Andersson <tor.andersson@artifex.com>2017-07-27 14:44:04 +0200
commit44cff76eb82cf11097e4e01348240e3556e22a7f (patch)
tree9289a3eea90f621846a6c31d0ae82bb6394a0789 /source/fitz/stext-output.c
parent1840cf480522ee03e22a0f36b76a85dde62c4c8f (diff)
downloadmupdf-44cff76eb82cf11097e4e01348240e3556e22a7f.tar.xz
Add fz_write_base64 function.
Diffstat (limited to 'source/fitz/stext-output.c')
-rw-r--r--source/fitz/stext-output.c44
1 files changed, 3 insertions, 41 deletions
diff --git a/source/fitz/stext-output.c b/source/fitz/stext-output.c
index a247fc8d..d2fe2d69 100644
--- a/source/fitz/stext-output.c
+++ b/source/fitz/stext-output.c
@@ -53,44 +53,6 @@ fz_print_stext_sheet(fz_context *ctx, fz_output *out, fz_stext_sheet *sheet)
fz_print_style(ctx, out, style);
}
-static void
-send_data_base64_stext(fz_context *ctx, fz_output *out, fz_buffer *buffer)
-{
- size_t i, len;
- static const char set[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-
- len = buffer->len/3;
- for (i = 0; i < len; i++)
- {
- int c = buffer->data[3*i];
- int d = buffer->data[3*i+1];
- int e = buffer->data[3*i+2];
- if ((i & 15) == 0)
- fz_write_printf(ctx, out, "\n");
- fz_write_printf(ctx, out, "%c%c%c%c", set[c>>2], set[((c&3)<<4)|(d>>4)], set[((d&15)<<2)|(e>>6)], set[e & 63]);
- }
- i *= 3;
- switch (buffer->len-i)
- {
- case 2:
- {
- int c = buffer->data[i];
- int d = buffer->data[i+1];
- fz_write_printf(ctx, out, "%c%c%c=", set[c>>2], set[((c&3)<<4)|(d>>4)], set[((d&15)<<2)]);
- break;
- }
- case 1:
- {
- int c = buffer->data[i];
- fz_write_printf(ctx, out, "%c%c==", set[c>>2], set[(c&3)<<4]);
- break;
- }
- default:
- case 0:
- break;
- }
-}
-
void
fz_print_stext_page_html(fz_context *ctx, fz_output *out, fz_stext_page *page)
{
@@ -232,17 +194,17 @@ fz_print_stext_page_html(fz_context *ctx, fz_output *out, fz_stext_page *page)
{
case FZ_IMAGE_JPEG:
fz_write_printf(ctx, out, "image/jpeg;base64,");
- send_data_base64_stext(ctx, out, buffer->buffer);
+ fz_write_base64_buffer(ctx, out, buffer->buffer, 1);
break;
case FZ_IMAGE_PNG:
fz_write_printf(ctx, out, "image/png;base64,");
- send_data_base64_stext(ctx, out, buffer->buffer);
+ fz_write_base64_buffer(ctx, out, buffer->buffer, 1);
break;
default:
{
fz_buffer *buf = fz_new_buffer_from_image_as_png(ctx, image->image, NULL);
fz_write_printf(ctx, out, "image/png;base64,");
- send_data_base64_stext(ctx, out, buf);
+ fz_write_base64_buffer(ctx, out, buf, 1);
fz_drop_buffer(ctx, buf);
break;
}