Полезно за вас: Речник | Игри | Новини | Фирми | Рецепти | Обяви
Начало на реферати

Модул с интерактивни графични подпрограми за чертане


Информационни технологии | 2009-12-04 | 63 сваляния

{ Модул с интерактивни графични подпрограми за чертане }
{ - допълнете го сами! }

unit Draw_Un;

interface

procedure DrawLine(var x1, y1, x2, y2:integer);


implementation

uses Graph, Mouse_Un;

procedure DrawLine(var x1, y1, x2, y2:integer);

{ Изчертава отсечка, докато е натиснат левият бутон на мишката.}

{ Използва XorPut за постигане на ефект на разтягане на }

{ отсечката. След отпускане на левия бутон отсечката }

{ се изчертава окончателно с CopyPut. }

var OldX, OldY : integer; { Съхраняват предишните координати }

{ на втората точка на отсечката, така че повторното }

{ изчертаване на отсечката с XorPut да я изтрие. }

begin

while not MouseButtonPressed(LeftButton) do;

{ Изчаква се ляв бутон }

GetMouseCoords(x1, y1); { Определят се координатите на }

{ мишката => начална точка на отсечката }

SetWriteMode(XorPut);

MoveTo(x1, y1);

OldX := x1; OldY := y1;

while not MouseButtonReleased(LeftButton) do

{ Влачене на мишката }

begin

GetMouseCoords(x2, y2); { Крайна точка на отсечката }

if (x2 <> OldX) or (y2 <> OldY) then

begin

HideMouse; { Винаги се скрива мишката преди чертане }

Line(x1, y1, OldX, OldY); { Изтрива се старата отсечка }

Line(x1, y1, x2, y2); { Чертае се новата отсечка }

ShowMouse; { Показва се мишката }

OldX := x2; OldY := y2;

end;

end;

{ След отпускане на бутона - окончателно изчертаване }

SetWriteMode(CopyPut);

HideMouse;

Line(x1, y1, x2, y2);

ShowMouse;

end;

end.

Модул с интерактивни графични подпрограми за чертане

Добави своя коментар:



Тагове от реферата: , , , , , ,

Изтегли в DOC | PDF | ZIP