summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
Diffstat (limited to 'platform')
-rw-r--r--platform/gl/gl-font.c2
-rw-r--r--platform/gl/gl-main.c6
-rw-r--r--platform/x11/pdfapp.c4
3 files changed, 7 insertions, 5 deletions
diff --git a/platform/gl/gl-font.c b/platform/gl/gl-font.c
index 58ead8ee..d6e1acc9 100644
--- a/platform/gl/gl-font.c
+++ b/platform/gl/gl-font.c
@@ -159,7 +159,7 @@ static struct glyph *lookup_glyph(fz_font *font, int gid, float *xp, float *yp)
glEnd();
- pixmap = fz_render_glyph_pixmap(ctx, font, gid, &subpix_trm, NULL, NULL);
+ pixmap = fz_render_glyph_pixmap(ctx, font, gid, &subpix_trm, NULL);
w = pixmap->w;
h = pixmap->h;
diff --git a/platform/gl/gl-main.c b/platform/gl/gl-main.c
index 4a40d4ad..cc849a2f 100644
--- a/platform/gl/gl-main.c
+++ b/platform/gl/gl-main.c
@@ -227,7 +227,8 @@ void texture_from_pixmap(struct texture *tex, fz_pixmap *pix)
{
if (tex->w > max_texture_size || tex->h > max_texture_size)
fz_warn(ctx, "texture size (%d x %d) exceeds implementation limit (%d)", tex->w, tex->h, max_texture_size);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tex->w, tex->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, pix->samples);
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tex->w, tex->h, 0, GL_RGB, GL_UNSIGNED_BYTE, pix->samples);
tex->s = 1;
tex->t = 1;
}
@@ -237,8 +238,9 @@ void texture_from_pixmap(struct texture *tex, fz_pixmap *pix)
int h2 = next_power_of_two(tex->h);
if (w2 > max_texture_size || h2 > max_texture_size)
fz_warn(ctx, "texture size (%d x %d) exceeds implementation limit (%d)", w2, h2, max_texture_size);
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w2, h2, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
- glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, tex->w, tex->h, GL_RGBA, GL_UNSIGNED_BYTE, pix->samples);
+ glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, tex->w, tex->h, GL_RGB, GL_UNSIGNED_BYTE, pix->samples);
tex->s = (float)tex->w / w2;
tex->t = (float)tex->h / h2;
}
diff --git a/platform/x11/pdfapp.c b/platform/x11/pdfapp.c
index ab5b2e8d..fd1f6a1a 100644
--- a/platform/x11/pdfapp.c
+++ b/platform/x11/pdfapp.c
@@ -891,7 +891,7 @@ static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repai
else
colorspace = app->colorspace;
app->image = NULL;
- app->image = fz_new_pixmap_with_bbox(app->ctx, colorspace, &ibounds);
+ app->image = fz_new_pixmap_with_bbox(app->ctx, colorspace, &ibounds, 1);
fz_clear_pixmap_with_value(app->ctx, app->image, 255);
if (app->page_list || app->annotations_list)
{
@@ -914,7 +914,7 @@ static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repai
colorspace = fz_device_gray(app->ctx);
else
colorspace = app->colorspace;
- app->image = fz_new_pixmap_with_bbox(app->ctx, colorspace, &ibounds);
+ app->image = fz_new_pixmap_with_bbox(app->ctx, colorspace, &ibounds, app->image->alpha);
app->duration = 0;
new_trans = fz_page_presentation(app->ctx, app->page, &app->duration);
if (new_trans)