summaryrefslogtreecommitdiffstats
path: root/hacks/xlockmore.c
diff options
context:
space:
mode:
authorSimon Rettberg2021-04-06 14:43:39 +0200
committerSimon Rettberg2021-04-07 13:38:37 +0200
commit38886de0c3e9ea5729ef23e4c653fa2822f52e8f (patch)
tree9b799c8c968a92cc77746a95e0e8bdd90b6b13c3 /hacks/xlockmore.c
parentMaybe not remove, but ... (diff)
downloadxscreensaver-openslx.tar.gz
xscreensaver-openslx.tar.xz
xscreensaver-openslx.zip
xscreensaver 6.00v28r1openslx
Diffstat (limited to 'hacks/xlockmore.c')
-rw-r--r--hacks/xlockmore.c42
1 files changed, 26 insertions, 16 deletions
diff --git a/hacks/xlockmore.c b/hacks/xlockmore.c
index 5ddf175..2b513dd 100644
--- a/hacks/xlockmore.c
+++ b/hacks/xlockmore.c
@@ -26,8 +26,6 @@
#include <assert.h>
#include <float.h>
-#define countof(x) (sizeof((x))/sizeof(*(x)))
-
#define MAX_COLORS (1L<<13)
extern struct xscreensaver_function_table *xscreensaver_function_table;
@@ -545,20 +543,6 @@ xlockmore_init (Display *dpy, Window window,
mi->pause = 0;
else if (mi->pause > 100000000)
mi->pause = 100000000;
-
- /* If this hack uses fonts (meaning, mentioned "font" in DEFAULTS)
- then load it. */
- {
- char *name = get_string_resource (dpy, "font", "Font");
- if (name)
- {
- XFontStruct *f = load_font_retry (dpy, name);
- if (!f) abort();
- XSetFont (dpy, mi->gc, f->fid);
- XFreeFont (dpy, f);
- free (name);
- }
- }
xlockmore_read_resources (mi);
@@ -579,6 +563,11 @@ xlockmore_clear (ModeInfo *mi)
static void
xlockmore_do_init (ModeInfo *mi)
{
+# ifdef HAVE_JWZGLES
+ if (mi->xlmft->jwzgles_make_current && mi->jwzgles_state)
+ mi->xlmft->jwzgles_make_current (mi->jwzgles_state);
+# endif
+
xlockmore_clear (mi);
mi->xlmft->hack_init (mi);
@@ -615,6 +604,11 @@ xlockmore_draw (Display *dpy, Window window, void *closure)
unsigned long orig_pause = mi->pause;
unsigned long this_pause;
+# ifdef HAVE_JWZGLES
+ if (mi->xlmft->jwzgles_make_current && mi->jwzgles_state)
+ mi->xlmft->jwzgles_make_current (mi->jwzgles_state);
+# endif
+
if (mi->needs_clear) {
/* OpenGL hacks never get here. */
if (!mi->is_drawn) {
@@ -677,6 +671,12 @@ static Bool
xlockmore_event (Display *dpy, Window window, void *closure, XEvent *event)
{
ModeInfo *mi = (ModeInfo *) closure;
+
+# ifdef HAVE_JWZGLES
+ if (mi->xlmft->jwzgles_make_current && mi->jwzgles_state)
+ mi->xlmft->jwzgles_make_current (mi->jwzgles_state);
+# endif
+
if (mi) {
if (mi->xlmft->hack_handle_events) {
xlockmore_check_init (mi);
@@ -712,6 +712,11 @@ xlockmore_free (Display *dpy, Window window, void *closure)
{
ModeInfo *mi = (ModeInfo *) closure;
+# ifdef HAVE_JWZGLES
+ if (mi->xlmft->jwzgles_make_current && mi->jwzgles_state)
+ mi->xlmft->jwzgles_make_current (mi->jwzgles_state);
+# endif
+
if (mi->eraser)
eraser_free (mi->eraser);
@@ -736,6 +741,11 @@ xlockmore_free (Display *dpy, Window window, void *closure)
free (mi->colors);
free (mi->pixels);
+# ifdef HAVE_JWZGLES
+ if (mi->xlmft->jwzgles_free)
+ mi->xlmft->jwzgles_free();
+# endif /* HAVE_JWZGLES */
+
free (mi);
}