From d5186197bc394e10a4402f7f6d23fbb14103bc50 Mon Sep 17 00:00:00 2001 From: Zygo Blaxell Date: Sun, 16 Nov 2014 01:50:59 -0500 Subject: [PATCH] From http://www.jwz.org/xscreensaver/xscreensaver-5.31.tar.gz -rw-r--r-- 1 zblaxell zblaxell 10569562 Nov 15 18:51 xscreensaver-5.31.tar.gz 1b023a3b01f1f23aa136d13c37f79c0c01c3f1e6 xscreensaver-5.31.tar.gz --- Makefile.in | 11 +- OSX/Makefile | 12 +- OSX/README | 15 +- OSX/SaverListController.h | 6 +- OSX/SaverListController.m | 109 +- OSX/SaverRunner.h | 14 +- OSX/SaverRunner.m | 201 +- OSX/SaverRunner.plist | 10 +- OSX/Updater.plist | 10 +- OSX/XScreenSaver.plist | 4 +- OSX/XScreenSaverConfigSheet.m | 330 +- OSX/XScreenSaverGLView.m | 40 +- OSX/XScreenSaverView.h | 12 +- OSX/XScreenSaverView.m | 259 +- OSX/bindist.rtf | 4 +- OSX/build-fntable.pl | 80 +- OSX/iSaverRunner.plist | 80 +- OSX/iSaverRunner29t.png | Bin 906 -> 0 bytes OSX/iSaverRunner57t.png | Bin 0 -> 1763 bytes OSX/installer.sh | 19 +- OSX/ios-function-table.m | 8 +- OSX/iosgrabimage.m | 2 +- OSX/jwxyz.h | 33 +- OSX/jwxyz.m | 344 +- OSX/update-thumbnail.pl | 5 +- OSX/updates.xml | 33 +- OSX/xscreensaver.xcconfig | 7 + README | 16 + android/Makefile | 28 + android/XScreenSaverGLView.c | 79 + android/XScreenSaverView.c | 175 + android/glue.c | 323 ++ android/jwxyz-timers.h | 28 + android/jwxyz.c | 432 +++ android/jwxyz.h | 4 + .../GLWallpaperService/AndroidManifest.xml | 12 + android/project/GLWallpaperService/LICENSE | 202 ++ android/project/GLWallpaperService/NOTICE | 21 + android/project/GLWallpaperService/build.xml | 92 + .../GLWallpaperService/default.properties | 12 + .../GLWallpaperService/local.properties | 10 + .../GLWallpaperService/project.properties | 15 + .../GLWallpaperService/readme-contribute.txt | 127 + android/project/GLWallpaperService/readme.txt | 41 + .../res/drawable-hdpi/icon.png | Bin 0 -> 4147 bytes .../res/drawable-ldpi/icon.png | Bin 0 -> 1723 bytes .../res/drawable-mdpi/icon.png | Bin 0 -> 2574 bytes .../GLWallpaperService/res/layout/main.xml | 12 + .../GLWallpaperService/res/values/strings.xml | 5 + .../GLWallpaperService.java | 357 ++ .../project/xscreensaver/AndroidManifest.xml | 48 + android/project/xscreensaver/build.xml | 92 + android/project/xscreensaver/jni/Android.mk | 46 + .../project/xscreensaver/jni/Application.mk | 8 + android/project/xscreensaver/jni/xscreensaver | 1 + android/project/xscreensaver/local.properties | 10 + .../project/xscreensaver/project.properties | 15 + .../xscreensaver/res/drawable-hdpi/icon.png | Bin 0 -> 4147 bytes .../xscreensaver/res/drawable-ldpi/icon.png | Bin 0 -> 1723 bytes .../xscreensaver/res/drawable-mdpi/icon.png | Bin 0 -> 2574 bytes .../xscreensaver/res/drawable/hilbert.png | Bin 0 -> 435486 bytes .../xscreensaver/res/drawable/sproingies.png | Bin 0 -> 50583 bytes .../xscreensaver/res/drawable/stonerview.png | Bin 0 -> 20471 bytes .../res/drawable/superquadrics.png | Bin 0 -> 168281 bytes .../xscreensaver/res/drawable/thumbnail.png | Bin 0 -> 20471 bytes .../project/xscreensaver/res/layout/main.xml | 12 + .../xscreensaver/res/values/settings.xml | 90 + .../xscreensaver/res/values/strings.xml | 34 + .../xscreensaver/res/xml/glwallpapertest.xml | 4 + .../project/xscreensaver/res/xml/hilbert.xml | 5 + .../xscreensaver/res/xml/hilbert_settings.xml | 13 + .../xscreensaver/res/xml/sproingies.xml | 5 + .../res/xml/sproingies_settings.xml | 13 + .../xscreensaver/res/xml/stonerview.xml | 22 + .../res/xml/stonerview_settings.xml | 32 + .../xscreensaver/res/xml/superquadrics.xml | 22 + .../res/xml/superquadrics_settings.xml | 32 + .../src/org/jwz/xscreensaver/ARenderer.java | 132 + .../org/jwz/xscreensaver/BufferFactory.java | 46 + .../src/org/jwz/xscreensaver/CallNative.java | 25 + .../org/jwz/xscreensaver/XscreensaverApp.java | 18 + .../jwz/xscreensaver/gen/HilbertService.java | 49 + .../jwz/xscreensaver/gen/HilbertSettings.java | 30 + .../xscreensaver/gen/HilbertWallpaper.java | 36 + .../xscreensaver/gen/SproingiesService.java | 49 + .../xscreensaver/gen/SproingiesSettings.java | 30 + .../xscreensaver/gen/SproingiesWallpaper.java | 35 + .../xscreensaver/gen/StonerviewService.java | 60 + .../xscreensaver/gen/StonerviewSettings.java | 53 + .../xscreensaver/gen/StonerviewWallpaper.java | 50 + .../gen/SuperquadricsService.java | 60 + .../gen/SuperquadricsSettings.java | 53 + .../gen/SuperquadricsWallpaper.java | 50 + config.h.in | 15 + configure | 518 ++- configure.in | 167 +- driver/Makefile.in | 2 +- driver/XScreenSaver.ad.in | 13 +- driver/XScreenSaver_ad.h | 11 +- driver/demo-Gtk-conf.c | 7 +- driver/windows.c | 4 +- driver/xscreensaver-demo.glade2.in | 3136 +++++++++++++++++ driver/xscreensaver-text | 200 +- driver/xscreensaver.c | 2 +- hacks/Makefile.in | 66 +- hacks/abstractile.c | 4 +- hacks/analogtv.c | 24 +- hacks/apple2-main.c | 101 +- hacks/binaryring.c | 587 +++ hacks/binaryring.man | 88 + hacks/blitspin.c | 6 +- hacks/bumps.c | 6 +- hacks/check-configs.pl | 16 +- hacks/compile_axp.com | 2 + hacks/compile_decc.com | 2 + hacks/config/README | 10 +- hacks/config/abstractile.xml | 2 + hacks/config/anemone.xml | 2 + hacks/config/anemotaxis.xml | 2 + hacks/config/ant.xml | 2 + hacks/config/antinspect.xml | 2 + hacks/config/antmaze.xml | 2 + hacks/config/antspotlight.xml | 2 + hacks/config/apollonian.xml | 2 + hacks/config/apple2.xml | 4 +- hacks/config/atlantis.xml | 2 + hacks/config/attraction.xml | 2 + hacks/config/atunnel.xml | 2 + hacks/config/barcode.xml | 4 +- hacks/config/binaryring.xml | 31 + hacks/config/blaster.xml | 2 + hacks/config/blinkbox.xml | 2 + hacks/config/blitspin.xml | 2 + hacks/config/blocktube.xml | 2 + hacks/config/boing.xml | 2 + hacks/config/bouboule.xml | 2 + hacks/config/bouncingcow.xml | 2 + hacks/config/boxed.xml | 2 + hacks/config/boxfit.xml | 2 + hacks/config/braid.xml | 2 + hacks/config/bsod.xml | 2 + hacks/config/bubble3d.xml | 2 + hacks/config/bubbles.xml | 2 + hacks/config/bumps.xml | 2 + hacks/config/cage.xml | 2 + hacks/config/carousel.xml | 2 + hacks/config/ccurve.xml | 2 + hacks/config/celtic.xml | 2 + hacks/config/circuit.xml | 2 + hacks/config/cityflow.xml | 55 + hacks/config/cloudlife.xml | 2 + hacks/config/companioncube.xml | 2 + hacks/config/compass.xml | 2 + hacks/config/coral.xml | 2 + hacks/config/crackberg.xml | 2 + hacks/config/critical.xml | 2 + hacks/config/crystal.xml | 2 + hacks/config/cube21.xml | 2 + hacks/config/cubenetic.xml | 2 + hacks/config/cubestorm.xml | 2 + hacks/config/cubicgrid.xml | 2 + hacks/config/cwaves.xml | 2 + hacks/config/cynosure.xml | 2 + hacks/config/dangerball.xml | 2 + hacks/config/decayscreen.xml | 2 + hacks/config/deco.xml | 2 + hacks/config/deluxe.xml | 2 + hacks/config/demon.xml | 2 + hacks/config/discrete.xml | 2 + hacks/config/distort.xml | 2 + hacks/config/dnalogo.xml | 2 + hacks/config/drift.xml | 2 + hacks/config/endgame.xml | 4 +- hacks/config/engine.xml | 4 +- hacks/config/epicycle.xml | 2 + hacks/config/eruption.xml | 2 + hacks/config/euler2d.xml | 2 + hacks/config/extrusion.xml | 2 + hacks/config/fadeplot.xml | 2 + hacks/config/fiberlamp.xml | 2 + hacks/config/fireworkx.xml | 2 + hacks/config/flag.xml | 2 + hacks/config/flame.xml | 2 + hacks/config/flipflop.xml | 2 + hacks/config/flipscreen3d.xml | 2 + hacks/config/fliptext.xml | 2 + hacks/config/flow.xml | 2 + hacks/config/fluidballs.xml | 2 + hacks/config/flurry.xml | 2 + hacks/config/flyingtoasters.xml | 2 + hacks/config/fontglide.xml | 2 + hacks/config/forest.xml | 2 + hacks/config/fuzzyflakes.xml | 2 + hacks/config/galaxy.xml | 2 + hacks/config/gears.xml | 2 + hacks/config/geodesic.xml | 2 + hacks/config/geodesicgears.xml | 40 + hacks/config/gflux.xml | 2 + hacks/config/glblur.xml | 2 + hacks/config/glcells.xml | 2 + hacks/config/gleidescope.xml | 2 + hacks/config/glforestfire.xml | 2 + hacks/config/glhanoi.xml | 2 + hacks/config/glknots.xml | 2 + hacks/config/glmatrix.xml | 2 + hacks/config/glplanet.xml | 5 +- hacks/config/glschool.xml | 4 +- hacks/config/glslideshow.xml | 2 + hacks/config/glsnake.xml | 2 + hacks/config/gltext.xml | 2 + hacks/config/goop.xml | 2 + hacks/config/grav.xml | 2 + hacks/config/greynetic.xml | 2 + hacks/config/halftone.xml | 2 + hacks/config/halo.xml | 2 + hacks/config/helix.xml | 2 + hacks/config/hexadrop.xml | 2 + hacks/config/hilbert.xml | 2 + hacks/config/hopalong.xml | 2 + hacks/config/hyperball.xml | 2 + hacks/config/hypercube.xml | 2 + hacks/config/hypertorus.xml | 2 + hacks/config/hypnowheel.xml | 2 + hacks/config/ifs.xml | 2 + hacks/config/imsmap.xml | 2 + hacks/config/interaggregate.xml | 2 + hacks/config/interference.xml | 2 + hacks/config/intermomentary.xml | 2 + hacks/config/jigglypuff.xml | 2 + hacks/config/jigsaw.xml | 2 + hacks/config/juggle.xml | 2 + hacks/config/juggler3d.xml | 2 + hacks/config/julia.xml | 2 + hacks/config/kaleidescope.xml | 2 + hacks/config/kaleidocycle.xml | 2 + hacks/config/klein.xml | 2 + hacks/config/kumppa.xml | 2 + hacks/config/lament.xml | 2 + hacks/config/laser.xml | 2 + hacks/config/lavalite.xml | 2 + hacks/config/lcdscrub.xml | 2 + hacks/config/lightning.xml | 2 + hacks/config/lisa.xml | 2 + hacks/config/lissie.xml | 2 + hacks/config/lmorph.xml | 2 + hacks/config/lockward.xml | 4 +- hacks/config/loop.xml | 2 + hacks/config/m6502.xml | 4 +- hacks/config/maze.xml | 2 + hacks/config/memscroller.xml | 2 + hacks/config/menger.xml | 2 + hacks/config/metaballs.xml | 2 + hacks/config/mirrorblob.xml | 2 + hacks/config/mismunch.xml | 2 + hacks/config/moebius.xml | 2 + hacks/config/moebiusgears.xml | 2 + hacks/config/moire.xml | 2 + hacks/config/moire2.xml | 2 + hacks/config/molecule.xml | 2 + hacks/config/morph3d.xml | 2 + hacks/config/mountain.xml | 2 + hacks/config/munch.xml | 2 + hacks/config/nerverot.xml | 2 + hacks/config/noof.xml | 2 + hacks/config/noseguy.xml | 2 + hacks/config/pacman.xml | 4 +- hacks/config/pedal.xml | 2 + hacks/config/penetrate.xml | 2 + hacks/config/penrose.xml | 2 + hacks/config/petri.xml | 2 + hacks/config/phosphor.xml | 2 + hacks/config/photopile.xml | 4 +- hacks/config/piecewise.xml | 2 + hacks/config/pinion.xml | 2 + hacks/config/pipes.xml | 4 +- hacks/config/polyhedra.xml | 2 + hacks/config/polyominoes.xml | 2 + hacks/config/polytopes.xml | 2 + hacks/config/pong.xml | 4 +- hacks/config/popsquares.xml | 2 + hacks/config/projectiveplane.xml | 82 +- hacks/config/providence.xml | 2 + hacks/config/pulsar.xml | 2 + hacks/config/pyro.xml | 2 + hacks/config/qix.xml | 2 + hacks/config/quasicrystal.xml | 2 + hacks/config/queens.xml | 4 +- hacks/config/rd-bomb.xml | 2 + hacks/config/ripples.xml | 2 + hacks/config/rocks.xml | 2 + hacks/config/rorschach.xml | 2 + hacks/config/rotor.xml | 2 + hacks/config/rotzoomer.xml | 2 + hacks/config/rubik.xml | 2 + hacks/config/rubikblocks.xml | 2 + hacks/config/sballs.xml | 2 + hacks/config/shadebobs.xml | 2 + hacks/config/sierpinski.xml | 2 + hacks/config/sierpinski3d.xml | 2 + hacks/config/skytentacles.xml | 2 + hacks/config/slidescreen.xml | 2 + hacks/config/slip.xml | 2 + hacks/config/sonar.xml | 2 + hacks/config/speedmine.xml | 2 + hacks/config/sphere.xml | 2 + hacks/config/spheremonics.xml | 2 + hacks/config/spiral.xml | 2 + hacks/config/spotlight.xml | 2 + hacks/config/sproingies.xml | 2 + hacks/config/squiral.xml | 2 + hacks/config/stairs.xml | 4 +- hacks/config/starfish.xml | 2 + hacks/config/starwars.xml | 2 + hacks/config/stonerview.xml | 2 + hacks/config/strange.xml | 2 + hacks/config/substrate.xml | 4 + hacks/config/superquadrics.xml | 2 + hacks/config/surfaces.xml | 2 + hacks/config/swirl.xml | 2 + hacks/config/t3d.xml | 2 + hacks/config/tangram.xml | 2 + hacks/config/tessellimage.xml | 2 + hacks/config/thornbird.xml | 2 + hacks/config/timetunnel.xml | 2 + hacks/config/topblock.xml | 2 + hacks/config/triangle.xml | 2 + hacks/config/tronbit.xml | 2 + hacks/config/truchet.xml | 2 + hacks/config/twang.xml | 2 + hacks/config/unknownpleasures.xml | 2 + hacks/config/vermiculate.xml | 2 + hacks/config/vidwhacker.xml | 2 + hacks/config/vines.xml | 2 + hacks/config/voronoi.xml | 2 + hacks/config/wander.xml | 2 + hacks/config/webcollage.xml | 2 + hacks/config/whirlwindwarp.xml | 2 + hacks/config/whirlygig.xml | 2 + hacks/config/winduprobot.xml | 2 + hacks/config/worm.xml | 2 + hacks/config/wormhole.xml | 2 + hacks/config/xanalogtv.xml | 2 + hacks/config/xflame.xml | 2 + hacks/config/xjack.xml | 2 + hacks/config/xlyap.xml | 2 + hacks/config/xmatrix.xml | 2 + hacks/config/xrayswarm.xml | 2 + hacks/config/xspirograph.xml | 2 + hacks/config/zoom.xml | 2 + hacks/decayscreen.c | 6 +- hacks/distort.c | 6 +- hacks/flame.c | 2 +- hacks/fontglide.c | 962 ++--- hacks/fpsI.h | 4 - hacks/fuzzyflakes.man | 2 +- hacks/glx/Makefile.in | 160 +- hacks/glx/carousel.c | 2 +- hacks/glx/circuit.c | 333 +- hacks/glx/cityflow.c | 544 +++ hacks/glx/cityflow.man | 77 + hacks/glx/crackberg.c | 13 + hacks/glx/cubestorm.c | 3 +- hacks/glx/engine.c | 14 +- hacks/glx/fliptext.c | 17 +- hacks/glx/font-ximage.c | 256 -- hacks/glx/font-ximage.h | 30 - hacks/glx/fps-gl.c | 29 +- hacks/glx/gears.c | 3 +- hacks/glx/geodesicgears.c | 1783 ++++++++++ hacks/glx/geodesicgears.man | 78 + hacks/glx/glknots.c | 8 +- hacks/glx/gllist.h | 5 +- hacks/glx/glmatrix.c | 4 + hacks/glx/glplanet.c | 350 +- hacks/glx/glplanet.man | 4 - hacks/glx/glslideshow.c | 20 +- hacks/glx/glsnake.c | 12 +- hacks/glx/gltext.c | 57 +- hacks/glx/gltext.man | 11 +- hacks/glx/gltrackball.c | 9 +- hacks/glx/glxfonts.c | 237 -- hacks/glx/glxfonts.h | 36 - hacks/glx/involute.c | 282 +- hacks/glx/involute.h | 5 +- hacks/glx/jigsaw.c | 2 +- hacks/glx/juggler3d.c | 15 +- hacks/glx/jwzgles.c | 11 +- hacks/glx/lament.c | 7 +- hacks/glx/lockward.c | 118 +- hacks/glx/moebiusgears.c | 227 +- hacks/glx/molecule.c | 127 +- hacks/glx/photopile.c | 6 +- hacks/glx/pinion.c | 34 +- hacks/glx/polyhedra-gl.c | 123 +- hacks/glx/quasicrystal.c | 46 +- hacks/glx/sonar.c | 239 +- hacks/glx/sphere.c | 5 +- hacks/glx/spheremonics.c | 11 +- hacks/glx/sproingies.c | 2 +- hacks/glx/starwars.c | 211 +- hacks/glx/stonerview-move.c | 32 +- hacks/glx/stonerview-move.h | 6 +- hacks/glx/stonerview-view.c | 20 +- hacks/glx/stonerview.h | 8 - hacks/glx/tangram.c | 49 +- hacks/glx/texfont.c | 956 +++-- hacks/glx/texfont.h | 11 + hacks/glx/tronbit.c | 7 +- hacks/glx/tube.c | 5 +- hacks/glx/winduprobot.c | 120 +- hacks/glx/xlock-gl-utils.c | 2 +- hacks/images/earth.xpm | 905 +++-- hacks/images/earth_night.xpm | 610 ++++ hacks/ljlatest | 17 - hacks/memscroller.c | 19 +- hacks/munge-ad.pl | 44 +- hacks/noseguy.c | 63 +- hacks/phosphor.c | 169 +- hacks/rd-bomb.c | 4 +- hacks/recanim.c | 319 ++ hacks/recanim.h | 27 + hacks/ripples.c | 8 +- hacks/rotzoomer.c | 8 +- hacks/screenhack.c | 49 +- hacks/screenhackI.h | 4 +- hacks/slidescreen.c | 10 +- hacks/spotlight.c | 15 +- hacks/starfish.c | 4 +- hacks/substrate.c | 22 +- hacks/tessellimage.c | 11 + hacks/twang.c | 18 +- hacks/webcollage | 90 +- hacks/webcollage-cocoa.m | 18 +- hacks/webcollage-helper-cocoa.m | 12 +- hacks/whirlwindwarp.c | 3 +- hacks/xlockmore.c | 12 +- hacks/xlockmore.h | 8 +- hacks/xlockmoreI.h | 6 +- hacks/xmatrix.c | 3 +- hacks/xml2man.pl | 3 +- hacks/zoom.c | 15 +- po/POTFILES.in | 5 +- setup.com | 1 + utils/Makefile.in | 13 +- utils/async_netdb.c | 449 +++ utils/async_netdb.h | 211 ++ utils/compile_axp.com | 3 + utils/compile_decc.com | 3 + utils/grabclient.c | 40 +- utils/resources.c | 6 +- utils/textclient.c | 47 +- utils/thread_util.c | 198 +- utils/thread_util.h | 150 +- utils/utf8wc.c | 827 +++++ utils/utf8wc.h | 36 + utils/utils.h | 6 +- utils/version.h | 2 +- utils/xft.c | 339 ++ utils/xft.h | 145 + xscreensaver.spec | 2 +- xscreensaver.xcodeproj/project.pbxproj | 635 +++- 461 files changed, 20037 insertions(+), 3944 deletions(-) delete mode 100644 OSX/iSaverRunner29t.png create mode 100644 OSX/iSaverRunner57t.png create mode 100644 OSX/xscreensaver.xcconfig create mode 100644 android/Makefile create mode 100644 android/XScreenSaverGLView.c create mode 100644 android/XScreenSaverView.c create mode 100644 android/glue.c create mode 100644 android/jwxyz-timers.h create mode 100644 android/jwxyz.c create mode 100644 android/jwxyz.h create mode 100644 android/project/GLWallpaperService/AndroidManifest.xml create mode 100644 android/project/GLWallpaperService/LICENSE create mode 100644 android/project/GLWallpaperService/NOTICE create mode 100644 android/project/GLWallpaperService/build.xml create mode 100644 android/project/GLWallpaperService/default.properties create mode 100644 android/project/GLWallpaperService/local.properties create mode 100644 android/project/GLWallpaperService/project.properties create mode 100644 android/project/GLWallpaperService/readme-contribute.txt create mode 100644 android/project/GLWallpaperService/readme.txt create mode 100644 android/project/GLWallpaperService/res/drawable-hdpi/icon.png create mode 100644 android/project/GLWallpaperService/res/drawable-ldpi/icon.png create mode 100644 android/project/GLWallpaperService/res/drawable-mdpi/icon.png create mode 100644 android/project/GLWallpaperService/res/layout/main.xml create mode 100644 android/project/GLWallpaperService/res/values/strings.xml create mode 100644 android/project/GLWallpaperService/src/net/rbgrn/android/glwallpaperservice/GLWallpaperService.java create mode 100644 android/project/xscreensaver/AndroidManifest.xml create mode 100644 android/project/xscreensaver/build.xml create mode 100644 android/project/xscreensaver/jni/Android.mk create mode 100644 android/project/xscreensaver/jni/Application.mk create mode 120000 android/project/xscreensaver/jni/xscreensaver create mode 100644 android/project/xscreensaver/local.properties create mode 100644 android/project/xscreensaver/project.properties create mode 100644 android/project/xscreensaver/res/drawable-hdpi/icon.png create mode 100644 android/project/xscreensaver/res/drawable-ldpi/icon.png create mode 100644 android/project/xscreensaver/res/drawable-mdpi/icon.png create mode 100644 android/project/xscreensaver/res/drawable/hilbert.png create mode 100644 android/project/xscreensaver/res/drawable/sproingies.png create mode 100644 android/project/xscreensaver/res/drawable/stonerview.png create mode 100644 android/project/xscreensaver/res/drawable/superquadrics.png create mode 100644 android/project/xscreensaver/res/drawable/thumbnail.png create mode 100644 android/project/xscreensaver/res/layout/main.xml create mode 100644 android/project/xscreensaver/res/values/settings.xml create mode 100644 android/project/xscreensaver/res/values/strings.xml create mode 100644 android/project/xscreensaver/res/xml/glwallpapertest.xml create mode 100644 android/project/xscreensaver/res/xml/hilbert.xml create mode 100644 android/project/xscreensaver/res/xml/hilbert_settings.xml create mode 100644 android/project/xscreensaver/res/xml/sproingies.xml create mode 100644 android/project/xscreensaver/res/xml/sproingies_settings.xml create mode 100644 android/project/xscreensaver/res/xml/stonerview.xml create mode 100644 android/project/xscreensaver/res/xml/stonerview_settings.xml create mode 100644 android/project/xscreensaver/res/xml/superquadrics.xml create mode 100644 android/project/xscreensaver/res/xml/superquadrics_settings.xml create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/ARenderer.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/BufferFactory.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/CallNative.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/XscreensaverApp.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/gen/HilbertService.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/gen/HilbertSettings.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/gen/HilbertWallpaper.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesService.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesSettings.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesWallpaper.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/gen/StonerviewService.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/gen/StonerviewSettings.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/gen/StonerviewWallpaper.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SuperquadricsService.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SuperquadricsSettings.java create mode 100644 android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SuperquadricsWallpaper.java create mode 100644 driver/xscreensaver-demo.glade2.in create mode 100644 hacks/binaryring.c create mode 100644 hacks/binaryring.man create mode 100644 hacks/config/binaryring.xml create mode 100644 hacks/config/cityflow.xml create mode 100644 hacks/config/geodesicgears.xml create mode 100644 hacks/glx/cityflow.c create mode 100644 hacks/glx/cityflow.man delete mode 100644 hacks/glx/font-ximage.c delete mode 100644 hacks/glx/font-ximage.h create mode 100644 hacks/glx/geodesicgears.c create mode 100644 hacks/glx/geodesicgears.man delete mode 100644 hacks/glx/glxfonts.c delete mode 100644 hacks/glx/glxfonts.h create mode 100644 hacks/images/earth_night.xpm create mode 100644 hacks/recanim.c create mode 100644 hacks/recanim.h create mode 100644 utils/async_netdb.c create mode 100644 utils/async_netdb.h create mode 100644 utils/utf8wc.c create mode 100644 utils/utf8wc.h create mode 100644 utils/xft.c create mode 100644 utils/xft.h diff --git a/Makefile.in b/Makefile.in index 1d29b54b..4be400df 100644 --- a/Makefile.in +++ b/Makefile.in @@ -7,8 +7,7 @@ VPATH = @srcdir@ SHELL = /bin/sh SUBDIRS = utils driver hacks hacks/glx po -#SUBDIRS = utils driver hacks hacks/glx -SUBDIRS2 = $(SUBDIRS) OSX +SUBDIRS2 = $(SUBDIRS) OSX android TARFILES = README README.hacking README.VMS INSTALL \ configure configure.in Makefile.in config.h.in \ config.h-vms install-sh setup.com config.guess aclocal.m4 \ @@ -326,10 +325,10 @@ www:: fi ; \ fi ; \ \ - git commit -a -m "$$VERS" . ; \ - git tag -a "v$$VERS" -m "$$VERS" . ; \ + git tag -a "v$$VERS" -m "$$VERS" ; \ + git commit -m "$$VERS" . ; \ \ - ( cd $$DEST ; git pull . ) ; \ + ( cd $$DEST ; git pull ) ; \ \ cp -p $$NAME $$DNAME ; \ cp -p $$NAME2 $$DNAME2 ; \ @@ -372,8 +371,8 @@ www:: exit 1 ; \ fi ; \ \ - git commit -m "$$VERS" . ; \ git tag -a "v$$VERS" -m "$$VERS" ; \ + git commit -m "$$VERS" . ; \ git push ; \ diff --git a/OSX/Makefile b/OSX/Makefile index 54670234..bfbf61f2 100644 --- a/OSX/Makefile +++ b/OSX/Makefile @@ -259,13 +259,13 @@ dmg:: for r in $$retired ; do \ if [ "$$ff" = "$$r" ]; then ok=no ; fi ; \ done ; \ - DSTNAME="" ; \ if [ "$$f2" = "XScreenSaverUpdater.app" ]; then \ - DSTNAME=".$$f2" ; \ - fi ; \ - if [ "$$ok" = yes ]; then \ - echo + cp -pR "$$f" "$$DST/$$DSTNAME" ; \ - cp -pR "$$f" "$$DST/$$DSTNAME" ; \ + DST_HACK="XScreenSaver.updater" ; \ + echo + tar ... "$$DST/$$DST_HACK" ; \ + ( cd $$SRC ; tar -czf - "$$f2" ) > "$$DST/$$DST_HACK" ; \ + elif [ "$$ok" = yes ]; then \ + echo + cp -pR "$$f" "$$DST/" ; \ + cp -pR "$$f" "$$DST/" ; \ else \ echo skipping "$$f" ; \ fi ; \ diff --git a/OSX/README b/OSX/README index d1eb2259..6a158c75 100644 --- a/OSX/README +++ b/OSX/README @@ -6,9 +6,9 @@ To build it, just type "make", or use the included XCode project. The executables will show up in the "build/Release/" and/or "build/Debug/" directories. -To build these programs, XCode 2.4 or later is required. -To run them, MacOS 10.4.0 or later is required. - +If you build using anything later than Xcode 5.0.2, the resultant savers +will require MacOS 10.7 or later. To support 10.4 through 10.6, you must +use Xcode 5.0.2 or earlier. This is how you add a new screen saver to the Xcode project. It's a ridiculously long list of steps! @@ -32,9 +32,8 @@ ridiculously long list of steps! 16: Put a 200x150 screen shot in ~/www/xscreensaver/screenshots/ 17: ln -s ../../src/xscreensaver/OSX/build/Debug/NEW.saver \ ~/Library/Screen\ Savers/ - 18: Build "XScreenSaver-iOS" once. then: - cd ~/src/xscreensaver/OSX ; make ios-function-table.m - and build it again. - 19: git add xscreensaver.xcodeproj/xcuserdata/*/xcschemes/*.xcscheme - 20: Don't forget to create a man page from the XML with xml2man.pl, + 18: git add xscreensaver.xcodeproj/xcuserdata/*/xcschemes/*.xcscheme + 19: Don't forget to create a man page from the XML with xml2man.pl, and update Makefile.in. + 20: Make a video: -record-animation 3600 -delay 1 -geom 1920x1080+128+64 + ./upload-video.pl NAME diff --git a/OSX/SaverListController.h b/OSX/SaverListController.h index fef8a78e..9b461335 100644 --- a/OSX/SaverListController.h +++ b/OSX/SaverListController.h @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 2012 Jamie Zawinski +/* xscreensaver, Copyright (c) 2012-2014 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -15,12 +15,13 @@ #import -@interface SaverListController : UITableViewController { +@interface SaverListController : UITableViewController { int active_section_count; NSMutableArray *list_by_letter[26]; // 27 to get "#" after "Z". NSMutableArray *letter_sections; NSMutableArray *section_titles; + NSArray *names; NSDictionary *descriptions; int tap_count; @@ -29,7 +30,6 @@ } - (id)initWithNames:(NSArray *)names descriptions:(NSDictionary *)descs; -- (void) reload:(NSArray *)names descriptions:(NSDictionary *)descs; - (void) scrollTo:(NSString *)name; @end diff --git a/OSX/SaverListController.m b/OSX/SaverListController.m index 15b3089d..904f570a 100644 --- a/OSX/SaverListController.m +++ b/OSX/SaverListController.m @@ -58,9 +58,9 @@ UIImage *img = [UIImage imageWithContentsOfFile: [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent: - @"iSaverRunner29t.png"]]; + @"iSaverRunner57t.png"]]; UIButton *button = [[UIButton alloc] init]; - [button setFrame: CGRectMake(0, 0, img.size.width, img.size.height)]; + [button setFrame: CGRectMake(0, 0, img.size.width/2, img.size.height/2)]; [button setBackgroundImage:img forState:UIControlStateNormal]; [button addTarget:self action:@selector(titleTapped:) @@ -89,8 +89,8 @@ CGRect win = [self view].frame; if (win.size.width > 320) { // iPad - [label1 setTextAlignment: UITextAlignmentLeft]; - [label2 setTextAlignment: UITextAlignmentRight]; + [label1 setTextAlignment: NSTextAlignmentLeft]; + [label2 setTextAlignment: NSTextAlignmentRight]; label2.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; r3.size.width = win.size.width; r1 = r3; @@ -100,8 +100,8 @@ } else { // iPhone r3.size.width = 320; // force it to be flush-left - [label1 setTextAlignment: UITextAlignmentLeft]; - [label2 setTextAlignment: UITextAlignmentLeft]; + [label1 setTextAlignment: NSTextAlignmentLeft]; + [label2 setTextAlignment: NSTextAlignmentLeft]; r1.origin.y = -1; // make it fit in landscape r2.origin.y = r1.origin.y + r1.size.height - 2; r3.size.height = r1.size.height + r2.size.height; @@ -114,15 +114,33 @@ [v addSubview:label1]; [v addSubview:label2]; + // Default opacity looks bad. + [v setBackgroundColor:[[v backgroundColor] colorWithAlphaComponent:1]]; + self.navigationItem.titleView = v; + + win.origin.x = 0; + win.origin.y = 0; + win.size.height = 44; // #### This cannot possibly be right. + UISearchBar *search = [[UISearchBar alloc] initWithFrame:win]; + search.delegate = self; + search.placeholder = @"Search..."; + self.tableView.tableHeaderView = search; + + // Dismiss the search field's keyboard as soon as we scroll. +# ifdef __IPHONE_7_0 + if ([self.tableView respondsToSelector:@selector(keyboardDismissMode)]) + [self.tableView setKeyboardDismissMode: + UIScrollViewKeyboardDismissModeOnDrag]; +# endif } -- (id)initWithNames:(NSArray *)names descriptions:(NSDictionary *)descs; +- (id)initWithNames:(NSArray *)_names descriptions:(NSDictionary *)_descs; { self = [self init]; if (! self) return 0; - [self reload:names descriptions:descs]; + [self reload:_names descriptions:_descs search:nil]; [self makeTitleBar]; return self; } @@ -133,6 +151,8 @@ int n = countof(list_by_letter); NSMutableArray *a = [NSMutableArray arrayWithCapacity: n]; for (int i = 0; i < n; i++) { + if ([list_by_letter[i] count] == 0) // Omit empty letter sections. + continue; char s[2]; s[0] = (i == 'Z'-'A'+1 ? '#' : i+'A'); s[1] = 0; @@ -143,11 +163,25 @@ } -- (void) reload:(NSArray *)names descriptions:(NSDictionary *)descs +/* Called when text is typed into the top search bar. + */ +- (void)searchBar:(UISearchBar *)bar textDidChange:(NSString *)txt { - if (descriptions) - [descriptions release]; - descriptions = [descs retain]; + [self reload:names descriptions:descriptions search:txt]; +} + + +- (void) reload:(NSArray *)_names descriptions:(NSDictionary *)_descs + search:search +{ + if (names != _names) { + if (names) [names release]; + names = [_names retain]; + } + if (_descs != descriptions) { + if (descriptions) [descriptions release]; + descriptions = [_descs retain]; + } int n = countof(list_by_letter); for (int i = 0; i < n; i++) { @@ -155,6 +189,25 @@ } for (NSString *name in names) { + + // If we're searching, omit any items that don't have a match in the + // title or description. + // + BOOL matchp = (!search || [search length] == 0); + if (! matchp) { + matchp = ([name rangeOfString:search + options:NSCaseInsensitiveSearch].location + != NSNotFound); + } + if (! matchp) { + NSString *desc = [descriptions objectForKey:name]; + matchp = ([desc rangeOfString:search + options:NSCaseInsensitiveSearch].location + != NSNotFound); + } + if (! matchp) + continue; + int index = ([name cStringUsingEncoding: NSASCIIStringEncoding])[0]; if (index >= 'a' && index <= 'z') index -= 'a'-'A'; @@ -217,25 +270,23 @@ - (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)ip { - NSString *id = + NSString *title = [[letter_sections objectAtIndex: [ip indexAtPosition: 0]] objectAtIndex: [ip indexAtPosition: 1]]; - NSString *desc = [descriptions objectForKey:id]; + NSString *desc = [descriptions objectForKey:title]; - UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier: id]; - if (!cell) { + NSString *id = @"Cell"; + UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier:id]; + if (!cell) cell = [[[UITableViewCell alloc] - initWithStyle: (desc - ? UITableViewCellStyleSubtitle - : UITableViewCellStyleDefault) + initWithStyle: UITableViewCellStyleSubtitle reuseIdentifier: id] autorelease]; - cell.textLabel.text = id; - cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton; - if (desc) - cell.detailTextLabel.text = desc; - } + cell.textLabel.text = title; + cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton; + cell.detailTextLabel.text = desc; + return cell; } @@ -249,6 +300,10 @@ SaverRunner *s = (SaverRunner *) [[UIApplication sharedApplication] delegate]; if (! s) return; + + // Dismiss the search field's keyboard before launching a saver. + [self.tableView.tableHeaderView resignFirstResponder]; + NSAssert ([s isKindOfClass:[SaverRunner class]], @"not a SaverRunner"); [s loadSaver: cell.textLabel.text]; } @@ -291,12 +346,6 @@ } -- (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)o -{ - return YES; -} - - /* We need this to respond to "shake" gestures */ - (BOOL)canBecomeFirstResponder diff --git a/OSX/SaverRunner.h b/OSX/SaverRunner.h index c58e2b33..35d22354 100644 --- a/OSX/SaverRunner.h +++ b/OSX/SaverRunner.h @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 2006-2013 Jamie Zawinski +/* xscreensaver, Copyright (c) 2006-2014 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -48,13 +48,17 @@ # else // USE_IPHONE - ScreenSaverView *saverView; - UIView *backgroundView; - UINavigationController *rootViewController; + UINavigationController *rotating_nav; // Hierarchy 1 (UI) IBOutlet UIWindow *window; + IBOutlet UIView *view; + + UINavigationController *nonrotating_nav; // Hierarchy 2 (savers) + UIWindow *saverWindow; + UIView *backgroundView; + ScreenSaverView *saverView; + EAGLContext *eagl_ctx; GLuint gl_framebuffer, gl_renderbuffer; - IBOutlet UIView *view; UIImage *saved_screenshot; UIView *aboutBox; NSTimer *splashTimer; diff --git a/OSX/SaverRunner.m b/OSX/SaverRunner.m index e2cd11c5..80031e77 100644 --- a/OSX/SaverRunner.m +++ b/OSX/SaverRunner.m @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 2006-2013 Jamie Zawinski +/* xscreensaver, Copyright (c) 2006-2014 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -38,13 +38,40 @@ #ifdef USE_IPHONE @interface RotateyViewController : UINavigationController +{ + BOOL allowRotation; +} @end @implementation RotateyViewController + +/* This subclass exists so that we can ask that the SaverListController and + preferences panels be auto-rotated by the system. Note that the + XScreenSaverView is not auto-rotated because it is on a different UIWindow. + */ + +- (id)initWithRotation:(BOOL)rotatep +{ + self = [super init]; + allowRotation = rotatep; + return self; +} + - (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)o { - return YES; + return allowRotation; /* Deprecated in iOS 6 */ } + +- (BOOL)shouldAutorotate /* Added in iOS 6 */ +{ + return allowRotation; +} + +- (NSUInteger)supportedInterfaceOrientations /* Added in iOS 6 */ +{ + return UIInterfaceOrientationMaskAll; +} + @end #endif // USE_IPHONE @@ -354,7 +381,7 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) [prefs setObject:saver forKey:@"selectedSaverName"]; [prefs synchronize]; - [rootViewController pushViewController: [saverView configureView] + [rotating_nav pushViewController: [saverView configureView] animated:YES]; } @@ -431,15 +458,6 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) saverName = name; - if (! backgroundView) { - // This view is the parent of the XScreenSaverView, and exists only - // so that there is a black background behind it. Without this, when - // rotation is in progress, the scrolling-list window's corners show - // through in the corners. - backgroundView = [[[NSView class] alloc] initWithFrame:[window frame]]; - [backgroundView setBackgroundColor:[NSColor blackColor]]; - } - if (saverView) { if ([saverView isAnimating]) [saverView stopAnimation]; @@ -449,8 +467,27 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) [saverView release]; } - NSSize size = [window frame].size; - saverView = [self makeSaverView:name withSize: size]; + /* We can't just use [window bounds] because that is the *rotated* rectangle + and we need the *unrotated* rectangle, so that the view is always created + in portrait orientation. Without that, the initial rotation event that + takes us from unknown->landscape will be out of step with reality. + */ + UIScreen *screen = [UIScreen mainScreen]; +# ifndef __IPHONE_8_0 // iOS 7 SDK + NSSize size = [screen bounds].size; + int ss = [screen scale]; +# else // iOS 8 SDK + NSSize size = ([screen respondsToSelector:@selector(nativeBounds)] + ? [screen nativeBounds].size // iOS 8 + : [screen bounds].size); // iOS 7 + int ss = ([screen respondsToSelector:@selector(nativeScale)] + ? [screen nativeScale] // iOS 8 + : [screen scale]); // iOS 7 +# endif // iOS 8 SDK + + size.width /= ss; + size.height /= ss; + saverView = [self makeSaverView:name withSize:size]; if (! saverView) { [[[UIAlertView alloc] initWithTitle: name @@ -462,20 +499,41 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) return; } - [saverView setFrame: [window frame]]; [[NSNotificationCenter defaultCenter] addObserver:saverView selector:@selector(didRotate:) name:UIDeviceOrientationDidChangeNotification object:nil]; LAUNCH: + if (launch) { [self saveScreenshot]; - [window addSubview: backgroundView]; + NSRect f = [saverWindow bounds]; + [backgroundView setFrame:f]; + [saverView setFrame:f]; + [saverWindow addSubview: backgroundView]; [backgroundView addSubview: saverView]; - [saverView becomeFirstResponder]; + [saverView setBackgroundColor:[NSColor blackColor]]; + + /* WTF! Without creating and keying this window, we get no events + delivered on the saverView/saverWindow! Bad craziness. + */ + { + UIWindow *dummy = [[UIWindow alloc] initWithFrame:CGRectMake(0,0,0,0)]; + [dummy setRootViewController: nonrotating_nav]; // Must be this one. + [dummy setHidden:NO]; // required + [dummy setHidden:YES]; + [dummy release]; + } + + [saverWindow setHidden:NO]; + [saverWindow makeKeyAndVisible]; [saverView startAnimation]; [self aboutPanel:nil]; + + // Doing this makes savers cut back to the list instead of fading, + // even though [XScreenSaverView stopAndClose] does setHidden:NO first. + // [window setHidden:YES]; } # endif // USE_IPHONE } @@ -521,16 +579,37 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) CGFloat pt2 = 14; UIFont *font1 = [UIFont boldSystemFontOfSize: pt1]; UIFont *font2 = [UIFont italicSystemFontOfSize:pt2]; + +# ifdef __IPHONE_7_0 + CGSize s = CGSizeMake(frame.size.width, frame.size.height); + CGSize tsize1 = [[[NSAttributedString alloc] + initWithString: name + attributes:@{ NSFontAttributeName: font1 }] + boundingRectWithSize: s + options: NSStringDrawingUsesLineFragmentOrigin + context: nil].size; + CGSize tsize2 = [[[NSAttributedString alloc] + initWithString: name + attributes:@{ NSFontAttributeName: font2 }] + boundingRectWithSize: s + options: NSStringDrawingUsesLineFragmentOrigin + context: nil].size; +# else // iOS 6 or Cocoa CGSize tsize1 = [name sizeWithFont:font1 constrainedToSize:CGSizeMake(frame.size.width, frame.size.height)]; CGSize tsize2 = [year sizeWithFont:font2 constrainedToSize:CGSizeMake(frame.size.width, frame.size.height)]; +#endif + CGSize tsize = CGSizeMake (tsize1.width > tsize2.width ? tsize1.width : tsize2.width, tsize1.height + tsize2.height); + tsize.width = ceilf(tsize.width); + tsize.height = ceilf(tsize.height); + // Don't know how to find inner margin of UITextView. CGFloat margin = 10; tsize.width += margin * 4; @@ -541,10 +620,7 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) frame = CGRectMake (0, 0, tsize.width, tsize.height); - UIInterfaceOrientation orient = - // Why are both of these wrong when starting up rotated?? - [[UIDevice currentDevice] orientation]; - // [rootViewController interfaceOrientation]; + UIInterfaceOrientation orient = [rotating_nav interfaceOrientation]; /* Get the text oriented properly, and move it to the bottom of the screen, since many savers have action in the middle. @@ -604,7 +680,7 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) textview = [[UITextView alloc] initWithFrame:frame]; textview.font = (j == 0 ? font1 : font2); textview.text = (j == 0 ? name : year); - textview.textAlignment = UITextAlignmentCenter; + textview.textAlignment = NSTextAlignmentCenter; textview.showsHorizontalScrollIndicator = NO; textview.showsVerticalScrollIndicator = NO; textview.scrollEnabled = NO; @@ -881,14 +957,23 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) } // Delete everything after the first blank line. + // r = [desc rangeOfString:@"\n\n" options:0]; if (r.length > 0) desc = [desc substringToIndex: r.location]; - // Truncate really long ones. - int max = 140; - if ([desc length] > max) - desc = [desc substringToIndex: max]; + // Unwrap lines and compress whitespace. + { + NSString *result = @""; + for (NSString *s in [desc componentsSeparatedByCharactersInSet: + [NSCharacterSet whitespaceAndNewlineCharacterSet]]) { + if ([result length] == 0) + result = s; + else if ([s length] > 0) + result = [NSString stringWithFormat: @"%@ %@", result, s]; + desc = result; + } + } if (year) desc = [year stringByAppendingString: @@ -1112,23 +1197,63 @@ FAIL: # undef ya_rand_init ya_rand_init (0); // Now's a good time. - rootViewController = [[[RotateyViewController alloc] init] retain]; - [window setRootViewController: rootViewController]; + rotating_nav = [[[RotateyViewController alloc] initWithRotation:YES] + retain]; + [window setRootViewController: rotating_nav]; + [window setAutoresizesSubviews:YES]; + [window setAutoresizingMask: + (UIViewAutoresizingFlexibleWidth | + UIViewAutoresizingFlexibleHeight)]; + + nonrotating_nav = [[[RotateyViewController alloc] initWithRotation:NO] + retain]; + [nonrotating_nav setNavigationBarHidden:YES animated:NO]; + + /* We run the saver on a different UIWindow than the one the + SaverListController and preferences panels run on, because that's + the only way to make rotation work right. We want the system to + handle rotation of the UI stuff, but we want it to keep its hands + off of rotation of the savers. As of iOS 8, this seems to be the + only way to accomplish that. + + Also, we need to create saverWindow with a portrait rectangle, always. + Note that [UIScreen bounds] returns rotated and scaled values. + */ + UIScreen *screen = [UIScreen mainScreen]; +# ifndef __IPHONE_8_0 // iOS 7 SDK + NSRect frame = [screen bounds]; + int ss = [screen scale]; +# else // iOS 8 SDK + NSRect frame = ([screen respondsToSelector:@selector(nativeBounds)] + ? [screen nativeBounds] // iOS 8 + : [screen bounds]); // iOS 7 + int ss = ([screen respondsToSelector:@selector(nativeScale)] + ? [screen nativeScale] // iOS 8 + : [screen scale]); // iOS 7 +# endif // iOS 8 SDK + frame.size.width /= ss; + frame.size.height /= ss; + saverWindow = [[UIWindow alloc] initWithFrame:frame]; + [saverWindow setRootViewController: nonrotating_nav]; + [saverWindow setHidden:YES]; + + /* This view is the parent of the XScreenSaverView, and exists only + so that there is a black background behind it. Without this, when + rotation is in progress, the scrolling-list window's corners show + through in the corners. + */ + backgroundView = [[[NSView class] alloc] initWithFrame:[saverWindow frame]]; + [backgroundView setBackgroundColor:[NSColor blackColor]]; SaverListController *menu = [[SaverListController alloc] initWithNames:saverNames descriptions:[self makeDescTable]]; - [rootViewController pushViewController:menu animated:YES]; + [rotating_nav pushViewController:menu animated:YES]; [menu becomeFirstResponder]; - [window makeKeyAndVisible]; - [window setAutoresizesSubviews:YES]; - [window setAutoresizingMask: - (UIViewAutoresizingFlexibleWidth | - UIViewAutoresizingFlexibleHeight)]; - application.applicationSupportsShakeToEdit = YES; + # endif // USE_IPHONE NSString *forced = 0; @@ -1183,6 +1308,12 @@ FAIL: # endif [self selectedSaverDidChange:nil]; +// [NSTimer scheduledTimerWithTimeInterval: 0 +// target:self +// selector:@selector(selectedSaverDidChange:) +// userInfo:nil +// repeats:NO]; + # ifndef USE_IPHONE diff --git a/OSX/SaverRunner.plist b/OSX/SaverRunner.plist index 083a4e40..9cd51e50 100644 --- a/OSX/SaverRunner.plist +++ b/OSX/SaverRunner.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleGetInfoString - 5.30 + 5.31 CFBundleIconFile SaverRunner CFBundleIdentifier @@ -15,21 +15,21 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString - 5.30 + 5.31 CFBundleName ${PRODUCT_NAME} CFBundlePackageType APPL CFBundleShortVersionString - 5.30 + 5.31 CFBundleSignature ???? CFBundleVersion - 5.30 + 5.31 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSHumanReadableCopyright - 5.30 + 5.31 NSMainNibFile SaverRunner NSPrincipalClass diff --git a/OSX/Updater.plist b/OSX/Updater.plist index b06d1725..cc937af9 100644 --- a/OSX/Updater.plist +++ b/OSX/Updater.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleGetInfoString - 5.30 + 5.31 CFBundleIconFile SaverRunner CFBundleIdentifier @@ -15,7 +15,7 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString - 5.30 + 5.31 CFBundleName ${PRODUCT_NAME} CFBundleDisplayName @@ -23,17 +23,17 @@ CFBundlePackageType APPL CFBundleShortVersionString - 5.30 + 5.31 CFBundleSignature ???? CFBundleVersion - 5.30 + 5.31 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} LSUIElement NSHumanReadableCopyright - 5.30 + 5.31 NSMainNibFile Updater NSPrincipalClass diff --git a/OSX/XScreenSaver.plist b/OSX/XScreenSaver.plist index 77009ea1..93d7dca4 100644 --- a/OSX/XScreenSaver.plist +++ b/OSX/XScreenSaver.plist @@ -15,11 +15,11 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 5.30 + 5.31 CFBundleSignature ???? CFBundleVersion - 5.30 + 5.31 LSMinimumSystemVersion 10.4 NSMainNibFile diff --git a/OSX/XScreenSaverConfigSheet.m b/OSX/XScreenSaverConfigSheet.m index 1e58dc26..6dceacf7 100644 --- a/OSX/XScreenSaverConfigSheet.m +++ b/OSX/XScreenSaverConfigSheet.m @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 2006-2013 Jamie Zawinski +/* xscreensaver, Copyright (c) 2006-2014 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -228,10 +228,13 @@ typedef enum { SimpleXMLCommentKind, webView = [[UIWebView alloc] init]; webView.delegate = self; webView.dataDetectorTypes = UIDataDetectorTypeNone; - self. autoresizingMask = (UIViewAutoresizingFlexibleWidth | - UIViewAutoresizingFlexibleHeight); - webView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | - UIViewAutoresizingFlexibleHeight); + self. autoresizingMask = UIViewAutoresizingNone; // we do it manually + webView.autoresizingMask = UIViewAutoresizingNone; + webView.scrollView.scrollEnabled = NO; + webView.scrollView.bounces = NO; + webView.opaque = NO; + [webView setBackgroundColor:[UIColor clearColor]]; + [self addSubview: webView]; [self setHTML: h]; return self; @@ -270,6 +273,7 @@ typedef enum { SimpleXMLCommentKind, " font-family: \"%@\";" " font-size: %.4fpx;" // Must be "px", not "pt"! " line-height: %.4fpx;" // And no spaces before it. + " -webkit-text-size-adjust: none;" "}" "\n//-->\n" "" @@ -282,6 +286,7 @@ typedef enum { SimpleXMLCommentKind, [font pointSize], [font lineHeight], h]; + [webView stopLoading]; [webView loadHTMLString:h2 baseURL:[NSURL URLWithString:@""]]; } @@ -290,6 +295,8 @@ static char *anchorize (const char *url); - (void) setText: (NSString *)t { + t = [t stringByTrimmingCharactersInSet:[NSCharacterSet + whitespaceCharacterSet]]; t = [t stringByReplacingOccurrencesOfString:@"&" withString:@"&"]; t = [t stringByReplacingOccurrencesOfString:@"<" withString:@"<"]; t = [t stringByReplacingOccurrencesOfString:@">" withString:@">"]; @@ -313,6 +320,12 @@ static char *anchorize (const char *url); } h = [NSString stringWithFormat: @"%@ %@", h, s]; } + + h = [h stringByReplacingOccurrencesOfString:@"

" withString:@"

"]; + h = [h stringByReplacingOccurrencesOfString:@"

" withString:@"

"]; + h = [h stringByTrimmingCharactersInSet:[NSCharacterSet + whitespaceAndNewlineCharacterSet]]; + [self setHTML: h]; } @@ -336,8 +349,6 @@ static char *anchorize (const char *url); r.origin.x = 0; r.origin.y = 0; [webView setFrame: r]; - [self setHTML: html]; - [webView reload]; } @@ -345,6 +356,7 @@ static char *anchorize (const char *url); { NSString *result = @""; + // Add newlines. str = [str stringByReplacingOccurrencesOfString:@"

" withString:@"

" options:NSCaseInsensitiveSearch @@ -354,12 +366,25 @@ static char *anchorize (const char *url); options:NSCaseInsensitiveSearch range:NSMakeRange(0, [str length])]; + // Remove HREFs. for (NSString *s in [str componentsSeparatedByString: @"<"]) { NSRange r = [s rangeOfString:@">"]; if (r.length > 0) s = [s substringFromIndex: r.location + r.length]; result = [result stringByAppendingString: s]; } + + // Compress internal horizontal whitespace. + str = result; + result = @""; + for (NSString *s in [str componentsSeparatedByCharactersInSet: + [NSCharacterSet whitespaceCharacterSet]]) { + if ([result length] == 0) + result = s; + else if ([s length] > 0) + result = [NSString stringWithFormat: @"%@ %@", result, s]; + } + return result; } @@ -370,8 +395,15 @@ static char *anchorize (const char *url); /* It would be sensible to just ask the UIWebView how tall the page is, instead of hoping that NSString and UIWebView measure fonts and do - wrapping in exactly the same way, but I can't make that work. - Maybe because it loads async? + wrapping in exactly the same way, but since UIWebView is asynchronous, + we'd have to wait for the document to load first, e.g.: + + - Start the document loading; + - return a default height to use for the UITableViewCell; + - wait for the webViewDidFinishLoad delegate method to fire; + - then force the UITableView to reload, to pick up the new height. + + But I couldn't make that work. */ # if 0 r.size.height = [[webView @@ -385,11 +417,6 @@ static char *anchorize (const char *url); s = [text sizeWithFont: font constrainedToSize: s lineBreakMode:NSLineBreakByWordWrapping]; - - // GAAAH. Add one more line, or the UIWebView is still scrollable! - // The text is sized right, but it lets you scroll it up anyway. - s.height += [font pointSize]; - r.size.height = s.height; # endif @@ -1329,6 +1356,8 @@ hreffify (NSText *nstext) [self placeChild:lab on:parent]; # else // USE_IPHONE [lab setTextAlignment: NSTextAlignmentRight]; + // Sometimes rotation screws up truncation. + [lab setLineBreakMode:NSLineBreakByClipping]; [self placeChild:lab on:parent right:(label ? YES : NO)]; # endif // USE_IPHONE @@ -1363,6 +1392,10 @@ hreffify (NSText *nstext) // Make right label be same height as slider. rect.size.height = [slider frame].size.height; [lab setFrame:rect]; +# ifdef USE_IPHONE + // Sometimes rotation screws up truncation. + [lab setLineBreakMode:NSLineBreakByClipping]; +# endif [self placeChild:lab on:parent right:YES]; [lab release]; } @@ -1677,7 +1710,7 @@ set_menu_item_object (NSMenuItem *item, NSObject *obj) // Store the items for this picker in the picker_values array. // This is so fucking stupid. - int menu_number = [pref_keys count] - 1; + unsigned long menu_number = [pref_keys count] - 1; if (! picker_values) picker_values = [[NSMutableArray arrayWithCapacity:menu_number] retain]; while ([picker_values count] <= menu_number) @@ -2488,7 +2521,25 @@ last_child (NSView *parent) # else // USE_IPHONE - // Controls is an array of arrays of the controls, divided into sections. + /* Controls is an array of arrays of the controls, divided into sections. + Each hgroup / vgroup gets a nested array, too, e.g.: + + [ [ [

J$9w7UNai#YFX0sgVAeE;Q0FS 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≪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 WC1lB=1>Ms}2(2ycEUK?~-uo|kd`)`* literal 0 HcmV?d00001 diff --git a/android/project/xscreensaver/res/drawable/sproingies.png b/android/project/xscreensaver/res/drawable/sproingies.png new file mode 100644 index 0000000000000000000000000000000000000000..4ab31907bb6f05c444845bcbc441ac3518dd81c3 GIT binary patch literal 50583 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 literal 0 HcmV?d00001 diff --git a/android/project/xscreensaver/res/drawable/stonerview.png b/android/project/xscreensaver/res/drawable/stonerview.png new file mode 100644 index 0000000000000000000000000000000000000000..06fe4d2228e9003b89566998fc0c67a0cde4fade GIT binary patch literal 20471 zcmZU5cRba9{QWH=8HF-3DkDWkWLzW3UYC#TE0mSE_j0ejOZF%i7uh0ZBciR zi|2t?WQ{LlfM0aa^|duXr)S@JO~uK;D-0ewRwxjNk^SuF9O!)(7w{szm#(2EJ(+=< zlb^xkTJALv=q5;4L(SB0YON{wosdg#-hOY-Na9AL$n#(pH+a$p7wKh5shCTZ)`j?+ zuNn2fE-*6eUfjxuLUe8$SdL3zo!o=69+%OW-y&#(oM#@3oqrzj`#0_LG=*m{k6TwB z3cR@hzwNfY>o^uB`$nAp12lK8P(c8jG4SPZuDoa9%a@XYjUbs7|F%~R+A1WK{T<52 zO0Xu-(EtA{4-_=L7o0l>0%5i!ky z<=oZQN{23=>IOp%`q1Q)TtmUfb`0G5pql~VdOANLXlhY>4=*TB{?j+u=PBJPzr@+I z|L(ja>cQ_nbC}-jCA(T2hd3UfYB?< zLs#NNc9LAyL>G(}q`UJM{PckaDGM_rp(#)P@(&Coc@m_*e1djh-|^@7ft{ zV@2UBA>soT=o;E>I=AcR9PQrI;<#6^5jkQaIa|TG-&luueq+PoPvm{G4Ix7&IKC2` z@K#p6nR{s+j(&PiQen{O{G{oGwVd!Hpra(520`C_Gku?&t}-hrDP?_#a9P{9oYQxp z^&Bej_eRud_Q}2JnDc{MC&WMzm({n+7~S`;N)qPjHX*?@QTJM4}hZTPcS*tW&FvUr($D^lB_>g{f9PI&Mw@Xn@BH0yes)DYFo^ zR&Qjs1A+l9Jq*sV*(q8?X?rFvGT#iA!mR{Vm%}k5$ry@|g#*O;@1wss9&ZL7WJ?aS|RRB!%q4Y-WyLKxG!Xp9_^)EJ^6N+B&$wpwKdUYR9~K#)1Y}0L2S}>Q=Giec zox5t}Wp`c=Zk0G=MygoKe$jK|+C`B%!!Nj{x&+3u)^}O7)e4(+Gu_EET%tv*(Fi?# z>t$B?t+yi|+h7_9&`@-k<&zgu^0>d_zmETW|5`)mDS%jYk(?sxs6yu?T{Xn73_?w-N_%*mXB&nu_} z;rLEYII|Yy$7+i@fGOB??m;VzQAK-1npN?$AF#MAewH(aTDx`t=UyPlmxQIrZPw1+r%fT#ZFtWD*O?a8+t+@50RJE?t+aCeA? z7n85^(4cezJ{aW1~eR6+L2$m|smJlr{q06ap)SZ@gvjN&Q{WXyg+ z7uIOM&Kyl(ld6PXC4*j`s|CWmXZ|u>7#ZZj12Sc(m6uBT$~k@I4*uK~U|ht#1mQF{ z189D{G3j}LOBidaV+J*yb3_t89(H}imoMZ{f1V|x&Eblamz%0XTa6wG!cU0QrfELn zH!jd4!)NQ|{P4q=LluVG0nC$H)SiRm=3Sg^OWohA!aH(d_3CahOaGcrP4<+ARrjrS zULLD$1?+FH_YJFl?m;Pv>n;Kf%M-%IME@GC_NlG^FLbC;!2w>8%!ZZffB})ThtbIk zf?TrbQ{Jm?w~)P;o=I3KoKyDjT-hrkDK4G-H=M&0xZyk4jOH@~4e^*#uNz(KA#th&uw%k7J=wZ2s4$Dw#ghjELKTF)MH$tQD*R5sm# z_39kKuF=t-9qU>q$B=q#vv~IRz=`TjK)<|-@g!u;Y@Z@*oz}lDJSMQ>&Vd4CSO&Lz z=obEZ5^fF3Dx@>2q)7mA54dM+@S~QWp;|td5TPwop$R8>{`fk4B|g2CH-H96lfO}5 zT$W>_Jw)SVwA{iPR@yp8tC-H7bZw3{zV2L}{EIgP7JrC{cu`CT9^XTp@k=}#8nsHJ znG5>KDPmx&VwS51gc!2H@d=dm$x4^Sa4c}qd^*zbxCCmF-M?LNTbx@kU5Tf$ z)Sup_0j9vqLPvukm26f`^9C9F>`AyEzp8->%+^cf&}>H%^kQayCOmaXM$u~8?5Zr# zph6Y?-gxn{4d^%Zn{&vhudBjEHqdj7UTg(W z#Vodw^bzhwd}6AW7u_3z+EjCMkssh(;aYFo3_o}xih7qQ7X<>YxO1I=b*MMg@Y

+ThxMC;)&2zPV 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 literal 0 HcmV?d00001 diff --git a/android/project/xscreensaver/res/drawable/superquadrics.png b/android/project/xscreensaver/res/drawable/superquadrics.png new file mode 100644 index 0000000000000000000000000000000000000000..0561e0d7700c73db88ba698fc6c6d2e0386692fa GIT binary patch literal 168281 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 literal 0 HcmV?d00001 diff --git a/android/project/xscreensaver/res/drawable/thumbnail.png b/android/project/xscreensaver/res/drawable/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..06fe4d2228e9003b89566998fc0c67a0cde4fade GIT binary patch literal 20471 zcmZU5cRba9{QWH=8HF-3DkDWkWLzW3UYC#TE0mSE_j0ejOZF%i7uh0ZBciR zi|2t?WQ{LlfM0aa^|duXr)S@JO~uK;D-0ewRwxjNk^SuF9O!)(7w{szm#(2EJ(+=< zlb^xkTJALv=q5;4L(SB0YON{wosdg#-hOY-Na9AL$n#(pH+a$p7wKh5shCTZ)`j?+ zuNn2fE-*6eUfjxuLUe8$SdL3zo!o=69+%OW-y&#(oM#@3oqrzj`#0_LG=*m{k6TwB z3cR@hzwNfY>o^uB`$nAp12lK8P(c8jG4SPZuDoa9%a@XYjUbs7|F%~R+A1WK{T<52 zO0Xu-(EtA{4-_=L7o0l>0%5i!ky z<=oZQN{23=>IOp%`q1Q)TtmUfb`0G5pql~VdOANLXlhY>4=*TB{?j+u=PBJPzr@+I z|L(ja>cQ_nbC}-jCA(T2hd3UfYB?< zLs#NNc9LAyL>G(}q`UJM{PckaDGM_rp(#)P@(&Coc@m_*e1djh-|^@7ft{ zV@2UBA>soT=o;E>I=AcR9PQrI;<#6^5jkQaIa|TG-&luueq+PoPvm{G4Ix7&IKC2` z@K#p6nR{s+j(&PiQen{O{G{oGwVd!Hpra(520`C_Gku?&t}-hrDP?_#a9P{9oYQxp z^&Bej_eRud_Q}2JnDc{MC&WMzm({n+7~S`;N)qPjHX*?@QTJM4}hZTPcS*tW&FvUr($D^lB_>g{f9PI&Mw@Xn@BH0yes)DYFo^ zR&Qjs1A+l9Jq*sV*(q8?X?rFvGT#iA!mR{Vm%}k5$ry@|g#*O;@1wss9&ZL7WJ?aS|RRB!%q4Y-WyLKxG!Xp9_^)EJ^6N+B&$wpwKdUYR9~K#)1Y}0L2S}>Q=Giec zox5t}Wp`c=Zk0G=MygoKe$jK|+C`B%!!Nj{x&+3u)^}O7)e4(+Gu_EET%tv*(Fi?# z>t$B?t+yi|+h7_9&`@-k<&zgu^0>d_zmETW|5`)mDS%jYk(?sxs6yu?T{Xn73_?w-N_%*mXB&nu_} z;rLEYII|Yy$7+i@fGOB??m;VzQAK-1npN?$AF#MAewH(aTDx`t=UyPlmxQIrZPw1+r%fT#ZFtWD*O?a8+t+@50RJE?t+aCeA? z7n85^(4cezJ{aW1~eR6+L2$m|smJlr{q06ap)SZ@gvjN&Q{WXyg+ z7uIOM&Kyl(ld6PXC4*j`s|CWmXZ|u>7#ZZj12Sc(m6uBT$~k@I4*uK~U|ht#1mQF{ z189D{G3j}LOBidaV+J*yb3_t89(H}imoMZ{f1V|x&Eblamz%0XTa6wG!cU0QrfELn zH!jd4!)NQ|{P4q=LluVG0nC$H)SiRm=3Sg^OWohA!aH(d_3CahOaGcrP4<+ARrjrS zULLD$1?+FH_YJFl?m;Pv>n;Kf%M-%IME@GC_NlG^FLbC;!2w>8%!ZZffB})ThtbIk zf?TrbQ{Jm?w~)P;o=I3KoKyDjT-hrkDK4G-H=M&0xZyk4jOH@~4e^*#uNz(KA#th&uw%k7J=wZ2s4$Dw#ghjELKTF)MH$tQD*R5sm# z_39kKuF=t-9qU>q$B=q#vv~IRz=`TjK)<|-@g!u;Y@Z@*oz}lDJSMQ>&Vd4CSO&Lz z=obEZ5^fF3Dx@>2q)7mA54dM+@S~QWp;|td5TPwop$R8>{`fk4B|g2CH-H96lfO}5 zT$W>_Jw)SVwA{iPR@yp8tC-H7bZw3{zV2L}{EIgP7JrC{cu`CT9^XTp@k=}#8nsHJ znG5>KDPmx&VwS51gc!2H@d=dm$x4^Sa4c}qd^*zbxCCmF-M?LNTbx@kU5Tf$ z)Sup_0j9vqLPvukm26f`^9C9F>`AyEzp8->%+^cf&}>H%^kQayCOmaXM$u~8?5Zr# zph6Y?-gxn{4d^%Zn{&vhudBjEHqdj7UTg(W z#Vodw^bzhwd}6AW7u_3z+EjCMkssh(;aYFo3_o}xih7qQ7X<>YxO1I=b*MMg@Y
+ThxMC;)&2zPV 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 literal 0 HcmV?d00001 diff --git a/android/project/xscreensaver/res/layout/main.xml b/android/project/xscreensaver/res/layout/main.xml new file mode 100644 index 00000000..3a5f117d --- /dev/null +++ b/android/project/xscreensaver/res/layout/main.xml @@ -0,0 +1,12 @@ + + + + diff --git a/android/project/xscreensaver/res/values/settings.xml b/android/project/xscreensaver/res/values/settings.xml new file mode 100644 index 00000000..32389161 --- /dev/null +++ b/android/project/xscreensaver/res/values/settings.xml @@ -0,0 +1,90 @@ + + + + + + + "Off" + "On" + + + + "0" + "1" + + + + + "0.1" + "1" + "3" + "5" + "8" + "10 + "15" + + + + "0.1" + "1" + "3" + "5" + "8" + "10 + "15" + + + + + + "1" + "2" + "4" + "8" + "15" + "23" + "30" + + + + "1" + "2" + "4" + "8" + "15" + "23" + "30" + + + + + "2d" + "3d" + "random" + + + + "2d" + "3d" + "random" + + + + + diff --git a/android/project/xscreensaver/res/values/strings.xml b/android/project/xscreensaver/res/values/strings.xml new file mode 100644 index 00000000..c9d8969d --- /dev/null +++ b/android/project/xscreensaver/res/values/strings.xml @@ -0,0 +1,34 @@ + + + Hello World! + Xscreensaver + A live wallpaper + + Xscreensaver + jwz and helpers + + Stonerview + Stonerview + Settings + Set transparency + Choose transparency mode + + Superquadrics + Superquadrics + Settings + Select speed + Choose speed + + Sproingies + Sproingies + Settings + Select count + Set number of sproingies + + Hilbert + Hilbert + Settings + Select mode + Choose mode + + diff --git a/android/project/xscreensaver/res/xml/glwallpapertest.xml b/android/project/xscreensaver/res/xml/glwallpapertest.xml new file mode 100644 index 00000000..cc6e5084 --- /dev/null +++ b/android/project/xscreensaver/res/xml/glwallpapertest.xml @@ -0,0 +1,4 @@ + + diff --git a/android/project/xscreensaver/res/xml/hilbert.xml b/android/project/xscreensaver/res/xml/hilbert.xml new file mode 100644 index 00000000..9af0906a --- /dev/null +++ b/android/project/xscreensaver/res/xml/hilbert.xml @@ -0,0 +1,5 @@ + + diff --git a/android/project/xscreensaver/res/xml/hilbert_settings.xml b/android/project/xscreensaver/res/xml/hilbert_settings.xml new file mode 100644 index 00000000..225464cc --- /dev/null +++ b/android/project/xscreensaver/res/xml/hilbert_settings.xml @@ -0,0 +1,13 @@ + + + + + diff --git a/android/project/xscreensaver/res/xml/sproingies.xml b/android/project/xscreensaver/res/xml/sproingies.xml new file mode 100644 index 00000000..35bfc8e6 --- /dev/null +++ b/android/project/xscreensaver/res/xml/sproingies.xml @@ -0,0 +1,5 @@ + + diff --git a/android/project/xscreensaver/res/xml/sproingies_settings.xml b/android/project/xscreensaver/res/xml/sproingies_settings.xml new file mode 100644 index 00000000..f7904d7e --- /dev/null +++ b/android/project/xscreensaver/res/xml/sproingies_settings.xml @@ -0,0 +1,13 @@ + + + + + diff --git a/android/project/xscreensaver/res/xml/stonerview.xml b/android/project/xscreensaver/res/xml/stonerview.xml new file mode 100644 index 00000000..67652918 --- /dev/null +++ b/android/project/xscreensaver/res/xml/stonerview.xml @@ -0,0 +1,22 @@ + + + diff --git a/android/project/xscreensaver/res/xml/stonerview_settings.xml b/android/project/xscreensaver/res/xml/stonerview_settings.xml new file mode 100644 index 00000000..eba6311e --- /dev/null +++ b/android/project/xscreensaver/res/xml/stonerview_settings.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + diff --git a/android/project/xscreensaver/res/xml/superquadrics.xml b/android/project/xscreensaver/res/xml/superquadrics.xml new file mode 100644 index 00000000..a203d94a --- /dev/null +++ b/android/project/xscreensaver/res/xml/superquadrics.xml @@ -0,0 +1,22 @@ + + + diff --git a/android/project/xscreensaver/res/xml/superquadrics_settings.xml b/android/project/xscreensaver/res/xml/superquadrics_settings.xml new file mode 100644 index 00000000..e92aa2dd --- /dev/null +++ b/android/project/xscreensaver/res/xml/superquadrics_settings.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/ARenderer.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/ARenderer.java new file mode 100644 index 00000000..fd65be14 --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/ARenderer.java @@ -0,0 +1,132 @@ +package org.jwz.xscreensaver; + +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.opengles.GL10; + +import net.rbgrn.android.glwallpaperservice.*; +import android.opengl.GLU; + +import android.content.Context; +import android.content.SharedPreferences; + + +// Original code provided by Robert Green +// http://www.rbgrn.net/content/354-glsurfaceview-adapted-3d-live-wallpapers +public class ARenderer implements GLWallpaperService.Renderer { + + CallNative cn; + boolean secondRun = false; + + // Used for Lighting + //private static float[] ambientComponent0 = {0.3f, 0.3f, 1.0f, 1.0f}; + //private static float[] ambientComponent0 = {0.3f, 0.3f, 0.3f, 1.0f}; + private static float[] ambientComponent0 = {0.5f, 0.5f, 0.5f, 1.0f}; + private static float[] diffuseComponent0 = {1.0f, 1.0f, 1.0f, 1.0f}; + private static float[] lightPosition0 = {1f, 1f, -1f, 0f}; + + public void onDrawFrame(GL10 gl) { + if (!secondRun) { + secondRun = true; + return; + } + //gl.glClearColor(0.2f, 0.6f, 0.2f, 1f); + gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT); + } + + public void onSurfaceChanged(GL10 gl, int width, int height) { + + gl.glMatrixMode(GL10.GL_PROJECTION); + gl.glLoadIdentity(); + GLU.gluPerspective(gl, 60f, (float)width/(float)height, 1f, 100f); + + gl.glMatrixMode(GL10.GL_MODELVIEW); + gl.glLoadIdentity(); + + gl.glMatrixMode(GL10.GL_MODELVIEW); + gl.glTranslatef(0, 0, -5); + gl.glRotatef(30f, 1, 0, 0); + + gl.glEnable(GL10.GL_LIGHTING); + gl.glEnable(GL10.GL_RESCALE_NORMAL); + gl.glEnableClientState(GL10.GL_NORMAL_ARRAY); +//Set the color of light bouncing off of surfaces to respect the surface color + gl.glEnable(GL10.GL_COLOR_MATERIAL); + + setupLightSources(gl); + +// Turn on a global ambient light. The "Cosmic Background Radiation", if you will. + //float[] ambientLightRGB = {0.3f, 0.3f, 0.3f, 1.0f}; + float[] ambientLightRGB = {0.5f, 0.5f, 0.5f, 1.0f}; + gl.glLightModelfv(GL10.GL_LIGHT_MODEL_AMBIENT, ambientLightRGB, 0); + NonSurfaceChanged(width, height); + } + + public void onSurfaceCreated(GL10 gl, EGLConfig config) { + + if (!secondRun) { + return; + } + cn = new CallNative(); + + gl.glClearDepthf(1f); + gl.glEnable(GL10.GL_DEPTH_TEST); + gl.glDepthFunc(GL10.GL_LEQUAL); + +//Turn on culling, so OpenGL only draws one side of the primitives + gl.glEnable(GL10.GL_CULL_FACE); +//Define the front of a primitive to be the side where the listed vertexes are counterclockwise + gl.glFrontFace(GL10.GL_CCW); +//Do not draw the backs of primitives + gl.glCullFace(GL10.GL_BACK); + + } + + private void setupLightSources(GL10 gl) { + if (!secondRun) { + return; + } + //Enable Light source 0 + gl.glEnable(GL10.GL_LIGHT0); + + //Useful part of the Arrays start a 0 + gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_AMBIENT, ambientComponent0, 0); + gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_DIFFUSE, diffuseComponent0, 0); + + //Position the light in the scene + gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_POSITION, lightPosition0, 0); + } + + /** + * Called when the engine is destroyed. Do any necessary clean up because + * at this point your renderer instance is now done for. + */ + public void release() { + NonDone(); + + } + + public void NonSurfaceCreated() { + cn.nativeInit(); + } + + void NonSurfaceChanged(int w, int h) { + if (!secondRun) { + return; + } + cn.nativeResize(w, h); + } + + void NonDrawFrame() { + cn.nativeRender(); + } + + void NonDone() { + cn.nativeDone(); + } + + static + { + System.loadLibrary ("xscreensaver"); + } + +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/BufferFactory.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/BufferFactory.java new file mode 100644 index 00000000..228928fa --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/BufferFactory.java @@ -0,0 +1,46 @@ +package org.jwz.xscreensaver; + +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.FloatBuffer; +import java.nio.ShortBuffer; + +/** + * A utility class to create buffers. + * + * All public methods are static. The Singleton pattern was avoided to avoid concerns about + * threading and the Android life cycle. If needed, It can be implemented later given some research. + */ +public class BufferFactory { + // This class cannot and should not be instantiated + private BufferFactory() {} + + // We use Buffer.allocateDirect() to get memory outside of + // the normal, garbage collected heap. I think this is done + // because the buffer is subject to native I/O. + // See http://download.oracle.com/javase/1.4.2/docs/api/java/nio/ByteBuffer.html#direct + + /** + * Creates a buffer of floats using memory outside the normal, garbage collected heap + * + * @param capacity The number of primitives to create in the buffer. + */ + public static FloatBuffer createFloatBuffer(int capacity) { + // 4 is the number of bytes in a float + ByteBuffer vbb = ByteBuffer.allocateDirect(capacity * 4); + vbb.order(ByteOrder.nativeOrder()); + return vbb.asFloatBuffer(); + } + + /** + * Creates a buffer of shorts using memory outside the normal, garbage collected heap + * + * @param capacity The number of primitives to create in the buffer. + */ + public static ShortBuffer createShortBuffer(int capacity) { + // 2 is the number of bytes in a short + ByteBuffer vbb = ByteBuffer.allocateDirect(capacity * 2); + vbb.order(ByteOrder.nativeOrder()); + return vbb.asShortBuffer(); + } +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/CallNative.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/CallNative.java new file mode 100644 index 00000000..be8c66d0 --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/CallNative.java @@ -0,0 +1,25 @@ +package org.jwz.xscreensaver; + +public class CallNative { + + void onSurfaceCreated() { + nativeInit(); + } + + void onSurfaceChanged(int w, int h) { + nativeResize(w, h); + } + + void onDrawFrame() { + nativeRender(); + } + + void onDone() { + nativeDone(); + } + + public static native void nativeInit(); + public static native void nativeResize(int w, int h); + public static native void nativeRender(); + public static native void nativeDone(); +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/XscreensaverApp.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/XscreensaverApp.java new file mode 100644 index 00000000..609ef324 --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/XscreensaverApp.java @@ -0,0 +1,18 @@ +package org.jwz.xscreensaver; + +import android.app.Application; +import android.content.SharedPreferences; + +public class XscreensaverApp extends Application { + + public XscreensaverApp() { + super(); + } + + + public SharedPreferences getThePrefs(String p) { + SharedPreferences prefs = getApplicationContext().getSharedPreferences(p, 0); + return prefs; + } + +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/HilbertService.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/HilbertService.java new file mode 100644 index 00000000..a098205c --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/HilbertService.java @@ -0,0 +1,49 @@ +package org.jwz.xscreensaver.gen; +import net.rbgrn.android.glwallpaperservice.*; +import android.content.SharedPreferences; +import org.jwz.xscreensaver.*; + +// Original code provided by Robert Green +// http://www.rbgrn.net/content/354-glsurfaceview-adapted-3d-live-wallpapers +public class HilbertService extends GLWallpaperService { + SharedPreferences sp; + public HilbertService() { + super(); + } + @Override + public void onCreate() { + sp = ((XscreensaverApp)getApplication()).getThePrefs(HilbertWallpaper.SHARED_PREFS_NAME); + } + public Engine onCreateEngine() { + MyEngine engine = new MyEngine(); + return engine; + } + class MyEngine extends GLEngine { + HilbertWallpaper renderer; + public MyEngine() { + super(); + // handle prefs, other initialization + renderer = new HilbertWallpaper(); + setRenderer(renderer); + setRenderMode(RENDERMODE_CONTINUOUSLY); + } + public void onDestroy() { + super.onDestroy(); + if (renderer != null) { + renderer.release(); // assuming yours has this method - it should! + } + renderer = null; + } + @Override + public void onVisibilityChanged(boolean visible) { + super.onVisibilityChanged(visible); + if (visible) { + renderer.doSP(sp); + } + } + } + static + { + System.loadLibrary ("xscreensaver"); + } +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/HilbertSettings.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/HilbertSettings.java new file mode 100644 index 00000000..ec0378a7 --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/HilbertSettings.java @@ -0,0 +1,30 @@ +package org.jwz.xscreensaver.gen; +import org.jwz.xscreensaver.R; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.preference.PreferenceActivity; +public class HilbertSettings extends PreferenceActivity + implements SharedPreferences.OnSharedPreferenceChangeListener { + @Override + protected void onCreate(Bundle icicle) { + super.onCreate(icicle); + getPreferenceManager().setSharedPreferencesName( + HilbertWallpaper.SHARED_PREFS_NAME); + addPreferencesFromResource(R.xml.hilbert_settings); + getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener( + this); + } + @Override + protected void onResume() { + super.onResume(); + } + @Override + protected void onDestroy() { + getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener( + this); + super.onDestroy(); + } + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, + String key) { + } +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/HilbertWallpaper.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/HilbertWallpaper.java new file mode 100644 index 00000000..f965290d --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/HilbertWallpaper.java @@ -0,0 +1,36 @@ +package org.jwz.xscreensaver.gen; +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.opengles.GL10; +import net.rbgrn.android.glwallpaperservice.*; +import android.opengl.GLU; +import android.content.Context; +import android.content.SharedPreferences; +import org.jwz.xscreensaver.*; +public class HilbertWallpaper extends ARenderer { + private static native void nativeSettings(String hack, String hackPref, int draw); + public static final String SHARED_PREFS_NAME="hilbertsettings"; + CallNative cn; + public void onSurfaceCreated(GL10 gl, EGLConfig config) { + super.onSurfaceCreated(gl, config); + cn = new CallNative(); + NonSurfaceCreated(); + } + public void onDrawFrame(GL10 gl) { + super.onDrawFrame(gl); + nativeSettings("bogus", "bogus", 1); + NonDrawFrame(); + } + void NonDrawFrame() { + cn.nativeRender(); + } + void doSP(SharedPreferences sspp) { + //String hackPref = sspp.getString("hilbert_quad", "75"); // key + String hackPref = sspp.getString("hilbert_mode", "3d"); // key + String hack = "hilbert"; + nativeSettings(hack, hackPref, 0); + } + static + { + System.loadLibrary ("xscreensaver"); + } +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesService.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesService.java new file mode 100644 index 00000000..8cddbebc --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesService.java @@ -0,0 +1,49 @@ +package org.jwz.xscreensaver.gen; +import net.rbgrn.android.glwallpaperservice.*; +import android.content.SharedPreferences; +import org.jwz.xscreensaver.*; + +// Original code provided by Robert Green +// http://www.rbgrn.net/content/354-glsurfaceview-adapted-3d-live-wallpapers +public class SproingiesService extends GLWallpaperService { + SharedPreferences sp; + public SproingiesService() { + super(); + } + @Override + public void onCreate() { + sp = ((XscreensaverApp)getApplication()).getThePrefs(SproingiesWallpaper.SHARED_PREFS_NAME); + } + public Engine onCreateEngine() { + MyEngine engine = new MyEngine(); + return engine; + } + class MyEngine extends GLEngine { + SproingiesWallpaper renderer; + public MyEngine() { + super(); + // handle prefs, other initialization + renderer = new SproingiesWallpaper(); + setRenderer(renderer); + setRenderMode(RENDERMODE_CONTINUOUSLY); + } + public void onDestroy() { + super.onDestroy(); + if (renderer != null) { + renderer.release(); // assuming yours has this method - it should! + } + renderer = null; + } + @Override + public void onVisibilityChanged(boolean visible) { + super.onVisibilityChanged(visible); + if (visible) { + renderer.doSP(sp); + } + } + } + static + { + System.loadLibrary ("xscreensaver"); + } +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesSettings.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesSettings.java new file mode 100644 index 00000000..0e29a8c3 --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesSettings.java @@ -0,0 +1,30 @@ +package org.jwz.xscreensaver.gen; +import org.jwz.xscreensaver.R; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.preference.PreferenceActivity; +public class SproingiesSettings extends PreferenceActivity + implements SharedPreferences.OnSharedPreferenceChangeListener { + @Override + protected void onCreate(Bundle icicle) { + super.onCreate(icicle); + getPreferenceManager().setSharedPreferencesName( + SproingiesWallpaper.SHARED_PREFS_NAME); + addPreferencesFromResource(R.xml.sproingies_settings); + getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener( + this); + } + @Override + protected void onResume() { + super.onResume(); + } + @Override + protected void onDestroy() { + getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener( + this); + super.onDestroy(); + } + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, + String key) { + } +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesWallpaper.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesWallpaper.java new file mode 100644 index 00000000..71b081b9 --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SproingiesWallpaper.java @@ -0,0 +1,35 @@ +package org.jwz.xscreensaver.gen; +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.opengles.GL10; +import net.rbgrn.android.glwallpaperservice.*; +import android.opengl.GLU; +import android.content.Context; +import android.content.SharedPreferences; +import org.jwz.xscreensaver.*; +public class SproingiesWallpaper extends ARenderer { + private static native void nativeSettings(String hack, String hackPref, int draw); + public static final String SHARED_PREFS_NAME="sproingiessettings"; + CallNative cn; + public void onSurfaceCreated(GL10 gl, EGLConfig config) { + super.onSurfaceCreated(gl, config); + cn = new CallNative(); + NonSurfaceCreated(); + } + public void onDrawFrame(GL10 gl) { + super.onDrawFrame(gl); + nativeSettings("bogus", "bogus", 1); + NonDrawFrame(); + } + void NonDrawFrame() { + cn.nativeRender(); + } + void doSP(SharedPreferences sspp) { + String hackPref = sspp.getString("sproingies_count", "8"); // key + String hack = "sproingies"; + nativeSettings(hack, hackPref, 0); + } + static + { + System.loadLibrary ("xscreensaver"); + } +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/StonerviewService.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/StonerviewService.java new file mode 100644 index 00000000..177e528a --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/StonerviewService.java @@ -0,0 +1,60 @@ +package org.jwz.xscreensaver.gen; + +import net.rbgrn.android.glwallpaperservice.*; +import android.content.SharedPreferences; +import org.jwz.xscreensaver.*; + +// Original code provided by Robert Green +// http://www.rbgrn.net/content/354-glsurfaceview-adapted-3d-live-wallpapers +public class StonerviewService extends GLWallpaperService { + + SharedPreferences sp; + + public StonerviewService() { + super(); + } + + @Override + public void onCreate() { + sp = ((XscreensaverApp)getApplication()).getThePrefs(StonerviewWallpaper.SHARED_PREFS_NAME); + } + + public Engine onCreateEngine() { + MyEngine engine = new MyEngine(); + return engine; + } + + class MyEngine extends GLEngine { + StonerviewWallpaper renderer; + public MyEngine() { + super(); + // handle prefs, other initialization + renderer = new StonerviewWallpaper(); + setRenderer(renderer); + setRenderMode(RENDERMODE_CONTINUOUSLY); + } + + public void onDestroy() { + super.onDestroy(); + if (renderer != null) { + renderer.release(); // assuming yours has this method - it should! + } + renderer = null; + } + + @Override + public void onVisibilityChanged(boolean visible) { + super.onVisibilityChanged(visible); + if (visible) { + renderer.doSP(sp); + } + } + + } + static + { + System.loadLibrary ("xscreensaver"); + } + + +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/StonerviewSettings.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/StonerviewSettings.java new file mode 100644 index 00000000..4302126c --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/StonerviewSettings.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2009 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.jwz.xscreensaver.gen; + +import org.jwz.xscreensaver.R; + +import android.content.SharedPreferences; +import android.os.Bundle; +import android.preference.PreferenceActivity; + +public class StonerviewSettings extends PreferenceActivity + implements SharedPreferences.OnSharedPreferenceChangeListener { + + @Override + protected void onCreate(Bundle icicle) { + super.onCreate(icicle); + getPreferenceManager().setSharedPreferencesName( + StonerviewWallpaper.SHARED_PREFS_NAME); + addPreferencesFromResource(R.xml.stonerview_settings); + getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener( + this); + } + + @Override + protected void onResume() { + super.onResume(); + } + + @Override + protected void onDestroy() { + getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener( + this); + super.onDestroy(); + } + + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, + String key) { + } +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/StonerviewWallpaper.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/StonerviewWallpaper.java new file mode 100644 index 00000000..4d36cc8c --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/StonerviewWallpaper.java @@ -0,0 +1,50 @@ +package org.jwz.xscreensaver.gen; + +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.opengles.GL10; + +import net.rbgrn.android.glwallpaperservice.*; +import android.opengl.GLU; + +import android.content.Context; +import android.content.SharedPreferences; +import org.jwz.xscreensaver.*; + +public class StonerviewWallpaper extends ARenderer { + + private static native void nativeSettings(String hack, String hackPref, int draw); + public static final String SHARED_PREFS_NAME="stonerviewsettings"; + CallNative cn; + + public void onSurfaceCreated(GL10 gl, EGLConfig config) { + + super.onSurfaceCreated(gl, config); + + cn = new CallNative(); + NonSurfaceCreated(); + } + + public void onDrawFrame(GL10 gl) { + super.onDrawFrame(gl); + nativeSettings("bogus", "bogus", 1); + NonDrawFrame(); + } + + void NonDrawFrame() { + cn.nativeRender(); + } + + void doSP(SharedPreferences sspp) { + String hackPref = sspp.getString("stonerview_speed", "1"); // key + String hack = "stonerview"; + nativeSettings(hack, hackPref, 0); + } + + + + static + { + System.loadLibrary ("xscreensaver"); + } + +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SuperquadricsService.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SuperquadricsService.java new file mode 100644 index 00000000..a2f7951d --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SuperquadricsService.java @@ -0,0 +1,60 @@ +package org.jwz.xscreensaver.gen; + +import net.rbgrn.android.glwallpaperservice.*; +import android.content.SharedPreferences; +import org.jwz.xscreensaver.*; + +// Original code provided by Robert Green +// http://www.rbgrn.net/content/354-glsurfaceview-adapted-3d-live-wallpapers +public class SuperquadricsService extends GLWallpaperService { + + SharedPreferences sp; + + public SuperquadricsService() { + super(); + } + + @Override + public void onCreate() { + sp = ((XscreensaverApp)getApplication()).getThePrefs(SuperquadricsWallpaper.SHARED_PREFS_NAME); + } + + public Engine onCreateEngine() { + MyEngine engine = new MyEngine(); + return engine; + } + + class MyEngine extends GLEngine { + SuperquadricsWallpaper renderer; + public MyEngine() { + super(); + // handle prefs, other initialization + renderer = new SuperquadricsWallpaper(); + setRenderer(renderer); + setRenderMode(RENDERMODE_CONTINUOUSLY); + } + + public void onDestroy() { + super.onDestroy(); + if (renderer != null) { + renderer.release(); // assuming yours has this method - it should! + } + renderer = null; + } + + @Override + public void onVisibilityChanged(boolean visible) { + super.onVisibilityChanged(visible); + if (visible) { + renderer.doSP(sp); + } + } + + } + static + { + System.loadLibrary ("xscreensaver"); + } + + +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SuperquadricsSettings.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SuperquadricsSettings.java new file mode 100644 index 00000000..867012b5 --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SuperquadricsSettings.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2009 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.jwz.xscreensaver.gen; + +import org.jwz.xscreensaver.R; + +import android.content.SharedPreferences; +import android.os.Bundle; +import android.preference.PreferenceActivity; + +public class SuperquadricsSettings extends PreferenceActivity + implements SharedPreferences.OnSharedPreferenceChangeListener { + + @Override + protected void onCreate(Bundle icicle) { + super.onCreate(icicle); + getPreferenceManager().setSharedPreferencesName( + SuperquadricsWallpaper.SHARED_PREFS_NAME); + addPreferencesFromResource(R.xml.superquadrics_settings); + getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener( + this); + } + + @Override + protected void onResume() { + super.onResume(); + } + + @Override + protected void onDestroy() { + getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener( + this); + super.onDestroy(); + } + + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, + String key) { + } +} diff --git a/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SuperquadricsWallpaper.java b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SuperquadricsWallpaper.java new file mode 100644 index 00000000..0893f84b --- /dev/null +++ b/android/project/xscreensaver/src/org/jwz/xscreensaver/gen/SuperquadricsWallpaper.java @@ -0,0 +1,50 @@ +package org.jwz.xscreensaver.gen; + +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.opengles.GL10; + +import net.rbgrn.android.glwallpaperservice.*; +import android.opengl.GLU; + +import android.content.Context; +import android.content.SharedPreferences; +import org.jwz.xscreensaver.*; + +public class SuperquadricsWallpaper extends ARenderer { + + private static native void nativeSettings(String hack, String hackPref, int draw); + public static final String SHARED_PREFS_NAME="superquadricssettings"; + CallNative cn; + + public void onSurfaceCreated(GL10 gl, EGLConfig config) { + + super.onSurfaceCreated(gl, config); + + cn = new CallNative(); + NonSurfaceCreated(); + } + + public void onDrawFrame(GL10 gl) { + super.onDrawFrame(gl); + nativeSettings("bogus", "bogus", 1); + NonDrawFrame(); + } + + void NonDrawFrame() { + cn.nativeRender(); + } + + void doSP(SharedPreferences sspp) { + String hackPref = sspp.getString("superquadrics_speed", "5"); // key + String hack = "superquadrics"; + nativeSettings(hack, hackPref, 0); + } + + + + static + { + System.loadLibrary ("xscreensaver"); + } + +} diff --git a/config.h.in b/config.h.in index 8ab43750..3524ec4f 100644 --- a/config.h.in +++ b/config.h.in @@ -85,6 +85,9 @@ (gdk-pixbuf 2.12). */ #undef HAVE_GDK_PIXBUF_APPLY_EMBEDDED_ORIENTATION +/* Define to 1 if you have the `getaddrinfo' function. */ +#undef HAVE_GETADDRINFO + /* Define to 1 if you have the `getcwd' function. */ #undef HAVE_GETCWD @@ -223,6 +226,9 @@ /* Define to 1 if you have the `realpath' function. */ #undef HAVE_REALPATH +/* Define this to enable recording of videos. */ +#undef HAVE_RECORD_ANIM + /* Define to 1 if you have the `sbrk' function. */ #undef HAVE_SBRK @@ -263,6 +269,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H +/* Define to 1 if `sa_len' is a member of `struct sockaddr'. */ +#undef HAVE_STRUCT_SOCKADDR_SA_LEN + /* Define to 1 if you have the `syslog' function. */ #undef HAVE_SYSLOG @@ -320,6 +329,9 @@ XF86VidMode[GS]etGamma(). These appeared in XFree86 4.1.0. */ #undef HAVE_XF86VMODE_GAMMA_RAMP +/* Define this if you have libXft2. */ +#undef HAVE_XFT + /* Define this if you have the XHPDisableReset function (an HP only thing which allows the Ctrl-Sh-Reset key sequence to be temporarily disabled.) */ #undef HAVE_XHPDISABLERESET @@ -351,6 +363,9 @@ /* Define this if you have the X Shared Memory Extension. */ #undef HAVE_XSHM_EXTENSION +/* Define this if you have the function Xutf8DrawString(). */ +#undef HAVE_XUTF8DRAWSTRING + /* Define this to remove the option of locking the screen at all. */ #undef NO_LOCKING diff --git a/configure b/configure index 7e32db7b..4e8a6d12 100755 --- a/configure +++ b/configure @@ -625,6 +625,8 @@ DEPEND_DEFINES DEPEND_FLAGS DEPEND APPDEFAULTS +ANIM_LIBS +ANIM_OBJS GTK_EXTRA_OBJS HACK_CONF_DIR PO_DATADIR @@ -649,6 +651,9 @@ LOCK_SRCS SAVER_GL_LIBS SAVER_GL_OBJS SAVER_GL_SRCS +XFT_LIBS +XFT_OBJS +XFT_SRCS XMU_LIBS XMU_OBJS XMU_SRCS @@ -846,6 +851,7 @@ with_gles with_pixbuf with_xpm with_jpeg +with_xft with_xshm_ext with_xdbe_ext with_readdisplay @@ -853,6 +859,7 @@ with_image_directory with_text_file with_browser with_setuid_hacks +with_record_animation ' ac_precious_vars='build_alias host_alias @@ -1542,6 +1549,7 @@ Graphics options: --with-xpm Include support for XPM files in some demos. (Not needed if Pixbuf is used.) --with-jpeg Include support for the JPEG library. + --with-xft Include support for the X Freetype library. --with-xshm-ext Include support for the Shared Memory extension. --with-xdbe-ext Include support for the DOUBLE-BUFFER extension. --with-readdisplay Include support for the XReadDisplay extension. @@ -1552,6 +1560,8 @@ Graphics options: --with-setuid-hacks Allow some demos to be installed `setuid root' (which is needed in order to ping other hosts.) + --with-record-animation Include code for generating MP4 videos. + Some influential environment variables: CC C compiler command @@ -2045,6 +2055,63 @@ $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func + +# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES +# ---------------------------------------------------- +# Tries to find if the field MEMBER exists in type AGGR, after including +# INCLUDES, setting cache variable VAR accordingly. +ac_fn_c_check_member () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 +$as_echo_n "checking for $2.$3... " >&6; } +if eval \${$4+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (sizeof ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + eval "$4=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$4 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_member cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. @@ -2546,6 +2613,12 @@ echo "command line was: $0 $@" + + + + + + @@ -5800,6 +5873,28 @@ _ACEOF fi done +for ac_func in getaddrinfo +do : + ac_fn_c_check_func "$LINENO" "getaddrinfo" "ac_cv_func_getaddrinfo" +if test "x$ac_cv_func_getaddrinfo" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETADDRINFO 1 +_ACEOF + +fi +done + +ac_fn_c_check_member "$LINENO" "struct sockaddr" "sa_len" "ac_cv_member_struct_sockaddr_sa_len" "#include +" +if test "x$ac_cv_member_struct_sockaddr_sa_len" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_SOCKADDR_SA_LEN 1 +_ACEOF + + +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct icmp" >&5 $as_echo_n "checking for struct icmp... " >&6; } if ${ac_cv_have_icmp+:} false; then : @@ -6727,24 +6822,10 @@ $as_echo_n "checking for X app-defaults directory... " >&6; } if ${ac_cv_x_app_defaults+:} false; then : $as_echo_n "(cached) " >&6 else - - rm -fr conftestdir - if mkdir conftestdir; then - cd conftestdir 2>/dev/null - # Make sure to not put "make" in the Imakefile rules, since we grep it out. - cat > Imakefile <<'EOF' -acfindx: - @echo 'ac_x_app_defaults="${XAPPLOADDIR}"' -EOF - if (xmkmf) >/dev/null 2>&1 && test -f Makefile; then - # GNU make sometimes prints "make[1]: Entering...", which'd confuse us. - eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` - fi - cd .. 2>/dev/null - rm -fr conftestdir - fi + # skip this, it's always wrong these days. + # AC_PATH_X_APP_DEFAULTS_XMKMF if test x"$ac_x_app_defaults" = x; then - + true # Look for the directory under a standard set of common directories. # Check X11 before X11Rn because it's often a symlink to the current release. for ac_dir in \ @@ -6761,6 +6842,8 @@ EOF /usr/lib/X11R5/app-defaults \ /usr/lib/X11R4/app-defaults \ \ + /etc/X11/app-defaults \ + \ /usr/local/X11/lib/app-defaults \ /usr/local/X11R6/lib/app-defaults \ /usr/local/X11R5/lib/app-defaults \ @@ -6804,6 +6887,7 @@ EOF fi if test x"$ac_x_app_defaults" = x; then + /bin/echo -n 'fallback: ' ac_cv_x_app_defaults="/usr/lib/X11/app-defaults" else # Record where we found app-defaults for the cache. @@ -13119,7 +13203,7 @@ if ${ac_cv_mesagl_version_string+:} false; then : $as_echo_n "(cached) " >&6 else cat > conftest.$ac_ext < #ifndef MESA_MAJOR_VERSION @@ -14375,6 +14459,295 @@ fi fi +############################################################################### +# +# Check for -lXft +# +############################################################################### + +have_xutf8drawstring=no + + ac_save_CPPFLAGS="$CPPFLAGS" + ac_save_LDFLAGS="$LDFLAGS" +# ac_save_LIBS="$LIBS" + + if test \! -z "$includedir" ; then + CPPFLAGS="$CPPFLAGS -I$includedir" + fi + # note: $X_CFLAGS includes $x_includes + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + + if test \! -z "$libdir" ; then + LDFLAGS="$LDFLAGS -L$libdir" + fi + # note: $X_LIBS includes $x_libraries + LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" + + CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS` + LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Xutf8DrawString in -lX11" >&5 +$as_echo_n "checking for Xutf8DrawString in -lX11... " >&6; } +if ${ac_cv_lib_X11_Xutf8DrawString+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lX11 -lX11 -lXext -lm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char Xutf8DrawString (); +int +main () +{ +return Xutf8DrawString (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_X11_Xutf8DrawString=yes +else + ac_cv_lib_X11_Xutf8DrawString=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_X11_Xutf8DrawString" >&5 +$as_echo "$ac_cv_lib_X11_Xutf8DrawString" >&6; } +if test "x$ac_cv_lib_X11_Xutf8DrawString" = xyes; then : + have_xutf8drawstring=yes +else + true +fi + + CPPFLAGS="$ac_save_CPPFLAGS" + LDFLAGS="$ac_save_LDFLAGS" +# LIBS="$ac_save_LIBS" + +if test "$have_xutf8drawstring" = yes ; then + $as_echo "#define HAVE_XUTF8DRAWSTRING 1" >>confdefs.h + +fi + + +have_xft=no +with_xft_req=unspecified +xft_halfassed=no + +# Check whether --with-xft was given. +if test "${with_xft+set}" = set; then : + withval=$with_xft; with_xft="$withval"; with_xft_req="$withval" +else + with_xft=yes +fi + + + + case "$with_xft" in + yes) ;; + no) ;; + + /*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Xft headers" >&5 +$as_echo_n "checking for Xft headers... " >&6; } + d=$with_xft/include + if test -d $d; then + X_CFLAGS="-I$d $X_CFLAGS" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5 +$as_echo "$d" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5 +$as_echo "not found ($d: no such directory)" >&6; } + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Xft libs" >&5 +$as_echo_n "checking for Xft libs... " >&6; } + d=$with_xft/lib + if test -d $d; then + X_LIBS="-L$d $X_LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5 +$as_echo "$d" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5 +$as_echo "not found ($d: no such directory)" >&6; } + fi + + # replace the directory string with "yes". + with_xft_req="yes" + with_xft=$with_xft_req + ;; + + *) + echo "" + echo "error: argument to --with-xft must be \"yes\", \"no\", or a directory." + echo " If it is a directory, then \`DIR/include' will be added to" + echo " the -I list, and \`DIR/lib' will be added to the -L list." + exit 1 + ;; + esac + + +if test "$with_xft" != yes -a "$with_xft" != no ; then + echo "error: must be yes or no: --with-xft=$with_xft" + exit 1 +fi + +if test "$with_xft" = yes; then + + pkgs='' + ok="yes" + pkg_check_version xft 2.1.0 + have_xft="$ok" + + if test "$have_xft" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Xft includes" >&5 +$as_echo_n "checking for Xft includes... " >&6; } +if ${ac_cv_xft_config_cflags+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_xft_config_cflags=`$pkg_config --cflags $pkgs` +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_xft_config_cflags" >&5 +$as_echo "$ac_cv_xft_config_cflags" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Xft libs" >&5 +$as_echo_n "checking for Xft libs... " >&6; } +if ${ac_cv_xft_config_libs+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_xft_config_libs=`$pkg_config --libs $pkgs` +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_xft_config_libs" >&5 +$as_echo "$ac_cv_xft_config_libs" >&6; } + fi + + ac_xft_config_cflags=$ac_cv_xft_config_cflags + ac_xft_config_libs=$ac_cv_xft_config_libs + + if test "$have_xft" = yes; then + # + # we appear to have Xft; check for headers/libs to be sure. + # + ac_save_xft_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $ac_xft_config_cflags" + + have_xft=no + + ac_save_CPPFLAGS="$CPPFLAGS" + if test \! -z "$includedir" ; then + CPPFLAGS="$CPPFLAGS -I$includedir" + fi + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS` + ac_fn_c_check_header_mongrel "$LINENO" "X11/Xft/Xft.h" "ac_cv_header_X11_Xft_Xft_h" "$ac_includes_default" +if test "x$ac_cv_header_X11_Xft_Xft_h" = xyes; then : + have_xft=yes +fi + + + CPPFLAGS="$ac_save_CPPFLAGS" + + CPPFLAGS="$ac_save_xft_CPPFLAGS" + fi + + if test "$have_xft" = yes; then + # we have the headers, now check for the libraries + have_xft=no + xft_halfassed=yes + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking for Xft usability..." >&5 +$as_echo "checking for Xft usability..." >&6; } + + ac_save_CPPFLAGS="$CPPFLAGS" + ac_save_LDFLAGS="$LDFLAGS" +# ac_save_LIBS="$LIBS" + + if test \! -z "$includedir" ; then + CPPFLAGS="$CPPFLAGS -I$includedir" + fi + # note: $X_CFLAGS includes $x_includes + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + + if test \! -z "$libdir" ; then + LDFLAGS="$LDFLAGS -L$libdir" + fi + # note: $X_LIBS includes $x_libraries + LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" + + CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS` + LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XftDrawStringUtf8 in -lc" >&5 +$as_echo_n "checking for XftDrawStringUtf8 in -lc... " >&6; } +if ${ac_cv_lib_c_XftDrawStringUtf8+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lc $ac_xft_config_libs -lX11 -lXext -lm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char XftDrawStringUtf8 (); +int +main () +{ +return XftDrawStringUtf8 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_c_XftDrawStringUtf8=yes +else + ac_cv_lib_c_XftDrawStringUtf8=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_XftDrawStringUtf8" >&5 +$as_echo "$ac_cv_lib_c_XftDrawStringUtf8" >&6; } +if test "x$ac_cv_lib_c_XftDrawStringUtf8" = xyes; then : + have_xft=yes +fi + + CPPFLAGS="$ac_save_CPPFLAGS" + LDFLAGS="$ac_save_LDFLAGS" +# LIBS="$ac_save_LIBS" + + fi + + if test "$have_xft" = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking for Xft usability... no" >&5 +$as_echo "checking for Xft usability... no" >&6; } + fi +fi + +if test "$have_xft" = yes; then + INCLUDES="$INCLUDES $ac_xft_config_cflags" + XFT_LIBS="$ac_xft_config_libs" + XFT_SRCS='' + XFT_OBJS='' + $as_echo "#define HAVE_XFT 1" >>confdefs.h + +else + XFT_LIBS='' + XFT_SRCS='$(UTILS_SRC)/xft.c' + XFT_OBJS='$(UTILS_BIN)/xft.o' +fi + + ############################################################################### # # Check for pty support: this allows 'phosphor' and 'apple2' @@ -15193,6 +15566,88 @@ elif test "$setuid_hacks" != no; then fi +############################################################################### +# +# Check for --with-record-animation +# +############################################################################### + +record_anim_default=no +record_anim="$record_anim_default" + +# Check whether --with-record-animation was given. +if test "${with_record_animation+set}" = set; then : + withval=$with_record_animation; record_anim="$withval" +else + record_anim="$record_anim_default" +fi + + + + case "$record_anim" in + yes) ;; + no) ;; + + /*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for record animation headers" >&5 +$as_echo_n "checking for record animation headers... " >&6; } + d=$record_anim/include + if test -d $d; then + X_CFLAGS="-I$d $X_CFLAGS" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5 +$as_echo "$d" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5 +$as_echo "not found ($d: no such directory)" >&6; } + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for record animation libs" >&5 +$as_echo_n "checking for record animation libs... " >&6; } + d=$record_anim/lib + if test -d $d; then + X_LIBS="-L$d $X_LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5 +$as_echo "$d" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5 +$as_echo "not found ($d: no such directory)" >&6; } + fi + + # replace the directory string with "yes". + record_anim_req="yes" + record_anim=$record_anim_req + ;; + + *) + echo "" + echo "error: argument to --with-record-animation must be \"yes\", \"no\", or a directory." + echo " If it is a directory, then \`DIR/include' will be added to" + echo " the -I list, and \`DIR/lib' will be added to the -L list." + exit 1 + ;; + esac + + +if test "$record_anim" = yes; then + true +elif test "$record_anim" != no; then + echo "error: must be yes or no: --with-record-animation=$record_anim" + exit 1 +fi + +if test "$record_anim" = yes; then + if test "$have_gdk_pixbuf" != yes; then + as_fn_error $? "--with-record-animation requires GDK-Pixbuf" "$LINENO" 5 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: enabling --with-record-animation" >&5 +$as_echo "enabling --with-record-animation" >&6; } + $as_echo "#define HAVE_RECORD_ANIM 1" >>confdefs.h + + ANIM_OBJS='$(ANIM_OBJS)' + ANIM_LIBS='$(ANIM_LIBS)' + fi +fi + ############################################################################### # # Done testing. Now, set up the various -I and -L variables, @@ -15430,6 +15885,11 @@ INCLUDES=`echo "$INCLUDES" | sed 's@ -I${prefix}/include@@g;'` + + + + + @@ -17068,6 +17528,28 @@ if test "$have_jpeg" = no ; then fi +if test "$have_xft" = no ; then + if test "$with_xft_req" = yes ; then + warnL "Use of libXft was requested, but it was not found." + elif test "$with_xft_req" = no ; then + noteL 'The Xft library is not being used.' + else + noteL "The Xft library was not found." + fi + + if test "$xft_halfassed" = yes ; then + echo '' + warn2 'More specifically, we found the headers, but not the' + warn2 'libraries; so either Xft is half-installed on this' + warn2 "system, or something else went wrong. The \`config.log'" + warn2 'file might contain some clues.' + echo '' + fi + + warn2 "This means that fonts won't be anti-aliased." +fi + + if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then preferred_mesagl=3.4 mgv="$ac_mesagl_version_string" diff --git a/configure.in b/configure.in index 25b827c5..1f68445f 100644 --- a/configure.in +++ b/configure.in @@ -169,6 +169,12 @@ AH_TEMPLATE([HAVE_XMU], of X, and if your vendor doesn't ship it, you should report that as a bug.]) +AH_TEMPLATE([HAVE_XUTF8DRAWSTRING], + [Define this if you have the function Xutf8DrawString().]) + +AH_TEMPLATE([HAVE_XFT], + [Define this if you have libXft2.]) + AH_TEMPLATE([HAVE_GL], [Define this if you have OpenGL. Some of the demos require it, so if you don't have it, then those particular demos won't be @@ -317,6 +323,9 @@ AH_TEMPLATE([XPointer], AH_TEMPLATE([HAVE_PTHREAD], [Define this if your system supports POSIX threads.]) +AH_TEMPLATE([HAVE_RECORD_ANIM], + [Define this to enable recording of videos.]) + # After checking to see that --srcdir is correct (which AC_INIT does) # check for some random other files that come later in the tar file, # to make sure everything is here. @@ -812,6 +821,8 @@ AC_DEFUN([AC_PATH_X_APP_DEFAULTS_DIRECT],[ /usr/lib/X11R5/app-defaults \ /usr/lib/X11R4/app-defaults \ \ + /etc/X11/app-defaults \ + \ /usr/local/X11/lib/app-defaults \ /usr/local/X11R6/lib/app-defaults \ /usr/local/X11R5/lib/app-defaults \ @@ -857,11 +868,13 @@ AC_DEFUN([AC_PATH_X_APP_DEFAULTS_DIRECT],[ AC_DEFUN([AC_PATH_X_APP_DEFAULTS], [AC_REQUIRE_CPP() AC_CACHE_CHECK([for X app-defaults directory], ac_cv_x_app_defaults, - [AC_PATH_X_APP_DEFAULTS_XMKMF + [# skip this, it's always wrong these days. + # AC_PATH_X_APP_DEFAULTS_XMKMF if test x"$ac_x_app_defaults" = x; then - AC_PATH_X_APP_DEFAULTS_DIRECT + true AC_PATH_X_APP_DEFAULTS_DIRECT fi if test x"$ac_x_app_defaults" = x; then + /bin/echo -n 'fallback: ' ac_cv_x_app_defaults="/usr/lib/X11/app-defaults" else # Record where we found app-defaults for the cache. @@ -1233,6 +1246,8 @@ AC_SYS_LARGEFILE AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv sbrk) AC_CHECK_FUNCS(sigaction syslog realpath setrlimit) AC_CHECK_FUNCS(setlocale) +AC_CHECK_FUNCS(getaddrinfo) +AC_CHECK_MEMBERS([struct sockaddr.sa_len],,, [[#include ]]) AC_CHECK_ICMP AC_CHECK_ICMPHDR AC_CHECK_GETIFADDRS @@ -3399,6 +3414,94 @@ if test "$with_jpeg" = yes; then fi +############################################################################### +# +# Check for -lXft +# +############################################################################### + +have_xutf8drawstring=no +AC_CHECK_X_LIB(X11, Xutf8DrawString, + [have_xutf8drawstring=yes], + [true], -lX11 -lXext -lm) +if test "$have_xutf8drawstring" = yes ; then + AC_DEFINE(HAVE_XUTF8DRAWSTRING) +fi + + +have_xft=no +with_xft_req=unspecified +xft_halfassed=no +AC_ARG_WITH(xft, +[ --with-xft Include support for the X Freetype library.], + [with_xft="$withval"; with_xft_req="$withval"], + [with_xft=yes]) + +HANDLE_X_PATH_ARG(with_xft, --with-xft, Xft) + +if test "$with_xft" != yes -a "$with_xft" != no ; then + echo "error: must be yes or no: --with-xft=$with_xft" + exit 1 +fi + +if test "$with_xft" = yes; then + + pkgs='' + ok="yes" + pkg_check_version xft 2.1.0 + have_xft="$ok" + + if test "$have_xft" = yes; then + AC_CACHE_CHECK([for Xft includes], ac_cv_xft_config_cflags, + [ac_cv_xft_config_cflags=`$pkg_config --cflags $pkgs`]) + AC_CACHE_CHECK([for Xft libs], ac_cv_xft_config_libs, + [ac_cv_xft_config_libs=`$pkg_config --libs $pkgs`]) + fi + + ac_xft_config_cflags=$ac_cv_xft_config_cflags + ac_xft_config_libs=$ac_cv_xft_config_libs + + if test "$have_xft" = yes; then + # + # we appear to have Xft; check for headers/libs to be sure. + # + ac_save_xft_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $ac_xft_config_cflags" + + have_xft=no + AC_CHECK_X_HEADER(X11/Xft/Xft.h, [have_xft=yes]) + + CPPFLAGS="$ac_save_xft_CPPFLAGS" + fi + + if test "$have_xft" = yes; then + # we have the headers, now check for the libraries + have_xft=no + xft_halfassed=yes + + AC_MSG_RESULT(checking for Xft usability...) + AC_CHECK_X_LIB(c, XftDrawStringUtf8, [have_xft=yes],, + $ac_xft_config_libs -lX11 -lXext -lm) + fi + + if test "$have_xft" = no; then + AC_MSG_RESULT(checking for Xft usability... no) + fi +fi + +if test "$have_xft" = yes; then + INCLUDES="$INCLUDES $ac_xft_config_cflags" + XFT_LIBS="$ac_xft_config_libs" + XFT_SRCS='' + XFT_OBJS='' + AC_DEFINE(HAVE_XFT) +else + XFT_LIBS='' + XFT_SRCS='$(UTILS_SRC)/xft.c' + XFT_OBJS='$(UTILS_BIN)/xft.o' +fi + + ############################################################################### # # Check for pty support: this allows 'phosphor' and 'apple2' @@ -3737,6 +3840,39 @@ elif test "$setuid_hacks" != no; then fi +############################################################################### +# +# Check for --with-record-animation +# +############################################################################### + +record_anim_default=no +record_anim="$record_anim_default" +AC_ARG_WITH(record-animation, +[ --with-record-animation Include code for generating MP4 videos. +], + [record_anim="$withval"], [record_anim="$record_anim_default"]) + +HANDLE_X_PATH_ARG(record_anim, --with-record-animation, record animation) + +if test "$record_anim" = yes; then + true +elif test "$record_anim" != no; then + echo "error: must be yes or no: --with-record-animation=$record_anim" + exit 1 +fi + +if test "$record_anim" = yes; then + if test "$have_gdk_pixbuf" != yes; then + AC_MSG_ERROR(--with-record-animation requires GDK-Pixbuf) + else + AC_MSG_RESULT(enabling --with-record-animation) + AC_DEFINE(HAVE_RECORD_ANIM) + ANIM_OBJS='$(ANIM_OBJS)' + ANIM_LIBS='$(ANIM_LIBS)' + fi +fi + ############################################################################### # # Done testing. Now, set up the various -I and -L variables, @@ -3953,6 +4089,9 @@ AC_SUBST(PASSWD_OBJS) AC_SUBST(XMU_SRCS) AC_SUBST(XMU_OBJS) AC_SUBST(XMU_LIBS) +AC_SUBST(XFT_SRCS) +AC_SUBST(XFT_OBJS) +AC_SUBST(XFT_LIBS) AC_SUBST(SAVER_GL_SRCS) AC_SUBST(SAVER_GL_OBJS) AC_SUBST(SAVER_GL_LIBS) @@ -3977,6 +4116,8 @@ AC_SUBST(GTK_DATADIR) AC_SUBST(PO_DATADIR) AC_SUBST(HACK_CONF_DIR) AC_SUBST(GTK_EXTRA_OBJS) +AC_SUBST(ANIM_OBJS) +AC_SUBST(ANIM_LIBS) APPDEFAULTS=$ac_x_app_defaults AC_SUBST(APPDEFAULTS) @@ -4286,6 +4427,28 @@ if test "$have_jpeg" = no ; then fi +if test "$have_xft" = no ; then + if test "$with_xft_req" = yes ; then + warnL "Use of libXft was requested, but it was not found." + elif test "$with_xft_req" = no ; then + noteL 'The Xft library is not being used.' + else + noteL "The Xft library was not found." + fi + + if test "$xft_halfassed" = yes ; then + echo '' + warn2 'More specifically, we found the headers, but not the' + warn2 'libraries; so either Xft is half-installed on this' + warn2 "system, or something else went wrong. The \`config.log'" + warn2 'file might contain some clues.' + echo '' + fi + + warn2 "This means that fonts won't be anti-aliased." +fi + + if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then preferred_mesagl=3.4 mgv="$ac_mesagl_version_string" diff --git a/driver/Makefile.in b/driver/Makefile.in index 2c22ac85..c1323048 100644 --- a/driver/Makefile.in +++ b/driver/Makefile.in @@ -237,7 +237,7 @@ MEN = $(MEN_1) @MEN_OSX@ EXTRAS = README Makefile.in \ XScreenSaver.ad.in XScreenSaver-Xm.ad xscreensaver.pam.in \ - xscreensaver-demo.glade2 xscreensaver-demo.glade2p \ + xscreensaver-demo.glade2.in xscreensaver-demo.glade2p \ screensaver-properties.desktop.in \ .gdbinit VMSFILES = compile_axp.com compile_decc.com link_axp.com link_decc.com \ diff --git a/driver/XScreenSaver.ad.in b/driver/XScreenSaver.ad.in index d320002c..d1bbbe3a 100644 --- a/driver/XScreenSaver.ad.in +++ b/driver/XScreenSaver.ad.in @@ -4,8 +4,8 @@ ! a screen saver and locker for the X window system ! by Jamie Zawinski ! -! version 5.30 -! 10-Sep-2014 +! version 5.31 +! 15-Nov-2014 ! ! See "man xscreensaver" for more info. The latest version is always ! available at http://www.jwz.org/xscreensaver/ @@ -216,7 +216,7 @@ GetViewPortIsFullOfLies: False distort -root \n\ epicycle -root \n\ flow -root \n\ -- GL: glplanet -root \n\ +@GL_KLUDGE@ GL: glplanet -root \n\ interference -root \n\ kumppa -root \n\ @GL_KLUDGE@ GL: lament -root \n\ @@ -311,7 +311,7 @@ GetViewPortIsFullOfLies: False popsquares -root \n\ @GL_KLUDGE@ GL: surfaces -root \n\ xanalogtv -root \n\ -- abstractile -root \n\ + abstractile -root \n\ anemotaxis -root \n\ - GL: antinspect -root \n\ fireworkx -root \n\ @@ -362,6 +362,9 @@ GetViewPortIsFullOfLies: False @GL_KLUDGE@ GL: kaleidocycle -root \n\ @GL_KLUDGE@ GL: quasicrystal -root \n\ @GL_KLUDGE@ GL: unknownpleasures -root \n\ + binaryring -root \n\ +@GL_KLUDGE@ GL: cityflow -root \n\ +@GL_KLUDGE@ GL: geodesicgears -root \n\ @GL_KLUDGE@ GL: projectiveplane -root \n\ tessellimage -root \n\ @GL_KLUDGE@ GL: winduprobot -root \n @@ -438,6 +441,7 @@ XScreenSaver.bourneShell: /bin/sh *hacks.antinspect.name: AntInspect *hacks.antmaze.name: AntMaze *hacks.antspotlight.name: AntSpotlight +*hacks.binaryring.name: BinaryRing *hacks.blinkbox.name: BlinkBox *hacks.blitspin.name: BlitSpin *hacks.blocktube.name: BlockTube @@ -463,6 +467,7 @@ XScreenSaver.bourneShell: /bin/sh *hacks.flyingtoasters.name: FlyingToasters *hacks.fontglide.name: FontGlide *hacks.fuzzyflakes.name: FuzzyFlakes +*hacks.geodesicgears.name: GeodesicGears *hacks.gflux.name: GFlux *hacks.gleidescope.name: Gleidescope *hacks.glforestfire.name: GLForestFire diff --git a/driver/XScreenSaver_ad.h b/driver/XScreenSaver_ad.h index 9c10fc01..22eb2024 100644 --- a/driver/XScreenSaver_ad.h +++ b/driver/XScreenSaver_ad.h @@ -112,7 +112,7 @@ distort -root \\n\ epicycle -root \\n\ flow -root \\n\ -- GL: glplanet -root \\n\ + GL: glplanet -root \\n\ interference -root \\n\ kumppa -root \\n\ GL: lament -root \\n\ @@ -127,7 +127,7 @@ compass -root \\n\ deluxe -root \\n\ - demon -root \\n\ -- GL: extrusion -root \\n\ + GL: extrusion -root \\n\ - loop -root \\n\ penetrate -root \\n\ petri -root \\n\ @@ -207,7 +207,7 @@ popsquares -root \\n\ GL: surfaces -root \\n\ xanalogtv -root \\n\ -- abstractile -root \\n\ + abstractile -root \\n\ anemotaxis -root \\n\ - GL: antinspect -root \\n\ fireworkx -root \\n\ @@ -258,6 +258,9 @@ GL: kaleidocycle -root \\n\ GL: quasicrystal -root \\n\ GL: unknownpleasures -root \\n\ + binaryring -root \\n\ + GL: cityflow -root \\n\ + GL: geodesicgears -root \\n\ GL: projectiveplane -root \\n\ tessellimage -root \\n\ GL: winduprobot -root \\n", @@ -304,6 +307,7 @@ "*hacks.antinspect.name: AntInspect", "*hacks.antmaze.name: AntMaze", "*hacks.antspotlight.name: AntSpotlight", +"*hacks.binaryring.name: BinaryRing", "*hacks.blinkbox.name: BlinkBox", "*hacks.blitspin.name: BlitSpin", "*hacks.blocktube.name: BlockTube", @@ -329,6 +333,7 @@ "*hacks.flyingtoasters.name: FlyingToasters", "*hacks.fontglide.name: FontGlide", "*hacks.fuzzyflakes.name: FuzzyFlakes", +"*hacks.geodesicgears.name: GeodesicGears", "*hacks.gflux.name: GFlux", "*hacks.gleidescope.name: Gleidescope", "*hacks.glforestfire.name: GLForestFire", diff --git a/driver/demo-Gtk-conf.c b/driver/demo-Gtk-conf.c index 2f03a12f..bac6ecc7 100644 --- a/driver/demo-Gtk-conf.c +++ b/driver/demo-Gtk-conf.c @@ -1,5 +1,5 @@ /* demo-Gtk-conf.c --- implements the dynamic configuration dialogs. - * xscreensaver, Copyright (c) 2001-2013 Jamie Zawinski + * xscreensaver, Copyright (c) 2001-2014 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -300,7 +300,8 @@ make_parameter (const char *filename, xmlNodePtr node) else if (!strcmp (name, "xscreensaver-text") || /* ignored in X11; */ !strcmp (name, "xscreensaver-image") || /* used in Cocoa. */ - !strcmp (name, "xscreensaver-updater")) + !strcmp (name, "xscreensaver-updater") || + !strcmp (name, "video")) { free (p); return 0; @@ -1169,7 +1170,7 @@ de_stringify (char *s) char q = s[0]; if (q != '\'' && q != '\"' && q != '`') abort(); - memmove (s, s+1, strlen (s)+1); + memmove (s, s+1, strlen (s)); while (*s && *s != q) { if (*s == '\\') diff --git a/driver/windows.c b/driver/windows.c index 29edc82b..52d56691 100644 --- a/driver/windows.c +++ b/driver/windows.c @@ -1681,7 +1681,7 @@ blank_screen (saver_info *si) raise_window (si, False, False, False); si->screen_blanked_p = True; - si->blank_time = time ((time_t) 0); + si->blank_time = time ((time_t *) 0); si->last_wall_clock_time = 0; store_saver_status (si); /* store blank time */ @@ -1803,7 +1803,7 @@ unblank_screen (saver_info *si) XUnmapWindow (si->dpy, si->screens[i].screensaver_window); si->screen_blanked_p = False; - si->blank_time = time ((time_t) 0); + si->blank_time = time ((time_t *) 0); si->last_wall_clock_time = 0; store_saver_status (si); /* store unblank time */ diff --git a/driver/xscreensaver-demo.glade2.in b/driver/xscreensaver-demo.glade2.in new file mode 100644 index 00000000..ad0095d3 --- /dev/null +++ b/driver/xscreensaver-demo.glade2.in @@ -0,0 +1,3136 @@ + + + + + + + + XScreenSaver + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_NORMAL + GDK_GRAVITY_NORTH_WEST + True + False + + + + True + False + 5 + + + + True + GTK_PACK_DIRECTION_LTR + GTK_PACK_DIRECTION_LTR + + + + True + _File + True + + + + + + + + True + _Blank Screen Now + True + + + + + + + True + _Lock Screen Now + True + + + + + + + True + _Kill Daemon + True + + + + + + + True + _Restart Daemon + True + + + + + + + True + + + + + + True + _Quit + True + + + + + + + + + + + True + _Help + True + + + + + + + True + _About... + True + + + + + + + True + _Documentation... + True + + + + + + + + + + 0 + False + False + + + + + + 8 + True + False + 0 + + + + True + True + True + True + GTK_POS_TOP + False + False + + + + + 10 + True + 2 + 2 + False + 0 + 0 + + + + True + 3 + 4 + False + 2 + 0 + + + + True + _Cycle After + True + False + GTK_JUSTIFY_RIGHT + False + False + 1 + 0.5 + 8 + 0 + cycle_spinbutton + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 1 + 2 + 1 + 2 + fill + + + + + + + True + Whether a password should be required to un-blank the screen. + True + False + + + + True + True + _Lock Screen After + True + GTK_RELIEF_NORMAL + True + False + False + True + + Lock Screen + + + + + + + + + + 0 + 2 + 2 + 3 + fill + + + + + + + True + How long before the screen saver activates. + True + 15 + 0 + True + GTK_UPDATE_ALWAYS + True + False + 1 1 720 1 15 0 + + + + + + + + + + + + 2 + 3 + 0 + 1 + fill + + + + + + + True + How long after the screen blanks until a password will be required. + True + 15 + 0 + True + GTK_UPDATE_ALWAYS + True + False + 0 0 720 1 15 0 + + Lock Screen After + + + + + + + + + + + + 2 + 3 + 2 + 3 + 10 + fill + + + + + + + True + How long each display mode should run before choosing a new one (in Random mode.) + True + 15 + 0 + True + GTK_UPDATE_ALWAYS + True + False + 0 0 720 1 15 0 + + + + + + + + + + + + 2 + 3 + 1 + 2 + fill + + + + + + + True + minutes + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 8 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 3 + 4 + 2 + 3 + + + + + + + True + minutes + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 8 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 3 + 4 + 1 + 2 + + + + + + + True + _Blank After + True + False + GTK_JUSTIFY_RIGHT + False + False + 1 + 0.5 + 8 + 0 + timeout_spinbutton + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 1 + 2 + 0 + 1 + fill + + + + + + + True + minutes + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 8 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 3 + 4 + 0 + 1 + + + + + + 0 + 1 + 1 + 2 + fill + fill + + + + + + True + GTK_BUTTONBOX_SPREAD + 30 + + + + True + Demo the selected screen saver in full-screen mode (click the mouse to return.) + True + True + _Preview + True + GTK_RELIEF_NORMAL + True + + + + + + + True + Customization and explanation of the selected screen saver. + True + True + _Settings... + True + GTK_RELIEF_NORMAL + True + + + + + + 1 + 2 + 1 + 2 + fill + fill + + + + + + 10 + True + False + 0 + + + + True + False + 0 + + + + True + _Mode: + True + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + mode_menu + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + 0 + False + False + + + + + + True + True + 0 + + + + + + + True + + + + True + Never blank the screen or power down the monitor. + _Disable Screen Saver + True + + + + + + True + When idle or locked, blacken the screen only. + _Blank Screen Only + True + + + + + + True + When idle or locked, run the display mode selected below. + _Only One Screen Saver + True + + + + + + True + When idle or locked, choose a random display mode from among the checked items in the list below. + _Random Screen Saver + True + + + + + + True + When idle or locked, choose a random display mode from among the checked items in the list below. Run that same mode on each monitor. + _Same Random Savers + True + + + + + + + 4 + True + True + + + + + 10 + False + True + + + + + + True + True + GTK_POLICY_NEVER + GTK_POLICY_ALWAYS + GTK_SHADOW_IN + GTK_CORNER_TOP_LEFT + + + + True + True + False + True + False + True + False + False + False + + + + + 0 + True + True + + + + + + True + True + 0 + + + + True + False + 0 + + + + True + Run the next screen saver in the list in full-screen mode (click the mouse to return.) + True + GTK_RELIEF_NORMAL + True + + + + + True + GTK_ARROW_DOWN + GTK_SHADOW_OUT + 0.5 + 0.5 + 0 + 0 + + + + + 0 + False + False + + + + + + True + Run the previous screen saver in the list in full-screen mode (click the mouse to return.) + True + GTK_RELIEF_NORMAL + True + + + + + True + GTK_ARROW_UP + GTK_SHADOW_OUT + 0.5 + 0.5 + 0 + 0 + + + + + 0 + False + False + + + + + 0 + False + False + + + + + 0 + False + True + GTK_PACK_END + + + + + 0 + 1 + 0 + 1 + fill + + + + + + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + + + + True + True + True + False + GTK_POS_BOTTOM + False + False + + + + 8 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + 0.5 + 0.5 + 1.33000004292 + False + + + + True + + + + + False + True + + + + + + True + preview + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + True + No Preview +Available + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + False + True + + + + + + True + no preview + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + True + Not +Installed + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + False + True + + + + + + True + not installed + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + True + Very few (or no) screen savers appear to be available. + +This probably means that the "xscreensaver-extras" and +"xscreensaver-gl-extras" packages are not installed. + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + False + True + + + + + + True + nothing + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + + + True + Description + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + label_item + + + + + 1 + 2 + 0 + 1 + 6 + expand|shrink|fill + expand|shrink|fill + + + + + False + True + + + + + + True + _Display Modes + True + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + notebook + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + True + 2 + 2 + True + 0 + 0 + + + + 10 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + + + + 8 + True + False + 8 + + + + True + screensaver-snap.png + 0 + 0 + 4 + 8 + + + 0 + False + False + + + + + + True + False + 0 + + + + True + Whether the image-manipulating modes should be allowed to operate on an image of your desktop. + True + Grab Desktop _Images + True + GTK_RELIEF_NORMAL + True + False + False + True + + + + 0 + False + False + + + + + + True + Whether the image-manipulating modes should operate on images captured from the system's video input (if there is one.) + True + Grab _Video Frames + True + GTK_RELIEF_NORMAL + True + False + False + True + + + + 0 + False + False + + + + + + True + Whether the image-manipulating modes should load image files. + True + Choose _Random Image: + True + GTK_RELIEF_NORMAL + True + False + False + True + + + + + + + + 0 + False + False + + + + + + True + False + 0 + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 8 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + The local directory, RSS feed or Atom feed from which images will be randomly chosen. + True + True + True + 0 + + True + * + False + + + + + + + + + 2 + True + True + + + + + + True + True + _Browse + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + False + + + + + 0 + False + False + + + + + + True + Local directory, or RSS feed URL. + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 20 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + 0 + True + True + + + + + + + + True + Image Manipulation + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + label_item + + + + + 0 + 1 + 0 + 1 + + + + + + 10 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + + + + 8 + True + False + 8 + + + + + 0 + False + False + + + + + + True + 5 + 3 + False + 2 + 2 + + + + True + Text-displaying modes will display the text typed here. + True + _Text + True + GTK_RELIEF_NORMAL + True + False + False + True + + + + + + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + Text-displaying modes will display the contents of this file. + True + Text _file + True + GTK_RELIEF_NORMAL + True + False + False + True + text_radio + + + + + + + + 0 + 1 + 2 + 3 + fill + + + + + + + True + Text-displaying modes will display the output of this program. + True + _Program + True + GTK_RELIEF_NORMAL + True + False + False + True + text_radio + + + + + + + + + 0 + 1 + 3 + 4 + fill + + + + + + + True + Text-displaying modes will display the contents of this URL (HTML or RSS). + True + _URL + True + GTK_RELIEF_NORMAL + True + False + False + True + text_radio + + + + + + + + 0 + 1 + 4 + 5 + fill + + + + + + + True + Text-displaying modes will display the local host name, date, and time. + True + _Host Name and Time + True + GTK_RELIEF_NORMAL + True + True + False + True + text_radio + + + + 0 + 3 + 0 + 1 + fill + + + + + + + True + Text-displaying modes will display the contents of this URL (HTML or RSS). + True + True + True + 0 + + True + * + False + + + + + + + + 1 + 3 + 4 + 5 + + + + + + + True + True + _Browse + True + GTK_RELIEF_NORMAL + True + + + + + + + 2 + 3 + 2 + 3 + fill + + + + + + + True + Text-displaying modes will display the text typed here. + True + True + True + 0 + + True + * + False + + + + + + + + + 1 + 3 + 1 + 2 + + + + + + + True + Text-displaying modes will display the output of this program. + True + True + True + 0 + + True + * + False + + + + + + + + + 1 + 2 + 3 + 4 + + + + + + + True + True + _Browse + True + GTK_RELIEF_NORMAL + True + + + + + + + 2 + 3 + 3 + 4 + fill + + + + + + + True + Text-displaying modes will display the contents of this file. + True + True + True + 0 + + True + * + False + + + + + + + + + 1 + 2 + 2 + 3 + + + + + + 0 + True + True + + + + + + + + True + Text Manipulation + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + label_item + + + + + 0 + 1 + 1 + 2 + fill + + + + + + 10 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 8 + True + False + 8 + + + + + 0 + False + False + + + + + + True + False + 0 + + + + True + Whether the monitor should be powered down after a while. + True + _Power Management Enabled + True + GTK_RELIEF_NORMAL + True + True + False + True + + + + + + + + + 0 + False + False + + + + + + True + 3 + 3 + False + 2 + 4 + + + + True + Stand_by After + True + False + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 10 + 0 + dpms_standby_spinbutton + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + Sus_pend After + True + False + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 10 + 0 + dpms_suspend_spinbutton + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + _Off After + True + False + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 10 + 0 + dpms_off_spinbutton + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 0 + 1 + 2 + 3 + fill + + + + + + + True + minutes + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 2 + 3 + 0 + 1 + fill + + + + + + + True + minutes + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 2 + 3 + 1 + 2 + fill + + + + + + + True + minutes + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 2 + 3 + 2 + 3 + fill + + + + + + + True + How long until the monitor powers down. + True + 15 + 0 + True + GTK_UPDATE_ALWAYS + True + False + 0 0 1440 1 15 0 + + + + + + + + + + + + + 1 + 2 + 2 + 3 + + + + + + + + True + How long until the monitor goes into power-saving mode. + True + 15 + 0 + True + GTK_UPDATE_ALWAYS + True + False + 0 0 1440 1 15 0 + + + + + + + + + + + + + 1 + 2 + 1 + 2 + + + + + + + + True + How long until the monitor goes completely black. + True + 15 + 0 + True + GTK_UPDATE_ALWAYS + True + False + 0 0 1440 1 15 0 + + + + + + + + + + + + + 1 + 2 + 0 + 1 + + + + + + + 0 + False + True + + + + + + True + Whether the monitor should be powered off immediately in "Blank Screen Only" mode, regardless of the above power-management timeouts. + True + _Quick Power-off in Blank Only Mode + True + GTK_RELIEF_NORMAL + True + False + False + True + + + + 0 + False + False + + + + + + 0 + True + True + + + + + + + + True + Display Power Management + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + label_item + + + + + 1 + 2 + 0 + 1 + fill + + + + + + 10 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + + + + 8 + True + False + 8 + + + + True + screensaver-colorselector.png + 0.5 + 0 + 0 + 0 + + + 0 + False + False + + + + + + True + False + 0 + + + + True + Whether the screen should slowly fade to black when the screen saver activates. + True + Fade to Black when _Blanking + True + GTK_RELIEF_NORMAL + True + False + False + True + + + + + + + 0 + False + False + + + + + + True + Whether the screen should slowly fade in from black when the screen saver deactivates. + True + Fade from Black When _Unblanking + True + GTK_RELIEF_NORMAL + True + False + False + True + + + + + + + 0 + False + False + + + + + + True + False + 0 + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 3 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + F_ade Duration + True + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + fade_spinbutton + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 14 + False + False + + + + + + True + How long it should take for the screen to fade in and out. + True + 1 + 0 + True + GTK_UPDATE_ALWAYS + True + False + 0 0 10 1 1 0 + + + + + + + + + + + + + + 4 + False + False + + + + + + True + seconds + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 2 + False + False + + + + + 0 + False + False + + + + + + True + + + 8 + False + False + + + + + + True + Whether to install a private colormap when running in 8-bit mode on the default Visual. + True + Install _Colormap + True + GTK_RELIEF_NORMAL + True + False + False + True + + + + 0 + False + False + + + + + 0 + True + True + + + + + + + + True + Fading and Colormaps + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + label_item + + + + + 1 + 2 + 1 + 2 + fill + fill + + + + + False + True + + + + + + True + _Advanced + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + notebook + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + 0 + True + True + + + + + 0 + True + True + + + + + + 5 + GTK_BUTTONBOX_EDGE + 10 + + + + True + True + True + gtk-help + True + GTK_RELIEF_NORMAL + True + + + + + + + True + True + True + gtk-close + True + GTK_RELIEF_NORMAL + True + + + + + + 0 + False + True + GTK_PACK_END + + + + + + + + dialog1 + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + False + @COMMENT_DEMO_GLADE2_GTK_2_22_HEAD@False@COMMENT_DEMO_GLADE2_GTK_2_22_TAIL@ + + + + True + False + 0 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + _Advanced >> + True + GTK_RELIEF_NORMAL + True + 0 + + + + + + + True + True + True + _Standard << + True + GTK_RELIEF_NORMAL + True + 0 + + + + + + + True + True + True + _Reset to Defaults + True + GTK_RELIEF_NORMAL + True + 0 + + + + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + True + -6 + + + + + + + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + True + -5 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + False + 0 + + + + True + 0 + 0 + GTK_SHADOW_ETCHED_IN + + + + + + + 12 + True + True + True + False + GTK_POS_BOTTOM + False + False + + + + + True + False + 0 + + + + + + + True + True + GTK_PACK_END + + + + + + True + Standard + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + True + 4 + 2 + False + 0 + 0 + + + + + 0 + 1 + 0 + 1 + fill + fill + + + + + + True + _Command Line: + True + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + cmd_text + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + 1 + 2 + 1 + 2 + fill + + + + + + + True + True + True + True + 0 + + True + * + False + + + + + + 1 + 2 + 2 + 3 + + + + + + + True + False + 0 + + + + True + _Visual: + True + False + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 3 + 0 + visual_entry + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + 0 + False + False + + + + + + True + False + True + False + True + False + + + + + + + True + True + True + True + 0 + + True + * + False + + + + + + True + GTK_SELECTION_BROWSE + + + + True + True + Any + + + + + + True + True + Best + + + + + + True + True + Default + + + + + + True + True + Default-N + + + + + + True + True + GL + + + + + + True + True + TrueColor + + + + + + True + True + PseudoColor + + + + + + True + True + StaticGray + + + + + + True + True + GrayScale + + + + + + True + True + DirectColor + + + + + + True + True + Color + + + + + + True + True + Gray + + + + + + True + True + Mono + + + + + + + 0 + False + False + + + + + 1 + 2 + 3 + 4 + fill + fill + + + + + False + True + + + + + + True + Advanced + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + + + True + Settings + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + label_item + + + + + 0 + True + True + + + + + + True + 0 + 0 + GTK_SHADOW_NONE + + + + 5 + True + False + 5 + + + + True + True + + False + False + GTK_JUSTIFY_LEFT + True + True + 0 + 0 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + True + True + + + + + + True + False + 0 + + + + True + True + _Documentation... + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + False + GTK_PACK_END + + + + + 0 + False + False + + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + False + False + + + + + 0 + True + True + + + + + + + diff --git a/driver/xscreensaver-text b/driver/xscreensaver-text index 6162b78d..fa5e20c1 100755 --- a/driver/xscreensaver-text +++ b/driver/xscreensaver-text @@ -28,13 +28,16 @@ use strict; # Only error out if we're actually loading a URL instead of local data. BEGIN { eval 'use LWP::UserAgent;' } +# Not sure how prevalent this is. Hope it's part of the default install. +BEGIN { eval 'use HTML::Entities;' } + use Socket; use POSIX qw(strftime); use Text::Wrap qw(wrap); use bytes; my $progname = $0; $progname =~ s@.*/@@g; -my ($version) = ('$Revision: 1.33 $' =~ m/\s(\d[.\d]+)\s/s); +my ($version) = ('$Revision: 1.37 $' =~ m/\s(\d[.\d]+)\s/s); my $verbose = 0; my $http_proxy = undef; @@ -49,141 +52,63 @@ my $text_url = 'http://en.wikipedia.org/w/index.php?title=Special:NewPages& my $wrap_columns = undef; my $truncate_lines = undef; +my $latin1_p = 0; my $nyarlathotep_p = 0; -# Maps HTML character entities to the corresponding Latin1 characters. -# -my %entity_table = ( - "quot" => '"', "amp" => '&', "lt" => '<', - "gt" => '>', "nbsp" => " ", "iexcl" => "\xA1", - "cent" => "\xA2", "pound" => "\xA3", "curren" => "\xA4", - "yen" => "\xA5", "brvbar" => "\xA6", "sect" => "\xA7", - "uml" => "\xA8", "copy" => "\xA9", "ordf" => "\xAA", - "laquo" => "\xAB", "not" => "\xAC", "shy" => "\xAD", - "reg" => "\xAE", "macr" => "\xAF", "deg" => "\xB0", - "plusmn" => "\xB1", "sup2" => "\xB2", "sup3" => "\xB3", - "acute" => "\xB4", "micro" => "\xB5", "para" => "\xB6", - "middot" => "\xB7", "cedil" => "\xB8", "sup1" => "\xB9", - "ordm" => "\xBA", "raquo" => "\xBB", "frac14" => "\xBC", - "frac12" => "\xBD", "frac34" => "\xBE", "iquest" => "\xBF", - "Agrave" => "\xC0", "Aacute" => "\xC1", "Acirc" => "\xC2", - "Atilde" => "\xC3", "Auml" => "\xC4", "Aring" => "\xC5", - "AElig" => "\xC6", "Ccedil" => "\xC7", "Egrave" => "\xC8", - "Eacute" => "\xC9", "Ecirc" => "\xCA", "Euml" => "\xCB", - "Igrave" => "\xCC", "Iacute" => "\xCD", "Icirc" => "\xCE", - "Iuml" => "\xCF", "ETH" => "\xD0", "Ntilde" => "\xD1", - "Ograve" => "\xD2", "Oacute" => "\xD3", "Ocirc" => "\xD4", - "Otilde" => "\xD5", "Ouml" => "\xD6", "times" => "\xD7", - "Oslash" => "\xD8", "Ugrave" => "\xD9", "Uacute" => "\xDA", - "Ucirc" => "\xDB", "Uuml" => "\xDC", "Yacute" => "\xDD", - "THORN" => "\xDE", "szlig" => "\xDF", "agrave" => "\xE0", - "aacute" => "\xE1", "acirc" => "\xE2", "atilde" => "\xE3", - "auml" => "\xE4", "aring" => "\xE5", "aelig" => "\xE6", - "ccedil" => "\xE7", "egrave" => "\xE8", "eacute" => "\xE9", - "ecirc" => "\xEA", "euml" => "\xEB", "igrave" => "\xEC", - "iacute" => "\xED", "icirc" => "\xEE", "iuml" => "\xEF", - "eth" => "\xF0", "ntilde" => "\xF1", "ograve" => "\xF2", - "oacute" => "\xF3", "ocirc" => "\xF4", "otilde" => "\xF5", - "ouml" => "\xF6", "divide" => "\xF7", "oslash" => "\xF8", - "ugrave" => "\xF9", "uacute" => "\xFA", "ucirc" => "\xFB", - "uuml" => "\xFC", "yacute" => "\xFD", "thorn" => "\xFE", - "yuml" => "\xFF", "apos" => "\'", - - # HTML 4 entities that do not have 1:1 Latin1 mappings. - "bull" => "*", "hellip"=> "...", "prime" => "'", "Prime" => "\"", - "frasl" => "/", "trade" => "[tm]", "larr" => "<-", "rarr" => "->", - "harr" => "<->", "lArr" => "<=", "rArr" => "=>", "hArr" => "<=>", - "empty" => "\xD8", "minus" => "-", "lowast"=> "*", "sim" => "~", - "cong" => "=~", "asymp" => "~", "ne" => "!=", "equiv" => "==", - "le" => "<=", "ge" => ">=", "lang" => "<", "rang" => ">", - "loz" => "<>", "OElig" => "OE", "oelig" => "oe", "Yuml" => "Y", - "circ" => "^", "tilde" => "~", "ensp" => " ", "emsp" => " ", - "thinsp"=> " ", "ndash" => "-", "mdash" => "-", "lsquo" => "`", - "rsquo" => "'", "sbquo" => "'", "ldquo" => "\"", "rdquo" => "\"", - "bdquo" => "\"", "lsaquo"=> "<", "rsaquo"=> ">", -); - -# Maps certain UTF8 characters (2 or 3 bytes) to the corresponding -# Latin1 characters. -# -my %unicode_latin1_table = ( - "\xC2\xA1" => "\xA1", "\xC2\xA2" => "\xA2", "\xC2\xA3" => "\xA3", - "\xC2\xA4" => "\xA4", "\xC2\xA5" => "\xA5", "\xC2\xA6" => "\xA6", - "\xC2\xA7" => "\xA7", "\xC2\xA8" => "\xA8", "\xC2\xA9" => "\xA9", - "\xC2\xAA" => "\xAA", "\xC2\xAB" => "\xAB", "\xC2\xAC" => "\xAC", - "\xC2\xAD" => "\xAD", "\xC2\xAE" => "\xAE", "\xC2\xAF" => "\xAF", - "\xC2\xB0" => "\xB0", "\xC2\xB1" => "\xB1", "\xC2\xB2" => "\xB2", - "\xC2\xB3" => "\xB3", "\xC2\xB4" => "\xB4", "\xC2\xB5" => "\xB5", - "\xC2\xB6" => "\xB6", "\xC2\xB7" => "\xB7", "\xC2\xB8" => "\xB8", - "\xC2\xB9" => "\xB9", "\xC2\xBA" => "\xBA", "\xC2\xBB" => "\xBB", - "\xC2\xBC" => "\xBC", "\xC2\xBD" => "\xBD", "\xC2\xBE" => "\xBE", - "\xC2\xBF" => "\xBF", "\xC3\x80" => "\xC0", "\xC3\x81" => "\xC1", - "\xC3\x82" => "\xC2", "\xC3\x83" => "\xC3", "\xC3\x84" => "\xC4", - "\xC3\x85" => "\xC5", "\xC3\x86" => "\xC6", "\xC3\x87" => "\xC7", - "\xC3\x88" => "\xC8", "\xC3\x89" => "\xC9", "\xC3\x8A" => "\xCA", - "\xC3\x8B" => "\xCB", "\xC3\x8C" => "\xCC", "\xC3\x8D" => "\xCD", - "\xC3\x8E" => "\xCE", "\xC3\x8F" => "\xCF", "\xC3\x90" => "\xD0", - "\xC3\x91" => "\xD1", "\xC3\x92" => "\xD2", "\xC3\x93" => "\xD3", - "\xC3\x94" => "\xD4", "\xC3\x95" => "\xD5", "\xC3\x96" => "\xD6", - "\xC3\x97" => "\xD7", "\xC3\x98" => "\xD8", "\xC3\x99" => "\xD9", - "\xC3\x9A" => "\xDA", "\xC3\x9B" => "\xDB", "\xC3\x9C" => "\xDC", - "\xC3\x9D" => "\xDD", "\xC3\x9E" => "\xDE", "\xC3\x9F" => "\xDF", - "\xC3\xA0" => "\xE0", "\xC3\xA1" => "\xE1", "\xC3\xA2" => "\xE2", - "\xC3\xA3" => "\xE3", "\xC3\xA4" => "\xE4", "\xC3\xA5" => "\xE5", - "\xC3\xA6" => "\xE6", "\xC3\xA7" => "\xE7", "\xC3\xA8" => "\xE8", - "\xC3\xA9" => "\xE9", "\xC3\xAA" => "\xEA", "\xC3\xAB" => "\xEB", - "\xC3\xAC" => "\xEC", "\xC3\xAD" => "\xED", "\xC3\xAE" => "\xEE", - "\xC3\xAF" => "\xEF", "\xC3\xB0" => "\xF0", "\xC3\xB1" => "\xF1", - "\xC3\xB2" => "\xF2", "\xC3\xB3" => "\xF3", "\xC3\xB4" => "\xF4", - "\xC3\xB5" => "\xF5", "\xC3\xB6" => "\xF6", "\xC3\xB7" => "\xF7", - "\xC3\xB8" => "\xF8", "\xC3\xB9" => "\xF9", "\xC3\xBA" => "\xFA", - "\xC3\xBB" => "\xFB", "\xC3\xBC" => "\xFC", "\xC3\xBD" => "\xFD", - "\xC3\xBE" => "\xFE", "\xC3\xBF" => "\xFF", - - "\xE2\x80\x93" => '--', "\xE2\x80\x94" => '--', - "\xE2\x80\x98" => '`', "\xE2\x80\x99" => '\'', - "\xE2\x80\x9C" => "``", "\xE2\x80\x9D" => "''", - "\xE2\x80\xB2" => "'", "\xE2\x80\xA6" => '...', - "\xE2\x86\x90" => ' ← ', "\xE2\x84\xA2" => '™', - "\xE2\x80\xA2" => '•', "\xC2\xA0" => ' ', #   - ); - # Convert any HTML entities to Latin1 characters. # sub de_entify($) { my ($text) = @_; - $text =~ s/(&(\#)?([[:alpha:]\d]+);?)/ - { - my $c = $3; - if (! defined($2)) { - $c = $entity_table{$c}; # for Á - } else { - if ($c =~ m@^x([\dA-F]+)$@si) { # for A - $c = chr(hex($1)); - } elsif ($c =~ m@^\d+$@si) { # for A - $c = chr($c); - } else { - $c = undef; - } - } - ($c || "[$3]"); # for &unknown; => "[unknown]" - } - /gexi; - return $text; + + return '' unless defined($text); + return $text unless ($text =~ m/&/s); + + # Convert any HTML entities to Unicode characters, + # if the HTML::Entities module is installed. + eval { + my $t2 = $text; + $text = undef; + $text = HTML::Entities::decode_entities ($t2); + }; + return $text if defined($text); + + # If it's not installed, just complain instead of trying to halfass it. + print STDOUT ("\n\tPerl is broken. Do this to repair it:\n" . + "\n\tsudo cpan HTML::Entities\n\n"); + exit (1); } # Convert any Unicode characters to Latin1 if possible. # Unconvertable bytes are left alone. # -sub de_unicoddle($) { +sub utf8_to_latin1($) { my ($text) = @_; - foreach my $key (sort { length($b) <=> length($a) } - keys (%unicode_latin1_table)) { - my $val = $unicode_latin1_table{$key}; - $text =~ s/$key/$val/gs; - } + + utf8::encode ($text); # Unpack Unicode back to multi-byte UTF-8. + + # Maybe it would be better to handle this in the Unicode domain + # by doing things like s/\x{2018}/\"/g, but without decoding the + # string back to UTF-8 first, I'm at a loss as to how to have + # "á" print as "\340" instead of as "\303\240". + + $text =~ s/ \xC2 ( [\xA0-\xFF] ) / $1 /gsex; + $text =~ s/ \xC3 ( [\x80-\xFF] ) / chr (ord($1) | 0x40) /gsex; + + # Handles a few 3-byte sequences too. + $text =~ s/\xE2\x80\x93/--/gs; + $text =~ s/\xE2\x80\x94/--/gs; + $text =~ s/\xE2\x80\x98/`/gs; + $text =~ s/\xE2\x80\x99/'/gs; + $text =~ s/\xE2\x80\x9C/``/gs; + $text =~ s/\xE2\x80\x9D/'/gs; + $text =~ s/\xE2\x80\xA2/•/gs; + $text =~ s/\xE2\x80\xA6/.../gs; + $text =~ s/\xE2\x80\xB2/'/gs; + $text =~ s/\xE2\x84\xA2/™/gs; + $text =~ s/\xE2\x86\x90/ ← /gs; + return $text; } @@ -361,6 +286,7 @@ sub output() { if ($text_mode eq 'literal') { $text_literal = strftime ($text_literal, localtime); + $text_literal = utf8_to_latin1($text_literal) if ($latin1_p); $text_literal =~ y/A-Za-z/N-ZA-Mn-za-m/ if ($nyarlathotep_p); print STDOUT $text_literal; print STDOUT "\n" unless ($text_literal =~ m/\n$/s); @@ -381,6 +307,7 @@ sub output() { } else { # stream it by lines while (<$in>) { + $_ = utf8_to_latin1($_) if ($latin1_p); y/A-Za-z/N-ZA-Mn-za-m/ if ($nyarlathotep_p); print STDOUT $_; } @@ -438,7 +365,8 @@ sub output() { if (-f "/usr/sbin/system_profiler") { # "Mac OS X 10.4.5 (8H14)" my $sp = # "iMac G5" - `/usr/sbin/system_profiler SPSoftwareDataType SPHardwareDataType`; + `/usr/sbin/system_profiler SPSoftwareDataType SPHardwareDataType 2>/dev/null`; + # system_profiler on OS X 10.10 generates spurious error messages. my ($v) = ($sp =~ m/^\s*System Version:\s*(.*)$/mi); my ($s) = ($sp =~ m/^\s*(?:CPU|Processor) Speed:\s*(.*)$/mi); my ($t) = ($sp =~ m/^\s*(?:Machine|Model) Name:\s*(.*)$/mi); @@ -511,6 +439,10 @@ sub reformat_html($$) { s@[\r\n]@ @gsi; } + # This right here is the part where I doom us all to inhuman + # toil for the One whose Name cannot be expressed in the + # Basic Multilingual Plane. http://jwz.org/b/yhAT He comes. + s@@@gsi; # lose comments s@<(STYLE|SCRIPT)\b[^<>]*>.*?@@gsi; # lose css and js @@ -529,8 +461,10 @@ sub reformat_html($$) { # if ($rss_p eq 'wiki') { + s@@@gsi; # lose HTML comments again + # Creation line is often truncated: screws up parsing with unbalanced {{. - s@(: +<- +Created page) with [^\n]+@$1@s; + s@(: +[^a-zA-Z ]* *Created page) with [^\n]+@$1@s; s@/\*.*?\*/@@si; # /* ... */ @@ -563,12 +497,16 @@ sub reformat_html($$) { # Omit trailing headlines with no text after them (e.g. == Notes ==) 1 while (s/\n==+[ \t]*[^\n=]+[ \t]*==+\s*$/\n/s); + + $_ = de_entify ($_); # convert HTML entities, again } - # elide any remaining non-Latin1 binary data... - s/([^\000-\176]+(\s*[^\000-\176]+)[^a-z\d]*)/\xAB...\xBB /g; -# s/([^\000-\176]+(\s*[^\000-\176]+)[^a-z\d]*)/\xAB$1\xBB /g; + # elide any remaining non-Latin1 binary data. + if ($latin1_p) { + utf8::encode ($_); # Unpack Unicode back to multi-byte UTF-8. + s/([^\000-\176]+(\s*[^\000-\176]+)[^a-z\d]*)/\xAB...\xBB /g; + } $_ .= "\n"; @@ -588,6 +526,7 @@ sub reformat_html($$) { s/^(([^\n]*\n){$truncate_lines}).*$/$1/s; } + $_ = utf8_to_latin1($_) if ($latin1_p); y/A-Za-z/N-ZA-Mn-za-m/ if ($nyarlathotep_p); return $_; @@ -683,7 +622,6 @@ sub rss_field_to_html($) { $body = de_entify ($body); # convert entities to get HTML from XML } - $body = de_unicoddle ($body); # convert UTF8 to Latin1 return $body; } @@ -705,6 +643,7 @@ sub reformat_text($) { $body =~ s/^(([^\n]*\n){$truncate_lines}).*$/$1/s; } + $body = utf8_to_latin1($body) if ($latin1_p); $body =~ y/A-Za-z/N-ZA-Mn-za-m/ if ($nyarlathotep_p); return $body; } @@ -763,6 +702,8 @@ sub get_url_text($) { $ct = 'text/plain'; } + utf8::decode ($body); # Pack multi-byte UTF-8 back into wide chars. + $ct = guess_content_type ($ct, $body); if ($ct eq 'html') { print STDERR "$progname: converting HTML...\n" if ($verbose > 2); @@ -813,6 +754,8 @@ sub usage() { " --cols N Wrap lines at this column. Default 72.\n" . "\n" . " --lines N No more than N lines of output.\n" . + "\n" . + " --latin1 Emit Latin1 instead of UTF-8.\n" . "\n"); exit 1; } @@ -843,6 +786,7 @@ sub main() { elsif (m/^--?col(umn)?s?$/) { $wrap_columns = 0 + shift @ARGV; } elsif (m/^--?lines?$/) { $truncate_lines = 0 + shift @ARGV; } elsif (m/^--?cocoa$/) { $cocoa_id = shift @ARGV; } + elsif (m/^--?latin1$/) { $latin1_p++; } elsif (m/^--?nyarlathotep$/) { $nyarlathotep_p++; } elsif (m/^-./) { usage; } else { usage; } diff --git a/driver/xscreensaver.c b/driver/xscreensaver.c index 4526f272..d2dbeb92 100644 --- a/driver/xscreensaver.c +++ b/driver/xscreensaver.c @@ -1526,7 +1526,7 @@ main (int argc, char **argv) if (p->verbose_p) analyze_display (si); initialize_server_extensions (si); - si->blank_time = time ((time_t) 0); /* must be before ..._window */ + si->blank_time = time ((time_t *) 0); /* must be before ..._window */ initialize_screensaver_window (si); select_events (si); diff --git a/hacks/Makefile.in b/hacks/Makefile.in index f0c272f5..8d5f892c 100644 --- a/hacks/Makefile.in +++ b/hacks/Makefile.in @@ -50,13 +50,14 @@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ XMU_LIBS = @XMU_LIBS@ +XFT_LIBS = @XFT_LIBS@ # Note: see comment in ../driver/Makefile.in for explanation of X_LIBS, etc. # HACK_PRE = $(LIBS) $(X_LIBS) -HACK_POST = $(X_PRE_LIBS) -lXt -lX11 $(XMU_LIBS) -lXext $(X_EXTRA_LIBS) -lm -HACK_LIBS = $(HACK_PRE) @HACK_LIBS@ $(HACK_POST) -XPM_LIBS = $(HACK_PRE) @XPM_LIBS@ @HACK_LIBS@ $(HACK_POST) +HACK_POST = $(X_PRE_LIBS) $(XFT_LIBS) -lXt -lX11 $(XMU_LIBS) -lXext $(X_EXTRA_LIBS) -lm +HACK_LIBS = $(HACK_PRE) @ANIM_LIBS@ @HACK_LIBS@ $(HACK_POST) +XPM_LIBS = $(HACK_PRE) @XPM_LIBS@ @HACK_LIBS@ $(HACK_POST) JPEG_LIBS = @JPEG_LIBS@ XLOCK_LIBS = $(HACK_LIBS) TEXT_LIBS = @PTY_LIBS@ @@ -83,12 +84,13 @@ UTIL_OBJS = $(UTILS_BIN)/alpha.o $(UTILS_BIN)/colors.o \ $(UTILS_BIN)/hsv.o $(UTILS_BIN)/resources.o \ $(UTILS_BIN)/spline.o $(UTILS_BIN)/usleep.o \ $(UTILS_BIN)/visual.o $(UTILS_BIN)/logo.o \ - $(UTILS_SRC)/minixpm.c \ + $(UTILS_SRC)/minixpm.o \ $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/erase.o \ $(UTILS_BIN)/xshm.o $(UTILS_BIN)/xdbe.o \ $(UTILS_BIN)/colorbars.o \ $(UTILS_SRC)/textclient.o $(UTILS_SRC)/aligned_malloc.o \ - $(UTILS_SRC)/thread_util.o + $(UTILS_SRC)/thread_util.o \ + $(UTILS_SRC)/xft.o $(UTILS_SRC)/utf8wc.o SRCS = attraction.c blitspin.c bouboule.c braid.c bubbles.c \ bubbles-default.c decayscreen.c deco.c drift.c flag.c \ @@ -119,7 +121,7 @@ SRCS = attraction.c blitspin.c bouboule.c braid.c bubbles.c \ intermomentary.c fireworkx.c fiberlamp.c \ boxfit.c interaggregate.c celtic.c cwaves.c m6502.c \ asm6502.c abstractile.c lcdscrub.c hexadrop.c \ - tessellimage.c delaunay.c \ + tessellimage.c delaunay.c recanim.c binaryring.c \ webcollage-cocoa.m webcollage-helper-cocoa.m SCRIPTS = vidwhacker webcollage ljlatest @@ -159,7 +161,8 @@ OBJS = attraction.o blitspin.o bouboule.o braid.o bubbles.o \ intermomentary.o fireworkx.o fiberlamp.o boxfit.o \ interaggregate.o celtic.o cwaves.o webcollage-cocoa.o \ webcollage-helper-cocoa.o m6502.o asm6502.o abstractile.o \ - lcdscrub.o hexadrop.o tessellimage.o delaunay.o + lcdscrub.o hexadrop.o tessellimage.o delaunay.o recanim.o \ + binaryring.o EXES = attraction blitspin bouboule braid decayscreen deco \ drift flame galaxy grav greynetic halo \ @@ -181,7 +184,7 @@ EXES = attraction blitspin bouboule braid decayscreen deco \ pacman fuzzyflakes anemotaxis memscroller substrate \ intermomentary fireworkx fiberlamp boxfit interaggregate \ celtic cwaves m6502 abstractile lcdscrub hexadrop \ - tessellimage \ + tessellimage binaryring \ @JPEG_EXES@ JPEG_EXES = webcollage-helper @@ -190,19 +193,22 @@ RETIRED_EXES = ant bubbles critical flag forest hyperball hypercube laser \ whirlygig worm xsublim juggle HACK_OBJS_1 = fps.o $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \ - $(UTILS_BIN)/usleep.o $(UTILS_BIN)/yarandom.o @XMU_OBJS@ + $(UTILS_BIN)/usleep.o $(UTILS_BIN)/yarandom.o \ + $(UTILS_BIN)/utf8wc.o @XMU_OBJS@ @XFT_OBJS@ @ANIM_OBJS@ HACK_OBJS = screenhack.o $(HACK_OBJS_1) XLOCK_OBJS = screenhack.o xlockmore.o $(COLOR_OBJS) $(HACK_OBJS_1) COLOR_OBJS = $(UTILS_BIN)/hsv.o $(UTILS_BIN)/colors.o GRAB_OBJS = $(UTILS_BIN)/grabclient.o XSHM_OBJS = $(UTILS_BIN)/xshm.o XDBE_OBJS = $(UTILS_BIN)/xdbe.o +ANIM_OBJS = recanim.o +ANIM_LIBS = @XPM_LIBS@ THREAD_OBJS = $(UTILS_BIN)/aligned_malloc.o $(UTILS_BIN)/thread_util.o HDRS = screenhack.h screenhackI.h fps.h fpsI.h xlockmore.h \ xlockmoreI.h automata.h bubbles.h xpm-pixmap.h \ apple2.h analogtv.h pacman.h pacman_ai.h pacman_level.h \ - asm6502.h delaunay.h + asm6502.h delaunay.h recanim.h MEN = anemone.man apollonian.man attraction.man \ blaster.man blitspin.man bouboule.man braid.man bsod.man \ bumps.man ccurve.man compass.man coral.man \ @@ -234,7 +240,7 @@ MEN = anemone.man apollonian.man attraction.man \ anemotaxis.man memscroller.man substrate.man \ intermomentary.man fireworkx.man fiberlamp.man boxfit.man \ interaggregate.man celtic.man cwaves.man abstractile.man \ - lcdscrub.man hexadrop.man tessellimage.man + lcdscrub.man hexadrop.man tessellimage.man binaryring.man RETIRED_MEN = ant.man bubbles.man critical.man flag.man forest.man \ laser.man lightning.man lisa.man lissie.man lmorph.man \ @@ -516,6 +522,8 @@ $(UTILS_BIN)/spline.o: $(UTILS_SRC)/spline.c $(UTILS_BIN)/usleep.o: $(UTILS_SRC)/usleep.c $(UTILS_BIN)/visual.o: $(UTILS_SRC)/visual.c $(UTILS_BIN)/xmu.o: $(UTILS_SRC)/xmu.c +$(UTILS_BIN)/xft.o: $(UTILS_SRC)/xft.c +$(UTILS_BIN)/utf8wc.o: $(UTILS_SRC)/utf8wc.c $(UTILS_BIN)/logo.o: $(UTILS_SRC)/logo.c $(UTILS_BIN)/minixpm.o: $(UTILS_SRC)/minixpm.c $(UTILS_BIN)/yarandom.o: $(UTILS_SRC)/yarandom.c @@ -561,6 +569,9 @@ xscreensaver-sgigl: xscreensaver-sgigl.c $(CC) $(LDFLAGS) -o $@ $< -I$(UTILS_SRC) $(HACK_PRE) \ $(XMU_LIBS) -lX11 -lXext $(X_EXTRA_LIBS) -lm +test-utf8wc: $(UTILS_SRC)/utf8wc.c + $(CC) $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) $(LDFLAGS)\ + -o $@ -DSELFTEST $< # The rules for those hacks which follow the `screenhack.c' API. # If make wasn't such an utter abomination, these could all be combined @@ -571,6 +582,9 @@ xscreensaver-sgigl: xscreensaver-sgigl.c attraction: attraction.o $(HACK_OBJS) $(COL) $(SPL) $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS) +binaryring: binaryring.o $(HACK_OBJS) $(COL) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS) + blitspin: blitspin.o $(HACK_OBJS) $(GRAB) $(XPM) $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(XPM) $(XPM_LIBS) @@ -671,7 +685,7 @@ truchet: truchet.o $(HACK_OBJS) $(COL) $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS) bsod: bsod.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(XPM_LIBS) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(XPM_LIBS) $(THRL) apple2: apple2.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(TEXT) $(CC_HACK) -o $@ $@.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(TEXT) $(XPM_LIBS) $(TEXT_LIBS) $(THRL) @@ -1080,6 +1094,7 @@ apple2-main.o: $(UTILS_SRC)/resources.h apple2-main.o: $(UTILS_SRC)/textclient.h apple2-main.o: $(UTILS_SRC)/thread_util.h apple2-main.o: $(UTILS_SRC)/usleep.h +apple2-main.o: $(UTILS_SRC)/utf8wc.h apple2-main.o: $(UTILS_SRC)/visual.h apple2-main.o: $(UTILS_SRC)/xshm.h apple2-main.o: $(UTILS_SRC)/yarandom.h @@ -1124,6 +1139,17 @@ barcode.o: $(UTILS_SRC)/resources.h barcode.o: $(UTILS_SRC)/usleep.h barcode.o: $(UTILS_SRC)/visual.h barcode.o: $(UTILS_SRC)/yarandom.h +binaryring.o: ../config.h +binaryring.o: $(srcdir)/fps.h +binaryring.o: $(srcdir)/screenhackI.h +binaryring.o: $(srcdir)/screenhack.h +binaryring.o: $(UTILS_SRC)/colors.h +binaryring.o: $(UTILS_SRC)/grabscreen.h +binaryring.o: $(UTILS_SRC)/hsv.h +binaryring.o: $(UTILS_SRC)/resources.h +binaryring.o: $(UTILS_SRC)/usleep.h +binaryring.o: $(UTILS_SRC)/visual.h +binaryring.o: $(UTILS_SRC)/yarandom.h blaster.o: ../config.h blaster.o: $(srcdir)/fps.h blaster.o: $(srcdir)/screenhackI.h @@ -1612,7 +1638,9 @@ fontglide.o: $(UTILS_SRC)/hsv.h fontglide.o: $(UTILS_SRC)/resources.h fontglide.o: $(UTILS_SRC)/textclient.h fontglide.o: $(UTILS_SRC)/usleep.h +fontglide.o: $(UTILS_SRC)/utf8wc.h fontglide.o: $(UTILS_SRC)/visual.h +fontglide.o: $(UTILS_SRC)/xft.h fontglide.o: $(UTILS_SRC)/yarandom.h forest.o: ../config.h forest.o: $(srcdir)/fps.h @@ -2102,6 +2130,7 @@ noseguy.o: $(UTILS_SRC)/resources.h noseguy.o: $(UTILS_SRC)/textclient.h noseguy.o: $(UTILS_SRC)/usleep.h noseguy.o: $(UTILS_SRC)/visual.h +noseguy.o: $(UTILS_SRC)/xft.h noseguy.o: $(UTILS_SRC)/yarandom.h noseguy.o: $(srcdir)/xpm-pixmap.h pacman_ai.o: ../config.h @@ -2245,6 +2274,7 @@ phosphor.o: $(UTILS_SRC)/hsv.h phosphor.o: $(UTILS_SRC)/resources.h phosphor.o: $(UTILS_SRC)/textclient.h phosphor.o: $(UTILS_SRC)/usleep.h +phosphor.o: $(UTILS_SRC)/utf8wc.h phosphor.o: $(UTILS_SRC)/visual.h phosphor.o: $(UTILS_SRC)/yarandom.h piecewise.o: ../config.h @@ -2332,6 +2362,17 @@ rd-bomb.o: $(UTILS_SRC)/resources.h rd-bomb.o: $(UTILS_SRC)/usleep.h rd-bomb.o: $(UTILS_SRC)/visual.h rd-bomb.o: $(UTILS_SRC)/yarandom.h +recanim.o: ../config.h +recanim.o: $(srcdir)/fps.h +recanim.o: $(srcdir)/recanim.h +recanim.o: $(srcdir)/screenhackI.h +recanim.o: $(UTILS_SRC)/colors.h +recanim.o: $(UTILS_SRC)/grabscreen.h +recanim.o: $(UTILS_SRC)/hsv.h +recanim.o: $(UTILS_SRC)/resources.h +recanim.o: $(UTILS_SRC)/usleep.h +recanim.o: $(UTILS_SRC)/visual.h +recanim.o: $(UTILS_SRC)/yarandom.h ripples.o: ../config.h ripples.o: $(srcdir)/fps.h ripples.o: $(srcdir)/screenhackI.h @@ -2392,6 +2433,7 @@ rotzoomer.o: $(UTILS_SRC)/visual.h rotzoomer.o: $(UTILS_SRC)/yarandom.h screenhack.o: ../config.h screenhack.o: $(srcdir)/fps.h +screenhack.o: $(srcdir)/recanim.h screenhack.o: $(srcdir)/screenhackI.h screenhack.o: $(UTILS_SRC)/colors.h screenhack.o: $(UTILS_SRC)/grabscreen.h diff --git a/hacks/abstractile.c b/hacks/abstractile.c index 4e80d7b7..f1abbb60 100644 --- a/hacks/abstractile.c +++ b/hacks/abstractile.c @@ -90,7 +90,8 @@ struct state { /* draw, erase, fill, init, line, object, z indexes */ unsigned int di, ei, fi, ii, bi, li, eli, oi, zi; /* size variables */ - unsigned int gridx, gridy, gridn; /* grid size */ + int gridx, gridy; /* grid size */ + unsigned int gridn; int lwid, bwid, swid;/* line width, background width, shadow width */ int narray, max_wxh; int elwid, elpu, egridx, egridy; /* for now */ @@ -205,6 +206,7 @@ _init_zlist(struct state *st) st->gridx=st->xgwa.width/st->lwid; st->gridy=st->xgwa.height/st->lwid; + if ((st->gridx <= 0) || (st->gridy <= 0)) abort(); st->gridn=st->gridx*st->gridy; /* clear grid */ for (z=0; zgridn; z++) { diff --git a/hacks/analogtv.c b/hacks/analogtv.c index 7c2993e5..20acc0d2 100644 --- a/hacks/analogtv.c +++ b/hacks/analogtv.c @@ -65,6 +65,7 @@ # include # include #endif +#include #include #include @@ -941,11 +942,13 @@ analogtv_setup_frame(analogtv *it) } if (it->hashnoise_rpm > 0.0) { int hni; + double hni_double; int hnc=it->hashnoise_counter; /* in 24.8 format */ /* Convert rpm of a 16-pole motor into dots in 24.8 format */ - hni = (int)(ANALOGTV_V * ANALOGTV_H * 256.0 / - (it->hashnoise_rpm * 16.0 / 60.0 / 60.0)); + hni_double = ANALOGTV_V * ANALOGTV_H * 256.0 / + (it->hashnoise_rpm * 16.0 / 60.0 / 60.0); + hni = (hni_double <= INT_MAX) ? (int)hni_double : INT_MAX; while (hnc < (ANALOGTV_V * ANALOGTV_H)<<8) { y=(hnc>>8)/ANALOGTV_H; @@ -954,7 +957,12 @@ analogtv_setup_frame(analogtv *it) if (x>0 && xhashnoise_times[y]=x; } - hnc += hni + (int)(random()%65536)-32768; + /* hnc += hni + (int)(random()%65536)-32768; */ + { + hnc += (int)(random()%65536)-32768; + if ((hnc >= 0) && (INT_MAX - hnc < hni)) break; + hnc += hni; + } } /* hnc -= (ANALOGTV_V * ANALOGTV_H)<<8;*/ } @@ -1195,14 +1203,17 @@ static void analogtv_init_signal(const analogtv *it, double noiselevel, unsigned float *pe=it->rx_signal + end; float *p=ps; unsigned int fastrnd=rnd_seek(FASTRND_A, FASTRND_C, it->random0, start); + unsigned int fastrnd_offset; float nm1,nm2; float noisemul = sqrt(noiselevel*150)/(float)0x7fffffff; - nm1 = ((int)fastrnd-(int)0x7fffffff) * noisemul; + fastrnd_offset = fastrnd - 0x7fffffff; + nm1 = (fastrnd_offset <= INT_MAX ? (int)fastrnd_offset : -1 - (int)(UINT_MAX - fastrnd_offset)) * noisemul; while (p != pe) { nm2=nm1; fastrnd = (fastrnd*FASTRND_A+FASTRND_C) & 0xffffffffu; - nm1 = ((int)fastrnd-(int)0x7fffffff) * noisemul; + fastrnd_offset = fastrnd - 0x7fffffff; + nm1 = (fastrnd_offset <= INT_MAX ? (int)fastrnd_offset : -1 - (int)(UINT_MAX - fastrnd_offset)) * noisemul; *p++ = nm1*nm2; } } @@ -1243,7 +1254,8 @@ static void analogtv_add_signal(const analogtv *it, const analogtv_reception *re */ float sig0=(float)s[0]; - float noise = ((int)fastrnd-(int)0x7fffffff) * (50.0f/(float)0x7fffffff); + unsigned int fastrnd_offset = fastrnd - 0x7fffffff; + float noise = (fastrnd_offset <= INT_MAX ? (int)fastrnd_offset : -1 - (int)(UINT_MAX - fastrnd_offset)) * (50.0f/(float)0x7fffffff); fastrnd = (fastrnd*FASTRND_A+FASTRND_C) & 0xffffffffu; p[0] += sig0 * level * (1.0f - noise_ampl) + noise * noise_ampl; diff --git a/hacks/apple2-main.c b/hacks/apple2-main.c index 7691e151..e808e9f2 100644 --- a/hacks/apple2-main.c +++ b/hacks/apple2-main.c @@ -27,6 +27,7 @@ #include "screenhack.h" #include "apple2.h" #include "textclient.h" +#include "utf8wc.h" #undef countof #define countof(x) (sizeof((x))/sizeof((*x))) @@ -800,6 +801,7 @@ struct terminal_controller_data { int curparam; int cursor_x, cursor_y; int saved_x, saved_y; + int unicruds; char unicrud[7]; union { struct { unsigned int bold : 1; @@ -901,6 +903,8 @@ a2_vt100_printc (apple2_sim_t *sim, struct terminal_controller_data *state, int i; int start, end; + /* Mostly duplicated in phosphor.c */ + switch (state->escstate) { case 0: @@ -964,6 +968,38 @@ a2_vt100_printc (apple2_sim_t *sim, struct terminal_controller_data *state, state->curparam = 0; break; default: + + /* states 102-106 are for UTF-8 decoding */ + + if ((c & 0xE0) == 0xC0) { /* 110xxxxx - 11 bits, 2 bytes */ + state->unicruds = 1; + state->unicrud[0] = c; + state->escstate = 102; + break; + } else if ((c & 0xF0) == 0xE0) { /* 1110xxxx - 16 bits, 3 bytes */ + state->unicruds = 1; + state->unicrud[0] = c; + state->escstate = 103; + break; + } else if ((c & 0xF8) == 0xF0) { /* 11110xxx - 21 bits, 4 bytes */ + state->unicruds = 1; + state->unicrud[0] = c; + state->escstate = 104; + break; + } else if ((c & 0xFC) == 0xF8) { /* 111110xx - 26 bits, 5 bytes */ + state->unicruds = 1; + state->unicrud[0] = c; + state->escstate = 105; + break; + } else if ((c & 0xFE) == 0xFC) { /* 1111110x - 31 bits, 6 bytes */ + state->unicruds = 1; + state->unicrud[0] = c; + state->escstate = 106; + break; + } + + PRINT: + /* If the cursor is in column 39 and we print a character, then that character shows up in column 39, and the cursor is no longer visible on the screen (it's in "column 40".) If another character @@ -1038,9 +1074,13 @@ a2_vt100_printc (apple2_sim_t *sim, struct terminal_controller_data *state, state->curparam = 0; break; case '%': /* Select charset */ - /* No, I don't support UTF-8, since the apple2 font - isn't even Unicode anyway. We must still catch the - last byte, though. */ + /* @: Select default (ISO 646 / ISO 8859-1) + G: Select UTF-8 + 8: Select UTF-8 (obsolete) + + We can just ignore this and always process UTF-8, I think? + We must still catch the last byte, though. + */ case '(': case ')': /* I don't support different fonts either - see above @@ -1250,6 +1290,39 @@ a2_vt100_printc (apple2_sim_t *sim, struct terminal_controller_data *state, case 3: state->escstate = 0; break; + + case 102: + case 103: + case 104: + case 105: + case 106: + { + int total = state->escstate - 100; /* see what I did there */ + if (state->unicruds < total) { + /* Buffer more bytes of the UTF-8 sequence */ + state->unicrud[state->unicruds++] = c; + } + + if (state->unicruds >= total) { + /* Done! Convert it to ASCII and print that. */ + char *s; + state->unicrud[state->unicruds] = 0; + s = utf8_to_latin1 ((const char *) state->unicrud, True); + state->unicruds = 0; + state->escstate = 0; + if (s) { + c = s[0]; + free (s); + goto PRINT; + } else { + c = 0; + } + } + } + break; + + default: + abort(); } a2_goto(st, state->cursor_y, state->cursor_x); } @@ -1299,24 +1372,36 @@ terminal_controller(apple2_sim_t *sim, int *stepno, double *next_actiontime) if (! mine->fast_p) *next_actiontime += 4.0; *stepno = 10; + + mine->last_emit_time = sim->curtime; break; case 10: + case 11: { + Bool first_line_p = (*stepno == 10); unsigned char buf[1024]; int nr,nwant; double elapsed; elapsed=sim->curtime - mine->last_emit_time; - mine->last_emit_time=sim->curtime; - nwant=elapsed*25.0; - if (elapsed>1.0) nwant=1; - if (nwant<1) nwant=1; - if (nwant>4) nwant=4; + + nwant = elapsed * 25.0; /* characters per second */ + + if (first_line_p) { + *stepno = 11; + nwant = 1; + } + + if (nwant > 40) nwant = 40; if (mine->fast_p) nwant = sizeof(buf)-1; + if (nwant <= 0) break; + + mine->last_emit_time = sim->curtime; + nr=terminal_read(mine, buf, nwant); for (i=0; i + * + * Directly ported code from complexification.net Binary Ring art + * http://www.complexification.net/gallery/machines/binaryRing/appletm/BinaryRing_m.pde + * + * Binary Ring code: + * j.tarbell June, 2004 + * Albuquerque, New Mexico + * complexification.net + * + * Directly based the hacks of: + * + * xscreensaver, Copyright (c) 1997, 1998, 2002 Jamie Zawinski + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. No representations are made about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + */ + +#include "screenhack.h" +#include "colors.h" +#include "hsv.h" + +#define ANTIALIAS 1 +#define BLACK 0 +#define WHITE 1 + +#define swap(a, b) do { __typeof__(a) tmp; tmp = a; a = b; b = tmp; } while(0) +#define frand1() ((((int) random() ) << 1) * 4.65661287524579692411E-10) +#define min(a,b) ((a)<(b)?(a):(b)) +#define max(a,b) ((a)>(b)?(a):(b)) + +/* better if signed */ +typedef uint32_t pixel_t; + + +typedef struct { + float x, y; + float xx, yy; + float vx, vy; + float color; + int age; /* age from 0 to ageMax */ +} particle_t; + + +struct state { + int epoch; + int growth_delay; + int ring_radius; + int max_age; + float curliness; + int particles_number; + particle_t* particles; + + + Display *display; /* variables for the X stuff */ + Window window; + GC gc; + XGCValues gcv; + Visual* visual; + int depth; + + int width; + int height; + + Pixmap pix; /* for reshape */ + XImage* buf; /* buffer */ + pixel_t* buffer; + pixel_t colors[2]; + + Bool color; +}; + + + +static void point2rgb(int depth, pixel_t c, int *r, int *g, int *b) +{ + switch(depth) { + case 32: + case 24: +#ifdef HAVE_COCOA + /* This program idiotically does not go through a color map, so + we have to hardcode in knowledge of how jwxyz.a packs pixels! + Fix it to go through st->colors[st->ncolors] instead! + */ + *r = (c & 0x00ff0000) >> 16; + *g = (c & 0x0000ffff) >> 8; + *b = (c & 0x000000ff); +#else + *g = (c & 0xff00) >> 8; + *r = (c & 0xff0000) >> 16; + *b = c & 0xff; +#endif + break; + case 16: + *g = ((c >> 5) & 0x3f) << 2; + *r = ((c >> 11) & 0x1f) << 3; + *b = (c & 0x1f) << 3; + break; + case 15: + *g = ((c >> 5) & 0x1f) << 3; + *r = ((c >> 10) & 0x1f) << 3; + *b = (c & 0x1f) << 3; + break; + } +} + +static pixel_t rgb2point(int depth, int r, int g, int b) +{ + pixel_t ret = 0; + + switch(depth) { + case 32: + case 24: +#ifdef HAVE_COCOA + /* This program idiotically does not go through a color map, so + we have to hardcode in knowledge of how jwxyz.a packs pixels! + Fix it to go through st->colors[st->ncolors] instead! + */ + ret = 0xFF000000 | (r << 16) | (g << 8) | b; +#else + ret |= (r << 16) | (g << 8) | b; +#endif + break; + case 16: + ret = ((r>>3) << 11) | ((g>>2)<<5) | (b>>3); + break; + case 15: + ret = ((r>>3) << 10) | ((g>>3)<<5) | (b>>3); + break; + } + + return ret; +} + +void print_color ( struct state* st, pixel_t color ); +/* alpha blended point drawing -- this is Not Right and will likely fail on + * non-intel platforms as it is now, needs fixing + */ + +static +void draw_point ( struct state* st, + int x, int y, pixel_t myc, float a ) { + + int or = 0, og = 0, ob = 0; + int r = 0, g = 0, b = 0; + int nr, ng, nb; + register pixel_t c; + + /*or = st->buffer[ 3 * ( y * st->width + x ) + 0 ]; + og = st->buffer[ 3 * ( y * st->width + x ) + 1 ]; + ob = st->buffer[ 3 * ( y * st->width + x ) + 2 ];*/ + + c = st->buffer[ y * st->width + x ]; + point2rgb( st->depth, c, &or, &og, &ob ); + point2rgb( st->depth, myc, &r, &g, &b ); + + nr = or + (r - or) * a; + ng = og + (g - og) * a; + nb = ob + (b - ob) * a; + + /*st->buffer[ 3 * ( y * st->width + x ) + 0 ] = nr; + st->buffer[ 3 * ( y * st->width + x ) + 1 ] = ng; + st->buffer[ 3 * ( y * st->width + x ) + 2 ] = nb;*/ + c = rgb2point(st->depth, nr, ng, nb); + st->buffer[ y * st->width + x ] = c; + + XPutPixel( st->buf, x, y, c ); +} + + + + +void print_color ( struct state* st, pixel_t color ) { + int r, g, b; + point2rgb(st->depth, color, &r, &g, &b); + printf( "%d %d %d\n", r, g, b); +} + + + +#if ANTIALIAS +#define plot_(X,Y,D) do{ \ + _dla_plot(st, (X), (Y), color, (D) * alpha); }while(0) + +static +void _dla_plot(struct state* st, int x, int y, pixel_t col, float br) +{ + if ( ( x >= 0 && x < st->width ) && ( y >= 0 && y < st->height ) ) { + if ( br > 1.0f ) br = 1.0f; + draw_point( st, x, y, col, br ); + } +} + +#define ipart_(X) ((int)(X)) +#define round_(X) ((int)(((float)(X))+0.5)) +#define fpart_(X) (((float)(X))-(float)ipart_(X)) +#define rfpart_(X) (1.0-fpart_(X)) + +static +void draw_line_antialias( + struct state* st, + int x1, int y1, + int x2, int y2, + pixel_t color, float alpha ) +{ + float dx = (float)x2 - (float)x1; + float dy = (float)y2 - (float)y1; + float gradient; + float xend; + float yend; + float xgap; + float ygap; + int xpxl1; + int ypxl1; + float intery; + float interx; + int xpxl2; + int ypxl2; + int x; + int y; + + /* hard clipping, because this routine has some problems with negative coordinates */ + /* TODO: fix the alpha for that boundary cases. Using fabs() could solve? */ + if ( ( x1 < 0 || x1 > st->width ) || + ( x2 < 0 || x2 > st->width ) || + ( y1 < 0 || y1 > st->height ) || + ( y2 < 0 || y2 > st->height ) ) + return; + + if ( fabs(dx) > fabs(dy) ) { + if ( x2 < x1 ) { + swap(x1, x2); + swap(y1, y2); + } + gradient = dy / dx; + xend = round_(x1); + yend = y1 + gradient*(xend - x1); + xgap = rfpart_(x1 + 0.5); + xpxl1 = xend; + ypxl1 = ipart_(yend); + plot_(xpxl1, ypxl1, rfpart_(yend)*xgap); + plot_(xpxl1, ypxl1+1, fpart_(yend)*xgap); + intery = yend + gradient; + + xend = round_(x2); + yend = y2 + gradient*(xend - x2); + xgap = fpart_(x2+0.5); + xpxl2 = xend; + ypxl2 = ipart_(yend); + plot_(xpxl2, ypxl2, rfpart_(yend) * xgap); + plot_(xpxl2, ypxl2 + 1, fpart_(yend) * xgap); + + /*if ( rfpart_(yend) * xgap < 0 || fpart_(yend) * xgap < 0) + printf("%f %f\n", rfpart_(yend) * xgap, fpart_(yend) * xgap);*/ + for(x=xpxl1+1; x <= (xpxl2-1); x++) { + plot_(x, ipart_(intery), rfpart_(intery)); + plot_(x, ipart_(intery) + 1, fpart_(intery)); + /*if ( rfpart_(intery) < 0 || fpart_(intery) < 0) + printf("%f %f\n", rfpart_(intery), fpart_(intery));*/ + intery += gradient; + } + } else { + if ( y2 < y1 ) { + swap(x1, x2); + swap(y1, y2); + } + gradient = dx / dy; + yend = round_(y1); + xend = x1 + gradient*(yend - y1); + ygap = rfpart_(y1 + 0.5); + ypxl1 = yend; + xpxl1 = ipart_(xend); + plot_(xpxl1, ypxl1, rfpart_(xend)*ygap); + plot_(xpxl1, ypxl1+1, fpart_(xend)*ygap); + interx = xend + gradient; + + yend = round_(y2); + xend = x2 + gradient*(yend - y2); + ygap = fpart_(y2+0.5); + ypxl2 = yend; + xpxl2 = ipart_(xend); + plot_(xpxl2, ypxl2, rfpart_(xend) * ygap); + plot_(xpxl2, ypxl2 + 1, fpart_(xend) * ygap); + + for(y=ypxl1+1; y <= (ypxl2-1); y++) { + plot_(ipart_(interx), y, rfpart_(interx)); + plot_(ipart_(interx) + 1, y, fpart_(interx)); + interx += gradient; + } + } +} +#undef plot_ +#undef ipart_ +#undef fpart_ +#undef round_ +#undef rfpart_ + +#else + +static +void draw_line ( struct state* st, int x0, int y0, int x1, int y1, int color, float a ) { + register int steep; + register int deltax; + register int deltay; + register int error; + register int ystep; + register int y; + register int x; + + + steep = abs ( y1 - y0 ) > abs ( x1 - x0 ); + if ( steep ) { swap(x0,y0); swap(x1,y1); } + if ( x0 > x1 ) { swap(x0,x1); swap(y0,y1); } + deltax = x1 - x0; + deltay = abs(y1-y0); + error = 0; + y = y0; + ystep = y0 < y1 ? 1 : -1; + if ( a > 1.0f ) a = 1.0f; + + for ( x = x0; x < x1; x++ ) { + if ( steep ) { + if ( ( y >= 0 && y < st->width ) && ( x >= 0 && x < st->height ) ) + draw_point( st, y, x, color, a ); + } else { + if ( ( x >= 0 && x < st->width ) && ( y >= 0 && y < st->height ) ) + draw_point( st, x, y, color, a ); + } + error += deltay; + if ( ( error << 1 ) > deltax ) { + y += ystep; + error -= deltax; + } + } +} +#endif + +static void create_buffers ( struct state* st, Display* display, Screen* screen, Window window, GC gc ) { + + XWindowAttributes xgwa; + XGetWindowAttributes( display, window, &xgwa ); + + /* Initialize the pixmap */ + if ( st->buf != NULL ) XFreePixmap( display, st->pix ); + + XSetForeground( display, gc, st->colors[BLACK] ); + st->pix = XCreatePixmap( display, window, st->width, st->height, + xgwa.depth ); + XFillRectangle( display, st->pix, gc, 0, 0, st->width, st->height); + + /* Initialize the bitmap */ + if ( st->buf != NULL ) XDestroyImage ( st->buf ); + st->buf = XGetImage( display, st->pix, 0, 0, st->width, st->height, visual_depth(screen, st->visual), ZPixmap ); + st->buffer = (pixel_t*) calloc(sizeof(pixel_t), st->width * st->height); + /*int i; + for ( i = 0; i < st->width * st->height; ++i ) st->buffer[i] = st->colors[BLACK];*/ +} + +static void init_particle ( particle_t* p, float dx, float dy, float direction, int color, int max_age ) { + float max_initial_velocity = 2.0f; + p->x = -dx; + p->y = -dy; + p->xx = 0; + p->yy = 0; + p->vx = max_initial_velocity * cos(direction); + p->vy = max_initial_velocity * sin(direction); + + p->age = random() % max_age; + + p->color = color; +} + +static void clamp ( int* value, int l, int h ) { + if ( *value < l ) *value = l; + if ( *value > h ) *value = h; +} + +static pixel_t next_color ( struct state* st, pixel_t current ) { + int r, g, b; + + point2rgb(st->depth, current, &r, &g, &b); + r += random() % 5 - 2; + g += random() % 5 - 2; + b += random() % 5 - 2; + clamp(&r, 0, 255); + clamp(&g, 0, 255); + clamp(&b, 0, 255); + + return rgb2point( st->depth, r, g, b ); +} + + +static void create_particles ( struct state* st ) { + int i; + float emitx, emity; + float direction; + + for ( i = 0; i < st->particles_number; i++ ) { + emitx = ( st->ring_radius * sinf( M_PI * 2 * ( (float) i / st->particles_number ) ) ); + emity = ( st->ring_radius * cosf( M_PI * 2 * ( (float) i / st->particles_number ) ) ); + direction = (M_PI * i) / st->particles_number; + + if ( st->epoch == WHITE && st->color ) + st->colors[WHITE] = next_color(st, st->colors[WHITE]); + + init_particle(st->particles + i, emitx, emity, direction, st->colors[WHITE], st->max_age); + } +} + + +/* randomly move one particle and draw it */ +static void move ( particle_t* p, struct state * st ) { + int w = st->width / 2; + int h = st->height / 2; + float max_dv = 1.0f; + + p->xx = p->x; + p->yy = p->y; + p->x += p->vx; + p->y += p->vy; + p->vx += frand1() * st->curliness * max_dv; + p->vy += frand1() * st->curliness * max_dv; + + +#if ANTIALIAS + draw_line_antialias( st, + w+p->xx, h+p->yy, w+p->x, h+p->y, p->color, 0.15 ); + draw_line_antialias( st, + w-p->xx, h+p->yy, w-p->x, h+p->y, p->color, 0.15 ); +#else + draw_line( st, w+p->xx, h+p->yy, w+p->x, h+p->y, p->color, 0.15 ); + draw_line( st, w-p->xx, h+p->yy, w-p->x, h+p->y, p->color, 0.15 ); +#endif + + p->age++; + /* if this is too old, die and reborn */ + if ( p->age > st->max_age ) { + float dir = frand1() * 2 * M_PI; + p->x = st->ring_radius * sin(dir); + p->y = st->ring_radius * cos(dir); + p->xx = p->yy = p->vx = p->vy = 0; + p->age = 0; + + if ( st->epoch == WHITE && st->color ) + st->colors[WHITE] = next_color(st, st->colors[WHITE] ); + + p->color = st->colors[st->epoch]; + } +} + + + + +/* Initialize Everything */ +static void* binaryring_init ( Display* display, Window window ) { + XWindowAttributes xgwa; + + struct state *st = ( struct state* ) calloc ( 1, sizeof( *st ) ); + + XGetWindowAttributes( display, window, &xgwa ); + + st->epoch = WHITE; + st->display = display; + st->window = window; + st->particles_number = (get_integer_resource(st->display, "particles_number", "Integer")); + st->growth_delay = (get_integer_resource(st->display, "growth_delay", "Integer")); + st->ring_radius = (get_integer_resource(st->display, "ring_radius", "Integer")); + st->max_age = (get_integer_resource(st->display, "max_age", "Integer")); + st->color = get_boolean_resource(st->display, "color", "Boolean"); + st->height = xgwa.height; + st->width = xgwa.width; + st->visual = xgwa.visual; + st->curliness = 0.5; + + + st->depth = visual_depth(xgwa.screen, st->visual); + st->colors[0] = rgb2point(st->depth, 0, 0, 0); + st->colors[1] = rgb2point(st->depth, 255, 255, 255); + + /*describe_visual (stdout, xgwa.screen, xgwa.visual, False);*/ + + st->particles = malloc (st->particles_number * sizeof( particle_t ) ); + create_particles ( st ); + + st->gc = XCreateGC( st->display, st->window, 0, &st->gcv ); + create_buffers ( st, display, xgwa.screen, window, st->gc ); + + + return st; +} + + +static unsigned long binaryring_draw ( Display* display, Window win, void *closure ) { + struct state *st = (struct state *) closure; + int i; + + for ( i = 0; i < st->particles_number; i++ ) + move( &(st->particles[i]), st ); + + /* draw the XImage in the Pixmap and the put the Pixmap on the screen */ + XPutImage( display, st->pix, st->gc, st->buf, 0, 0, 0, 0, st->width, st->height); + XCopyArea( display, st->pix, win, st->gc, 0, 0, st->width, st->height, 0, 0 ); + + /* randomly switch ageColor periods */ + if ( random() % 10000 > 9950 ) + st->epoch = (st->epoch == WHITE) ? BLACK : WHITE; + + return st->growth_delay; +} + + + +static void binaryring_reshape ( Display* display, Window win, void *closure, unsigned int w, unsigned int h ) { + struct state *st = (struct state *) closure; + + XWindowAttributes tmp; + XGetWindowAttributes(display, win, &tmp); + + if ( tmp.height != st->height || tmp.width != st->width ) { + st->height = tmp.height; + st->width = tmp.width; + + + st->epoch = WHITE; + create_particles ( st ); + + create_buffers ( st, display, tmp.screen, win, st->gc ); + } +} + + +/* if someone press a key switch the color */ +static Bool binaryring_event ( Display* display, Window win, void *closure, XEvent* event ) { + struct state *st = (struct state *) closure; + + if ( (*event).xany.type == KeyPress ) { + st->epoch = (st->epoch == WHITE) ? BLACK : WHITE; + } + + return False; +} + + +/* delete everything */ +static void binaryring_free ( Display* display, Window win, void *closure ) { + struct state *st = (struct state *) closure; + XWindowAttributes tmp; + XGetWindowAttributes(display, win, &tmp); + + free( st->buffer ); + free( st->particles ); + + free ( st ); +} + + +/* Default resources of the program */ +static const char* binaryring_defaults [] = { + ".background: black", + ".foreground: white", + "*growth_delay: 10000", + "*particles_number: 5000", + "*ring_radius: 40", + "*max_age: 400", + "*color: True", + "*ignoreRotation: True", + 0 +}; + +static XrmOptionDescRec binaryring_options [] = { + { "-particles-number", ".particles_number", XrmoptionSepArg, 0 }, + { "-growth-delay", ".growth_delay", XrmoptionSepArg, 0 }, + { "-ring-radius", ".ring_radius", XrmoptionSepArg, 0 }, + { "-max-age", ".max_age", XrmoptionSepArg, 0 }, + { "-color", ".color", XrmoptionNoArg, "True" }, + { "-no-color", ".color", XrmoptionNoArg, "False" }, + { 0, 0, 0, 0} +}; + +XSCREENSAVER_MODULE("BinaryRing", binaryring) diff --git a/hacks/binaryring.man b/hacks/binaryring.man new file mode 100644 index 00000000..2d44496d --- /dev/null +++ b/hacks/binaryring.man @@ -0,0 +1,88 @@ +.TH "Binary Ring" 1 "02-Sep-14" "X Version 11" +.SH NAME +binaryring - A system of path tracing particles evolves continuously from an initial creation. +.SH SYNOPSIS +.B binaryring +[\-fps] +[\-install] +[\-noinstall] +[\-mono] +[\-root] +[\-visual \fIvisual\fP] +[\-window] +[\-window\-id \fIwindow\-id\fP] +[\-color] +[\-no\-color] +[\-growth\-delay \fIdelayms\fP] +[\-particle\-number \fIparticles\fP] +[\-ring\-radius \fIradius\fP] +.SH DESCRIPTION +A system of path tracing particles evolves continuously from an initial circular creation. +Ages of darkness play arbitrarily with ages of light. + +Ported (with some extensions) from the code by J. Tarbell at http://complexification.net +.SH OPTIONS +.I binaryring +accepts the following options: +.TP 8 +.B \-fps +Display the current frame rate and CPU load. +.TP 8 +.B \-install +Install a private colormap for the window. +.TP 8 +.B \-mono +If on a color display, pretend we're on a monochrome display. +.TP 8 +.B \-noinstall +Don't install a private colormap for the window. +.TP 8 +.B \-root +Draw on the root window. +.TP 8 +.B \-visual \fIvisual\fP +Specify which visual to use. Legal values are the name of a visual +class or the id number (decimal or hex) of a specific visual. +.TP 8 +.B \-window +Draw on a newly-created window. This is the default. +.TP 8 +.B \-window\-id \fIwindow\-id\fP +Specify which window id to use. +.TP 8 +.B \-color (Default) +Particles have random generated colors that gradually change over time. +.TP 8 +.B \-no\-color +Use the original black and white visualization. +.TP 8 +.B \-growth\-delay \fIdelayms\fP (Default: \fI10000\fP) +Delay in ms between growth cycles. More delay, slower (but less CPU intensive). +.TP 8 +.B \-particles\-number \fIparticles\fP (Default: \fI5000\fP) +The number of particles in the system. With more particles the fps +can also be affected. +.TP 8 +.B \-ring\-radius \fIradius\fP (Default: \fI40\fP) +The radius of the ring where the particles are born, in pixels. +.SH ENVIRONMENT +.PP +.TP 8 +.B DISPLAY +to get the default host and display number. +.TP 8 +.B XENVIRONMENT +to get the name of a resource file that overrides the global +resources stored in the RESOURCE_MANAGER property. +.SH SEE ALSO +.BR X (1), +.BR xscreensaver (1) +.SH COPYRIGHT +Copyright \(co 2003 by J. Tarbell +(complex@complexification.net, http://www.complexification.net). + +Ported to XScreensaver by Emilio Del Tessandoro (emilio.deltessa@gmail.com) +.SH AUTHOR +J. Tarbell , Jun-03 + +Emilio Del Tessandoro , Aug-14 diff --git a/hacks/blitspin.c b/hacks/blitspin.c index d00a9e2a..b0feffea 100644 --- a/hacks/blitspin.c +++ b/hacks/blitspin.c @@ -154,7 +154,7 @@ blitspin_draw (Display *dpy, Window window, void *closure) st->first_time = 0; st->loaded_p = True; st->qwad = -1; - st->start_time = time ((time_t) 0); + st->start_time = time ((time_t *) 0); blitspin_init_2 (st); } @@ -165,7 +165,7 @@ blitspin_draw (Display *dpy, Window window, void *closure) if (!st->img_loader && st->load_ext_p && - st->start_time + st->duration < time ((time_t) 0)) { + st->start_time + st->duration < time ((time_t *) 0)) { /* Start a new image loading, but keep rotating the old image until the new one arrives. */ st->img_loader = load_image_async_simple (0, st->xgwa.screen, st->window, @@ -254,7 +254,7 @@ blitspin_init (Display *d_arg, Window w_arg) if (st->delay2 < 0) st->delay2 = 0; if (st->duration < 1) st->duration = 1; - st->start_time = time ((time_t) 0); + st->start_time = time ((time_t *) 0); bitmap_name = get_string_resource (st->dpy, "bitmap", "Bitmap"); if (! bitmap_name || !*bitmap_name) diff --git a/hacks/bumps.c b/hacks/bumps.c index 49c47519..20603986 100644 --- a/hacks/bumps.c +++ b/hacks/bumps.c @@ -433,7 +433,7 @@ static void InitBumpMap_2(Display *dpy, SBumps *pBumps) XWindowAttributes XWinAttribs; XGetWindowAttributes( pBumps->dpy, pBumps->Win, &XWinAttribs ); - pBumps->start_time = time ((time_t) 0); + pBumps->start_time = time ((time_t *) 0); pScreenImage = XGetImage( pBumps->dpy, pBumps->source, 0, 0, pBumps->iWinWidth, pBumps->iWinHeight, @@ -666,7 +666,7 @@ bumps_init (Display *dpy, Window Win) Bumps->duration = get_integer_resource (dpy, "duration", "Seconds"); if (Bumps->delay < 0) Bumps->delay = 0; if (Bumps->duration < 1) Bumps->duration = 1; - Bumps->start_time = time ((time_t) 0); + Bumps->start_time = time ((time_t *) 0); return Bumps; } @@ -684,7 +684,7 @@ bumps_draw (Display *dpy, Window window, void *closure) } if (!Bumps->img_loader && - Bumps->start_time + Bumps->duration < time ((time_t) 0)) { + Bumps->start_time + Bumps->duration < time ((time_t *) 0)) { Bumps->img_loader = load_image_async_simple (0, Bumps->screen, Bumps->Win, Bumps->source, 0, 0); diff --git a/hacks/check-configs.pl b/hacks/check-configs.pl index c7cb8e84..789a45e0 100755 --- a/hacks/check-configs.pl +++ b/hacks/check-configs.pl @@ -19,7 +19,7 @@ use diagnostics; use strict; my $progname = $0; $progname =~ s@.*/@@g; -my ($version) = ('$Revision: 1.9 $' =~ m/\s(\d[.\d]+)\s/s); +my ($version) = ('$Revision: 1.12 $' =~ m/\s(\d[.\d]+)\s/s); my $verbose = 0; @@ -74,7 +74,7 @@ sub parse_src($) { $body =~ s@/\*.*?\*/@@gs; $body =~ s@^#\s*(if|ifdef|ifndef|elif|else|endif).*$@@gm; - $body =~ s/(THREAD|ANALOGTV)_(DEFAULTS|OPTIONS)//gs; + $body =~ s/(THREAD|ANALOGTV)_(DEFAULTS|OPTIONS)(_XLOCK)?//gs; print STDERR "$progname: $file: defaults:\n" if ($verbose > 2); my %res_to_val; @@ -194,6 +194,8 @@ sub parse_xml($$) { $body =~ s/ 2); foreach (split (m/\001/, $body)) { next if (m/^\s*$/s); @@ -209,6 +211,13 @@ sub parse_xml($$) { push @result, $val; print STDERR "$progname: $file: name: $name\n" if ($verbose > 2); + } elsif ($type eq 'video') { + error ("$file: multiple videos") if $video; + ($video) = ($args =~ m/\bhref="(.*?)"/); + error ("$file: unparsable video") unless $video; + error ("$file: unparsable video URL") + unless ($video =~ m@^https?://www\.youtube\.com/watch\?v=[^?&]+$@s); + } elsif ($type eq 'number') { my ($arg) = ($args =~ m/\barg\s*=\s*\"([^\"]+)\"/); my ($val) = ($args =~ m/\bdefault\s*=\s*\"([^\"]+)\"/); @@ -277,6 +286,9 @@ sub parse_xml($$) { } } +# error ("$file: no video") unless $video; + print STDERR "\n$file: WARNING: no video\n\n" unless $video; + return @result; } diff --git a/hacks/compile_axp.com b/hacks/compile_axp.com index 79910013..2c346bf1 100644 --- a/hacks/compile_axp.com +++ b/hacks/compile_axp.com @@ -9,6 +9,7 @@ $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) ASM6502.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) ATTRACTION.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BARCODE.C +$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BINARYRING.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BLASTER.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BLITSPIN.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BOUBOULE.C @@ -101,6 +102,7 @@ $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) PYRO.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) QIX.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) RD-BOMB.C +$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) RECANIM.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) RIPPLES.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) ROCKS.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) RORSCHACH.C diff --git a/hacks/compile_decc.com b/hacks/compile_decc.com index 79910013..2c346bf1 100644 --- a/hacks/compile_decc.com +++ b/hacks/compile_decc.com @@ -9,6 +9,7 @@ $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) ASM6502.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) ATTRACTION.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BARCODE.C +$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BINARYRING.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BLASTER.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BLITSPIN.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) BOUBOULE.C @@ -101,6 +102,7 @@ $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) PYRO.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) QIX.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) RD-BOMB.C +$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) RECANIM.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) RIPPLES.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) ROCKS.C $ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) RORSCHACH.C diff --git a/hacks/config/README b/hacks/config/README index 687a2fa1..d57f1af3 100644 --- a/hacks/config/README +++ b/hacks/config/README @@ -4,8 +4,8 @@ a screen saver and locker for the X window system by Jamie Zawinski - version 5.30 - 10-Sep-2014 + version 5.31 + 15-Nov-2014 http://www.jwz.org/xscreensaver/ @@ -203,6 +203,12 @@ The tags and parameters used here are: Where to position the "Check for Updates" options. This is used on MacOS and ignored on X11. +----------------------------------------------------------------------- + +