X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fglx%2Flament.c;h=97ce18b3378b27e6457a49c54dc6508036bd78e9;hp=777a5c648722f1c75c59b469efa5fca6df3d330f;hb=78add6e627ee5f10e1fa6f3852602ea5066eee5a;hpb=39809ded547bdbb08207d3e514950425215b4410 diff --git a/hacks/glx/lament.c b/hacks/glx/lament.c index 777a5c64..97ce18b3 100644 --- a/hacks/glx/lament.c +++ b/hacks/glx/lament.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1998-2014 Jamie Zawinski +/* xscreensaver, Copyright (c) 1998-2018 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -163,17 +163,12 @@ static argtype vars[] = { ENTRYPOINT ModeSpecOpt lament_opts = {countof(opts), opts, countof(vars), vars, NULL}; -#include "xpm-ximage.h" +#include "ximage-loader.h" #include "rotator.h" #include "gltrackball.h" #include "normals.h" -#ifdef __GNUC__ - __extension__ /* don't warn about "string length is greater than the length - ISO C89 compilers are required to support" when including - the following XPM file... */ -#endif -#include "../images/lament512.xpm" +#include "images/gen/lament512_png.h" #define RANDSIGN() ((random() & 1) ? 1 : -1) @@ -337,6 +332,12 @@ scale_for_window (ModeInfo *mi) # endif { GLfloat max = 500; /* 3" on my screen... */ + + if (MI_WIDTH(mi) > 2560) { /* Retina displays */ + target_size *= 2.5; + max *= 2.5; + } + if (target_size > max) target_size = max; } @@ -1576,10 +1577,8 @@ gl_init (ModeInfo *mi) for (i = 0; i < countof(lc->texids); i++) glGenTextures(1, &lc->texids[i]); - lc->texture = xpm_to_ximage (mi->dpy, - mi->xgwa.visual, - mi->xgwa.colormap, - lament512); + lc->texture = image_data_to_ximage (mi->dpy, mi->xgwa.visual, + lament512_png, sizeof(lament512_png)); glPixelStorei(GL_UNPACK_ALIGNMENT, 4); /* messes up -fps */ @@ -1593,10 +1592,8 @@ gl_init (ModeInfo *mi) clear_gl_error(); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, lc->texture->width, height, 0, - GL_RGBA, - /* GL_UNSIGNED_BYTE, */ - GL_UNSIGNED_INT_8_8_8_8_REV, - (lc->texture->data + + GL_RGBA, GL_UNSIGNED_BYTE, + (lc->texture->data + (lc->texture->bytes_per_line * height * i))); check_gl_error("texture");