DEFINIRI DE FERESTRE SI PAGINI, Proceduri si functii referat



DEFINIRI DE FERESTRE SI PAGINI

Anumite echipamente permit utilizarea facilitatii de paginare, foarte utile la aplicatii de gen animetii, existand posibilitatea de a modufica paginile vizibile precum si cele active.

3.1. Proceduri si functii



SetVizualPage

Procedura SetVizualPage fixeaza pagina vizuala. Procedura este definita astefel:

Procedure SetVizualPage (nrpag: word);

Nrpag defineste numarul paginii vizuale.

SetActivePage

Procedura SetActivePage fixeaza pagina activata pentru echipamentul grafic de iesire. Procedura este definta astfel:

Procedure SetActivePage (Nrpag: word );

NrPag defineste numarul paginii active.

SetViewPort

Prin fereastra se intelege o zona dreptunghiulara a ecranului, care in particular poate sa conincida cu intregul ecran. Procedura ViewPort are ca efect ca toate comenzile de desenare / scriere sa opereze in regiunea rectangulara definita. Toate inscrierile pe ecran se refera la ferestra actuala, pana la o noua schimbare a ferestrei. Ptrocedura este definita astfel:

Procedure SetViewPort (x1, x2, y1, y2: integer; Clip: boolean);

X1, Y1 sunt coordonatele absolute stanga sus ale ferestrei active;

X2, Y2 sunt coordonatele absolute dreapta jos ale ferestrei.

Variabila boolena clip defineste daca liniile din afara ferestri sunt sau nu vizibile.

Constantele predefinite pentru stabilirea valorii variabilei Clip sunt utmatoarele:

Const

ClipOn:=True; -taierea este activa; exterior invizibila;

ClipOff:=false; -taierea este pasiva; exterior vizibil;

GetViewSetting

Procedura GetViewSetting permite ca utilizatorul sa obtina informatii referitoare la fereastra actuala si felul taierii. Procedura este definita astfel.

Procedure SetViewSetting (var infofer: viewporttype);

Variabila infofer este de tip predefinit ViewPortType va contine informatiile referitoare la fereastra. Tipul ViewPortType este definit astfel:

Type WiewPortType:= record;

X1, Y1, X2, Y2: Integer;

Clip:boolean;

End;

ClearDevice

Procedura ClearDevice sterge ecranul grafic actual si pozitioneaza pointe-ul actual in pozitia (0, 0), culoarea este determinta de procedura SetBkColor. Procedura este definita astfel:

Procedure ClearDevice;

ClearViewPort

Procedura ClearViewPort sterge fereastra grafica actuala. Culoarea fere estrei va fi culoarea de fond, este apelata procedura Bar pentru trasarea unu dreptunghi corespunzator ferestrei si pointer-ul actual este mutat in coltul stanga sus al ferestrei; de coordonate relative (0, 0). Procedura este definita astfel:

Procedure ClearViewPort;



3.2. Aplicatia


Programul ferpag demosntreaza lucrul cu pagini si ferestre grafice.

Program ferpag;

uses Graphcrt;

var gd, gm, i: integer;

begin

gd:detect;

initgraph(gd, gm, 'c:bpbgi'

if graphresult <> grOk then

halt (1);

if gd = vga thne

begin

i:-0l

repeat

setactivepage (0);

setcolor(i);

rectangle (20, 40, 100, 200);

setvisualpage(0)l

i:=i+1;

if i=16 then i:=0 ;

until Keypressend;

end

else

outText(,paginarea nu este suportata.');

cleardevice;

setbkcolor(3);

rectangle(20, 20, 300-20, 200-20);

setViewPort(21, 21, 300-21, 200-20, clipOn);

repeat

OutTextXY(0, 0, ,<1> sterge fereastra actuala:');

OutTextXY(10, 10, ,<2> pentru iesire,:');

readkey;

if readkey='1' then ClearViewPort;

until ReadKey='2';

closeGraph;

End.