home *** CD-ROM | disk | FTP | other *** search
/ Freeware for SPARC / sparcapps.tar / me / Apps / Benchmarks / BitmapTest.app / BitmapTest.nib (.txt) < prev   
NeXT TypedStream Data  |  1994-06-07  |  12KB  |  216 lines

  1. typedstream
  2. StreamTable
  3.     HashTable
  4. Object
  5. [20c]
  6. typedstream
  7. [844c]
  8. typedstream
  9.     HashTable
  10. Object
  11. FirstResponder
  12. HeaderClass
  13. %%%%i@@
  14. firstnib
  15. checkSpelling:
  16. alignSelCenter:
  17.     unscript:
  18. pasteFont:
  19. runPageLayout:
  20. superscript:
  21. copyRuler:
  22.     copyFont:
  23. selectAll:
  24. pasteRuler:
  25. toggleRuler:
  26. showGuessPanel:
  27. alignSelLeft:
  28. paste:
  29. performClose:
  30. arrangeInFront:
  31. subscript:
  32. copy:
  33. alignSelRight:
  34. delete:
  35. orderFrontColorPanel:
  36. underline:
  37. performMiniaturize:
  38. MovingBitmap
  39. genericobject_nib
  40. TestView
  41. viewnib
  42. count
  43. timerPeriod
  44. eraseBitmaps:
  45. randomVel:
  46. create:
  47. eraseBackground:
  48. start:
  49. setPeriod:
  50. removeOne:
  51. tightDrawLoop:
  52. nxPing:
  53. allocateGState:
  54. [10865c]
  55. typedstream
  56.     HashTable
  57. Object
  58. Bitmap
  59. BitmapTest
  60. iii00
  61. [576c]
  62. NibData
  63. @@@@s
  64. Storage
  65. {*@@}
  66.     [55{*@@}]
  67. File's Owner
  68. CustomObject
  69. Application
  70.     InfoPanel
  71. WindowTemplate
  72. iiii***@s@
  73. Info for BitmapTest
  74. Panel
  75.     Responder
  76.     TextField
  77. Control
  78. TextFieldCell
  79. ActionCell
  80.     Helvetica
  81. Version 1.1 9/91
  82. Wby Carl F. Sutter
  83. sutter@ozone.usc.edu (NeXT mail)
  84. SUTTER@USCVM (BITNET)
  85. (213) 743-3826
  86. Button
  87. ButtonCell
  88. (This Application is in the Public Domain
  89. Moving Bitmaps Demo
  90. Button1
  91. Field1
  92. Field2
  93. VersionNumber
  94. Field
  95. Field3
  96. MainMenu
  97. MenuTemplate
  98. *@*@ccc
  99. Matrix
  100. @:@iiii
  101. MenuCell
  102. Info Panel...
  103. Help...
  104. Preferences...
  105. ff@@#::s
  106. submenuAction:
  107.     menuArrow
  108. Select All
  109. MenuItem
  110. MyWindow
  111. (BitmapTest - Moving Bitmaps Test Program
  112. Window
  113. Create
  114. Remove Last One
  115. Number:
  116. radio
  117. radioH
  118. 16x16
  119. 24x24
  120. 32x32
  121. 48x48
  122. 64x64
  123. Radio
  124. FormCell
  125. Field:
  126. Random
  127. switch
  128. switchH
  129. Units / Move
  130. Initial Velocity
  131. New Bitmap
  132. Start
  133. Allocate G State
  134. NX_PING
  135. Erase Background
  136. Erase Bitmaps
  137. Tight Draw Loop
  138. Switch
  139. returnSign
  140. Timer Period
  141. CustomView
  142. TestView
  143. Form1F6
  144.     HelpPanel
  145. Help for BitmapTest
  146. ScrollView
  147. ClipView
  148. ciifffcfffs
  149. [3771c]{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;}
  150. \margl40
  151. \margr40
  152. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\f0\b\i0\ul0\fs28 Overview:\
  153. \fs24 \
  154. \b0     BitmapTest is a simple program to test the speed of animating bitmaps on the screen.  It also allows various optimizations to be turned on and off, to see how much they help.  This program is intended as a demo program for developers, and is in the Public Domain.  No claims are made to the usefulness or suitability of this program, or its source code.\
  155.     This program demonstrates animating bitmaps, use of timer & event handling,  use of the List object, limiting window resizing, and includes a simple generic object to handle moving a bitmap.\
  156.     Comments are welcomed to help make this a better demo program.  The code is intended to provide clear, correct use of the App Kit, rather than fast, but dirty code.\
  157. \b\fs28 Basic Operation:\
  158. \fs24 \
  159. \b0     The simplest way to use the program is to click the "Create" button once, and then click the "Start" button.  a small bitmap should appear  and then begin bouncing around the view.  Clicking "Create" again will add another bitmap.  The check boxes in the Control section allow various optimizations described below.\
  160. \b\fs28 New Bitmap Options:\
  161. \fs24 \
  162. Create:
  163. \b0   Creates a new bitmap using the parameters described below.\
  164. Bitmap Size:
  165. \b0   Sets the size of the bitmap used for the next bitmap.  The bitmaps were made with the Icon App, and added to the .nib file in the tiff files section of the project inspector.  You can replace them and re-compile.  Alpha values other than 0 and 1, and nicer pictures could easily have been used.\
  166. Remove Last One:
  167. \b0   Removes the last created bitmap.\
  168. Number:
  169. \b0   Shows how many bitmaps are on the screen.\
  170. Initial Velocity:
  171. \b0   Lets you set the initial bitmap velocities in units/move.  The units are points, or screen pixels.  The initial position is always the center of the view.  The "Random" check box will disable these inputs and assign random velocities from -5 to 5 on creation.\
  172. \fs28 Control Options:\
  173. \fs24 \
  174. Start:
  175. \b0   Toggle to start and stop the motion of the bitmaps.\
  176. Allocate G State:
  177. \b0   Allocates/de-allocates a graphics state for the View.  This takes a lot of memory, and is only recommended for computationally intensive and important Apps.  Note that the Tight Draw Loop (below) is actually faster and more efficient.\
  178. NX_PING:
  179. \b0   Synchronizes the window server after each draw for smoother animation.\
  180. Erase Background:
  181. \b0   Erases the whole view before each redraw step.  This is slower than erasing just the bitmaps for big views, and few numbers of bitmaps.  Click this on and off to clear the view.\
  182. Erase Bitmaps:
  183. \b0   Erases the area behind each bitmap before each step of the animation.  This is faster than erasing the whole screen for a small number of bitmaps, but as the number gets larger, the overhead of messaging and erasing each bitmap has a bigger effect.\
  184. Tight Draw Loop:
  185. \b0   Makes the animation go in a continuous loop until an event is received.  The graphics state is locked and unlocked just once.  In this program, the timer is ignored when using this optimization, but that could have been easily allowed for.  Notice that using a tight draw loop is the fastest way to keep the animation going.  It will stop for events, and doesn't take a lot of  Display PostScript memory like allocating a GState does.\
  186. Timer Period:
  187. \b0   Lets you specify the time in seconds between each redraw (decimal fractions are OK).  Note that this will not have an effect if a tight drawing loop is used, although that funtionality could be easily added.\
  188. NXCursor
  189. NXImage
  190. NXibeam
  191. Scroller
  192. _doScroller:
  193. @@@ffs
  194. ScrollingText
  195. {i*@@@}
  196. [24{i*@@@}]
  197. hide:
  198. terminate:
  199. create:
  200. start:b
  201. removeOne:
  202. delegate
  203. timerPeriod
  204. count
  205. performClick:x{
  206. setPeriod:{
  207. allocateGState:h
  208. nxPing:j
  209. eraseBackground:l
  210. eraseBitmaps:n
  211. tightDrawLoop:p
  212. randomVel:P
  213. copy:
  214. selectAll:
  215. makeKeyAndOrderFront:
  216.