Reference for the Mosaic class Graphics::FillPath
Using the Filled Path Bitmap object to rasterize a filled polygon described by a vector graphic path.
The class Graphics::FillPath provides a kind of graphic object specialized to raster a filled polygon. The shape of the polygon (the coordinates of the line segments) is provided in a Graphics::Path object assigned to the property Path. The resulting graphic is stored as ALPHA8 bitmap. The size of this bitmap is determined by the property FrameSize. Since the class descends from Resources::Bitmap, the resulting objects can be used as regular 'bitmaps'. The object can, for example, be used as mask bitmap in the Views::FilterImage view.
The property FillRule determines the algorithm to decide which parts of complex nested paths should be considered as filled and which are empty. With the property FlipY and Offset you can control the orientation and the origin position of the path coordinate system. Finally, the property Quality determines whether the paths is rasterized with or without antialiasing.
property Graphics::FillRule FillRule = Graphics::FillRule.EvenOdd;
The property 'FillRule' determines the modes how complex polygons consisting of nested paths are filled. The possible values are:
property bool FlipY = false;
The property 'FlipY' controls the vertical orientation and the position of the origin of the coordinate system of the Path assigned to this graphic object.
If this property is 'false', the coordinates provided within the Path object are assumed as being relative to the top-left corner of the resulting graphic's area with the Y-axis pointing downwards. If the property FlipY is 'true', the coordinates are relative to the bottom-left corner with the positive Y-axis pointing upwards. Please note, the origin position can additionally be moved by using the property Offset. The size of the graphic's area is determined by the property FrameSize.
property point FrameSize;
The property 'FrameSize' determines the size in pixel of a bitmap represented by this graphic object. At the runtime the bitmap will store an ALPHA8 graphic resulting from the rasterization of the path provided in Path.
property point Offset = <0,0>;
The property 'Offset' specifies an additional displacement to add to the coordinates provided within the Path object when the path is rasterized on the screen. Changing this property allows the graphic object to scroll the rasterized image of the path.
property Graphics::Path Path = null;
The property 'Path' refers to an object containing the coordinates of the path to fill. From the path data the graphic object rasters a filled polygon. At the runtime, when the content of the associated path object changes, the graphic object is updated automatically.
The coordinates provided within the path object are assumed as being relative to the top-left corner of the resulting graphic's area with the Y-axis pointing downwards. If the property FlipY is 'true', the coordinates are relative to the bottom-left corner with the positive Y-axis pointing upwards. This origin can additionally be moved by using the property Offset. The size of the graphic's area is determined by the property FrameSize.
property bool Quality = true;
The property 'Quality' determines whether the path rasterization should be performed with an additional antialiasing. The usage of the antialiasing produces better and smooth outputs. Without antialiasing the edges of the path appear with steps. Depending on the underlying graphics system, an active antialiasing may impact the resulting performance. Therefore it's up to you to decide which part of the GUI should appear with the higher quality. To activate the antialiasing assign 'true' to this property.