Windows 3.1 Device Drivers (ddag31qh.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
DRAWMODE
◄Up► ◄Next► ◄Previous►
────────────────────────────────────────────────────────────────────────────
typedef struct tagDRAWMODE {
short Rop2; /*binary-raster operations*/
short bkMode; /*background mode*/
PCOLOR bkColor; /*physical background color*/
PCOLOR TextColor; /*physical text (foreground) color*/
short TBreakExtra;/*number of extra pixels to add to line*/
short BreakExtra; /*pixels per break: TBreakExtra/BreakCount*/
short BreakErr; /*running error term*/
short BreakRem; /*remaining pixels: TBreakExtra%BreakCount*/
short BreakCount; /*number of breaks in the line*/
short CharExtra; /*extra pixels for each character*/
COLORREF LbkColor; /*logical background color*/
COLORREF LTextColor; /*logical text (foreground) color*/
} DRAWMODE;
The DRAWMODE structure contains information used during output, such as
drawing lines, filling interiors, and writing text.
Member Description
────────────────────────────────────────────────────────────────────────────
Rop2 Specifies a binary-raster operation value. The value, in the
range 1 to 16, determines how to combine source and destination
colors. This member can be one of the following values.
Value Meaning
───────────────────────────────────────────────────────────────
R2_BLACK (1) Black: 0.
R2_NOTMERGEPEN (2) Inverse of the bitwise OR of the source
and destination colors: NOT (Source OR
Dest).
R2_MASKNOTPEN (3) Bitwise AND of the destination and the
inverse of the source: Dest AND (NOT
Source).
R2_NOTCOPYPEN (4) Inverse of the source color: NOT Source.
R2_MASKPENNOT (5) Bitwise AND of the source and the inverse
of the destination: Source AND (NOT
Dest).
R2_NOT (6) Inverse of the destination color: NOT
Dest.
R2_XORPEN (7) Bitwise exclusive OR of the destination
and source: Dest XOR Source.
R2_NOTMASKPEN (8) Inverse of the bitwise AND of the
destination and source colors: NOT (Dest
AND Source).
R2_MASKPEN 9 Bitwise AND of the destination and source
colors: Dest AND Source.
R2_NOTXORPEN (10) Inverse of the bitwise exclusive OR of the
destination and source colors: NOT (Dest
XOR Source).
R2_NOP 11 Destination color: Dest.
R2_MERGENOTPEN (12) Bitwise OR of the destination and the
inverse of the source: Dest AND (NOT
Source).
R2_COPYPEN (13) Source color: Source.
R2_MERGEPENNOT (14) Bitwise OR of the source and the inverse
of the destination: Source OR (NOT Dest).
R2_MERGEPEN (15) Bitwise OR of the source and the
destination: Source OR Dest.
R2_WHITE (16) White: 1.
bkMode Specifies whether the background for styled lines, hatched
brushes, brushes used for interiors and scan lines, bitmaps,
and text is given the current background color or left
unchanged. This member can be one of the following values.
Value Meaning
───────────────────────────────────────────────────────────────
TRANSPARENT (1) Leaves destination background unchanged.
OPAQUE (2) Replaces destination background with the
color specified by the BackgroundColor
member.
TRANSPARENT1 (4) Leaves destination background unchanged, but
before copying the source to destination,
removes pixels from the source that have the
current background color.
bkColor Contains a physical color value specifying the background
color.
TextColor Contains a physical color value specifying the text
(foreground) color.
TBreakExtra Specifies the total amount of space (in pixels) to add to the
break characters in a line of text. TBreakExtra is set to zero
if no justification is required.
BreakExtra Specifies the amount of space (in pixels) to add to each break
character in a line of text. This value is equal to
TBreakExtra divided by BreakCount.
BreakErr Specifies the running error term: the amount of space (in
pixels) not yet added to break characters in a line of text.
This member is used in conjunction with the BreakRem member to
determine which break characters receive the additional pixels
specified by BreakRem. Initially, BreakErr is set to
(BreakCount)/2+1.
BreakRem Specifies the amount of space (in pixels) to add to one or more
break characters in a line of text. This space is in addition
to any extra space specified by the BreakExtra member and is
intended to be distributed evenly across the line. The
BreakRem value is equal to the remainder after dividing
TBreakExtra by BreakCount.
BreakCount Specifies the number of break characters in a line of text. If
the TBreakExtra member is not zero, each break character must
be drawn wider than its normal width. The BreakExtra member
specifies the extra width (in pixels). The BreakRem member may
also specify additional pixels for one or more break
characters.
CharExtra Specifies amount of space (in pixels) to add between characters
in a line of text.
LbkColor Contains an COLORREF value specifying the logical background
color.
LTextColor Contains an COLORREF value specifying the logical text
(foreground) color.
See Also
BitBlt, DeviceBitmapBits, ExtTextOut, Output, Pixel, SetDIBitsToDevice,
StrBlt, StretchBlt, StretchDIBits
♦