X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fglx%2Fglslideshow.c;h=64b1494cbfd15532d542e79f54b6c42671f319f2;hb=39809ded547bdbb08207d3e514950425215b4410;hp=bf5f87d22428cbb761a29bf450b899404af1391c;hpb=6afd6db0ae9396cd7ff897ade597cd5483f49b0e;p=xscreensaver diff --git a/hacks/glx/glslideshow.c b/hacks/glx/glslideshow.c index bf5f87d2..64b1494c 100644 --- a/hacks/glx/glslideshow.c +++ b/hacks/glx/glslideshow.c @@ -73,12 +73,12 @@ "*showFPS: False \n" \ "*fpsSolid: True \n" \ "*useSHM: True \n" \ - "*titleFont: -*-helvetica-medium-r-normal-*-180-*\n" \ + "*titleFont: -*-helvetica-medium-r-normal-*-*-180-*-*-*-*-*-*\n" \ "*desktopGrabber: xscreensaver-getimage -no-desktop %s\n" \ "*grabDesktopImages: False \n" \ "*chooseRandomImages: True \n" -# define refresh_slideshow 0 +# define free_slideshow 0 # define release_slideshow 0 # include "xlockmore.h" @@ -99,7 +99,7 @@ # define DEF_MIPMAP "True" #include "grab-ximage.h" -#include "glxfonts.h" +#include "texfont.h" typedef struct { double x, y, w, h; @@ -226,7 +226,7 @@ ENTRYPOINT ModeSpecOpt slideshow_opts = {countof(opts), opts, countof(vars), var static const char * blurb (void) { -# ifdef HAVE_COCOA +# ifdef HAVE_JWXYZ return "GLSlideshow"; # else static char buf[255]; @@ -806,19 +806,13 @@ draw_sprite (ModeInfo *mi, sprite *sp) if (do_titles && - img->title && *img->title) + img->title && *img->title && + (sp->state == IN || sp->state == FULL)) { - int x = 10; - int y = mi->xgwa.height - 10; - glColor4f (0, 0, 0, sp->opacity); /* cheap-assed dropshadow */ - print_gl_string (mi->dpy, ss->font_data, - mi->xgwa.width, mi->xgwa.height, x, y, - img->title, False); - x++; y++; glColor4f (1, 1, 1, sp->opacity); - print_gl_string (mi->dpy, ss->font_data, - mi->xgwa.width, mi->xgwa.height, x, y, - img->title, False); + print_texture_label (mi->dpy, ss->font_data, + mi->xgwa.width, mi->xgwa.height, + 1, img->title); } } glPopMatrix(); @@ -873,6 +867,7 @@ draw_sprites (ModeInfo *mi) glPushMatrix(); +/* { GLfloat rot = current_device_rotation(); glTranslatef (0.5, 0.5, 0); @@ -885,6 +880,7 @@ draw_sprites (ModeInfo *mi) } glTranslatef (-0.5, -0.5, 0); } +*/ for (i = 0; i < ss->nsprites; i++) draw_sprite (mi, ss->sprites[i]); @@ -917,6 +913,7 @@ reshape_slideshow (ModeInfo *mi, int width, int height) glViewport (0, 0, width, height); glMatrixMode (GL_PROJECTION); glLoadIdentity(); + glRotatef (current_device_rotation(), 0, 0, 1); glMatrixMode (GL_MODELVIEW); glLoadIdentity(); @@ -999,7 +996,7 @@ sanity_check (ModeInfo *mi) static void check_fps (ModeInfo *mi) { -#ifndef HAVE_COCOA /* always assume Cocoa is fast enough */ +#ifndef HAVE_JWXYZ /* always assume Cocoa and mobile are fast enough */ slideshow_state *ss = &sss[MI_SCREEN(mi)]; @@ -1051,7 +1048,7 @@ check_fps (ModeInfo *mi) /* Need this in case zoom changed. */ reshape_slideshow (mi, mi->xgwa.width, mi->xgwa.height); -#endif /* HAVE_COCOA */ +#endif /* HAVE_JWXYZ */ } @@ -1082,11 +1079,7 @@ init_slideshow (ModeInfo *mi) slideshow_state *ss; int wire = MI_IS_WIREFRAME(mi); - if (sss == NULL) { - if ((sss = (slideshow_state *) - calloc (MI_NUM_SCREENS(mi), sizeof(slideshow_state))) == NULL) - return; - } + MI_INIT (mi, sss); ss = &sss[screen]; if ((ss->glx_context = init_GL(mi)) != NULL) {