GreSetDefaultAttributes

GreSetDefaultAttributes sets the default attributes for the specified primitive type according to the flags set in flAttrsMask.

This function is supported by the graphics engine.

Syntax
GreSetDefaultAttributes(hdc, lPrimType,            flAttrsMask, pAttrs, pInstance,             lFunction);

Parameters

 * hdc (HDC) - input
 * Device context handle.


 * lPrimType (LONG) - input
 * Bundle primitive type.


 * Indicates the bundle type. Valid primitive values are:


 * PRIM_LINE Line attribute bundle
 * PRIM_CHAR Character attribute bundle
 * PRIM_MARKER Marker attribute bundle
 * PRIM_AREA Pattern attribute bundle
 * PRIM_IMAGE Image attribute bundle


 * flAttrsMask (ULONG) - input
 * Flags indicating which attributes are to be modified.


 * pAttrs (PBUNDLE) - input
 * Pointer.


 * This is a pointer to the fixed-format bundle record containing the attribute values to be set as specified by flAttrsMask. Only the attribute fields corresponding to attribute flags set in flAttrsMask contain valid values.


 * pInstance (PVOID) - input
 * Pointer to instance data.


 * lFunction (ULONG) - input
 * High-order WORD=flags; low-order WORD=NGreSetDefaultAttributes.

Return Code

 * fSuccess (BOOL) - returns
 * Return codes.


 * On completion, the handling routine must return BOOLEAN (fSuccess).


 * TRUE Successful
 * FALSE Error


 * Possible Errors Detected:  When an error is detected, the graphics engine calls WinSetErrorInfo to post the condition. Reasons for failure of this function include:


 * PMERR_COORDINATE_OVERFLOW
 * PMERR_DEV_FUNC_NOT_INSTALLED
 * PMERR_EXCEEDS_MAX_SEG_LENGTH
 * PMERR_HDC_BUSY
 * PMERR_HUGE_FONTS_NOT_SUPPORTED
 * PMERR_INSUFFICIENT_MEMORY
 * PMERR_INV_BACKGROUND_COL_ATTR
 * PMERR_INV_BACKGROUND_MIX_ATTR
 * PMERR_INV_CHAR_DIRECTION_ATTR
 * PMERR_INV_CHAR_MODE_ATTR
 * PMERR_INV_CHAR_SET_ATTR
 * PMERR_INV_CHAR_SHEAR_ATTR
 * PMERR_INV_CODEPAGE
 * PMERR_INV_COLOR_ATTR
 * PMERR_INV_COORD_SPACE
 * PMERR_INV_GEOM_LINE_WIDTH_ATTR
 * PMERR_INV_HDC
 * PMERR_INV_LENGTH_OR_COUNT
 * PMERR_INV_LINE_END_ATTR
 * PMERR_INV_LINE_JOIN_ATTR
 * PMERR_INV_LINE_TYPE_ATTR
 * PMERR_INV_LINE_WIDTH_ATTR
 * PMERR_INV_MARKER_SET_ATTR
 * PMERR_INV_MARKER_SYMBOL_ATTR
 * PMERR_INV_MIX_ATTR
 * PMERR_INV_PATTERN_REF_PT_ATTR
 * PMERR_INV_PATTERN_SET_ATTR
 * PMERR_INV_PATTERN_SET_FONT
 * PMERR_INV_PRIMITIVE_TYPE
 * PMERR_INV_SETID
 * PMERR_UNSUPPORTED_ATTR
 * PMERR_UNSUPPORTED_ATTR_VALUE


 * Refer to the "Error Explanations" section of the Presentation Manager Programming Reference for further explanation.

Remarks
Only attributes whose flags are set in flAttrsMask are modified. They are set to the value specified by pAttrs.

When this function occurs within a path bracket, it must not be used to set the geometric line width for line attributes. In addition, it must not be used to set the foreground and background colors and mixes for character and marker attributes.

Sample Code

 * 1) define INCL_GRE_DEVSUPPORT
 * 2) include 

HDC       hdc;          /*  Device context handle. */ LONG      lPrimType;    /*  Bundle primitive type. */ ULONG     flAttrsMask;  /*  Flags indicating which attributes are to be modified. */ PBUNDLE   pAttrs;       /*  Pointer. */ PVOID     pInstance;    /*  Pointer to instance data. */ ULONG     lFunction;    /*  High-order WORD=flags; low-order WORD=NGreSetDefaultAttributes. */ BOOL      fSuccess;     /*  Return codes. */

fSuccess = GreSetDefaultAttributes(hdc, lPrimType,            flAttrsMask, pAttrs, pInstance,             lFunction); 