Foundation Features
The following new features have been added for Views 5.0:
Filters
Views Foundation now has image processing classes providing the same functionality as the SVG filters:
IlvBlendFilter IlvColorMatrixFilter IlvSaturationFilter IlvLuminanceToAlphaFilter IlvHueRotateFilter IlvComponentTransferFilter IlvComposeFilter IlvConvolutionFilter IlvDisplaceFilter IlvFloodFilter IlvGaussianBlurFilter IlvImageFilter IlvLightingFilter IlvDiffuseLightingFilter IlvSpecularLightingFilter IlvMergeFilter IlvMorphologyFilter IlvOffsetFilter IlvTileFilter IlvTurbulenceFilter IlvFilterFlow and supporting classes:
IlvTransferFunction IlvBitmapDataKernel IlvLightSource IlvDistantLight IlvPointLight IlvSpotLight IlvPerlinNoise IlvIdentityTransfer IlvLinearTransfer IlvTableTransfer IlvDiscreteTransfer IlvGammaTransfer IlvIdentityTransfer These filters can be described in an XML format similar to the SVG filters format. They are applicable on IlvRGBBitmapData images. They can be chained together to create complex image processing commands.
A graphic object
IlvFilteredGraphic now offers the ability to apply filters (a flow of image processing operations) on any
IlvGraphic.
Printing
Views Foundation now has a printing framework to facilitate the printing in Views applications. It consists of the following classes:
IlvPrintableDocument to define a document
IlvPrintable to describe printable objects, with subclasses:
- IlvPrintableContainer
- IlvPrintableText
- IlvPrintableFormattedText
- IlvPrintableGraphic
- IlvPrintableFrame
- IlvPrintableManager, IlvPrintableMgrView, and IlvPrintableManagerLayer (available only with the manager package)
- IlvPrintableComposite
IlvPrintableLayout for describing page layouts, with the predefined layouts:
- IlvPrintableLayoutOnePage
- IlvPrintableLayoutMultiplePages
- IlvPrintableLayoutIdentity
- IlvPrintableLayoutFixedSize
IlvPrinter to describe the printer, with subclasses:
- IlvPSPrinter
- IlvWindowsPrinter
IlvPrintUnit with predefined units:
- IlvPrintPointUnit
- IlvPrintCMUnit
- IlvPrintInchUnit
- IlvPrintPicaUnit
IlvPaperFormat with a selection of preregistered paper formats
Predefined user interface dialogs
IlvPostScriptPrinterDialog and
IlvPrinterPreviewDialog for choosing printers and their features. A print preview dialog is also available, all of these in the Gadgets package.
There are two new classes for low-level Windows printing management:
IlvWindowsPrinterDCFactory IlvWindowsPrinterDCDialogFactory Bitmap Data
There is a new method to draw
IlvBitmapData using alpha per pixel
IlvPort::stretchBitmapData.
A new bitmap streamer for TIFF images has been added,
IlvTIFFStreamer IlvRGBBitmapData now allows filtered image resampling using a large varity of filters for very high quality stretching. The new method is
IlvRGBBitmapData::stretchSmooth.
IlvRGBBitmapData data can be made alpha-premultiplied.
A new class for handling colormaps within
IlvIndexedBitmapData has been added,
IlvColorMap.
Quantizers
There are new Quantizers for 24 bits, and indexed color conversion has been added:
IlvFixedQuantizer for conversion to a fixed colormap.
IlvNetscapeQuantizer for conversion to the Netscape colormap.
The new hierarchy for quantizers is now:
IlvQuantizer IlvFixedQuantizer IlvQuickQuantizer IlvNetscapeQuantizer IlvWUQuantizer PostScript Devices The PostScript device can now make use of PostScript level 2 features (this is now the default mode).
The PostScript device when in level 2 can now encode images in various formats using encoders derived from IlvPostScriptEncoder. Three encoders are provided:
IlvASCIIHexEncoder (converts input bytes in hexadecimal, produces 2 characters from 1 input byte).
IlvASCII85Encoder (convert input bytes to visible charset, produces 5 characters from 4 input bytes).
IlvRunLengthEncoder (converts input bytes to binary run length encoded data; compression depends on input).
The default encoder is now IlvASCIIHexEncoder for level 1 and IlvASCII85Encoder for level 2. These encoders can be linked together, for example, to ascii85 encode run length encoded data.
Windows Transparency
On Windows platforms 98, 2000, and XP, IlvView can be partially transparent when it is a top window, and full transparency can be defined by a color value. New Windows functionality such as Layered Windows can be used. The new methods are:
IlvAbstractView::setOpacity IlvAbstractView::getOpacity IlvAbstractView::setTransparentColorKey IlvAbstractView::getTransparentColorKey IlvAbstractView::setLayered These methods have no effect on other platforms.
Graphic Rendering
The Views low-level drawing primitives API has been enhanced to support transparency and anti-aliasing. These features are accessible from different levels: at the port (IlvPort) level for a global setting, or at the palette (IlvPalette) level for a local setting.
See the sections Alpha Value and Anti-AliasingMode of the Foundation User Manual’s chapter "IlvResource: The Graphic Resources Class " for details.
Note that these features are available only on Windows platforms with GDI+ installed. See the section Using GDI+ Features with Views in Appendix B of the Foundation User’s Manual for details.
Published date: 05/24/2022
Last modified date: 02/24/2022