New in version 7.0.0
-
New widgets
-
Form Builder
- Fix: reset caption of new form in form editor.
- Alpha component of color in color editor can now be edited visually.
-
Added
- New texture clamp types
clRepeat
and clRepeatMirrored
in ITexture and corresponding implementations for all available platforms and renderers.
- New methods in TrackRange widget to set range start and end separately.
- New
CWindow(HWND parent)
constructor in Windows CWindow class to specify parent window handle directly. Before it there was possibility to specify parent window using only IWindow interface.
- New
OnDestroyLastWindow
event in Windows CApplication implementation.
- Methods for getting module file name(
getModuleFileName()
) and directory name(getModuleDirectory()
) in IApplication and corresponding platform implementations. This methods can be useful to get information about dynamic library file if application is created inside dll.
- Ability to manipulate status bar progress bar value and type in IWindow and corresponding implementations for all available platforms(where the feature is supported by platform).
- Ability to handle custom system messages in IWindowListener, IFormService and corresponding implementations.
- Helpers for calculation and drawing cubic bezier splines. They can be found in Mathematical and Render helpers.
- Helper MakeThickPath for calculation polygon points for drawing a thick line.
- Polygon drawing methods in IRenderer and corresponding platform implementations.
- All primitive drawing methods of IRenderer have got overloaded versions which accept texture as last argument and which is used as alpha mask.
- Template TComplex for representing and working with complex numbers in Mathematical module.
- Functions SolveEquation1n, SolveEquation2n, and SolveEquation3n into Mathematical module for solving equations of 1st, 2nd, and 3rd order respectfully.
- Drawing with spline limitation for all primitive drawing methods of IRenderer and related platform renderers implementations.
- Smart cubic bezier curve subdivision helper BezierSubdivide.
- New constructor for CDateTime class. This constructor allows to create date-time object from specified packed time point.
- New helper functions ToFixed and ToFixedAnsi for converting floating point values into string representation with fixed number of digits after point.
- New helper overloaded functions ToString, ToVariant, and FromVariant for converting arrays of
bool
, int
, double
, and Color
and single CDateTime objects to string and Variant.
-
Classes and interfaces for new properties:
-
Fixed
- Non-working glUniform*v function calls have been replaced with working analogues in CustomMaterial widget.
- Wrong comparison in setting options methods of CustomMaterial widget. There was comparison for values are not equal instead of they are equal and this resulted in not changing property.
- Missing repaint of TrackBar widget at left mouse button down as well as unnecessary repaint when nothing was changed.
- Start of range cannot be greater then end of range in TrackRange widget anymore.
- Algorithm of RGB to HSV color convertion in CColors helper class.
- Generation of orthographic projection matrix in TMat4 matrix template.
is_equal()
and is_not_equal()
methods of TPoint and TRect templates. They used wrong function name inside and could not be called.
- Using tolerance in IsLessOrEqual and IsGreater functions for soft comparison.
-
Improved
OnChange
event of TrackBar widget is now called only when value is changed by user. It was called even if the value was changed in code.
OnChange
event of TrackRange widget is now called only when value is changed by user. It was called even if the value was changed in code.
- Another rendering cannot now be called if rendering is in progress now in CForm.
- ColorDialog widget and Color form got visual editing of color's alpha channel.
- Removed limitation in 500 points for
Lines()
methods of IRenderer and related platform renderers implementations.
Migration from previous version
This release mainly provides new features/widgets and fixes and you don't need to change anything in your code.