home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / gbmos2pm.zip / gbmv2 / gbmv2.scr < prev    next >
Text File  |  1995-04-23  |  35KB  |  783 lines

  1. .*
  2. .* gbmv2.scr - Help for GbmV2
  3. .*
  4. .* Important: Only edit the original .SCR file.
  5. .* If this file is not by the filename given above, then it has been put
  6. .* through IPFCPREP and so will be regenerated next MAKE.
  7. .*
  8. .imd gbmdlgrc.h
  9. .*...vgbmdlgrc\46\h:0:
  10. .imd gbmv2hlp.h
  11. .*...vgbmv2hlp\46\h:0:
  12. :userdoc.
  13. .*...sprolog:0:
  14. :prolog.
  15. :title.GbmV2 Help
  16. :author.Andy Key
  17. :eprolog.
  18. .*...e
  19. :toc.
  20. :body.
  21. .*...sHID_INTRO         \45\ Introduction to GbmV2:0:
  22. :h1 res=&HID_INTRO..Introduction to GbmV2
  23. :i1.Introduction to GbmV2
  24. :p.This is a simple bitmap viewer.
  25. :p.Bitmap files in various formats may be loaded into memory.
  26. This is the :hp2.actual bitmap data:ehp2..
  27. :p.The program displays a view of the bitmap in its window.
  28. This is called the :hp2.view bitmap:ehp2..
  29. The choice of how the view is made from the actual data may be changed
  30. from the
  31. :link reftype=hd res=&HID_VIEW..View menu:elink..
  32. :p.If the bitmap is smaller than the window, it is displayed centralised
  33. within the window.
  34. :p.If the bitmap is larger than the window, then scrollbars may be used to
  35. pick the visible part of the bitmap.
  36. :p.Once a bitmap is loaded, it may be printed to the default PM printer.
  37. :p.All, or a part of, the current bitmap can be selected, and then copied
  38. to the clipboard.
  39. :p.1bpp bitmaps are typically tricky to handle under OS/2 PM.
  40. :p.This program will display a 1bpp bitmap using the 2 colours in the
  41. bitmap files header, rather than the users current PM colour scheme.
  42. :p.While files are loading, saving, printing etc., this program prevents you
  43. from using its other functions.
  44. :p.From the menu bar you can use&colon.
  45. :dl compact tsize=7 break=all.
  46. :dt.:link reftype=hd res=&HID_FILE..File:elink.
  47. :dd.To transfer the text to and from disk
  48. :dt.:link reftype=hd res=&HID_EDIT..Edit:elink.
  49. :dd.To transfer some or all of the bitmap to the OS/2 clipboard
  50. :dt.:link reftype=hd res=&HID_BITMAP..Bitmap:elink.
  51. :dd.To perform simple operations on the bitmap
  52. :dt.:link reftype=hd res=&HID_VIEW..View:elink.
  53. :dd.To select how you see the current bitmap
  54. :dt.Help
  55. :dd.To display various types of help for using this utility.
  56. :edl.
  57. :p.You can display online help for GbmV2 by using the following methods.
  58. :ul compact.
  59. :li.For help about any pull-down option, highlight it and press F1.
  60. :li.For help about any displayed dialog box, select the Help pushbutton.
  61. :li.To see the Help Index, use the Help pull-down, or press F11.
  62. :li.To see the Help table of contents, display a help panel and use the
  63. Help Options pull-down (or press Ctrl+C).
  64. :eul.
  65. .*...e
  66. .*...sHID_FILE          \45\ File menu:0:
  67. :h1 res=&HID_FILE..File menu
  68. :i1 id=file.File menu
  69. :p.The File menu allows you to load a new bitmap, to save to a bitmap file,
  70. and to print.
  71. You can use&colon.
  72. :dl tsize=7 break=all.
  73. :dt.:link reftype=hd res=&HID_NEW..New:elink.
  74. :dd.To clear out the current bitmap.
  75. :dt.:link reftype=hd res=&HID_OPEN..Open:elink.
  76. :dd.To discard the current bitmap and read a new file from disk.
  77. The file to load is selected via the
  78. :link reftype=hd res=&HID_GBM_FILEDLG..Bitmap File dialog:elink..
  79. :dt.:link reftype=hd res=&HID_SAVE..Save:elink.
  80. :dd.To save the current bitmap to a file, under the current filename.
  81. The actual bitmap data, rather than the view what you see of it that is saved.
  82. :dt.:link reftype=hd res=&HID_SAVE_AS..Save as:elink.
  83. :dd.To save the current bitmap to a file with a filename you specify.
  84. The filename to save to is specified via the
  85. :link reftype=hd res=&HID_GBM_FILEDLG..Bitmap File dialog:elink..
  86. The actual bitmap data, rather than the view what you see of it that is saved.
  87. :dt.:link reftype=hd res=&HID_EXPORT_MET..Export to MetaFile:elink.
  88. :dd.To save the current bitmap in PM metafile form.
  89. :dt.:link reftype=hd res=&HID_PRINT..Print:elink.
  90. :dd.To print the current bitmap to the default PM printer.
  91. :dt.:link reftype=hd res=&HID_SNAPSHOT..Snapshot:elink.
  92. :dd.To take a snapshot of the screen.
  93. :edl.
  94. .*...e
  95. .*...sHID_NEW           \45\   New:0:
  96. :h2 res=&HID_NEW..New
  97. :i2 refid=file.New
  98. :p.Will clear any loaded bitmap from memory.
  99. :p.
  100. You can also begin a :hp2.New:ehp2. file by pressing
  101. :hp2.Ctrl+N:ehp2..
  102. .*...e
  103. .*...sHID_OPEN          \45\   Open:0:
  104. :h2 res=&HID_OPEN..Open
  105. :i2 refid=file.Open
  106. :p.Brings up a dialog box which allows you to specify the bitmap file to
  107. load.
  108. The file to load to is specified via the
  109. :link reftype=hd res=&HID_GBM_FILEDLG..Bitmap File dialog:elink..
  110. :p.You can also :hp2.Open:ehp2. a file by pressing
  111. :hp2.Ctrl+O:ehp2..
  112. .*...e
  113. .*...sHID_SAVE          \45\   Save:0:
  114. :h2 res=&HID_SAVE..Save
  115. :i2 refid=file.Save
  116. :p.Saves the currently loaded bitmap.
  117. :p.It is the actual bitmap data, not the view you see, that is actually
  118. saved. For example, the actual bitmap map can be 24 bit, but you may be looking
  119. at an (8 bit) error diffused version on the screen. 
  120. :p.If you wish to save under a new filename, use
  121. :link reftype=hd res=&HID_SAVE_AS..Save as:elink. instead.
  122. :p.You can also :hp2.Save:ehp2. to a file by pressing
  123. :hp2.Ctrl+S:ehp2..
  124. .*...e
  125. .*...sHID_SAVE_AS       \45\   Save As:0:
  126. :h2 res=&HID_SAVE_AS..Save As
  127. :i2 refid=file.Save As
  128. :p.Saves the currently loaded bitmap, but under a new filename.
  129. The filename to save to is specified via the
  130. :link reftype=hd res=&HID_GBM_FILEDLG..Bitmap File dialog:elink..
  131. :p.If you wish to save under the current name, use
  132. :link reftype=hd res=&HID_SAVE..Save:elink. instead.
  133. :p.It is the actual bitmap data, not the view you see, that is actually
  134. saved. For example, the actual bitmap can map be 24 bit, but you may be looking
  135. at an (8 bit) error diffused version on the screen. 
  136. :p.You can also :hp2.Save as:ehp2. to a named file by pressing
  137. :hp2.Ctrl+A:ehp2..
  138. .*...e
  139. .*...sHID_EXPORT_MET    \45\   Export to MetaFile:0:
  140. :h2 res=&HID_EXPORT_MET..Export MetaFile
  141. :i2 refid=file.Export MetaFile
  142. :p.This allows you to write a PM MetaFile, which contains the current bitmap.
  143. You can only do this when GbmV2 has a bitmap loaded.
  144. :p.It is the view bitmap which gets placed into the metafile.
  145. :p.This option is provided because some programs will not accept bitmaps
  146. correctly or at all.
  147. .*...e
  148. .*...sHID_PRINT         \45\   Print:0:
  149. :h2 res=&HID_PRINT..Print
  150. :i2 refid=file.Print
  151. :p.Prints the currently loaded bitmap to the default PM printer.
  152. :p.It is the screen view of the bitmap, not the actual bitmap data itself,
  153. that is transferred to the printer.
  154. :p.Works best when the default PM printer is a PostScript printer, as they
  155. typically can simulate 26 gray-scale levels via halftoning.
  156. :p.
  157. You can also :hp2.Print:ehp2. by pressing :hp2.Ctrl+P:ehp2..
  158. .*...e
  159. .*...sHID_SNAPSHOT      \45\   Snapshot:0:
  160. :h2 res=&HID_SNAPSHOT..Snapshot
  161. :i2 refid=file.Snapshot
  162. :p.This discards any currently loaded bitmap, and then replaces it with a
  163. snapshot of the current desktop.
  164. :p.This can then be cropped to the desired size by using the
  165. :link reftype=hd res=&HID_SELECT..Select:elink.
  166. menuitem to pick a subrectangle, and then the
  167. :link reftype=hd res=&HID_CROP..Crop to selection:elink.
  168. menuitem to trim to that size.
  169. :p.When you select Snapshot, GbmV2 does the following &colon.-
  170. :sl.
  171. :li.Makes itself invisible.
  172. :li.Waits 1 second, to allow windows that were previously obscured by GbmV2
  173. to repaint themselves.
  174. :li.Copies the screen to an internal bitmap.
  175. :li.Makes itself visible again.
  176. :li.Queries the data from this bitmap.
  177. :esl.
  178. :p.As the Snapshotted data has come from the screen, GbmV2 will set the
  179. viewing mode to
  180. :link reftype=hd res=&HID_VIEW_NULL..Raw PM mapping:elink..
  181. For a description of viewing modes, select the help on the
  182. :link reftype=hd res=&HID_VIEW..View menu:elink..
  183. .*...e
  184. .*...sHID_EDIT          \45\ Edit menu:0:
  185. :h1 res=&HID_EDIT..Edit menu
  186. :i1 id=edit.Edit menu
  187. :p.The Edit menu allows you to select a sub-rectangle of the bitmap.
  188. Some functions on the
  189. :link reftype=hd res=&HID_BITMAP..Bitmap menu:elink.
  190. behave differently depending upon whether there is a current selection
  191. or not.
  192. For example,
  193. :link reftype=hd res=&HID_REF_HORZ..Reflect horizontally:elink.
  194. will reflect just the selection if a selection is defined, else it will
  195. reflect the whole image.
  196. :p.It is also possible to copy selections to the clipboard.
  197. You can use&colon.
  198. :dl tsize=7 break=all.
  199. :dt.:link reftype=hd res=&HID_UNDO..Undo:elink.
  200. :dd.To undo the last operation performed on the bitmap.
  201. :dt.:link reftype=hd res=&HID_SELECT..Select:elink.
  202. :dd.To select a part of the current bitmap.
  203. :dt.:link reftype=hd res=&HID_DESELECT..Deselect:elink.
  204. :dd.To cancel the current selection.
  205. :dt.:link reftype=hd res=&HID_COPY..Copy:elink.
  206. :dd.This copies the current selection to the clipboard.
  207. :dt.:link reftype=hd res=&HID_PASTE..Paste:elink.
  208. :dd.This replaces the current bitmap with the clipboard contents.
  209. :edl.
  210. .*...e
  211. .*...sHID_UNDO          \45\   Undo:0:
  212. :h2 res=&HID_UNDO..Undo
  213. :i2 refid=edit.Undo
  214. :p.The Undo operation undoes the last change to the bitmap.
  215. :p.It is only selectable after a change has been done to the bitmap,
  216. such as those provided under the
  217. :link reftype=hd res=&HID_BITMAP..Bitmap menu:elink..
  218. :p.In low memory situations, it may be impossible to undo a
  219. previous operation.
  220. :p.Certain operations, such as
  221. :link reftype=hd res=&HID_NEW..New:elink.
  222. and
  223. :link reftype=hd res=&HID_OPEN..Open:elink.
  224. are not undoable.
  225. .*...e
  226. .*...sHID_SELECT        \45\   Select:0:
  227. :h2 res=&HID_SELECT..Select
  228. :i2 refid=edit.Select
  229. :p.After choosing this menu selection, the mouse pointer changes into a
  230. angle-bracket-L shape which you move to the bottom left of the region of the
  231. bitmap you wish to select, and then press the left mouse button.
  232. Then it changes to an angle-bracket-7 shape, which you then move to the top
  233. right of the region you wish to select, and then press the left mouse button.
  234. :p.This newly selected region becomes selected and is marked with a
  235. rectangle.
  236. :p.This is the region that can subsequently become copied to the clipboard
  237. using
  238. :link reftype=hd res=&HID_COPY..Copy:elink..
  239. :p.The Esc key cancels the selection process.
  240. .*...e
  241. .*...sHID_DESELECT      \45\   Deselect:0:
  242. :h2 res=&HID_DESELECT..Deselect
  243. :i2 refid=edit.Deselect
  244. :p.This menu item removes the current selection.
  245. :p.
  246. You can also :hp2.Deselect:ehp2. by pressing :hp2.Esc:ehp2., or
  247. by clicking the right mouse button on the bitmap.
  248. .*...e
  249. .*...sHID_COPY          \45\   Copy:0:
  250. :h2 res=&HID_COPY..Copy
  251. :i2 refid=edit.Copy
  252. :p.If there is a current selection, then it is copied to the clipboard.
  253. :p.Otherwise the whole bitmap is copied to the clipboard.
  254. :p.A region can be selected using
  255. :link reftype=hd res=&HID_SELECT..Select:elink..
  256. :p.It is the version you see on the screen that is copied to the clipboard,
  257. not the actual original bitmap data itself.
  258. :p.You can also :hp2.Copy:ehp2. by pressing
  259. :hp2.Ctrl+Ins:ehp2..
  260. .*...e
  261. .*...sHID_PASTE         \45\   Paste:0:
  262. :h2 res=&HID_PASTE..Paste
  263. :i2 refid=edit.Paste
  264. :p.This can only occur if there is bitmap data in the clipboard.
  265. :p.The current bitmap is replaced by the data from the clipboard.
  266. :p.:hp2.Note&colon.:ehp2.
  267. Bitmap data in the clipboard is only kept to the same quality (or less)
  268. as the screen.
  269. ie&colon. if the screen is 8bpp (as in super VGA for example)
  270. and you place a 24bpp bitmap in the clipboard, it is actually only held by
  271. Presentation Manager at 8bpp.
  272. Accordingly GBM considers the pasted bitmap to be of the lower number of
  273. bits per pixel.
  274. :p.You can also :hp2.Paste:ehp2. by pressing
  275. :hp2.Shift+Ins:ehp2..
  276. .*...e
  277. .*...sHID_BITMAP        \45\ Bitmap menu:0:
  278. :h1 res=&HID_BITMAP..Bitmap menu
  279. :i1 id=bmp.Bitmap menu
  280. :p.The Bitmap menu allows you to perform simple operations on the
  281. current bitmap.
  282. :p.You can use&colon.
  283. :dl tsize=7 break=all.
  284. :dt.:link reftype=hd res=&HID_REF_HORZ..Reflect horizontally:elink.
  285. :dd.To reflect the bitmap left-to-right.
  286. :dt.:link reftype=hd res=&HID_REF_VERT..Reflect vertically:elink.
  287. :dd.To reflect the bitmap left-to-right.
  288. :dt.:link reftype=hd res=&HID_ROT_90..Rotate 90 degrees:elink.
  289. :dd.To rotate the bitmap 90 degrees anticlockwise.
  290. :dt.:link reftype=hd res=&HID_ROT_180..Rotate 180 degrees:elink.
  291. :dd.To rotate the bitmap 180 degrees.
  292. :dt.:link reftype=hd res=&HID_ROT_270..Rotate 270 degrees:elink.
  293. :dd.To rotate the bitmap 90 degrees clockwise.
  294. :dt.:link reftype=hd res=&HID_TRANSPOSE..Transpose x for y:elink.
  295. :dd.To transpose the bitmap x for y.
  296. :dt.:link reftype=hd res=&HID_CROP..Crop to selection:elink.
  297. :dd.To discard all but the selected part of the bitmap.
  298. :dt.:link reftype=hd res=&HID_COLOUR..Colour space...:elink.
  299. :dd.To map bitmap pixels / palettes between colour spaces.
  300. :dt.:link reftype=hd res=&HID_MAP..Map...:elink.
  301. :dd.To map between various numbers of bits per pixel and between
  302. various palettes.
  303. :dt.:link reftype=hd res=&HID_RESIZE..Resize...:elink.
  304. :dd.To change the size of, ie&colon. to scale the current bitmap.
  305. :edl.
  306. :p.The
  307. :link reftype=hd res=&HID_UNDO..Undo:elink.
  308. menuitem can be used to undo the last operation performed on
  309. a bitmap.
  310. .*...e
  311. .*...sHID_REF_HORZ      \45\   Reflect horizontally:0:
  312. :h2 res=&HID_REF_HORZ..Reflect horizontally
  313. :i2 refid=bmp.Reflect horizontally
  314. :p.If there is a current selection, it is reflected left-to-right.
  315. :p.Otherwise the whole bitmap is reflected left-to-right.
  316. :p.Reflecting vertically can be done using the similar
  317. :link reftype=hd res=&HID_REF_VERT..Reflect vertically:elink.
  318. selection.
  319. :p.Other operations on the bitmap can be accessed from the
  320. :link reftype=hd res=&HID_BITMAP..Bitmap menu:elink..
  321. .*...e
  322. .*...sHID_REF_VERT      \45\   Reflect vertically:0:
  323. :h2 res=&HID_REF_VERT..Reflect vertically
  324. :i2 refid=bmp.Reflect vertically
  325. :p.If there is a current selection, it is reflected top-to-bottom.
  326. :p.Otherwise the whole bitmap is reflected top-to-bottom.
  327. :p.Reflecting horizontally can be done using the similar
  328. :link reftype=hd res=&HID_REF_HORZ..Reflect horizontally:elink.
  329. selection.
  330. :p.Other operations on the bitmap can be accessed from the
  331. :link reftype=hd res=&HID_BITMAP..Bitmap menu:elink..
  332. .*...e
  333. .*...sHID_ROT_90        \45\   Rotate 90 degrees:0:
  334. :h2 res=&HID_ROT_90..Rotate 90 degrees
  335. :i2 refid=bmp.Rotate 90 degrees
  336. :p.If there is a current selection, and it is square, it can be rotated through
  337. 90 degrees clockwise.
  338. Non square selections can not be rotated through 90 degrees.
  339. :p.If there is no selection, then the whole bitmap is rotated through
  340. 90 degrees.
  341. :p.Other rotations may be acheived via the
  342. :link reftype=hd res=&HID_ROT_180..Rotate 180 degrees:elink. and
  343. :link reftype=hd res=&HID_ROT_270..Rotate 270 degrees:elink. commands.
  344. :p.Other operations on the bitmap can be accessed from the
  345. :link reftype=hd res=&HID_BITMAP..Bitmap menu:elink..
  346. .*...e
  347. .*...sHID_ROT_180       \45\   Rotate 180 degrees:0:
  348. :h2 res=&HID_ROT_180..Rotate 180 degrees
  349. :i2 refid=bmp.Rotate 180 degrees
  350. :p.If there is a current selection, it is rotated through 180 degrees.
  351. :p.Otherwise the whole bitmap is rotated through 180 degrees.
  352. :p.Other rotations may be acheived via the
  353. :link reftype=hd res=&HID_ROT_90..Rotate 90 degrees:elink. and
  354. :link reftype=hd res=&HID_ROT_270..Rotate 270 degrees:elink. commands.
  355. :p.Other operations on the bitmap can be accessed from the
  356. :link reftype=hd res=&HID_BITMAP..Bitmap menu:elink..
  357. .*...e
  358. .*...sHID_ROT_270       \45\   Rotate 270 degrees:0:
  359. :h2 res=&HID_ROT_270..Rotate 270 degrees
  360. :i2 refid=bmp.Rotate 270 degrees
  361. :p.If there is a current selection, and it is square, it can rotated be through
  362. 270 degrees clockwise.
  363. Non square selections can not be rotated through 270 degrees.
  364. :p.If there is no selection, then the whole bitmap is rotated through
  365. 270 degrees.
  366. :p.Other rotations may be acheived via the
  367. :link reftype=hd res=&HID_ROT_90..Rotate 90 degrees:elink. and
  368. :link reftype=hd res=&HID_ROT_180..Rotate 180 degrees:elink. commands.
  369. :p.Other operations on the bitmap can be accessed from the
  370. :link reftype=hd res=&HID_BITMAP..Bitmap menu:elink..
  371. .*...e
  372. .*...sHID_TRANSPOSE     \45\   Transpose x for y:0:
  373. :h2 res=&HID_TRANSPOSE..Transpose x for y
  374. :i2 refid=bmp.Transpose x for y
  375. :p.If there is a current selection, and it is square, it can be transposed
  376. x for y.
  377. Non square selections can not be transposed.
  378. :p.If there is no selection, then the whole bitmap is transposed.
  379. :p.Other operations on the bitmap can be accessed from the
  380. :link reftype=hd res=&HID_BITMAP..Bitmap menu:elink..
  381. .*...e
  382. .*...sHID_CROP          \45\   Crop to selection:0:
  383. :h2 res=&HID_CROP..Crop to selection
  384. :i2 refid=bmp.Crop to selection
  385. :p.This discards all the bitmap except the selected bit.
  386. :p.Other operations on the bitmap can be accessed from the
  387. :link reftype=hd res=&HID_BITMAP..Bitmap menu:elink..
  388. .*...e
  389. .*...sHID_COLOUR        \45\   Colour space\46\\46\\46\:0:
  390. :h2 res=&HID_COLOUR..Colour space...
  391. :i2 refid=bmp.Colour space...
  392. :p.This menuitem will cause the
  393. :link reftype=hd res=&HID_COLOUR_DLG..Colour space dialog:elink.
  394. to appear.
  395. From here mappings between :hp2.intensity:ehp2., :hp2.L* cyclometric:ehp2.
  396. and :hp2.gamma corrected:ehp2. colour spaces may be performed.
  397. :p.This always applies to the whole bitmap.
  398. You cannot colour space map just the current selection.
  399. :p.Other operations on the bitmap can be accessed from the
  400. :link reftype=hd res=&HID_BITMAP..Bitmap menu:elink..
  401. .*...e
  402. .*...sHID_MAP           \45\   Map\46\\46\\46\:0:
  403. :h2 res=&HID_MAP..Map...
  404. :i2 refid=bmp.Map...
  405. :p.This menuitem will cause the
  406. :link reftype=hd res=&HID_MAP_DLG..Map dialog:elink.
  407. to appear.
  408. From here mappings between various numbers of bits per pixel and
  409. various palettes may be performed.
  410. :p.This always applies to the whole bitmap.
  411. You cannot map just the current selection.
  412. :p.Other operations on the bitmap can be accessed from the
  413. :link reftype=hd res=&HID_BITMAP..Bitmap menu:elink..
  414. .*...e
  415. .*...sHID_RESIZE        \45\   Resize\46\\46\\46\:0:
  416. :h2 res=&HID_RESIZE..Resize...
  417. :i2 refid=bmp.Resize...
  418. :p.This menuitem will cause the
  419. :link reftype=hd res=&HID_RESIZE_DLG..Resize dialog:elink.
  420. to appear.
  421. From here the size of the current bitmap may be changed.
  422. :p.This always applies to the whole bitmap.
  423. You cannot resize just the current selection.
  424. :p.Other operations on the bitmap can be accessed from the
  425. :link reftype=hd res=&HID_BITMAP..Bitmap menu:elink..
  426. .*...e
  427. .*...sHID_VIEW          \45\ View menu:0:
  428. :h1 res=&HID_VIEW..View menu
  429. :i1 id=view.View menu
  430. :p.The View menu allows you to choose what representation (or view) of the
  431. bitmap you have loaded will be used for display on the screen.
  432. :p.
  433. You can use&colon.
  434. :dl tsize=7 break=all.
  435. :dt.:link reftype=hd res=&HID_VIEW_NULL..Raw PM mapping:elink.
  436. :dd.To tell this program to perform no image enhancment for display
  437. purposes. The view bitmap is displayed as good as PM will, with no improvement.
  438. :dt.:link reftype=hd res=&HID_VIEW_HALFTONE..Halftoned:elink.
  439. :dd.To tell this program to show a halftoned version of the bitmap to the
  440. user, rather than the actual bitmap data itself.
  441. This generally looks slightly better and is quick to do.
  442. :dt.:link reftype=hd res=&HID_VIEW_ERRDIFF..Error diffused:elink.
  443. :dd.To tell this program to show a error-diffused version of the bitmap to the
  444. user, rather than the actual bitmap data itself.
  445. This generally looks much better, but takes longer to do.
  446. :edl.
  447. :p.This program makes a guess at the type of display adaptor you are using
  448. and chooses the most appropriate form of halftoning or error-diffusion to
  449. use.
  450. Specifically, it has algorithms known to work well on &colon.-
  451. :sl.
  452. :li.16 colour VGA
  453. :li.256 colour 8514/A, XGA and Image Adaptor/A.
  454. :li.65536 direct colour XGA-2.
  455. :esl.
  456. :p.If you actually wish to change the bitmap data itself, then you can use the
  457. :link reftype=hd res=&HID_MAP_DLG..Map dialog:elink. to do this.
  458. .*...e
  459. .*...sHID_VIEW_NULL     \45\   Raw PM mapping:0:
  460. :h2 res=&HID_VIEW_NULL..Raw PM mapping
  461. :i2 refid=view.Raw PM mapping
  462. :p.This tells this program to not perform any image enhancement that will make
  463. a bitmap look closer to its true colours and shades on the screen.
  464. :p.You can also select view :hp2.Raw PM mapping:ehp2. by pressing
  465. :hp2.Ctrl+R:ehp2..
  466. :p.It is possible to select other views from the
  467. :link reftype=hd res=&HID_VIEW..View menu:elink..
  468. .*...e
  469. .*...sHID_VIEW_HALFTONE \45\   Halftoned:0:
  470. :h2 res=&HID_VIEW_HALFTONE..Halftoned
  471. :i2 refid=view.Halftoned
  472. :p.This tells this program that it should present a halftoned view
  473. of the current bitmap to the user.
  474. :p.The actual bitmap data itself is not affected, only what you see on the
  475. screen.
  476. :p.Hence if
  477. :link reftype=hd res=&HID_SAVE..Save:elink. or
  478. :link reftype=hd res=&HID_SAVE_AS..Save as:elink.
  479. are used, the unchanged actual bitmap data is saved.
  480. :p.Halftoning is generally quicker than error diffusion.
  481. :p.You can also select view :hp2.Halftoned:ehp2. by pressing
  482. :hp2.Ctrl+H:ehp2..
  483. :p.It is possible to select other views from the
  484. :link reftype=hd res=&HID_VIEW..View menu:elink..
  485. .*...e
  486. .*...sHID_VIEW_ERRDIFF  \45\   Error diffused:0:
  487. :h2 res=&HID_VIEW_ERRDIFF..Error diffused
  488. :i2 refid=view.Error diffused
  489. :p.This tells this program that it should present an error-diffused picture
  490. of the current bitmap to the user.
  491. :p.The actual bitmap data itself is not affected, only what you see on the
  492. screen.
  493. :p.Hence if
  494. :link reftype=hd res=&HID_SAVE..Save:elink. or
  495. :link reftype=hd res=&HID_SAVE_AS..Save as:elink.
  496. are used, the unchanged actual bitmap data is saved.
  497. :p.Error diffusion takes longer than halftoning, but the quality is
  498. generally higher, especially on continuous tone images.
  499. :p.You can also select view :hp2.Error diffused:ehp2. by pressing
  500. :hp2.Ctrl+E:ehp2..
  501. :p.It is possible to select other views from the
  502. :link reftype=hd res=&HID_VIEW..View menu:elink..
  503. .*...e
  504. .*...sHID_HELP          \45\ Help menu:0:
  505. :h1 res=&HID_HELP..Help menu
  506. :i1 id=help.Help menu
  507. :p.Use this menu to bring up the help system.
  508. .*...e
  509. .*...sHID_HELP_FOR_HELP \45\   Help for help:0:
  510. :h2 res=&HID_HELP_FOR_HELP..Help for help
  511. :i2 refid=help.Help for help
  512. :p.Use this choice to bring up the help for the help system.
  513. .*...e
  514. .*...sHID_HELPEXTENDED  \45\   Extended Help:0:
  515. :h2 res=&HID_HELPEXTENDED..Extended Help
  516. :i2 refid=help.Extended Help
  517. :p.Use this choice to bring up general help for GbmV2.
  518. .*...e
  519. .*...sHID_HELPKEYS      \45\   Keys help:0:
  520. :h2 res=&HID_HELPKEYS..Keys help
  521. :i2 refid=help. Keys Help
  522. :p.The following keys may be used in the main window &colon.-
  523. :ul.
  524. :li.:hp2.Ctrl+N:ehp2. selects
  525. :link reftype=hd res=&HID_NEW..New:elink. which clears the bitmap.
  526. :li.:hp2.Ctrl+O:ehp2. to
  527. :link reftype=hd res=&HID_OPEN..Open:elink. a new bitmap file via the
  528. :link reftype=hd res=&HID_GBM_FILEDLG..Bitmap File dialog:elink..
  529. :li.:hp2.Ctrl+S:ehp2. to
  530. :link reftype=hd res=&HID_SAVE..Save:elink. the current bitmap.
  531. :li.:hp2.Ctrl+A:ehp2. selects
  532. :link reftype=hd res=&HID_SAVE_AS..Save as:elink. which saves the bitmap
  533. under a new filename, specified via the
  534. :link reftype=hd res=&HID_GBM_FILEDLG..Bitmap File dialog:elink..
  535. :li.:hp2.Ctrl+P:ehp2. to
  536. :link reftype=hd res=&HID_PRINT..Print:elink. the current bitmap.
  537. :li.:hp2.Ctrl+R:ehp2. to select
  538. :link reftype=hd res=&HID_VIEW_NULL..Raw PM mapping:elink. view mode.
  539. :li.:hp2.Ctrl+H:ehp2. to select
  540. :link reftype=hd res=&HID_VIEW_HALFTONE..Halftoned:elink. view mode.
  541. :li.:hp2.Ctrl+E:ehp2. to select
  542. :link reftype=hd res=&HID_VIEW_ERRDIFF..Error diffused:elink. view mode.
  543. :li.:hp2.Esc:ehp2. to
  544. :link reftype=hd res=&HID_DESELECT..Deselect:elink. any current selection.
  545. :li.:hp2.Ctrl+Ins:ehp2. to
  546. :link reftype=hd res=&HID_COPY..Copy:elink. the current selection
  547. to the clipboard.
  548. :li.:hp2.Shift+Ins:ehp2. to
  549. :link reftype=hd res=&HID_PASTE..Paste:elink. the current clipboard contents
  550. over the current bitmap.
  551. :li.The :hp2.Arrow:ehp2. keys may be used to scroll around the bitmap.
  552. Note that :hp2.Shift+Arrows:ehp2. behave like page up/down/left or right.
  553. :li.:hp2.F3:ehp2. to close GbmV2.
  554. :eul.
  555. .*...e
  556. .*...sHID_HELPINDEX     \45\   Help index:0:
  557. :h2 res=&HID_HELPINDEX..Help index
  558. :i2 refid=help.Help index
  559. :p.Use this to bring up an index of the help.
  560. .*...e
  561. .*...sHID_ABOUT         \45\   Product Information:0:
  562. :h2 res=&HID_ABOUT..Product Information
  563. :i2 refid=about.Product Information
  564. :p.Use this to bring up the
  565. :link reftype=hd res=&HID_ABOUT_DLG..Product Information dialog box:elink..
  566. .*...e
  567. .*...sHID_ABOUT_DLG     \45\ Product Information dialog:0:
  568. :h1 res=&HID_ABOUT_DLG..Product Information dialog
  569. :i1 id=aboutb.Product Information dialog
  570. :p.This dialog box gives information on the programs version and
  571. who wrote it.
  572. :p.This dialog is brought up from the
  573. :link reftype=hd res=&HID_ABOUT..Product Information:elink. menuitem.
  574. .*...e
  575. .*...sHID_COLOUR_DLG    \45\ Colour space dialog:0:
  576. :h1 res=&HID_COLOUR_DLG..Colour space dialog
  577. :i1 id=cspace.Colour space dialog
  578. :p.If a light is physically twice as bright, the eye does not
  579. necessarily see it as twice as bright. Also, if a pixel is
  580. written onto a monitor screen with twice the value, the physical
  581. intensity of the pixel is not necessarily double.
  582. :p.How exactly should numbers inside a bitmap file relate to
  583. physical or perceived intensitys when displayed on the screen?
  584. :p.In OS/2 PM perceived intensitys are proportional to the values
  585. in the bitmap file.
  586. Pixels in such a bitmap are in the :hp2.L* cyclometric:ehp2. colour space.
  587. This is done to ensure that an even scale of pixel values gives an even
  588. scale of brightness, when viewed by the human eye.
  589. :p.Ray Tracers often write pixel values in the bitmap proportional to
  590. the physical intensity computed for that ray.
  591. Also this may be more suitable if certain image processing/enhancement
  592. techniques are to be applied to the image data.
  593. Such data is in the :hp2.intensity:ehp2. colour space.
  594. :p.Finally, if a bitmap holds values computed in such a way as to
  595. compensate for the gamma of the monitor (ie: intensitys transformed
  596. to cancel out the gamma of the monitor), then the data is in
  597. a :hp2.gamma corrected:ehp2. colour space.
  598. Bitmap data that has come directly from a greyscale or colour scanner may
  599. also be in a gamma corrected colour space.
  600. :p.Of course, despite OS/2 PM using the L* cyclometric colour space, this
  601. machine is attached to a monitor with specific characteristics and your eyes
  602. also have their own characteristics.
  603. But it is the responsibility of OS/2 PM screen drivers to perform the mapping
  604. from the L* cyclometric colour space to suitable palette entrys which take
  605. into account both the gamma (and shelf) of the monitor in use, and the
  606. visual characteristics of the human eye.
  607. This is done transparently to PM applications.
  608. :p.The various :hp2.mappings:ehp2. allow you map between any 2 of these
  609. 3 colour spaces. Examples of typical usage follow &colon.-
  610. :dl tsize=7 break=all.
  611. :dt.Intensity to L* cyclometric
  612. :dd.You have loaded a bitmap file where the pixel values are proportional
  613. to the physical intensity.
  614. Such bitmaps often tend to look too dark under OS/2 PM.
  615. This will map the pixels to the L* cyclometric colour space, giving a better
  616. rendition under OS/2 PM.
  617. :dt.Intensity to gamma corrected
  618. :dd.The resulting bitmap, may still look too dark/light under OS/2 PM, but
  619. when saved, and displayed on a monitor with the relevant
  620. :hp2.gamma:ehp2. and :hp2.shelf:ehp2. with a program that directly controls
  621. the hardware, the correct rendition will result.
  622. :dt.L* cyclometric to Intensity
  623. :dd.You have a regular OS/2 PM bitmap, and wish to make the pixel values in
  624. the file directly proportional to the physical intensity.
  625. You might do this to generate a bitmap suitable for feeding into a
  626. Ray Tracer as a 2D texture map.
  627. :dt.L* cyclometric to gamma corrected
  628. :dd.As above, but generating bitmap bits suitable for directly placing in
  629. hardware registers.
  630. :dt.Gamma corrected to Intensity
  631. :dd.You have loaded a bitmap that has come directly from some scanner
  632. hardware, and wish to make bitmap where bits are proportional to intensity.
  633. :dt.Gamma corrected to L* cyclometric
  634. :dd.You have loaded a bitmap from a scanner, and wish to make a bitmap
  635. best suited for OS/2 PM.
  636. :edl.
  637. :p.When mapping to or from the gamma corrected colour space, the
  638. :hp2.gamma:ehp2. and :hp2.shelf:ehp2. values are significant.
  639. When the gamma corrected colour space is not involved, the gamma and
  640. shelf parameters are greyed.
  641. For example, the gamma of the 8514 monitor is about 2.1.
  642. :p.The shelf parameter will normally be left 0.0, but has significance for
  643. some monitors.
  644. For example, on some 8514 monitors, if a greyscale of bitmap pixels 0 to 255
  645. is displayed, the first 35 values come out equally black. So, here a shelf
  646. of 0.136 (as 0.136*255=35) should be used.
  647. :p.Mapping of this sort should really be done on 24 bit data, before
  648. error-diffusion or halftoning takes place.
  649. :p.If the current bitmap is 24 bpp, then each bitmap pixel is mapped.
  650. Otherwise, the palette entrys are mapped.
  651. :p.This dialog is brought up from the
  652. :link reftype=hd res=&HID_COLOUR..Colour space...:elink. menuitem.
  653. .*...e
  654. .*...sHID_MAP_DLG       \45\ Map dialog:0:
  655. :h1 res=&HID_MAP_DLG..Map dialog
  656. :i1 id=map.Map dialog
  657. :p.When the :hp2.Convert:ehp2. pushbutton is pressed on this dialog,
  658. the current bitmap is expanded from however many bits per pixel it
  659. currently is to 24 bits per pixel (with no palette).
  660. :p.Then a mapping is performed, to the desired number of bits per pixel
  661. and palette specified.
  662. :p.For some mappings, some or all of the values in the :hp2.Values:ehp2.
  663. part of the dialog box are used.
  664. Those which have no effect are greyed.
  665. :p.Also, when mapping to some palettes, the option of using
  666. :hp2.halftoning:ehp2. or :hp2.error diffusion:ehp2. may be available.
  667. When these are unavailable, they are greyed.
  668. :dl tsize=7 break=all.
  669. :dt.1bpp, black and white
  670. :dd.The bitmap is mapped to black and white.
  671. This is done by mapping each pixel to a grey value, and then seeing
  672. if the brightness is in the high 50% or not.
  673. :dt.4bpp, 8 colours
  674. :dd.This maps each pixel to one of black, white, red, green, blue, cyan,
  675. magenta or yellow.
  676. This option is handy for generating bitmaps to be fed into colour printers.
  677. :dt.4bpp, 16 colour VGA palette
  678. :dd.Each pixel is mapped to a colour in the VGA palette used by DOS, Windows
  679. and OS/2 PM.
  680. :dt.4bpp, 16 shades of grey
  681. :dd.Each pixel is mapped to one of 16 shades of grey.
  682. :dt.8bpp, 7Rx8Gx4B palette
  683. :dd.This is a palette consisting of 7 levels of red, 8 levels of green and
  684. 4 levels of blue.
  685. It is constructed this way because the eye is most sensitive to green, then
  686. to red, and least to blue.
  687. Most 32 bit OS/2 PM drivers, and the old 16 bit 8514/A driver
  688. use a palette with these colours in.
  689. :dt.8bpp, 6Rx6Gx6B palette
  690. :dd.The old 16 bit XGA-1 OS/2 PM driver used a 
  691. 6 red by 6 green by 6 blue palette.
  692. :dt.8bpp, 256 shades of grey
  693. :dd.Each pixel is mapped to a greyscale via a weighted sum of the red, green
  694. and blue components.
  695. Grey = 30% red + 59% green + 11% blue.
  696. These correspond to the eyes relative sensitivities to these primary colours.
  697. :dt.8bpp, 64R+64G+64B tri-pel palette
  698. :dd.The palette of the resulting bitmap has 64 shades of red, 64 of green
  699. and 64 of blue.
  700. Pixels in the source alternately have their red, green or blue component
  701. considered and a pixel written out from the relevant part of the palette.
  702. Therefore colour resolution is 6 bits of each of red, green and blue, at
  703. the expense of artifacts produced caused by the alternation and also at the
  704. expense of reducing the image brightness by a factor of 3.
  705. :dt.24 bpp, keep R bits red, G green, B blue
  706. :dd.Although the resulting image has 24bpp, only R bits of red, G of green
  707. and B of blue are non-zero.
  708. XGA-2 in its 16bpp mode has 65536 colours, which are composed from 32 levels
  709. of red, 64 of green and 32 of blue.
  710. Thus R=5, G=6, B=5 can be used to transform an image into what can be
  711. displayed on XGA-2.
  712. :dt.8bpp, as above, find N most used cols.
  713. :dd.After performing the above step, the 24bpp data is analysed to find the
  714. N most frequently occuring colours.
  715. Any pixels in the image in the N most used colours are mapped directly to
  716. that colour.
  717. Any pixel not in the N most used colours is mapped to the closest colour
  718. in the N most used.
  719. This may be used to make a good rendition for display by a program
  720. that uses VGA 320x200 8bpp mode by setting R=6, G=6, B=6, N=256, since only
  721. 6 bits are significant in the VGA palette DACs, and we only have 256
  722. colours in the palette.
  723. :dt.8bpp, median cut to N cols.
  724. :dd.First the image is quantised to 5 bits of red, green and blue.
  725. Then a palette of N colours is computed using the median cut algorithm.
  726. The image is mapped to this palette.
  727. For this to produce acceptable results, large values of N may be necessary.
  728. This may also be used to make a good rendition for display by a program
  729. that uses VGA 320x200 8bpp mode by setting N=256, since we only have 256
  730. colours in the palette.
  731. :edl.
  732. :p.:hp9.Important:ehp9.
  733. :p.These mappings apply to the :hp2.actual bitmap data:ehp2. and are
  734. nothing to do with the viewing options available from the
  735. :link reftype=hd res=&HID_VIEW..View menu:elink..
  736. Therefore, if you load a bitmap, error diffuse via this dialog box,
  737. and then save, the saved file is error-diffused.
  738. This directly contrasts the View menu, where the error diffusion is
  739. purely for display purposes.
  740. :p.This dialog is brought up from the
  741. :link reftype=hd res=&HID_MAP..Map...:elink. menuitem.
  742. .*...e
  743. .*...sHID_RESIZE_DLG    \45\ Resize dialog:0:
  744. :h1 res=&HID_RESIZE_DLG..Resize dialog
  745. :i1 id=resize.Resize dialog
  746. :p.When the :hp2.Resize:ehp2. pushbutton is pressed, the current bitmap is
  747. scaled to the new size specified in the entryfields.
  748. :p.This function always operates on the whole bitmap, not just the selected
  749. part (if there is a selection).
  750. :p.Expansion is done by pixel replication, and reduction is done by dropping
  751. pixels (no photographic quality interpolation is done).
  752. :p.The bitmap has other buttons to help you pick the new sizes.
  753. :p.By entering a number in the :hp2.N:ehp2. entryfield, and pressing a
  754. :hp2.x N:ehp2. button, the width or height can be multiplied by that number.
  755. Similarly, to scale down by a number, use a :hp2./ N:ehp2. button.
  756. :p.The :hp2.Match height:ehp2. and :hp2.Match width:ehp2. buttons are
  757. designed to make it easy to pick either the width or the height, and then
  758. work out the corresponding height or width that will preserve the
  759. 1&colon.1 aspect ratio.
  760. An example of the :hp2.Match Width:ehp2. feature &colon.-
  761. :sl.
  762. :li.Given bitmap is currently 600x400
  763. :li.User types in 800 in the Width entryfield.
  764. :li.User presses :hp2.Match Width:ehp2.
  765. :li.533 appears in the Height entryfield.
  766. :esl.
  767. :p.This was worked out as follows &colon.-
  768. :xmp.
  769.    Factor    = NewWidth / OldWidth
  770.              = 800 / 600
  771.              = 1.33 approx
  772.    NewHeight = Factor x OldHeight
  773.              = 1.33 x 400
  774.              = 533 approx
  775. :exmp.
  776. :p.These features are designed to avoid the need to use a calculator to
  777. work out the new sizes.
  778. :p.This dialog is brought up from the
  779. :link reftype=hd res=&HID_RESIZE..Resize...:elink. menuitem.
  780. .*...e
  781. :index.
  782. :euserdoc.
  783.