Работа с графикой в WDE

Материал из Вики проекта PascalABC.NET
Версия от 13:21, 10 января 2016; Mikst (обсуждение | вклад) (Новая страница: «Для работы с графикой используется модуль Graph. Следует понимать, что он достаточно суще…»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Для работы с графикой используется модуль Graph.

Следует понимать, что он достаточно существенно отличается от модуля GraphABC в сторону упрощения. Причина проста - данный модуль реализует графические команды в окне браузера на HTML5 Canvas. Всё, что можно было перенести из GraphABC, было перенесено.

Ниже мы приводим полный текст интерфейса модуля Graph:

const
  fsNormal = 0;
  fsBold = 1;
  fsItalic = 2;
  fsBoldItalic = 3;
  
type 
  Color = class;
  Pen = record
    class property Color: Graph.Color read GetColor write SetColor;
    class property Width: real read GetWidth write SetWidth;
  end;

  Brush = record
    class property Color: Graph.Color read GetColor write SetColor;
  end;
  
  Font = record
    class property Color: Graph.Color read GetColor write SetColor;
    class property Size: integer read GetSize write SetSize;
    class property Style: integer read GetStyle write SetStyle;
    class property Name: string read GetName write SetName;
  end;

  Window = record
    class property Left: integer read GetLeft write SetLeft; 
    class property Top: integer read GetTop write SetTop; 
    class property Width: integer read GetWidth write SetWidth; 
    class property Height: integer read GetHeight write SetHeight;
    class property Caption: string read GetCaption write SetCaption;
    class property Title: string read GetCaption write SetCaption;
    class procedure Clear;
    class procedure SetSize(w,h: integer);
    class procedure SetPos(l,t: integer);
    class procedure Close;
    class procedure Minimize;
    class procedure Maximize;
    class procedure Center;
  end;

  Color = class
  public
    R,G,B: byte;
    Alpha: real;
    constructor (RR,GG,BB: byte; AA: real := 1.0);
    function ToString: string; override;
    class function AliceBlue: Color; 
    class function AntiqueWhite: Color; 
    class function Aqua: Color;
    class function Aquamarine: Color; 
    class function Azure: Color; 
    class function Beige: Color; 
    class function Bisque: Color; 
    class function Black: Color; 
    class function BlanchedAlmond: Color;
    class function Blue: Color; 
    class function BlueViolet: Color;
    class function Brown: Color; 
    class function BurlyWood: Color;
    class function CadetBlue: Color; 
    class function Chartreuse: Color; 
    class function Chocolate: Color; 
    class function Coral: Color; 
    class function CornflowerBlue: Color; 
    class function Cornsilk: Color; 
    class function Crimson: Color;
    class function Cyan: Color; 
    class function DarkBlue: Color; 
    class function DarkCyan: Color;
    class function DarkGoldenrod: Color;
    class function DarkGray: Color; 
    class function DarkGreen: Color; 
    class function DarkKhaki: Color; 
    class function DarkMagenta: Color;
    class function DarkOliveGreen: Color;
    class function DarkOrange: Color; 
    class function DarkOrchid: Color;
    class function DarkRed: Color; 
    class function DarkSalmon: Color;
    class function DarkSeaGreen: Color;
    class function DarkSlateBlue: Color; 
    class function DarkSlateGray: Color; 
    class function DarkTurquoise: Color;
    class function DarkViolet: Color; 
    class function DeepPink: Color; 
    class function DeepSkyBlue: Color;
    class function DimGray: Color;
    class function DodgerBlue: Color; 
    class function Firebrick: Color;
    class function FloralWhite: Color;
    class function ForestGreen: Color;
    class function Fuchsia: Color; 
    class function Gainsboro: Color; 
    class function GhostWhite: Color;
    class function Gold: Color; 
    class function Goldenrod: Color; 
    class function Gray: Color;
    class function Green: Color; 
    class function GreenYellow: Color; 
    class function Honeydew: Color; 
    class function HotPink: Color; 
    class function IndianRed: Color;
    class function Indigo: Color;
    class function Ivory: Color; 
    class function Khaki: Color; 
    class function Lavender: Color; 
    class function LavenderBlush: Color; 
    class function LawnGreen: Color; 
    class function LemonChiffon: Color; 
    class function LightBlue: Color; 
    class function LightCoral: Color; 
    class function LightCyan: Color; 
    class function LightGoldenrodYellow: Color; 
    class function LightGreen: Color; 
    class function LightGray: Color; 
    class function LightPink: Color; 
    class function LightSalmon: Color; 
    class function LightSeaGreen: Color; 
    class function LightSkyBlue: Color; 
    class function LightSlateGray: Color; 
    class function LightSteelBlue: Color; 
    class function LightYellow: Color; 
    class function Lime: Color; 
    class function LimeGreen: Color; 
    class function Linen: Color; 
    class function Magenta: Color; 
    class function Maroon: Color;
    class function MediumAquamarine: Color;
    class function MediumBlue: Color; 
    class function MediumOrchid: Color; 
    class function MediumPurple: Color;
    class function MediumSeaGreen: Color; 
    class function MediumSlateBlue: Color; 
    class function MediumSpringGreen: Color; 
    class function MediumTurquoise: Color;
    class function MediumVioletRed: Color; 
    class function MidnightBlue: Color; 
    class function MintCream: Color; 
    class function MistyRose: Color; 
    class function Moccasin: Color; 
    class function NavajoWhite: Color; 
    class function Navy: Color; 
    class function OldLace: Color; 
    class function Olive: Color; 
    class function OliveDrab: Color; 
    class function Orange: Color; 
    class function OrangeRed: Color; 
    class function Orchid: Color; 
    class function PaleGoldenrod: Color; 
    class function PaleGreen: Color; 
    class function PaleTurquoise: Color; 
    class function PaleVioletRed: Color; 
    class function PapayaWhip: Color; 
    class function PeachPuff: Color; 
    class function Peru: Color; 
    class function Pink: Color; 
    class function Plum: Color; 
    class function PowderBlue: Color; 
    class function Purple: Color; 
    class function Red: Color; 
    class function RosyBrown: Color; 
    class function RoyalBlue: Color; 
    class function SaddleBrown: Color; 
    class function Salmon: Color; 
    class function SandyBrown: Color; 
    class function SeaGreen: Color; 
    class function SeaShell: Color;
    class function Sienna: Color;
    class function Silver: Color; 
    class function SkyBlue: Color; 
    class function SlateBlue: Color; 
    class function SlateGray: Color; 
    class function Snow: Color; 
    class function SpringGreen: Color; 
    class function SteelBlue: Color; 
    class function Tan: Color; 
    class function Teal: Color; 
    class function Thistle: Color; 
    class function Tomato: Color; 
    class function Turquoise: Color; 
    class function Violet: Color; 
    class function Wheat: Color; 
    class function White: Color; 
    class function WhiteSmoke: Color; 
    class function Yellow: Color; 
    class function YellowGreen: Color; 
  end;
  
// 20.09.2010 (Juliet)  
var 
  /// Событие нажатия на кнопку мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши
  OnMouseDown: procedure (x,y,mousebutton: integer);
  /// Событие отжатия кнопки мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 1, если отжата левая кнопка мыши, и 2, если отжата правая кнопка мыши
  OnMouseUp: procedure (x,y,mousebutton: integer);
  /// Событие перемещения мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 0, если кнопка мыши не нажата, 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши
  OnMouseMove: procedure (x,y,mousebutton: integer);

procedure Sleep(ms: integer);

function RGB(r,g,b: byte): Color;
function RGBA(r,g,b: byte; a: real): Color;
function clRandom: Color;

procedure PutPixel(x,y: real; c: Color);
procedure Line(x1,y1,x2,y2: real);
procedure MoveTo(x,y: real);
procedure LineTo(x,y: real);
procedure DrawRectangle(x1,y1,x2,y2: real);
procedure FillRectangle(x1,y1,x2,y2: real);
procedure Rectangle(x1,y1,x2,y2: real);
procedure DrawCircle(x,y,r: real);
procedure FillCircle(x,y,r: real);
procedure Circle(x,y,r: real);
procedure TextOut(x,y: integer; s: string);


// Не рекомендуется пользоваться этими подпрограммами. Рекомендуется пользоваться методами и свойствами классов Brush, Pen, Font, Window
procedure SetPenColor(c: Color);
function GetPenColor: Color;
procedure SetPenWidth(w: real);
function GetPenWidth: real;

procedure SetBrushColor(c: Color);
function GetBrushColor: Color;

procedure SetFontSize(pt: integer);
function GetFontSize: integer;
procedure SetFontStyle(st: integer);
function GetFontStyle: integer;
procedure SetFontName(name: string);
function GetFontName: string;
procedure SetFontColor(c: Color);
function GetFontColor: Color;

procedure SetWindowWidth(w: integer);
procedure SetWindowHeight(h: integer);
procedure SetWindowLeft(l: integer);
procedure SetWindowTop(t: integer);
procedure SetWindowSize(w,h: integer);
procedure SetWindowPos(l,t: integer);
function GetWindowWidth: integer;
function GetWindowHeight: integer;
procedure SetWindowTitle(t: string);
procedure WindowClear;
procedure WindowMaximize;
procedure WindowMinimize;
procedure WindowClose;