home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / OOP / _SMALTAL.TAR / usr / lib / smalltalk / contrib / recttst.st < prev   
Encoding:
Text File  |  1990-04-21  |  1.8 KB  |  74 lines

  1. "creation and printing"
  2. | A |
  3.     '5 lines should be the same: A = 100@100 corner: 200@200' printNl.
  4.     A _ Rectangle left: 100 right: 200 top: 100 bottom: 200.
  5.     'A = ' print.
  6.     A printNl.
  7.     A _ Rectangle origin: 100@100 corner: 200@200.
  8.     'A = ' print.
  9.     A printNl.
  10.     A _ Rectangle origin: 100@100 extent: 100@100.
  11.     'A = ' print.
  12.     A printNl.
  13.     A _ (100@100) corner: 200@200.
  14.     'A = ' print.
  15.     A printNl.
  16.     A _ (100@100) extent: 100@100.
  17.     'A = ' print.
  18.     A printNl!
  19.  
  20. "accessing"
  21. | A |
  22.     A _ Rectangle origin: 100@100 extent: 150@150.
  23.     'A = ' print.
  24.     A printNl.
  25.     'topLeft = ' print.
  26.     (A topLeft) printNl.
  27.     'top = ' print.
  28.     (A top) printNl.
  29.     'rightCenter = ' print.
  30.     (A rightCenter) printNl.
  31.     'bottom = ' print.
  32.     (A bottom) printNl.
  33.     'center = ' print.
  34.     (A center) printNl.
  35.     'extent = ' print.
  36.     (A extent) printNl.
  37.     'area = ' print.
  38.     (A area) printNl!
  39.  
  40. "rectangle functions"
  41. | A B C D |
  42.     A _ 50@50 corner: 200@200.
  43.     B _ 120@120 corner: 260@240.
  44.     C _ 100@300 corner: 300@400.
  45.     D _ 20@20 corner: 400@400.
  46.     (A amountToTranslateWithin: C) printNl.
  47.     (A intersect: B) printNl.
  48.     (D intersect: C) printNl.
  49.     (A areasOutside: B) printNl.
  50.     (D areasOutside: C) printNl.
  51.     (D areasOutside: B) printNl.
  52.     (C expandBy: 10) printNl.
  53.     (C insetBy: 10@20) printNl.
  54.     (B merge: C) printNl!
  55.  
  56. "testing"
  57. | A B C |
  58.     A _ 50@50 corner: 200@200.
  59.     B _ 120@120 corner: 260@240.
  60.     C _ 100@300 corner: 300@400.
  61.     (A contains: B) printNl.
  62.     (C containsPoint: 200@320) printNl.
  63.     (A intersects: B) printNl!
  64.  
  65. "truncation and round off and transforming"
  66. | A B C |
  67.     A _ 50@50 corner: 200@200.
  68.     B _ 120@120 corner: 260@240.
  69.     C _ 100@300 corner: 300@400.
  70.     (A moveBy: 50@50) printNl.
  71.     (A moveTo: 200@300) printNl.
  72.     (A scaleBy: 2) printNl.
  73.     (A translateBy: -100) printNl!
  74.