FlexGraphics – Delphi Graphics Components 1.79 Full Source

FlexGraphics – is a set of components for creating vector graphics applications under Borland Delphi/C++Builder. The library’s implementation is based on Windows GDI and supports the following graphical objects:

box (including the rounded box);
circle (ellipse);
text (including multi-line text);
bitmap raster image (WMF, BMP, ICO, JPG, JPEG, GIF, EMF).

FlexGraphics library features the following functionality:

one document may contain multiple charts that can be cross-referenced from various objects belonging to various pages (charts);
page background and background image are fully supported;
multiple layers support (layer can be editable, readable and hidden);
textual and binary document format;
object groups are supported;
undo/redo is supported;
flexible connection lines;
line cap styles;
two kinds of grid are supported: fixed step grid and exact grid which is extremely important in design process; grid offsets;
object alignment is supported;
object mirror is supported;
object rotate is supported (only 90);
angled text support;
gradient fill of bound objects;
true transparency is supported;
objects and groups of objects have the following attributes: ID, name, hint, tag, layer, user fields (stored in document body) and others depending on object type;
various information (both local and contained in database) can be attached to documents;
objects can be copied, duplicated, moved, cut or copied to Windows clipboard or other applications;
objects can be stored in database for the purposes of further design optimization;
full control of all objects at run time including the ability to access objects both by ID and by name;
image zooming is supported;
image can be printed;
image can be exported to WMF;
documents and image libraries can be saved both locally and in internal database;
new curve positioning functions (new tutorial CurveDemo).

Common uses of FlexGraphics library:
building interactive plots of facilities or parts of facilities
creation of drawings, plots, electrical, concept and mnemonic charts
visualization of information being received from various sensors in real time
building mini GIS systems

Version 1.7 ———–

– ADD: Delphi/CBuilder 10.2 Tokyo now supported. – ADD: Delphi/CBuilder 10.1 Berlin now supported. – ADD: Delphi/CBuilder 10 Seattle now supported. – ADD: Delphi/CBuilder XE8 now supported. – ADD: Delphi/CBuilder XE7 now supported. – ADD: Delphi/CBuilder XE6 now supported. – ADD: Delphi/CBuilder XE5 now supported. – ADD: Delphi/CBuilder XE4 now supported. – ADD: Delphi/CBuilder XE3 now supported. – ADD: Delphi/CBuilder XE2 now supported. – ADD: Delphi/CBuilder XE now supported. – ADD: Delphi/CBuilder 2010 now supported. – ADD: Delphi/CBuilder 2009 now supported. – ADD: New demo project FlexCADImport. – FIX: The height of the TFlexRegularPolygon object incorrectly changes with its rotation. – FIX: Added division by zero protect in method TFlexControl.MovePathSegment. – FIX: The background beyond docuemnt wasn’t filled when TFlexPanel.DocClipping=True. – FIX: In “Windows ClearType” font rendering mode (OS Windows mode) the “garbage” pixels can appear from the right and from the bottom sides of the painted rectangle of the TFlexText object. – FIX: The result rectangle incorrectly calculated in the TFlexText.GetRefreshRect method. – FIX: Added FPaintCache.rcPaint cleanup in the TFlexPanel.WMPaint method. Now it is possible to define is the drawing take place via WMPaint or via the PaintTo direct call (if rcPaint contain non-empty rectangle then WMPaint in progress). – FIX: The TFlexPanel.FPaintCache field moved in the protected class section. Added rcPaint field in FPaintCache that represents drawing rectangle. – ADD: In the text prcise mode (TFlexText.Precise=True) takes into account the rotation angle (TFlexText.Angle). – FIX: Removed FG_NEWTEXTROTATE directive (the TFlexText Precise mode should be used instead). – FIX: The TFlexRegularPolygon object clones incorrectly drawed in case when TFlexRegularPolygon have alternative brush (gradient, texture). – ADD: Add TFlexPanel.InvalidateControl virtual method which calls from TFlexControl.Invalidate and can be overriden (it is possible now to catch all object invalidation calls). – FIX: The TFlexPanel.FindControlAtPoint method maked virtual to realize RealTime-capability when on mouse cursor moving the flex-object search not occurs. – FIX: After deleting the selected points in the TFlexPanel.DeleteSelectedPoints the all figures with one point also deleted. – FIX: When the curve contain more then one figure and they were all unconfined and curve have alternative brush then whole flex-object bounding rectangle was filed. – FIX: The MaskColor property lost in TPictureProp.UpdateImageLink method when TBitmap reloads. – ADD: In TFlexPanel.DefaultLinkPoint property added Size field that lets define visual size of the connection points of the flex-connectors. Initialized with DefaultLinkPointSize constant in the TFlexPanel constructor. – FIX: The TFlexPanel.DoNotify method now virtual. – ADD: Added property class TBackgroundOptionsProp. Used in TFlexScheme.BackgroundProp for background painting. – ADD: New property TFlexPanel.FrostPan. When True then in ftmPanning mode will be shown only cached image of the initial client area. All parts outside will paints of the TFlexPanel.Brush. When returning from ftmPanning mode the complete client area repainting will perform. – ADD: Added TFlexPanel.FrostPanFullDoc property. When true then in ftmPanning mode the whole document image cache created in currect scale. – FIX: Support for the Import/Export modules that can’t work with Streams. Added TFlexFileFormat.StreamSupport property (default True), which difines, is it necessary to open file stream or give the file name only. – FIX: If the TCustomProp.Assign method calls when the undo/redo history writing was in progress, the error occured. – FIX: The TFlexPanel.LoadFlexControl method now virtual. – FIX: The TFlexPanel.FHintControl didn’t clean when the FHintControl destroys. – FIX: The PointOnLine() function calulations have “single” type numbers overflow problem (changed to “double”). – FIX: The pfJoin and pfClose flags incorrectly calculates in GetEditPathCaps().

FlexEdit: – FIX: Close query twice when program closing with modified documents. – ADD Added editing form for TBackgroundOptionsProp property in the FlexEdit/FlexEditSE projects.

supported, Delphi, TFlexPanel, CBuilder, object, objects, image, method, property, Added, FlexGraphics, including, Windows, curve, TFlexText, rectangle, document, incorrectly, background, following, supported, Delphi, TFlexPanel, CBuilder, object, objects, method, image, Added, property, FlexGraphics, including, curve, Windows, rectangle, TFlexText, virtual, background, incorrectly, document