PROGRAM TRADEMARK; USES GRAPH, CRT; (* $I PAC:GRAPH *) CONST PATTERNS : ARRAY [1..6] OF FILLPATTERNTYPE = ( ($FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF), ($55, $FF, $55, $FF, $55, $FF, $55, $FF), ($55, $AA, $55, $AA, $55, $AA, $55, $AA), ($00, $55, $00, $55, $00, $55, $00, $55), ($00, $11, $00, $44, $00, $11, $00, $44), ($00, $00, $00, $11, $00, $00, $00, $11) ); VAR J,I : INTEGER; PROCEDURE FON; BEGIN RECTANGLE (0, 0, GETMAXX, GETMAXY); FOR I := 1 TO 6 DO BEGIN J := J - 1; SETFILLPATTERN (PATTERNS [J], WHITE); BAR (I * 57-4, 4, (I+1)*57-5, GETMAXY - 4); END; END; PROCEDURE BAR3DNEW (X1, Y1, X2, Y2, DEPTH : INTEGER; TOP : BOOLEAN); VAR T, I : INTEGER; BEGIN IF X1 > X2 THEN BEGIN T := X1; X1 :=X2; X2 := T; END; IF Y1 > Y2 THEN BEGIN T := Y1; Y1 :=Y2; Y2 := T; END; RECTANGLE (X1, Y1, X2, Y2); BAR (X1+1, Y1+1, X2-1, Y2-1); FOR I := 1 TO DEPTH-1 DO BEGIN IF TOP THEN BAR (X1+1+I, Y1-I, X2-1+I, Y1-I); BAR (X2+I, Y1+1-I, X2+I, Y2-1-I); END; MOVETO (X2, Y2); LINEREL (DEPTH, -DEPTH); LINEREL (0, Y1-Y2); LINEREL (-DEPTH, DEPTH); IF TOP THEN BEGIN MOVETO (X1, Y1); LINEREL (DEPTH, -DEPTH); LINEREL (X2-X1, 0); END; END; PROCEDURE ELLIPS (COL: WORD; X, Y: Integer; XRadius, YRadius: Word); VAR TEMPCOL: WORD; BEGIN TEMPCOL := GETCOLOR; SETCOLOR(COL); Ellipse(X, Y, 0, 0, XRadius, YRadius); SETCOLOR(TEMPCOL); END; PROCEDURE MAPKA; BEGIN SETTEXTSTYLE (1, 0, 12); SETFILLSTYLE (SOLIDFILL, BLACK); SETCOLOR (BLACK); BAR3DNEW (90,65, GETMAXX DIV 2 - 10 + 105, GETMAXY DIV 2 + 80, 15, TOPON); SETCOLOR (WHITE); BAR3DNEW (100,70, GETMAXX DIV 2 - 10 + 100, GETMAXY DIV 2 + 70, 10, TOPON); RECTANGLE (103, 72, GETMAXX DIV 2 - 12 + 100, GETMAXY DIV 2 - 2 + 70); FOR I := 1 TO 6 DO BEGIN SETFILLPATTERN (PATTERNS [I], WHITE); BAR ((I-1) * 27 + 102, 72, I*27 + 101, GETMAXY DIV 2 - 2 + 70); END; FOR I := 1 TO 50 DO ELLIPS (BLACK, GETMAXX DIV 4 - 5 + 105, GETMAXY DIV 4 + 5 + 65, I, I); FOR I := 51 TO 53 DO ELLIPS (WHITE, GETMAXX DIV 4 - 5 + 105, GETMAXY DIV 4 + 5 + 65, I, I); {SETBKFILLSTYLE}SETFILLSTYLE (EMPTYFILL, BLACK); SETFILLSTYLE (CLOSEDOTFILL, WHITE); OUTTEXTXY (GETMAXX DIV 4 - 46 + 105, GETMAXY DIV 4 - 60 + 65, '*'); SETCOLOR (BLACK); LINE (GETMAXX DIV 4 - 7 + 105, GETMAXY DIV 4 + 5 + 65, GETMAXX DIV 4 - 3 + 105, GETMAXY DIV 4 + 5 + 65); SETCOLOR (WHITE); FOR I := 1 TO 25 DO ELLIPS (BLACK, GETMAXX DIV 4 - 5 + 105, GETMAXY DIV 4 + 5 + 65, I, I); FOR I := 26 TO 27 DO ELLIPS (WHITE, GETMAXX DIV 4 - 5 + 105, GETMAXY DIV 4 + 5 + 65, I, I); SETTEXTSTYLE (1, 0, 1); OUTTEXTXY (GETMAXX DIV 4 - 27 + 105, GETMAXY DIV 4 - 6 + 68, 'PASCAL'); OUTTEXTXY (GETMAXX DIV 4 - 18 + 105, GETMAXY DIV 4 + 6 + 68, 'FAST'); RECTANGLE (50, 228, 350, 270); SETFILLSTYLE (SOLIDFILL, BLACK); BAR (51, 229, 349, 269); SETTEXTSTYLE (1, 0, 2); SETFILLSTYLE (SOLIDFILL, WHITE); OUTTEXTXY (63, 232, ' V 1.0 C M S K'); SETTEXTSTYLE (0, 0, 1); OUTTEXTXY (123, 257, ' SEP - 1989'); ELLIPS (WHITE, 198, 243, 10, 11); END; CONST KD : INTEGER = {GDA}DETECT; MD : INTEGER = {GRAPH}EGAhi; BEGIN J := 7; INITGRAPH (KD,MD,''); FON; MAPKA; IF READKEY IN ['P','N'] THEN {PRINTSCREEN (ON)}; CLOSEGRAPH; END.