-/* xscreensaver, Copyright (c) 1998-2014 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1998-2018 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
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)
# 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;
}
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 */
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");