home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / s / swiftjpeg / !SwiftJPEG / !Help < prev    next >
Encoding:
Text File  |  1995-11-27  |  19.1 KB  |  535 lines

  1.  
  2.  
  3.       !SwiftJPEG copyright Hipposoft 1995
  4.  
  5.  
  6. An Impression Junior format version of this file
  7. file (created with version 1.19, which was given
  8. away on the November 1995 Archimedes World cover
  9. disc) can be found in the 'Manual' directory. It
  10. does not include any extra pictures etc., but is
  11. more attractively formatted than this text version
  12. and is consequently easier to read. It should load
  13. into Junior v1.19 or later, Impression II if dated
  14. 12-Jan-1992 or later, or any version of Impression
  15. Style or Publisher (tested with Publisher v4.01).
  16.  
  17. SwiftJPEG uses Acorn's new SpriteExtend module from
  18. RISC OS 3.6 to allow access to the extremely fast
  19. JPEG display facilities of the operating system.
  20. Because the SpriteExtend module creates a 'Dynamic
  21. Area', a concept that did not exist before RISC OS
  22. 3.5, this application will only work on Risc PCs.
  23. It is useful because although !Paint and !Draw will
  24. both load JPEGs, they have major drawbacks for
  25. general viewing, described below.
  26.  
  27. If you wish to try out the various facilities
  28. described below as you read the file, the 'Images'
  29. directory containing 100 JPEG files that will have
  30. been supplied with your machine on the hard disc
  31. (A7000-Net excepted) is an ideal source of files.
  32.  
  33. Please now read the 'DISCLAIMER and credits'
  34. section towards the end of this file before
  35. proceeding further.
  36.  
  37.  
  38. ** Usage
  39.  
  40.  
  41. Double-click on the !SwiftJPEG icon to start the
  42. application. To load a JPEG picture, either drag it
  43. to the icon on the icon bar, or double-click on it
  44. (the latter will only work if no other applications
  45. that load JPEGs by double-clicking, such as
  46. ChangeFSI, were loaded first). The JPEG file will
  47. be displayed in a window on the Desktop. This
  48. window has all or part of the pathname of the
  49. picture you loaded displayed in its title bar,
  50. and is refered to below as the Display window.
  51.  
  52. If you change colour depth, resolution or Desktop
  53. scaling the display will be updated accordingly.
  54.  
  55. SwiftJPEG can also be launched in the usual RISC OS
  56. manner, by double-clicking on a JPEG file or
  57. dragging a selection of them to a blank part of the
  58. icon bar, provided another application (again such
  59. as ChangeFSI) which claims the same filetype hasn't
  60. been run or 'seen' by the filer after SwiftJPEG.
  61.  
  62. Since SwiftJPEG offers no editing facilities, it
  63. wasn't thought necessary to give it the capability
  64. for multiple views - that is, you can only look at
  65. one JPEG at a time. Multiple copies of SwiftJPEG
  66. can be launched if you really need to see several
  67. files at once, though this has a few important
  68. complications described later.
  69.  
  70.  
  71. ** !Draw and !Paint
  72.  
  73.  
  74. Why not use !Draw or !Paint to view the JPEG files?
  75. !Draw has two drawbacks. Firstly, it has a default
  76. page size of A4; many JPEG files are bigger than
  77. that, so to see the whole file you need to use
  78. !Draw's menu to increase the size. Secondly, it
  79. uses a fast but inaccurate dithering routine (see
  80. later for more information about dithering) which
  81. gives poor results in 256 colour modes.
  82.  
  83. !Paint uses better dithering, but turns the JPEG
  84. into a sprite (out of necessity). This often
  85. requires a lot of memory.
  86.  
  87. SwiftJPEG offers a choice of dithering methods
  88. including the better method that !Paint uses, a
  89. choice of ways to display the picture, and it keeps
  90. the JPEG file as a JPEG, thus requiring
  91. comparatively little memory.
  92.  
  93.  
  94. ** Menu items
  95.  
  96.  
  97. There is only one main menu, accessible from either
  98. the displayed picture or the icon bar. The entries
  99. are:
  100.  
  101. 1. Info - Move the pointer to the right to see the
  102.    application's Info window.
  103.  
  104. 2. Zoom - Move the pointer to the right to show a
  105.    standard 'Zoom box', through which you can
  106.    change the magnification applied to the
  107.    displayed picture. If you use the arrow icons,
  108.    then the picture (if one is displayed) will be
  109.    scaled immediately; else you can enter values
  110.    via. the keyboard and the scaling is only done
  111.    when you move from one writable icon to the
  112.    other, or press Return. Any scale factor set in
  113.    this window when a picture is not being
  114.    displayed will apply when you next load one.
  115.  
  116. 3. Picture - Move the pointer to the right to show
  117.    a window giving information on the picture being
  118.    displayed. If there is no picture loaded, this
  119.    item will be greyed out.
  120.  
  121. 4. Full Screen... - again this is greyed out if
  122.    there is no picture loaded. With a picture
  123.    loaded, select this item to plot the picture in
  124.    the middle of a black screen. Press a key or
  125.    click any mouse button to get back to the
  126.    Desktop.
  127.  
  128. 5. Choices... - Select this menu item to open the
  129.    Global Choices window, described below.
  130.  
  131. 6. Quit - selecting this item quits the
  132.    application, closing the Display window and
  133.    releasing any memory claimed by SwiftJPEG
  134.    itself. Note however that the SpriteExtend
  135.    module is obviously *not* removed when you Quit
  136.    and any memory in Dynamic Areas or the RMA that
  137.    the module may have claimed will, consequently,
  138.    still be in use.
  139.  
  140. When you first load a JPEG file you will notice
  141. that the Display window appears centered on the
  142. screen and as large as it can get. Loading a new
  143. picture when that window is still open will then
  144. display that picture in the same window, without
  145. re-centering it or altering its size (unless the
  146. new picture is smaller than the window displayed).
  147. This is to allow 'browsing' where a filer window
  148. with a group of pictures is placed next to the
  149. Display window; there's nothing more annoying than
  150. having to keep moving the Display window out the
  151. way because it puts itself back in the middle all
  152. the time (as in ChangeFSI)! If you close the
  153. Display window, however, before loading a new
  154. picture, then it *will* be opened to maximum size
  155. and placed in the center of the screen, just as
  156. when you load a picture for the first time.
  157.  
  158. Closing the Display window with the Adjust button
  159. rather than Select will re-open the Filer window
  160. from which the picture was loaded, if it is not
  161. already open. To open the Filer window but not
  162. close the Display window, hold down either Shift
  163. key and click on the close icon with Adjust (this
  164. behaviour is standard amongst many RISC OS
  165. applications).
  166.  
  167.  
  168. ** Global Choices
  169.  
  170.  
  171. The Global Choices window is divided into three
  172. sections; Dithering, Full Screen and Miscellaneous.
  173. These are described below. Note any changes you
  174. make in the window only take effect when you click
  175. on the 'OK' icon (see below).
  176.  
  177. 1. Dithering
  178.  
  179. This allows you to set the dithering options.
  180. Dithering is a process where, in the event that a
  181. particular colour in the picture is not available
  182. for display on the screen (for example the standard
  183. Desktop 16 colour palette doesn't include brown),
  184. the computer will use speckled arrangements of
  185. colours to create a 'mixing' effect and try to
  186. represent the colour. For example if orange wasn't
  187. available, a speckled pattern of red and yellow
  188. might be used, or green and red to give brown.
  189.  
  190. This process slows down the plotting process of the
  191. image by varying degrees, hence it can be turned
  192. off by selecting the 'None' icon. Alternatively, a
  193. fast (and inaccurate) or a slower (but more
  194. accurate) method can be used. If you are displaying
  195. the picture in anything other than a 256 colour
  196. (not 256 greyscale!) mode, there will be no visible
  197. difference or speed difference between the two. For
  198. 256 colour modes there is a big speed difference,
  199. but the image quality of the faster option is
  200. fairly poor (yet still better than with no
  201. dithering). By default the slower option is on
  202. because it gives a better quality image.
  203.  
  204. In a 16 million colour mode, the dithering setting
  205. is irrelevant and is ignored because the computer
  206. can display all the colours that it is possible to
  207. store in the JPEG file.
  208.  
  209. You may notice that in 16 colour modes, the image
  210. is displayed in greyscales even though eight
  211. colours as well as eight greyscales are available.
  212. This is perfectly normal but cannot be changed (it
  213. is a function of the SpriteExtend JPEG routines
  214. themselves, rather than something SwiftJPEG is
  215. doing).
  216.  
  217. 2. Full Screen
  218.  
  219. When you display a picture Full Screen using the
  220. 'Full Screen...' menu option, how does SwiftJPEG
  221. decide which screen mode to display it in? This
  222. section allows you to choose.
  223.  
  224. If you ensure that *none* of the three options in
  225. the section is selected (by simply clicking on the
  226. currently selected option, which will 'unselect'
  227. it), then whatever mode you are using in the
  228. Desktop will be used to display the picture. This
  229. basically allows you to pick specific modes to see
  230. what pictures look like in them.
  231.  
  232. If you select 'Best fit to picture' (this is
  233. selected by default) then a screen mode larger
  234. than, but of closest size to, the picture you are
  235. viewing will be selected. This consequently
  236. maximises the displayed size of the picture on the
  237. screen. The greatest colour depth available for
  238. that resolution will be selected, but size takes
  239. precedence (i.e. a 1500x1120 pixel picture would be
  240. displayed in a resolution of 1600x1200 pixels, even
  241. though there will be other resolutions that allow
  242. more colours on screen at once). This is a useful
  243. 'general purpose' method.
  244.  
  245. The 'Use biggest' method scans the modes available
  246. on your system and chooses the highest resolution
  247. one, regardless of colour depth, and always
  248. displays pictures in that resolution. So on a 1Mb
  249. VRAM machine it would choose 1600x1200x16 colours
  250. (if a 1600x1200 mode is defined on your machine),
  251. or on a 2Mb VRAM machine it would choose
  252. 1600x1200x256 colours.
  253.  
  254. The 'Use most colourful' method scans the modes
  255. available and chooses the one with the largest
  256. number of colours available (picking the highest
  257. resolution mode from that set). So on a machine
  258. with 1Mb VRAM it would choose 640x480x16 million
  259. colours, on a 2Mb VRAM machine it would choose
  260. 800x600x16 million colours.
  261.  
  262. 3. Miscellaneous
  263.  
  264. When you load a JPEG file, it is displayed in a
  265. window on the Desktop. If you want to automatically
  266. display the picture in Full Screen mode as soon as
  267. you load it, select the 'Show JPEG in Full Screen
  268. mode on loading it' option.
  269.  
  270. When you return to the Desktop after a Full Screen
  271. view, the Display window will be present and if it
  272. wasn't already, will have opened itself up to full
  273. size and centered itself on the screen. This
  274. resizing and positioning operation is unavoidable,
  275. but may be irritating in some circumstances. To get
  276. round the problem, select the 'Close Display window
  277. after Full Screen view'. This will, as it suggests,
  278. close the Display window - *and remove the picture
  279. from memory* - after a Full Screen view (so no
  280. picture will be being displayed when you return to
  281. the Desktop).
  282.  
  283. When you are using the 'Use biggest' or 'Use most
  284. colourful' options of the Full Screen section (see
  285. above), you will notice a small delay when before
  286. the picture appears the first time you use the
  287. option after starting SwiftJPEG. This delay is
  288. caused by SwiftJPEG having to work out the biggest
  289. or most colourful mode available on your system. By
  290. default, SwiftJPEG waits until it is actually asked
  291. to use one of these display methods before doing
  292. this check, to avoid increasing the time it takes
  293. the application to start up. You may want to ensure
  294. SwiftJPEG does this check on startup so there are
  295. no delays later on. In this case, select the 'Work
  296. out maximum screen modes at startup' option.
  297.  
  298. Once SwiftJPEG has worked out the biggest and/or
  299. most colourful mode, it doesn't do it again. If the
  300. list of available modes changes whilst SwiftJPEG is
  301. running (e.g. because a new Monitor Description
  302. File was dropped onto the Display Manager icon) it
  303. will *not* notice this change, and will need
  304. restarting if you want it to notice any new modes.
  305.  
  306. There is a similar delay to that described above
  307. with the 'Best fit to picture' option in the Full
  308. Screen section. Here, SwiftJPEG is scanning the
  309. list of modes for one that best fits the picture.
  310. Because each picture is different, SwiftJPEG must
  311. do this check every time, hence there will always
  312. be the short delay.
  313.  
  314. The presence of some modes is ignored by SwiftJPEG,
  315. when it comes to Full Screen display. Modes where
  316. th y-size is bigger than the x-size (e.g. 240 x
  317. 352) are ignored because they are considered of
  318. unusual aspect ratio (the picture would appear
  319. distorted on-screen, 'letterbox'-type display
  320. accepted). Modes where the y-size is less than half
  321. the x-size (e.g. Mode 12 resolution of 640x256) are
  322. also ignored, to make sure a square pixel display
  323. is present (again to try and avoid the picture
  324. looking distorted on screen).
  325.  
  326. At the bottom of the General Choices window are
  327. four buttons; from left to right:
  328.  
  329. 1. Save
  330.  
  331. Clicking on this icon Saves the current choices, as
  332. they appear in the Global Choices window, to disc.
  333. It is necessary to click on OK (see below) to make
  334. these choices apply to the rest of the application.
  335. You cannot 'undo' a Save, e.g. clicking on Cancel
  336. (see below) will not effect the Saved choices at
  337. all.
  338.  
  339. 2. Default
  340.  
  341. This sets the options in the window to their
  342. default (original) state - Slow dithering, 'Best
  343. fit to picture' Full Screen method, and all
  344. Miscellaneous options turned off.
  345.  
  346. 3. Cancel
  347.  
  348. Clicking on this icon returns the options to the
  349. state they were in when you opened the Global
  350. Choices window with the 'Choices...' menu item.
  351. If you click with Select the window will also
  352. close. Click with Adjust if you want it to remain
  353. on screen.
  354.  
  355. 4. OK
  356.  
  357. Clicking on this icon reads the options from the
  358. Global Choices window and applies them to the
  359. rest of the application. If you have altered the
  360. Dithering methods and a picture is currently being
  361. displayed, it will be redrawn with that new method.
  362. When you click on this icon, the Global Choices
  363. window is closed regardless of which button is
  364. used. Clicking on OK does not effect the choices
  365. Saved on disc.
  366.  
  367.  
  368. ** Loading groups of files
  369.  
  370.  
  371. If you drag a group of files to SwiftJPEG's Display
  372. window or icon bar icon when the 'Show JPEG in
  373. Full Screen mode on loading it' option is turned
  374. off, each picture will be loaded in succession but
  375. because SwiftJPEG can only load one file at a time,
  376. after all the disc activity has died down, you'll
  377. be left looking at the last picture in the group
  378. you selected.
  379.  
  380. However, a 'slideshow'-style arrangement can be
  381. achieved by setting the 'Show JPEG in Full Screen
  382. mode on loading it' option in the Global Choices
  383. window. Each picture will be loaded and displayed
  384. in succession. Press any key or click any mouse
  385. button during this to show the next picture. Note
  386. that pressing Escape has the effect of ignoring the
  387. rest of the pictures in the group, and goes back to
  388. the Desktop. Care has been taken to minimise
  389. changes of display resolution during this process -
  390. i.e., there is as little flicker as possible.
  391.  
  392.  
  393. ** Running several copies of SwiftJPEG
  394.  
  395.  
  396. If you have several copies of SwiftJPEG in
  397. different places, it is 'safe' to run them at the
  398. same time. Any choices Saved from the copies will
  399. be saved within the correct application directory,
  400. not the one which was last launched as can happen
  401. with some other applications.
  402.  
  403. If you run the same copy on disc several times,
  404. saved choices from each copy will obviously effect
  405. the same copy. Each copy will *not* notice any
  406. changes to the Saved choices made by another.
  407.  
  408. Regardless of where the copy was launched from,
  409. setting the Choices in any one copy will not
  410. effect the Choices set in any other.
  411.  
  412.  
  413. ** Handling Errors
  414.  
  415.  
  416. The SpriteExtend module is less tolerant of badly
  417. defined or fairly non-standard JPEGs than, say,
  418. ChangeFSI. Some JPEGs, then, will load but not be
  419. displayed or may show odd traits such as only
  420. redrawing partially. This does not for example
  421. occur with any of the JPEGs supplied on the hard
  422. disc of a new Risc PC, and is not a fault of either
  423. SwiftJPEG or the SpriteExtend module in a strict
  424. sense; the problem lies more with the file itself.
  425. You will know if this has happened according to the
  426. details below:
  427.  
  428. If there is not enough memory to load a picture
  429. into SwiftJPEG itself, nothing will happen (no
  430. message is given to say this has happened). So if
  431. you drop a JPEG onto SwiftJPEG and no window opens,
  432. check there is enough memory (you'll need the size
  433. of the JPEG file plus another 8K on top of the slot
  434. size claimed by SwiftJPEG when it has no picture
  435. loaded).
  436.  
  437. The SpriteExtend module creates a Dynamic Area the
  438. size of which can be altered by the user. The
  439. amount claimed depends on the size of the JPEG
  440. displayed. It can be set to 0K (or any other
  441. arbitrary size constrained only by the amount of
  442. free memory) by the user and is automatically
  443. increased in size by the SpriteExtend module as
  444. required. If enough memory is present to load the
  445. JPEG file into SwiftJPEG, but there's then not
  446. enough workspace for the JPEG module, again nothing
  447. will happen (all errors from the JPEG plotting
  448. calls are ignored). So if you get a window open but
  449. nothing plots, check there is some memory free.
  450.  
  451. If the window opens but nothing plots and there is
  452. plenty of memory free then the JPEG file is at
  453. fault.
  454.  
  455. All other errors, e.g. if you run SwiftJPEG from
  456. floppy disc, try to save the options with the
  457. floppy disc out of the drive and refuse to supply
  458. it when prompted, are treated as fatal. SwiftJPEG
  459. will report the error and quit when you click on
  460. Cancel in the error box.
  461.  
  462.  
  463. ** Contact addresses
  464.  
  465.  
  466. Home address:
  467.  
  468. Andrew Hodgkinson
  469. 91 Micawber Road
  470. Poynton
  471. Stockport
  472. Cheshire
  473. SK12 1UP
  474.  
  475. Mail may have to be forwarded from this address to
  476. actually reach me, so please be patient.
  477.  
  478. EMail and telephone numbers are liable to change in
  479. (at the time of writing) the near future. You can
  480. use the EMail address adh1003@hermes.cam.ac.uk
  481. until around June 1996. This is a university
  482. address; if I am not present at univeristy when you
  483. mail, an automatic reply giving details of how to
  484. contact me should be sent to you. If the address is
  485. reported as not existing, I've left university and
  486. my account on the university mail server has been
  487. removed; contact me by the postal address above.
  488.  
  489.  
  490. ** DISCLAIMER and credits
  491.  
  492.  
  493. 'The software' or 'This software' refers to the
  494. !SwiftJPEG application and any related files
  495. distributed with it, including this manual in all
  496. its formats.
  497.  
  498. This software is supplied 'as is'; Hipposoft makes
  499. no claims as to its reliability or suitability for
  500. any purpose. No responsibility can be taken for any
  501. failure of the software, or any loss or damage
  502. caused directly or indirectly, or not caused, by
  503. the software.
  504.  
  505. Contents of this manual are not guaranteed to be
  506. correct, and may change without notice.
  507.  
  508. The SpriteExtend module is Copyright of Acorn
  509. Computers. This application was only tested under
  510. RISC OS 3.6 since saving out a copy of the
  511. SpriteExtend module via. the *Modules and *Save
  512. commands on a RISC OS 3.6 machine and loading this
  513. into a RISC OS 3.5 machine would be a breach of
  514. that copyright, and may not work (though apart from
  515. that there is no reason why SwiftJPEG would work
  516. any differently under either version). You may NOT
  517. use SwiftJPEG under such conditions. Hipposoft
  518. takes no responsibility for any such actions taken
  519. by end users of this software for any reason.
  520.  
  521. Thanks to Ragnar Hafstaư for !BasCrunch v1.02 (and
  522. Dick Alstein who did the front end), which was used
  523. to compress the original BASIC source.
  524.  
  525. This software is Freeware, and must be distributed
  526. intact, with all the files present and in the same
  527. form as received by the end user. If being
  528. distributed in any profit-making way, permission
  529. must be granted by Andrew Hodgkinson of Hipposoft
  530. first. If you are distributing the software in some
  531. non-profit making way, I (Andrew Hodgkinson) would
  532. prefer it if you contact me just to say what was
  533. being done with !SwiftJPEG, though this is not
  534. compulsary.
  535.