-/* carousel, Copyright (c) 2005-2014 Jamie Zawinski <jwz@jwz.org>
+/* carousel, Copyright (c) 2005-2015 Jamie Zawinski <jwz@jwz.org>
* Loads a sequence of images and rotates them around.
*
* Permission to use, copy, modify, distribute, and sell this software and its
* Created: 21-Feb-2005
*/
-#define DEF_FONT "-*-helvetica-bold-r-normal-*-240-*"
+#define DEF_FONT "-*-helvetica-bold-r-normal-*-*-240-*-*-*-*-*-*"
#define DEFAULTS "*count: 7 \n" \
"*delay: 10000 \n" \
"*wireframe: False \n" \
#include "grab-ximage.h"
#include "texfont.h"
-# ifndef HAVE_COCOA
+# ifndef HAVE_JWXYZ
# include <X11/Intrinsic.h> /* for XrmDatabase in -debug mode */
# endif
static void
hack_resources (Display *dpy)
{
-# ifndef HAVE_COCOA
+# ifndef HAVE_JWXYZ
char *res = "desktopGrabber";
char *val = get_string_resource (dpy, res, "DesktopGrabber");
char buf1[255];
value.addr = buf2;
value.size = strlen(buf2);
XrmPutResource (&db, buf1, "String", &value);
-# endif /* !HAVE_COCOA */
+# endif /* !HAVE_JWXYZ */
}
sprintf (text, "Loading images... (%d%%)",
(int) (n * 100 / MI_COUNT(mi)));
- if (ss->loading_sw == 0) /* only do this once, so that the string doesn't move. */
- ss->loading_sw = texture_string_width (ss->texfont, text, &ss->loading_sh);
+ if (ss->loading_sw == 0)
+ {
+ /* only do this once, so that the string doesn't move. */
+ XCharStruct e;
+ texture_string_metrics (ss->texfont, text, &e, 0, 0);
+ ss->loading_sw = e.width;
+ ss->loading_sh = e.ascent + e.descent;
+ }
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glLoadIdentity();
+/*
{
double rot = current_device_rotation();
glRotatef(rot, 0, 0, 1);
glScalef (s, 1/s, 1);
}
}
+*/
- if (MI_WIDTH(mi) < MI_HEIGHT(mi)) /* USE_IPHONE portrait orientation */
+# ifdef HAVE_MOBILE
+ if (MI_WIDTH(mi) < MI_HEIGHT(mi)) /* portrait orientation */
{
GLfloat s = (MI_WIDTH(mi) / (GLfloat) MI_HEIGHT(mi));
glScalef (s, s, s);
glTranslatef(-s/2, 0, 0);
}
+# endif
glOrtho(0, MI_WIDTH(mi), 0, MI_HEIGHT(mi), -1, 1);
glTranslatef ((MI_WIDTH(mi) - ss->loading_sw) / 2,
carousel_state *ss;
int wire = MI_IS_WIREFRAME(mi);
- if (sss == NULL) {
- if ((sss = (carousel_state *)
- calloc (MI_NUM_SCREENS(mi), sizeof(carousel_state))) == NULL)
- return;
- }
+ MI_INIT (mi, sss, NULL);
ss = &sss[screen];
if ((ss->glx_context = init_GL(mi)) != NULL) {
}
else /* Draw a title under the image. */
{
+ XCharStruct e;
int sw, sh;
GLfloat scale = 0.05;
char *title = frame->current.title ? frame->current.title : "(untitled)";
- sw = texture_string_width (ss->texfont, title, &sh);
+ texture_string_metrics (ss->texfont, title, &e, 0, 0);
+ sw = e.width;
+ sh = e.ascent + e.descent;
glTranslatef (0, -scale, 0);