#! /usr/NeWS/bin/psh
%
% This file is a product of Sun Microsystems, Inc. and is provided for
% unrestricted use provided that this legend is included on all tape
% media and as a part of the software program in whole or part.  Users
% may copy or modify this file without charge, but are not authorized to
% license or distribute it to anyone else except as part of a product
% or program developed by the user.
% 
% THIS FILE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
% WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
% PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
% 
% This file is provided with no support and without any obligation on the
% part of Sun Microsystems, Inc. to assist in its use, correction,
% modification or enhancement.
% 
% SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
% INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS FILE
% OR ANY PART THEREOF.
% 
% In no event will Sun Microsystems, Inc. be liable for any lost revenue
% or profits or other special, indirect and consequential damages, even
% if Sun has been advised of the possibility of such damages.
% 
% Sun Microsystems, Inc.
% 2550 Garcia Avenue
% Mountain View, California  94043
%
%
% "@(#)rotate 9.2 88/01/18
%
% Copyright (c) 1985 by Sun Microsystems, Inc.
%

/newshomepath (NEWSHOME) getenv def
/imagedirectory (/smi/) def
/fileextension (.im8) def
/thepicture (founders) def
/pic {
	newshomepath imagedirectory thepicture fileextension
	append append append readcanvas pause
	} def

/painting {
    clippath pathbbox 2 div exch 2 div exch translate
    /F 1 def
    /SC 4 F 10 exp div cvi def
	pop pop .5 setgray fill
	clippath pathbbox min 7 div dup scale
	0 360 10 div 359 { 
	    gsave rotate 1 0 translate SC 1.25 mul SC scale pic imagecanvas
	    pause
	    0 0 moveto 1 1 rect 0 1 1 sethsbcolor stroke
	    grestore /SC F SC mul def} for
} def

/ROTATEWINDOW {
/win {
    /PaintClient { ClientCanvas setcanvas painting } def
    /FrameLabel (Use menu button to change picture.) def
    /PaintIcon {IconCanvas setcanvas
		clippath pathbbox scale pop pop
		pic imagecanvas IconCanvas setcanvas
		0 strokecanvas} def
    } makewindowfromuser def

/HandleMenuPick {
    /thepicture MenuKeys MenuValue get store
    { pause win begin PaintClient } fork pop } def
/davincipicturemenu [
	(angel)
	(ermine)
	(lady)
	(man)
	(mona-face)
	(mona-hands)
	(mona-smile)
%	(mona-hires)
	(mona)
	(stjerome)
	(virgin)
	(virgino)
] [{HandleMenuPick}] makemenu def
/japanesepicturemenu [
	(cherries)
	(fuji)
	(geese)
	(puppet)
	(snow)
	(stormy)
	(washing)
%	(wash-hires)
	(writing)
] [{HandleMenuPick}] makemenu def
/sunpicturemenu [
	(founders)
	(sun3110)
	(sun3160c)
	(sun3160m)
	(sun3260h)
	(sun350)
	(sun352)
	(sun352w)
	(sunballs)
	(suncase)
	(sungame)
	(sunnet)
	(sunnfs)
	(sunprism)
] [{HandleMenuPick}] makemenu def
/travelpicturemenu [
	(bryce)
	(harem)
	(joshua)
	(lascruces)
	(new_york)
	(pagosa)
	(saturn)
	(shroom)
	(taj-detail)
	(taj)
	(vla)
	(zion)
] [{HandleMenuPick}] makemenu def
/winpicturemenu [
	(Da Vinci =>)	davincipicturemenu
	(Japanese =>)	japanesepicturemenu
	(Sun =>)		sunpicturemenu
	(Travel =>)	travelpicturemenu
] makemenu def

/wineventmgr
	[	MenuButton {winpicturemenu showmenu}
		DownTransition win /ClientCanvas get
		eventmgrinterest
	] forkeventmgr def
wineventmgr

} def

ROTATEWINDOW pop

