GraphABC.pas - несущественные правки

This commit is contained in:
miks1965 2016-06-03 18:00:31 +03:00
parent 3e2be8178b
commit 143b118d66
7 changed files with 50 additions and 5 deletions

View file

@ -1401,5 +1401,10 @@ namespace PascalABCCompiler.SyntaxTree
// end frninja
// SSM 02/06/16 - пробуем добавить кеш для семантического выражения
public partial class expression
{
}
}

View file

@ -817,6 +817,7 @@ namespace PascalABCCompiler.TreeConverter
expression_node en = ret.visit(expr);
//en.loc=get_location(expr);
return en;
}

View file

@ -17,7 +17,7 @@
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<OutputPath>..\..\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>

View file

@ -5,7 +5,7 @@ begin
end;
begin
var q := Gen();
var q := Gen;
foreach var x in q do
Print(x);
end.

View file

@ -333,6 +333,12 @@ procedure DrawTextCentered(x,y,x1,y1: integer; s: string);
procedure DrawTextCentered(x,y,x1,y1: integer; n: integer);
/// Выводит вещественное значение r, отцентрированное в прямоугольнике с координатами (x,y,x1,y1)
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).
procedure FloodFill(x,y: integer; c: Color);
@ -837,7 +843,7 @@ type
/// Тип рисунка GraphABC
Picture = class
private
public
bmp,savedbmp: Bitmap;
gb: Graphics;
istransp: boolean;
@ -2571,6 +2577,30 @@ begin
DrawTextCentered(x,y,x1,y1,r.ToString(nfi));
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;
begin
Result := new Point(x,y);

View file

@ -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)
unit GraphABCHelper;
@ -47,6 +47,7 @@ procedure ClosedCurve(a: array of Point; 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: integer; s: string; gr: Graphics);
function GetView(b: Bitmap; r: System.Drawing.Rectangle): Bitmap;
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);
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;

View file

@ -117,7 +117,7 @@ type
/// Представляет базовый класс для реализации интерфейса IComparer
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>;