|
Filling
An application fills the interior of a region by calling the FillRgn function and supplying a handle that identifies a specific brush. When an
application calls FillRgn, Windows fills the region with the brush by using the current fill mode for
the specified device context. There are two fill modes: alternate and winding.
The application can set the fill mode for a device context by calling the SetPolyFillMode function. The application can retrieve the current fill mode for a device
context by calling the GetPolyFillMode function.
The following illustration shows two identical regions: one filled using
alternate mode and the other filled using winding mode.
Alternate Mode
To determine which pixels Windows highlights when alternate mode is specified,
perform the following test:
- Select a pixel within the region's interior.
- Draw an imaginary ray, in the positive x-direction, from that pixel towards
infinity.
- Each time the ray intersects a boundary line, increment a count value.
Windows highlights the pixel if the count value is an odd number.
Winding Mode
To determine which pixels Windows highlights when winding mode is specified,
perform the following test:
- Determine the direction in which each boundary line is drawn.
- Select a pixel within the region's interior.
- Draw an imaginary ray, in the positive x-direction, from the pixel toward
infinity.
- Each time the ray intersects a boundary line with a positive y-component,
increment a count value. Each time the ray intersects a boundary line with a
negative y-component, decrement the count value.
Windows highlights the pixel if the count value is nonzero.
Related Links
Software for Delphi and C++ Builder developers
Software for Visual Studio .NET developers
Software for Visual Basic 6 developers
Delphi Tips&Tricks
MegaDetailed.NET
TMS Scripter Studio Pro components for Delphi/C++Builder
More Online Helps
Win32 Multimedia Programmer's Reference (mmedia.hlp)
OLE Programmer's Reference (ole.hlp)
Microsoft Windows Pen API Programmer's Reference (penapi.hlp)
Microsoft Windows Sockets 2 Reference (sock2.hlp)
Microsoft Windows Telephony API (TAPI) Programmer's Reference (tapi.hlp)
Unix Manual Pages
|