GraphABC.pas - несущественные правки
This commit is contained in:
parent
3e2be8178b
commit
143b118d66
|
|
@ -1401,5 +1401,10 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
// end frninja
|
// end frninja
|
||||||
|
|
||||||
|
|
||||||
|
// SSM 02/06/16 - пробуем добавить кеш для семантического выражения
|
||||||
|
public partial class expression
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -817,6 +817,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
expression_node en = ret.visit(expr);
|
expression_node en = ret.visit(expr);
|
||||||
|
|
||||||
//en.loc=get_location(expr);
|
//en.loc=get_location(expr);
|
||||||
|
|
||||||
return en;
|
return en;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
<DebugType>full</DebugType>
|
<DebugType>full</DebugType>
|
||||||
<Optimize>false</Optimize>
|
<Optimize>false</Optimize>
|
||||||
<OutputPath>bin\Debug\</OutputPath>
|
<OutputPath>..\..\bin\</OutputPath>
|
||||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
var q := Gen();
|
var q := Gen;
|
||||||
foreach var x in q do
|
foreach var x in q do
|
||||||
Print(x);
|
Print(x);
|
||||||
end.
|
end.
|
||||||
|
|
@ -333,6 +333,12 @@ procedure DrawTextCentered(x,y,x1,y1: integer; s: string);
|
||||||
procedure DrawTextCentered(x,y,x1,y1: integer; n: integer);
|
procedure DrawTextCentered(x,y,x1,y1: integer; n: integer);
|
||||||
/// Выводит вещественное значение r, отцентрированное в прямоугольнике с координатами (x,y,x1,y1)
|
/// Выводит вещественное значение r, отцентрированное в прямоугольнике с координатами (x,y,x1,y1)
|
||||||
procedure DrawTextCentered(x,y,x1,y1: integer; r: real);
|
procedure DrawTextCentered(x,y,x1,y1: integer; r: real);
|
||||||
|
/// Выводит строку s, отцентрированное по точке с координатами (x,y)
|
||||||
|
procedure DrawTextCentered(x,y: integer; s: string);
|
||||||
|
/// Выводит целое n, отцентрированное по точке с координатами (x,y)
|
||||||
|
procedure DrawTextCentered(x,y: integer; n: integer);
|
||||||
|
/// Выводит вещественное r, отцентрированное по точке с координатами (x,y)
|
||||||
|
procedure DrawTextCentered(x,y: integer; r: real);
|
||||||
/// Заливает область одного цвета цветом c, начиная с точки (x,y).
|
/// Заливает область одного цвета цветом c, начиная с точки (x,y).
|
||||||
procedure FloodFill(x,y: integer; c: Color);
|
procedure FloodFill(x,y: integer; c: Color);
|
||||||
|
|
||||||
|
|
@ -837,7 +843,7 @@ type
|
||||||
|
|
||||||
/// Тип рисунка GraphABC
|
/// Тип рисунка GraphABC
|
||||||
Picture = class
|
Picture = class
|
||||||
private
|
public
|
||||||
bmp,savedbmp: Bitmap;
|
bmp,savedbmp: Bitmap;
|
||||||
gb: Graphics;
|
gb: Graphics;
|
||||||
istransp: boolean;
|
istransp: boolean;
|
||||||
|
|
@ -2571,6 +2577,30 @@ begin
|
||||||
DrawTextCentered(x,y,x1,y1,r.ToString(nfi));
|
DrawTextCentered(x,y,x1,y1,r.ToString(nfi));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure DrawTextCentered(x,y: integer; s: string);
|
||||||
|
begin
|
||||||
|
Monitor.Enter(f);
|
||||||
|
if NotLockDrawing then
|
||||||
|
DrawTextCentered(x,y,s,gr);
|
||||||
|
if DrawInBuffer then
|
||||||
|
DrawTextCentered(x,y,s,gbmp);
|
||||||
|
Monitor.Exit(f);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure DrawTextCentered(x,y: integer; n: integer);
|
||||||
|
begin
|
||||||
|
DrawTextCentered(x,y,n.ToString);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure DrawTextCentered(x,y: integer; r: real);
|
||||||
|
begin
|
||||||
|
var nfi := new System.Globalization.NumberFormatInfo();
|
||||||
|
nfi.NumberGroupSeparator := '.';
|
||||||
|
|
||||||
|
DrawTextCentered(x,y,r.ToString(nfi));
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
function Pnt(x,y: integer): Point;
|
function Pnt(x,y: integer): Point;
|
||||||
begin
|
begin
|
||||||
Result := new Point(x,y);
|
Result := new Point(x,y);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (c) Ivan Bondarev, Stanislav Mihalkovich (for details please see \doc\copyright.txt)
|
// Copyright (c) Ivan Bondarev, Stanislav Mihalkovich (for details please see \doc\copyright.txt)
|
||||||
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
|
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
|
||||||
unit GraphABCHelper;
|
unit GraphABCHelper;
|
||||||
|
|
||||||
|
|
@ -47,6 +47,7 @@ procedure ClosedCurve(a: array of Point; gr: Graphics);
|
||||||
|
|
||||||
procedure TextOut(x,y: integer; s: string; gr: Graphics);
|
procedure TextOut(x,y: integer; s: string; gr: Graphics);
|
||||||
procedure DrawTextCentered(x,y,x1,y1: integer; s: string; gr: Graphics);
|
procedure DrawTextCentered(x,y,x1,y1: integer; s: string; gr: Graphics);
|
||||||
|
procedure DrawTextCentered(x,y: integer; s: string; gr: Graphics);
|
||||||
|
|
||||||
function GetView(b: Bitmap; r: System.Drawing.Rectangle): Bitmap;
|
function GetView(b: Bitmap; r: System.Drawing.Rectangle): Bitmap;
|
||||||
function ImageIntersect(b1,b2: Bitmap): boolean;
|
function ImageIntersect(b1,b2: Bitmap): boolean;
|
||||||
|
|
@ -386,6 +387,14 @@ begin
|
||||||
gr.DrawString(s,Font.NETFont,_CurrentTextBrush,new System.Drawing.RectangleF(x,y,x1-x,y1-y),sf);
|
gr.DrawString(s,Font.NETFont,_CurrentTextBrush,new System.Drawing.RectangleF(x,y,x1-x,y1-y),sf);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure DrawTextCentered(x,y: integer; s: string; gr: Graphics);
|
||||||
|
begin
|
||||||
|
var sf := new StringFormat();
|
||||||
|
sf.Alignment := StringAlignment.Center;
|
||||||
|
sf.LineAlignment := StringAlignment.Center;
|
||||||
|
|
||||||
|
gr.DrawString(s,Font.NETFont,_CurrentTextBrush,x,y,sf);
|
||||||
|
end;
|
||||||
|
|
||||||
var __initialized := false;
|
var __initialized := false;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -117,7 +117,7 @@ type
|
||||||
/// Представляет базовый класс для реализации интерфейса IComparer
|
/// Представляет базовый класс для реализации интерфейса IComparer
|
||||||
Comparer<T> = System.Collections.Generic.Comparer<T>;
|
Comparer<T> = System.Collections.Generic.Comparer<T>;
|
||||||
|
|
||||||
IComparable<T> = System.Collections.Generic.IComparable<T>;
|
IComparable<T> = System.IComparable<T>;
|
||||||
|
|
||||||
/// Представляет множество значений, реализованное на базе хеш-таблицы
|
/// Представляет множество значений, реализованное на базе хеш-таблицы
|
||||||
HashSet<T> = System.Collections.Generic.HashSet<T>;
|
HashSet<T> = System.Collections.Generic.HashSet<T>;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue