| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- MODULE clip;
- FROM tigr IMPORT TigrPtr,tigrWindow,tigrFree,tigrClosed, tigrClear, tigrUpdate, TPixelType,
- tigrLine, TK_ESCAPE, tigrKeyDown, tigrReadChar, tfont, tigrPrint,tigrFill,
- tigrCircle, tigrRect, tigrFillCircle, tigrTime, tigrError, tigrClip,
- tigrFillRect, tigrTextWidth, tigrTextHeight;
- FROM helper IMPORT tigrRGB, tigrRGBA;
- FROM InOut IMPORT Write, WriteLn;
- FROM RealInOut IMPORT WriteShortReal;
- CONST
- w = 100;
- d = 50;
- message = "Half a thought is also a thought";
- VAR
- cx, cy : CARDINAL;
- c0, c1, c2, c3 : TPixelType;
- screen : TigrPtr;
- tw, th : CARDINAL;
- BEGIN
- screen := tigrWindow(320, 240, "Clip", 0);
- c0 := tigrRGB(55, 55, 55);
- c1 := tigrRGB(255, 255, 255);
- c2 := tigrRGB(100, 200, 100);
- c3 := tigrRGBA(100, 100, 200, 150);
- WHILE (NOT (tigrClosed(screen) > 0)) OR (tigrKeyDown(screen, TK_ESCAPE) > 0) DO
- tigrClear(screen, c0);
- cx := screen^.w / 2;
- cy := screen^.h / 2;
- tigrClip(screen, cx - d, cy - d, w, w);
- tigrFill(screen, cx - d, cy - d, w, w, c1);
- tigrRect(screen, cx - w, cy - w, w, w, c2);
- tigrFillRect(screen, cx - w, cy - w, w, w, c3);
- tigrCircle(screen, cx + d, cy - d, d, c2);
- tigrFillCircle(screen, cx + d, cy - d, d, c3);
- tw := tigrTextWidth(tfont, message);
- th := tigrTextHeight(tfont, message);
- tigrPrint(screen, tfont, cx - tw / 2, cy + d - th / 2, c2, message);
- tigrUpdate(screen);
- END;
- tigrFree(screen);
- END clip.
|