Jump to content

GreSetAttributes: Difference between revisions

From EDM2
Created page with "GreSetAttributes sets the attributes for the specified primitive type according to the flags set in flDefsMask and flAttrsMask. This function is supported by the graphics en..."
 
Ak120 (talk | contribs)
mNo edit summary
 
Line 1: Line 1:
GreSetAttributes sets the attributes for the specified primitive type according to the flags set in flDefsMask and flAttrsMask.  
GreSetAttributes sets the attributes for the specified primitive type according to the flags set in flDefsMask and flAttrsMask.


This function is supported by the graphics engine.  
This function is supported by the graphics engine.


== Syntax ==  
== Syntax ==  
  GreSetAttributes(hdc, lPrimType, flDefsMask, flAttrsMask, pAttrs, pInstance, lFunction);
  GreSetAttributes(hdc, lPrimType, flDefsMask, flAttrsMask, pAttrs, pInstance, lFunction)


== Parameters ==
== Parameters ==
; hdc (HDC) - input : Device context handle.  
;hdc (HDC) - input : Device context handle.
 
;lPrimType (LONG) - input : Bundle primitive type.  
; lPrimType (LONG) - input : Bundle primitive type.  
:Indicates the bundle type. Valid primitive values are:
 
* PRIM_LINE Line attribute bundle
Indicates the bundle type. Valid primitive values are:  
* PRIM_CHAR Character attribute bundle
* PRIM_LINE Line attribute bundle  
* PRIM_MARKER Marker attribute bundle
* PRIM_CHAR Character attribute bundle  
* PRIM_AREA Pattern attribute bundle
* PRIM_MARKER Marker attribute bundle  
* PRIM_IMAGE Image attribute bundle
* PRIM_AREA Pattern attribute bundle  
;flDefsMask (ULONG) - input : Flags indicating the attributes to be set to default.
* PRIM_IMAGE Image attribute bundle  
;flAttrsMask (ULONG) - input : Flags indicating the attributes to be modified.
 
;pAttrs (PBUNDLE) - input : Pointer.
; flDefsMask (ULONG) - input : Flags indicating the attributes to be set to default.  
: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, and not set in flDefsMask, contain valid values.
 
:This buffer need only be large enough to contain data for the highest offset attribute referenced.
; flAttrsMask (ULONG) - input : Flags indicating the attributes to be modified.  
;pInstance (PVOID) - input : Pointer to instance data.
 
;lFunction (ULONG) - input : High-order WORD=flags; low-order WORD=NGreSetAttributes.
; 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, and not set in flDefsMask, contain valid values.  
 
This buffer need only be large enough to contain data for the highest offset attribute referenced.  
 
; pInstance (PVOID) - input : Pointer to instance data.  
 
; lFunction (ULONG) - input : High-order WORD=flags; low-order WORD=NGreSetAttributes.  


== Returns ==
== Returns ==
; rc (BOOL) - returns : Return codes.  
;rc (BOOL) - returns : Return codes.
 
:On completion, the handling routine must return BOOLEAN (fSuccess).
On completion, the handling routine must return BOOLEAN (fSuccess).  
*TRUE Successful
* TRUE Successful  
*FALSE Error
* 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
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_DEV_FUNC_NOT_INSTALLED
* PMERR_COORDINATE_OVERFLOW  
* PMERR_EXCEEDS_MAX_SEG_LENGTH
* PMERR_DEV_FUNC_NOT_INSTALLED  
* PMERR_HDC_BUSY
* PMERR_EXCEEDS_MAX_SEG_LENGTH  
* PMERR_HUGE_FONTS_NOT_SUPPORTED
* PMERR_HDC_BUSY  
* PMERR_INSUFFICIENT_MEMORY
* PMERR_HUGE_FONTS_NOT_SUPPORTED  
* PMERR_INV_BACKGROUND_COL_ATTR
* PMERR_INSUFFICIENT_MEMORY  
* PMERR_INV_BACKGROUND_MIX_ATTR
* PMERR_INV_BACKGROUND_COL_ATTR  
* PMERR_INV_CHAR_DIRECTION_ATTR
* PMERR_INV_BACKGROUND_MIX_ATTR  
* PMERR_INV_CHAR_MODE_ATTR
* PMERR_INV_CHAR_DIRECTION_ATTR  
* PMERR_INV_CHAR_SET_ATTR
* PMERR_INV_CHAR_MODE_ATTR  
* PMERR_INV_CHAR_SHEAR_ATTR
* PMERR_INV_CHAR_SET_ATTR  
* PMERR_INV_CODEPAGE
* PMERR_INV_CHAR_SHEAR_ATTR  
* PMERR_INV_COLOR_ATTR
* PMERR_INV_CODEPAGE  
* PMERR_INV_COORD_SPACE
* PMERR_INV_COLOR_ATTR  
* PMERR_INV_GEOM_LINE_WIDTH_ATTR
* PMERR_INV_COORD_SPACE  
* PMERR_INV_HDC
* PMERR_INV_GEOM_LINE_WIDTH_ATTR  
* PMERR_INV_IN_AREA
* PMERR_INV_HDC  
* PMERR_INV_LENGTH_OR_COUNT
* PMERR_INV_IN_AREA  
* PMERR_INV_LINE_END_ATTR
* PMERR_INV_LENGTH_OR_COUNT  
* PMERR_INV_LINE_JOIN_ATTR
* PMERR_INV_LINE_END_ATTR  
* PMERR_INV_LINE_TYPE_ATTR
* PMERR_INV_LINE_JOIN_ATTR  
* PMERR_INV_LINE_WIDTH_ATTR
* PMERR_INV_LINE_TYPE_ATTR  
* PMERR_INV_MARKER_SET_ATTR
* PMERR_INV_LINE_WIDTH_ATTR  
* PMERR_INV_MARKER_SYMBOL_ATTR
* PMERR_INV_MARKER_SET_ATTR  
* PMERR_INV_MIX_ATTR
* PMERR_INV_MARKER_SYMBOL_ATTR  
* PMERR_INV_PATTERN_REF_PT_ATTR
* PMERR_INV_MIX_ATTR  
* PMERR_INV_PATTERN_SET_ATTR
* PMERR_INV_PATTERN_REF_PT_ATTR  
* PMERR_INV_PATTERN_SET_FONT
* PMERR_INV_PATTERN_SET_ATTR  
* PMERR_INV_PRIMITIVE_TYPE
* PMERR_INV_PATTERN_SET_FONT  
* PMERR_INV_SETID
* PMERR_INV_PRIMITIVE_TYPE  
* PMERR_UNSUPPORTED_ATTR
* PMERR_INV_SETID  
* PMERR_UNSUPPORTED_ATTR_VALUE
* PMERR_UNSUPPORTED_ATTR  
Refer to the "Error Explanations" section of the Presentation Manager Programming Reference for further explanation.
* PMERR_UNSUPPORTED_ATTR_VALUE  
 
Refer to the "Error Explanations" section of the Presentation Manager Programming Reference for further explanation.  
 


== Sample ==
== Sample ==
Line 95: Line 83:


== Remarks ==
== Remarks ==
Note that:  
Note that:
* Only attributes whose flags are set in flAttrsMask are modified.  
* Only attributes whose flags are set in flAttrsMask are modified.
* Attributes whose flags are set in both flDefsMask and flAttrsMask are set to their default values.  
* Attributes whose flags are set in both flDefsMask and flAttrsMask are set to their default values.
* Attributes whose flags are set only in flDefsMask, or whose flags are not set either in flDefsMask or flAttrsMask, are unchanged.  
* Attributes whose flags are set only in flDefsMask, or whose flags are not set either in flDefsMask or flAttrsMask, are unchanged.
* Attributes whose flags are set only in flAttrsMask are set to the value specified by pAttrs.  
* Attributes whose flags are set only in flAttrsMask are set to the value specified by pAttrs.
 
When GreSetAttributes occurs within a path bracket, it must not be used to set the geometric line width for line attributes, nor used to set the foreground and background colors and mixes for character and marker attributes.
When GreSetAttributes occurs within a path bracket, it must not be used to set the geometric line width for line attributes, nor used to set the foreground and background colors and mixes for character and marker attributes.  


[[Category:Gre]]
[[Category:Gre]]

Latest revision as of 18:15, 13 February 2020

GreSetAttributes sets the attributes for the specified primitive type according to the flags set in flDefsMask and flAttrsMask.

This function is supported by the graphics engine.

Syntax

GreSetAttributes(hdc, lPrimType, flDefsMask, 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
flDefsMask (ULONG) - input
Flags indicating the attributes to be set to default.
flAttrsMask (ULONG) - input
Flags indicating the attributes 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, and not set in flDefsMask, contain valid values.
This buffer need only be large enough to contain data for the highest offset attribute referenced.
pInstance (PVOID) - input
Pointer to instance data.
lFunction (ULONG) - input
High-order WORD=flags; low-order WORD=NGreSetAttributes.

Returns

rc (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_IN_AREA
  • 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.

Sample

#define INCL_GRE_DEVSUPPORT
#include <os2.h>

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

rc = GreSetAttributes(hdc, lPrimType, flDefsMask,
       flAttrsMask, pAttrs, pInstance, lFunction);

Remarks

Note that:

  • Only attributes whose flags are set in flAttrsMask are modified.
  • Attributes whose flags are set in both flDefsMask and flAttrsMask are set to their default values.
  • Attributes whose flags are set only in flDefsMask, or whose flags are not set either in flDefsMask or flAttrsMask, are unchanged.
  • Attributes whose flags are set only in flAttrsMask are set to the value specified by pAttrs.

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