home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / os2sdk / os2sdk12 / fatpel / readme < prev   
Encoding:
Text File  |  1989-11-20  |  5.8 KB  |  152 lines

  1. Comments about FATPEL
  2.  
  3.  
  4. Note:
  5. -----
  6.  
  7. You must run "make opendlg" and include the ..\dll directory in your
  8. libpath before attempting to make or execute this application.
  9.  
  10.  
  11. Description:
  12. ------------
  13.  
  14. FatPels displays a "magnified" coordinate space with some object
  15. rendered into it.
  16.  
  17. This program illustrates the diamond metric, which is:
  18.  
  19.     1) Round control points to the nearest integer.
  20.     2) Draw the mathematical object onto an imaginary grid where a diamond
  21.        surrounds each pel, the tips of which exactly touch the tips of
  22.        similar diamonds around each surrounding pel.
  23.     3) If the object drawn enters the diamond of a pel, turn on the pel.
  24.     4) In the case of a tie between pels, turn on the lower one
  25.        (in whichever dimension has the tie).
  26.  
  27. Gpi actually restricts this rule by requiring that the object
  28. touch the cross drawn between opposing vertices of the diamond.
  29.  
  30. To see the effect of rendering different objects, click in the window
  31. to add control points, or select a different output primitive from the
  32. Primitive menu.  You can add points by clicking with the left button,
  33. remove them by clicking on them with the right.  If you click on a point
  34. and hold the button down, you can drag the point around the window, with
  35. the mathematical and rendered curves following you.  You can insert
  36. points into a line segment by clicking on the line.
  37.  
  38. To see the effect of rendering at different scales, resize the
  39. pels (menu command: PelSize Set pel size and shape ...).
  40. The dimensions of the target coordinate space are determined by how
  41. many pels of the given size will fit in the program's window.  The
  42. sample control points follow the corners of the target space.
  43. Resizing the window will cause a reevaluation of how many pels will fit.
  44.  
  45. You can "touch up" a rendered object by entering "edit color" mode, by
  46. selecting "Colors Edit pel colors".  The cursor shape changes to a
  47. hollow diamond to let you know that mouse clicks will affect pel color
  48. rather than control point positions.  Click on the left button to set a
  49. pel to the foreground color (i.e. color of rendered object), or the
  50. right button for the background (i.e. field) color.
  51.  
  52. You can see the true (subject to the resolution of your monitor)
  53. "mathematical" object by disabling rounding of control points.
  54. The control points must be rounded for the object to correspond to
  55. the rendered pels, according to rule (1), but it might interest you
  56. to see how your intended object is distorted.
  57.  
  58. Note:  I repaint the window by drawing one pel into the lower left
  59.        corner, then calling GpiBitBlt to copy it up a column, then
  60.        copy the column across to the right.  If the lower left corner
  61.        is clipped, then whatever happens to be covering it will get
  62.        copied all over the window. This "feature" is for speeding
  63.        up the repaint.    To clean it up, bring the window to the top
  64.        and issue a redraw command.
  65.  
  66.  
  67. Program commands:
  68. -----------------
  69.  
  70. File
  71.     Save bitmap ...
  72.     Allow current "fatpel" screen to be saved as a BMP format file.
  73.     Note:  this command reads the bits that are on the screen, so
  74.     if there's garbage in the window, it will be saved.
  75.  
  76.     About ...
  77.     Show the credits and version number.
  78.  
  79. Display
  80.     Rendered object
  81.     Display the mathematical object rendered into the small bitmap,
  82.     as fat pels.
  83.  
  84.     Mathematical object
  85.     Display the "mathematical" object, i.e. drawn to the original
  86.     coordinates in the window, rather than the transformed down
  87.     coordinates in the small bitmap.
  88.  
  89.     Control points
  90.     Display markers for the control points.
  91.  
  92.     Crosshairs
  93.     Display the crosshairs in the center of each pel.
  94.  
  95.     Pel borders
  96.     Draw a border (in the crosshair color) around each pel.
  97.  
  98.     Rounded control points
  99.     Round the control points before drawing, to mimic the way
  100.     Gpi does it.  To see whether the curve follows the
  101.     diamond metric correctly, the mathematical object must be
  102.     drawn with its control points rounded to the nearest pel.
  103.     Note: Selecting control points is difficult with this option on,
  104.     because they are not displayed at their true locations.
  105.  
  106.     Auto redraw after changes
  107.     Automatically redraw the image after any changes.
  108.  
  109. Primitive
  110.     None
  111.     Don't draw anything on the grid.
  112.  
  113.     GpiPolyline
  114.     GpiPolyFillet
  115.     GpiPolySpline
  116.     GpiPointArc
  117.     Draw with the given primitive.    In the case of primitives which
  118.     require points in groups of a given size (e.g. GpiPolySpline),
  119.     some points may be truncated when calling GPI.
  120.  
  121. Colors
  122.     Set colors ...
  123.     Allows various colors used by the program to be changed.
  124.     In RGB mode, the color values are presented in hexadecimal
  125.     notation, since it's easier to see the different color
  126.     components that way.  You can still type in decimal numbers.
  127.     In RGB mode, dithering is allowed.  Note that when going
  128.     from RGB to non-RGB (default color index table) mode, the
  129.     values are mapped to their nearest equivalents on your
  130.     display device.
  131.  
  132.     Edit pel colors
  133.     Sets the mouse pointer mode to "edit color".  The pointer shape
  134.     will change to a hollow diamond.  Click with the left button to
  135.     change a fat pel to the rendered object's color.  Click with the
  136.     right button to set a pel to the field color.  Select this command
  137.     again to return to "edit control point" pointer mode.
  138.  
  139. PelSize
  140.     Set pel size and shape ...
  141.     Set the pel size to whatever is desired.
  142.  
  143.     Drag pel size
  144.     Allows the pel size to be specified by dragging a rectangle on the
  145.     window.  The rectangle must be dragged from lower left to upper
  146.     right.    The cursor will change when a button is held down, and
  147.     a tracking rectangle will appear.  Clicking in the window with
  148.     this option on will cause the pel to be resized to 1 by 1.
  149.  
  150. Redraw
  151.     Redraw the screen with the current selections.
  152.