X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fglx%2Fglslideshow.c;h=992d75cbbea974029b05b8ec1ba7c9e6dff40338;hb=d5186197bc394e10a4402f7f6d23fbb14103bc50;hp=5b48a383936ce7a42acfb0027e14969e99ad311f;hpb=f8cf5ac7b2f53510f80a0eaf286a25298be17bfe;p=xscreensaver diff --git a/hacks/glx/glslideshow.c b/hacks/glx/glslideshow.c index 5b48a383..992d75cb 100644 --- a/hacks/glx/glslideshow.c +++ b/hacks/glx/glslideshow.c @@ -1,4 +1,4 @@ -/* glslideshow, Copyright (c) 2003-2012 Jamie Zawinski +/* glslideshow, Copyright (c) 2003-2014 Jamie Zawinski * Loads a sequence of images and smoothly pans around them; crossfades * when loading new images. * @@ -73,7 +73,7 @@ "*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" @@ -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; @@ -160,12 +160,7 @@ typedef struct { Bool checked_fps_p; /* Whether we have checked for a low frame rate. */ -# ifdef HAVE_GLBITMAP - XFontStruct *xfont; /* for printing image file names */ - GLuint font_dlist; -# else - texture_font_data *font_data; -# endif + texture_font_data *font_data; /* for printing image file names */ int sprite_id, image_id; /* debugging id counters */ @@ -811,29 +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, -# ifdef HAVE_GLBITMAP - ss->xfont, ss->font_dlist, -# else - ss->font_data, -# endif - mi->xgwa.width, mi->xgwa.height, x, y, - img->title, False); - x++; y++; glColor4f (1, 1, 1, sp->opacity); - print_gl_string (mi->dpy, -# ifdef HAVE_GLBITMAP - ss->xfont, ss->font_dlist, -# else - ss->font_data, -# endif - 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(); @@ -957,24 +936,7 @@ slideshow_handle_event (ModeInfo *mi, XEvent *event) { slideshow_state *ss = &sss[MI_SCREEN(mi)]; - if (event->xany.type == ButtonPress && - event->xbutton.button == Button1) - { - ss->change_now_p = True; - return True; - } - else if (event->xany.type == KeyPress) - { - KeySym keysym; - char c = 0; - XLookupString (&event->xkey, &c, 1, &keysym, 0); - if (c == ' ' || c == '\r' || c == '\n' || c == '\t') - { - ss->change_now_p = True; - return True; - } - } - else if (event->xany.type == Expose || + if (event->xany.type == Expose || event->xany.type == GraphicsExpose || event->xany.type == VisibilityNotify) { @@ -983,6 +945,11 @@ slideshow_handle_event (ModeInfo *mi, XEvent *event) fprintf (stderr, "%s: exposure\n", blurb()); return False; } + else if (screenhack_event_helper (MI_DISPLAY(mi), MI_WINDOW(mi), event)) + { + ss->change_now_p = True; + return True; + } return False; } @@ -1148,11 +1115,7 @@ init_slideshow (ModeInfo *mi) if (debug_p) glLineWidth (3); -#ifdef HAVE_GLBITMAP - load_font (mi->dpy, "titleFont", &ss->xfont, &ss->font_dlist); -#else - ss->font_data = load_texture_font (mi->dpy, "Font"); -#endif + ss->font_data = load_texture_font (mi->dpy, "titleFont"); if (debug_p) hack_resources();