Changelog What has changed since last version?
SCAR Divi 3.41.00
Bugfixes
- ReverseATPA did not function correctly
- Large memory leak in the script engine
- & characters in filenames were not displayed correctly in tab captions
Tweaks
- Updated PascalScript engine to newer build (5d00e6cfb950a3c898d2d6813862199e5c5142c6)
SCAR Divi 3.40.00
Bugfixes
- ActivateClient restored window when maximized
- TPAUnique didn't function properly
- A bug in Delphi's VCL framework prevented palette based PNG imaged to be loaded correctly by TSCARBitmap
- Several png formats were unsupported or lost transparency
- FloodFill(Tol)(Ex) threw exceptions due to an implementation flaw
- Code in form designer wasn't being highlighted
- Fixed possible bugs in LoadFromJpeg and SaveToJpeg
New
- procedure SortTPAByX(var TPA: TPointArray);
- procedure SortTPAByY(var TPA: TPointArray);
- TChrono class to measure time intervals
- TObject.ClassName
- procedure ClampInt(var Value: Integer; const Min, Max: Integer);
- procedure ClampExt(var Value: Extended; const Min, Max: Extended);
- procedure ClampTIA(var TIA: TIntArray; const Min, Max: Integer);
- procedure ClampTEA(var TEA: TExtArray; const Min, Max: Extended);
- function MoveFile(const OldPath, NewPath: string): Boolean;
- TSCARBitmap.ClearEx
- function CopyFile(const OldPath, NewPath: string): Boolean;
- function IsValidPath(const Path: string): Boolean;
- TBmpResampler = (brNearest, brBilinear, brBicubic, brSuperSample);
- procedure TSCARBitmap.ResizeEx(const NewWidth, NewHeight: Integer; const Resampler: TBmpResampler);
- procedure TSCARBitmap.ClearAlpha;
- procedure TSCARBitmap.ClearAlphaEx(const Alpha: Byte);
- procedure TSCARBitmap.SetAlpha(const Color: Integer; const Alpha: Byte);
- procedure TSCARBitmap.SetAlphaEx(const Colors: TIntArray; const Alpha: Byte);
- property TSCARBitmap.Alpha[const X, Y: Integer]: Byte;
- procedure TSCARBitmap.Reduce(const MaxColors: Integer);
- procedure TSCARBitmap.SetPixelsEx(const TPA: TPointArray; const Colors: TIntArray);
- TFile = class(TPersistent)
- TImageFile = class(TFile)
- TAnimImageFile = class(TImageFile)
- TPNGFile = class(TAnimImageFile)
- TGIFFile = class(TAnimImageFile)
- TResizeAnchor = (raCenter, raTop, raTopRight, raRight, raBottomRight, raBottom, raBottomLeft, raLeft, raTopLeft);
- procedure TSCARBitmap.ResizeCanvas(const NewWidth, NewHeight: Integer; const ResizeAnchor: TResizeAnchor);
- TJPEGFile = class(TImageFile)
- New program icon
- New about window
Tweaks
- Optimized TPASpread, SortTPA(Ex) and TPARemoveEx
- Rewritten SplitTPA(Ex) for added performance
- TPADelete now raises an exception when the index fall outside of the array boundaries
- TPARemove now removes the first point instead of the last when removing just one
- Editor now shows icon to indicate modifications in tab
- New clean look
- Improved TSCARBitmap.SaveToPng performance
- Merged in changes from official PascalScript codebase:
- Support Include/Exclude for sets
- Support iterating over enum types
- Proper alpha channel support in TSCARBitmap
- TSCARBitmap.Pixels renamed to TSCARBitmap.Pixel
- TSCARBitmap.DrawTo(Ex) now has the "Blend" parameter for alpha blending
- Significant performance tweaks for the PascalScript compiler
- TSCARBitmap is now a descendant of TPersistent
Removed
- TSCARObject
- Automated resource freeing for (previous) TSCARObject descendants
- function BmpFromStrLegacy(const W, H: Integer; const Str: AnsiString): TSCARBitmap;
- Update Bitmaps tool
- function rs_GetTextAt(const Font, x, y: Integer): AnsiString;
- function rs_LoadChars(const Path: AnsiString): Integer;