19,7 → 19,7 |
|
MODULE Graph; |
|
IMPORT SYSTEM, K := KOSAPI; |
IMPORT SYSTEM, K := KOSAPI, Lines; |
|
CONST |
|
27,6 → 27,11 |
modeNOT = 1; |
modeXOR = 2; |
|
triUp* = FALSE; |
triDown* = TRUE; |
triLeft* = FALSE; |
triRight* = TRUE; |
|
TYPE |
|
tFont* = POINTER TO RECORD |
177,6 → 182,35 |
END DLine; |
|
|
PROCEDURE Triangle* (canvas: tCanvas; x1, y1, x2, y2: INTEGER; orientation: BOOLEAN); |
VAR |
i, a, b, d: INTEGER; |
BEGIN |
d := ORD(orientation)*2 - 1; |
IF y1 = y2 THEN |
i := y1; |
a := MIN(x1, x2); |
b := MAX(x1, x2); |
WHILE a <= b DO |
HLine(canvas, i, a, b); |
INC(i, d); |
INC(a); |
DEC(b) |
END |
ELSIF x1 = x2 THEN |
i := x1; |
a := MIN(y1, y2); |
b := MAX(y1, y2); |
WHILE a <= b DO |
VLine(canvas, i, a, b); |
INC(i, d); |
INC(a); |
DEC(b) |
END |
END |
END Triangle; |
|
|
PROCEDURE FillRect* (canvas: tCanvas; left, top, right, bottom: INTEGER); |
VAR |
y: INTEGER; |
218,6 → 252,7 |
WCHAR_SIZE = 2; |
VAR |
color, i: INTEGER; |
c: WCHAR; |
BEGIN |
IF (0 <= y) & (y <= canvas.height - canvas.font.height - 1) THEN |
IF x < 0 THEN |
233,15 → 268,18 |
canvas.color := canvas.backColor; |
FillRect(canvas, x, y, x + n*canvas.font.width, y + canvas.font.height); |
canvas.color := color; |
(* WHILE n > 0 DO |
K.sysfunc6(4, x*65536 + y, LSL(28H + canvas.font.size, 24) + canvas.textColor, text + i*WCHAR_SIZE, 1, canvas.bitmap - 8); |
WHILE n > 0 DO |
SYSTEM.GET(text + i*WCHAR_SIZE, c); |
IF ~Lines.isSpace(c) THEN |
K.sysfunc6(4, x*65536 + y, LSL(28H + canvas.font.size, 24) + canvas.textColor, SYSTEM.ADR(c), 1, canvas.bitmap - 8) |
END; |
INC(x, canvas.font.width); |
INC(i); |
DEC(n) |
END*) |
K.sysfunc6(4, x*65536 + y, LSL(28H + canvas.font.size, 24) + canvas.textColor, text + i*WCHAR_SIZE, n, canvas.bitmap - 8) |
END |
(*K.sysfunc6(4, x*65536 + y, LSL(28H + canvas.font.size, 24) + canvas.textColor, text + i*WCHAR_SIZE, n, canvas.bitmap - 8)*) |
END |
END |
END TextOut; |
|
|