XScreenSaver(1) XScreenSaver(1) NNAAMMEE blitspin - rotate a bitmap in an interesting way SSYYNNOOPPSSIISS bblliittssppiinn [-display _h_o_s_t_:_d_i_s_p_l_a_y_._s_c_r_e_e_n] [-foreground _c_o_l_o_r] [-background _c_o_l_o_r] [-window] [-root] [-mono] [-install] [-visual _v_i_s_u_a_l] [-bitmap _f_i_l_e_n_a_m_e] [-delay _u_s_e_c_s] [-delay2 _u_s_e_c_s] DDEESSCCRRIIPPTTIIOONN The _b_l_i_t_s_p_i_n program repeatedly rotates a bitmap by 90 degrees by using logical operations: the bitmap is divided into quadrants, and the quadrants are shifted clockwise. Then the same thing is done again with progressively smaller quadrants, except that all sub-quadrants of a given size are rotated in parallel. So this takes OO((1166**lloogg22((NN)))) blits of size NxN, with the limitation that the image must be square, and the size must be a power of 2. OOPPTTIIOONNSS _b_l_i_t_s_p_i_n accepts the following options: --wwiinnddooww Draw on a newly-created window. This is the default. --rroooott Draw on the root window. --mmoonnoo If on a color display, pretend we're on a monochrome display. --iinnssttaallll Install a private colormap for the window. --vviissuuaall _v_i_s_u_a_l 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. --bbiittmmaapp _f_i_l_e_n_a_m_e The file name of a bitmap to rotate. It need not be square: it will be padded with the background color. If unspecified or the string _(_d_e_f_a_u_l_t_), a builtin bitmap is used. If support for the _X_P_M library was enabled at com- pile-time, the specified file may be in _X_P_M format as well as _X_B_M, and thus may be a color image. The **bbiittmmaappFFiilleePPaatthh resource will be searched if the bitmap name is not a fully-qualified pathname. --ggrraabb--ssccrreeeenn If this option is specified, then the image which X Version 11 16-May-97 1 XScreenSaver(1) XScreenSaver(1) is spun will be grabbed from the portion of the screen underlying the blitspin window. --ddeellaayy mmiiccrroosseeccoonnddss How long to delay between steps of the rotation process, in microseconds. Default is 500000, one- half second. --ddeellaayy22 mmiiccrroosseeccoonnddss How long to delay between each 90-degree rotation, in microseconds. Default is 500000, one-half sec- ond. DDIISSPPLLAAYY to get the default host and display number. EENNVVIIRROONNMMEENNTT XXEENNVVIIRROONNMMEENNTT to get the name of a resource file that over- rides the global resources stored in the RESOURCE_MANAGER property. SSEEEE AALLSSOO XX(1), xxssccrreeeennssaavveerr(1) CCOOPPYYRRIIGGHHTT Copyright (C) 1992, 1993, 1997 by Jamie Zawinski. Permis- sion to use, copy, modify, distribute, and sell this soft- ware 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 pro- vided "as is" without express or implied warranty. AAUUTTHHOORR Jamie Zawinski , 17-aug-92. Based on SmallTalk code which appeared in the August 1981 issue of Byte magazine. X Version 11 16-May-97 2