Bugfixes:
Bugfixes:
Bugfixes:
Bugfixes:
Bugfixes:
Bugfixes:
Bugfixes:
New routines:
New types:
New routines:
New routines:
New routines:
new examples:
TextureBlend_Ex, NestedSampling_Ex, Resamplers_Ex, ImgWarping_Ex, Visualization_Exchanged examples:
GradLines_Ex, Polygons_Ex, ImgView_Layers_Ex, Image32_Ex, Sprites_Ex
New routines:
New classes:
Changes in TBitmap32:
New methods:
New properties:
New routines:
New classes:
Changed types:
Changes in TCustomPaintBox32:
New methods:
New properties:
Changes in TCustomImage32:
New properties:
New events:
Changes in TIVScrollProperties:
New properties:
Changes in TLayerCollection:
New methods:
Structural changes:
Changes in TCustomLayer:
New methods:
Changes in TPositionedLayer:
New methods:
Changes in TRubberbandLayer:
New properties:
New routines:
Structural changes:
New routines:
New routines:
New classes:
New classes:
Changed types:
New routines:
Miscellaneous changes:
New routine:
New classes:
New classes:
New types:
New routines:
New classes:
New routines:
New classes:
Miscellaneous changes:
New routines:
New classes:
Structural Changes:
New types:
New classes:
Changed license to MPL. Everything else is identical with v1.5.1.
Fixed resource leaks in TBitmap32.Canvas and TBitmap32.Font.
A small bug fix in TRubberbandLayer.MouseMove
Added a new resampling option which is controlled through the FullEdge variable in GR32_Transforms.pas. To see how it affects resampled image, see the new example in the FineResample_Ex directory. The default value of FullEdge is True; change FullEdge back to False to get resampling results as in previous versions.
Added packages for Delphi 7. The library should also compile with C++ Builder 6.
Completely rewritten bitmap resampling routines: added DstClip parameter to BlockTransfer and StretchTransfer, added new resampling filters. Warning: sfLinear2 filter has been removed - use sfLinear instead.
Added new TBitamp32 methods: FlipHorz, FlipVert, Rotate90, Rotate180, and Rotate270. Added TBitmap32.Canvas. Some changes in line drawing routines. Faster implementation of TColor <> TColor32 conversion. Other minor bug fixes.
Fixed a bug in TAffineTransformation. Exposed matrix transformation routines from GR32_Transforms for external use. Fixed handling of very small scales in TImage32. Fixed a bug in non-MMX blending. Fixed BCB packages. Added LoadFromResourceID and LoadFromResourceName wrappers. Some fixes in stippled lines with clipping (still not perfect, but now it should be more consistent). Added TBitmap32.HandleChanged.
GR32_CPUid.pas is renamed to GR32_System.pas and extended to handle windows xp visual styles. New implementation for range bars and gage bars. Fixed bugs in projective transformations, polygons, and design-time TBitmap32 editor. After a few tweaks the ImgView_Layers_Ex example should work considerable faster. Removed bgMix style from TArrowBar.Bkgnd as well as glyph properties to make range bars and gage bars compatible with visual styles in WindowsXP. Added a new property TPainBox32.Options.
I established a new Kagi account, so if you would like to support development of Graphics32 and it successor G32, you are very welcome to make your donation here. Thank you in advance.
All the units, dfm, etc. files have been renamed from G_*.* to GR_*.*
Renamed Rect() functions to MakeRect() to provide better BCB compatibility. Renamed TCustomMap.SetSize(Source: TPersistent) to TCustomMap.SetSizeFrom(Source: TPersistent)
Bug fixes in LineA functions, and scaling 1-pixel size bitmaps. Some steps are taken towards BCB compatibility.
A small fix in image resampling. Renamed TextOut methods to Textout (I'm not sure, but this might help in BCB compilation).
Included Borland C++ Builder installation packages. Changed references to a new web site. Fixed bugs with polygons and PaintTo method in TImage32.
Fixed (I hope) a last small glitch in font resource allocation. A few tune-ups in polygons. Added support for Delphi 6. Design-time and run-time packages have been separated (Note: deinstallation of previous version is required).
Fixed regarding OnPixelCombine event in TBitmap32. And corresponding code in StretchTransform.
A couple of new examples added.
Changed implementation of FillRect* and FrameRect* functions, now the right/bottom line of pixels is excluded. Inverted rectangles (with negative width or height) are considered empty, they are not drawn any more. This behavior should be more consistent with GDI and with other routines in the library.
Changed a couple of properties in TCustomRangeBar. Now Range and Increment can be of a floating point type and OnGetWindowSize event is substituted with the Window property.
Added SizeGrip property to TCustomImgView32, as well as changed the order of the repainting a little bit, now the control scale a bit smoother.
Fixed Win'98 resource leakage in RenderText function.
Changed UI in the byte maps example.
Added new example on Graphics32-based custom visual component creation.
Most likely, this is the final beta release, next one should be v1.0.
Removed OnChanging event from all classes. Fixed a bug in TByteMap.Assign.
A faster MulDiv implementation.
New mouse events in TCustomImage32 were implemented to simplify mouse interaction with layers. Some internal changes in layer scaling.
Added the OnDestroy event to layers. Added LOB_NO_UPDATE to layer option bits. Changed TRubberBandLayer to paint itself into the buffer instead of using GDI overlays, removed ResizeOptions and added the OnResizing event.
Added Dst parameter into layer painting functions and events to support layer flattening operation (See TCustomImage32.PaintTo). Added OnInitStages event to TCustomImage32. Also I'm thinking of replacing the GDI overlays with something more useful and less flickering. It is still in the code but their usage is not recommended.
Implemented a Sutherland-Cohen line clipping algorithm instead of slower Liang-Barsky.
Added Flush functions to TPaintBox32 for direct copying of the back buffer to the screen.
Updated some of the examples.
Some speed-ups in resampling functions.
New documentation is available in HTML Help format. Changed unit names. Changed implementation of TImage32 and layers (see docs). New TPaintBox32 does not support layers. TBitmapList32 is renamed to TBitmap32List and a little bit simplified. An couple of bugs fixed in TBitmap32.SetSize. One of them could lead to resource leakage. Also fixed a bug in design-time streaming. TImgView32, a new control introduced in v0.98c is improved and now it is a descendant of TImage32.
This release is to be considered as beta for v0.99. It contains most of the features planned for v0.99. I release it mostly to check the C++ Builder compatibility, and keep you up-to-date with the current development state. Note, that documentation is not completely updated. DrawLine* functions are changed to Line*. Added an ability to customize bitmap blending equation. Better and faster buffering in TPaintBox32 and its descendants. Perspective transformations are now possible as well. Introduced a new TFixed fixed point data type. A new unit, implementing controls similar to scroll bars is available together with sample control showing how to implement scroll bars with TImage32. Sample control showing how to implement rubber-banding with layers is available as well. New 'X' postfix is introduced to some line drawing routines than operate directly over fixed point arguments.
Just a few bug fixes.
A little optimization in TBitmap32.RenderText. A bug in Intensity function fixed. Some fix-ups in PolygonTS.
Delphi4 compatibility. New MMX optimization code with automatic MMX detection. A small fix in Bresenham's implementation. DrawLine* functions now have parameter controlling drawing of the last pixel. Added MoveTo*, LineTo* functions. Added text blending/antialiasing. Added polylines and polygons. DrawLineA* functions now support line opacity. Added GR32Bench.xls file with performance test results. Some other small fixes. New examples.
A bug with FillRectS, FillRectTS fixed. Added a SmartResize property to TPaintBox32, it helps to reduce the amount of back-buffer reallocations when the control resizes.
Complete redesign, no more MMX-specific code since the new integer version works just as fast, no more msimg32.dll dependence. New double buffering scheme, new change notification scheme, completely redesigned overlay layers implementation, new scaling and linear trannsformation implementation. Overall speed improevement.
Added MMX optimization for pixel blending. It is also used to accelerate bilinear interpolation when performing linear transformations. Well, not a huge increase in performance, but still something. Alternative non-MMX code was rearranged to increase the instruction pairing. It works a bit faster now. A few bugs with color algebra were eliminated. A couple of links regarding low-level optimization is added.
Added a new unit for byte array mapping. A little reorganization in OnChange event generation. Fixed a bug in DrawLineF/FS functions, when the last point (or part of it) was not always there it was supposed to be.
Added baTile mode to TImage32.BitmapAlign property. Added linear transformations (See documentation). EndUpdate method of TBitmap32 now does not generate change notification. The Changed method must be called explicitly. New example on linear transformation is available. A few improvements in pixel and line antialiasing.
Win95/NT support bug fixed. This version emulates both bitmap transparency and bitmap alpha blending functions from msimg32.dll, however this emulation is not optimized and will be slower compared to msimg32.dll. Some other small bugs found and destroyed.
Sprite scaling is added. Removed Transparent and UseAlpha from TBitmap32 properties. A new property DrawMode is introduced instead. Windows 95 and NT compatibility compiler directive is added. TImage32 example is updated and Win95/NT version is posted. See updated documentation for details.
Some changes in TImage32 component to reduce flicker when DoubleBuffered is turned off. Fixed the multithreading example.
First public release.
Back-Ends, Contacts, Donate, Features, License, Naming Conventions, SSE2 Optimizations, TCustomBitmap32
Copyright ©2000-2024 Alex Denisov and the Graphics32 Team - Graphics32 2.0 - Help file built on 18 Feb 2024