Microsoft Foundation Classes (mfc.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.
GetGlyphOutline
◄CDC►                                         ◄Up► ◄Contents► ◄Index► ◄Back►
──Microsoft Foundation Classes──────────────────────────────────────────────
 
  Windows 3.1 only
 
  DWORD GetGlyphOutline( UINT nChar, UINT nFormat,
                         GLYPHMETRICS FAR* lpgm, DWORD cbBuffer,
                         void FAR* lpBuffer,
                         const MAT2 FAR* lpmat2 ) const;
 
  Parameter   Description
 
  <nChar>     Specifies the character for which information is to be
              returned.
 
  <nFormat>   Specifies the format in which the function is to return
              information. It can be one of the following values, or 0:
 
              Value        Meaning
 
              GGO_BITMAP   Returns the glyph bitmap. When the function
                           returns, the buffer pointed to by <lpBuffer>
                           contains a 1-bit-per-pixel bitmap whose rows
                           start on doubleword boundaries.
 
              GGO_NATIVE   Returns the curve data points in the
                           rasterizer's native format, using device units.
                           When this value is specified, any
                           transformation specified in <lpmat2> is
                           ignored.
 
              When the value of <nFormat> is 0, the function fills in a
              GLYPHMETRICS structure but does not return glyph-outline
              data.
 
  <lpgm>      Points to a GLYPHMETRICS structure that describes the
              placement of the glyph in the character cell.
 
  <cbBuffer>  Specifies the size of the buffer into which the function
              copies information about the outline character. If this
              value is 0 and the <nFormat> parameter is either the
              GGO_BITMAP or GGO_NATIVE values, the function returns the
              required size of the buffer.
 
  <lpBuffer>  Points to a buffer into which the function copies
              information about the outline character. If <nFormat>
              specifies the GGO_NATIVE value, the information is copied in
              the form of TTPOLYGONHEADER and TTPOLYCURVE structures. If
              this value is NULL and <nFormat> is either the GGO_BITMAP or
              GGO_NATIVE value, the function returns the required size of
              the buffer.
 
  <lpmat2>    Points to a MAT2 structure that contains a transformation
              matrix for the character. This parameter cannot be NULL,
              even when the GGO_NATIVE value is specified for <nFormat>.
 
  Remarks
 
  Retrieves the outline curve or bitmap for an outline character in the
  current font.
 
  An application can rotate characters retrieved in bitmap format by
  specifying a 2-by-2 transformation matrix in the structure pointed to by
  <lpmat2>.
 
  A glyph outline is returned as a series of contours. Each contour is
  defined by a ◄TTPOLYGONHEADER► structure followed by as many TTPOLYCURVE
  structures as are required to describe it. All points are returned as
  ◄POINTFX► structures and represent absolute positions, not relative
  moves. The starting point given by the pfxStart member of the
  ◄TTPOLYGONHEADER► structure is the point at which the outline for a
  contour begins. The ◄TTPOLYCURVE► structures that follow can be either
  polyline records or spline records. Polyline records are a series of
  points; lines drawn between the points describe the outline of the
  character. Spline records represent the quadratic curves used by
  TrueType (that is, quadratic b-splines).
 
  Return Value
 
  The return value is the size, in bytes, of the buffer required for the
  retrieved information if <cbBuffer> is 0 or <lpBuffer> is NULL.
  Otherwise, it is a positive value if the function is successful, or -1
  if there is an error.
 
  See Also
 
  ◄CDC::GetOutlineTextMetrics►, ◄::GetGlyphOutline►
 
 
                                     -♦-