home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / X / mit / demos / xgc / Written / Notes < prev    next >
Encoding:
Text File  |  1988-06-14  |  5.1 KB  |  297 lines

  1.  
  2.  
  3. ClearArea
  4. ---------
  5. Basically a special case of PolyFillRect.  Put up some sort of image first
  6. so we can clear it away.  Try both small areas and big areas, to give
  7. credit to servers for optimizing small ones.
  8.  
  9. Data: Pixels per second.
  10.       Breaking that down into large and small areas would probably not
  11.         be userful.
  12.       
  13. GC Fields: None.
  14.  
  15.  
  16. CopyArea
  17. --------
  18. Putting up some image and then repeatedly copying from one part of it
  19. to another would do the right thing and could look neat if done right.
  20.  
  21. We probably want to see what happens when the source area is clipped,
  22. as that as mentioned specifically in the protocol document.
  23.  
  24. Data: Pixels per second.
  25.       
  26. GC Fields: function             (*)
  27.            plane-mask
  28.        subwindow-mode
  29.        graphics-exposures
  30.        clip-x-origin
  31.        clip-y-origin
  32.        clip-mask
  33.  
  34.  
  35. CopyPlane
  36. ---------
  37. Special case of CopyArea again.
  38.  
  39.  
  40. PolyPoint
  41. ---------
  42. Draw lots of points.
  43. Either start out with an image that's 50/50 black and white
  44. (preferred) or draw enough points that some points will get drawn at
  45. least twice (to test functions other than copy).
  46.  
  47. Data: Points per second.
  48.  
  49. GC fields: function             (*)
  50.            plane-mask
  51.            foreground
  52.            subwindow-mode
  53.            clip-x-origin
  54.            clip-y-origin
  55.        clip-mask
  56.  
  57.  
  58. PolyLine
  59. --------
  60. Circular test like there is now.
  61. Try clipping at window boundaries?
  62.  
  63. Data: Lines per second.
  64.       Pixels per second (is this valid - do lines that are twice as
  65.         long take twice as long to draw? Also, is it valid to compare
  66.         thin lines and fat lines?)
  67.  
  68. GC fields: function             (*)
  69.            plane-mask
  70.            line-width           (*)
  71.            line-style        (*)
  72.            cap-style        (*)
  73.            join-style        (*)
  74.            fill-style        (*)
  75.            subwindow-mode
  76.            clip-x-origin
  77.            clip-y-origin
  78.            clip-mask
  79. Possibly   foreground
  80.            background
  81.            tile            (*)
  82.            stipple        (*)
  83.            tile-stipple-x-origin
  84.        tile-stipple-y-origin
  85.        dash-offset
  86.        dashes        (*)
  87.  
  88.  
  89. PolySegment
  90. -----------
  91. Just like PolyLine but lines don't have to be connected. Crosshatching?
  92.  
  93. Data: Lines per second, pixels per second(?)
  94.  
  95. GC fields: function
  96.     plane-mask
  97.     line-width
  98.     line-style
  99.     cap-style
  100.     fill-style
  101.     subwindow-mode
  102.     clip-x-origin
  103.     clip-y-origin
  104.     clip-mask
  105. Possibly  foreground
  106.     background
  107.     tile
  108.     stipple
  109.     tile-stipple-x-origin
  110.     tile-stipple-y-origin
  111.     dash-offset
  112.     dashes
  113.  
  114.  
  115. PolyRectangle
  116. -------------
  117. Lots of five point PolyLines.  Partly concentric ones would look nice; we
  118. also need overlap for testing different functions.
  119.  
  120. Data: Rectangles per second.
  121.     Pixels per second? (divide by perimeter)
  122.  
  123. GC fields: function
  124.     plane-mask
  125.     line-width
  126.     line-style
  127.     join-style
  128.     fill-style
  129.     subwindow-mode
  130.     clip-x-origin
  131.     clip-y-origin
  132.     clip-mask
  133. Possibly foreground
  134.     background
  135.     tile
  136.     stipple
  137.     tile-stipple-x-origin
  138.     tile-stipple-y-origin
  139.     dash-offset
  140.     dashes
  141.  
  142.  
  143. PolyArc
  144. -------
  145. Overlapping concentric things (ripples) would look cool.
  146. Is it possible to special-case circles?  Test for this?
  147.  
  148. Data: Arcs per second?  If we had the same test each time this might
  149.         be OK.
  150.       Pixels per second?  Finding the length of an arc could be
  151.         annoying.
  152.  
  153. GC fields: function
  154.     plane-mask
  155.     line-width
  156.     line-style
  157.     cap-style
  158.     join-style
  159.     fill-style
  160.     subwindow-mode
  161.     clip-x-origin
  162.     clip-y-origin
  163.     clip-mask
  164. Possibly foreground
  165.     background
  166.     tile
  167.     stipple
  168.     tile-stipple-x-origin
  169.     tile-stipple-y-origin
  170.     dash-offset
  171.     dashes
  172.  
  173.  
  174. FillPoly
  175. --------
  176. Use the same test as PolyLine?
  177. Overlapping is a must to test functions.
  178. Convex vs. Concave polygons.
  179.  
  180. Data: Pixels per second, I guess.
  181.       Data for convex vs. concave could be interesting.
  182.  
  183. GC fields: function
  184.     plane-mask
  185.     fill-style
  186.     fill-rule
  187.     subwindow-mode
  188.     clip-x-origin
  189.     clip-y-origin
  190.     clip-mask
  191. Possibly foreground
  192.     background
  193.     tile
  194.     stipple
  195.     tile-stipple-x-origin
  196.     tile-stipple-y-origin
  197.  
  198.  
  199. PolyFillRectangle
  200. -----------------
  201. Use same test as PolyRectangle?
  202. Perhaps give FillPoly some of these too, see if it special cases them.
  203. Fill Rectangle vs. Fill Poly for same size areas would be an
  204.   interesting comparison.
  205.  
  206. Data: Pixels per second.
  207.  
  208. GC fields: function
  209.     plane-mask
  210.     fill-style
  211.     subwindow-mode
  212.     clip-x-origin
  213.     clip-y-origin
  214.     clip-mask
  215. Possibly foreground
  216.     background
  217.     tile
  218.     stipple
  219.     tile-stipple-x-origin
  220.     tile-stipple-y-origin
  221.  
  222.  
  223. PolyFillArc
  224. -----------
  225. Use same test as PolyArc?
  226.  
  227. Data: Pixels per second would be hard to compute, but what else is there?
  228.  
  229. GC fields: function
  230.     plane-mask
  231.     fill-style
  232.     arc-mode
  233.     subwindow-mode
  234.     clip-x-origin
  235.     clip-y-origin
  236.     clip-mask
  237. Possibly foreground
  238.     background
  239.     tile
  240.     stipple
  241.     tile-stipple-x-origin
  242.     tile-stipple-y-origin
  243.  
  244.  
  245. PutImage
  246. --------
  247.  
  248. GC fields: function
  249.     plane-mask
  250.     subwindow-mode
  251.     clip-x-origin
  252.     clip-y-origin
  253.     clip-mask
  254. Possibly foreground
  255.     background
  256.  
  257.  
  258. GetImage
  259. --------
  260.  
  261. PolyText8
  262. ---------
  263.  
  264. GC fields: function
  265.     plane-mask
  266.     fill-style
  267.     font
  268.     subwindow-mode
  269.     clip-x-origin
  270.     clip-y-origin
  271.     clip-mask
  272. Possibly foreground
  273.     background
  274.     tile
  275.     stipple
  276.     tile-stipple-x-origin
  277.     tile-stipple-y-origin
  278.  
  279.  
  280. PolyText16
  281. ----------
  282.  
  283. ImageText8
  284. ----------
  285.  
  286. GC fields: plane-mask
  287.     foreground
  288.     background
  289.     font
  290.     subwindow-mode
  291.     clip-x-origin
  292.     clip-y-origin
  293.     clip-mask
  294.  
  295. ImageText16
  296. ---------
  297.