<?xml version="1.0"?>
<!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 1.0.4//EN" "http://www.gnustep.org/gsdoc-1_0_4.dtd">
<gsdoc base="NSGraphicsContext" up="Gui">
  <head>
    <title>NSGraphicsContext</title>
    <author name="Richard Frith-Macdonald">
      <email address="richard@brainstorm.co.uk">
        richard@brainstorm.co.uk
      </email>
    </author>
    <author name="Adam Fedor">
      <email address="fedor@gnu.org">
        fedor@gnu.org
      </email>
    </author>
    <abstract>GNUstep drawing context class.</abstract>
    <copy>1998,1999 Free Software Foundation, Inc.</copy>
  </head>
  <body>
    <front><contents /></front>
    <chapter>
      <heading>NSGraphicsContext</heading>
      <p>
        This is an abstract class which provides a framework for a
        device independant drawing.
      </p>
      <p>
        In addition, this class provides methods to perform the
        actual drawing. As a convenience, you can also access
        these through various function interfaces. One is a
        Display Postscript interface using PS and DPS
        operations. Another is a Quartz interface (not yet
        written).
      </p>
      <class name="NSGraphicsContext" super="NSObject" ovadd="1.0.0">
        <declared>AppKit/NSGraphicsContext.h</declared>
        <desc>
          <em>Description forthcoming.</em>
        </desc>
        <ivariable type="BOOL" name="_antialias" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSCompositingOperation" name="_compositingOperation" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="void*" name="_graphicsPort" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSImageInterpolation" name="_interp" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="BOOL" name="_isFlipped" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSPoint" name="_patternPhase" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSMutableData*" name="context_data" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </ivariable>
        <ivariable type="NSDictionary*" name="context_info" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </ivariable>
        <ivariable type="NSMutableArray*" name="focus_stack" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </ivariable>
        <ivariable type="const gsMethodTable*" name="methods" validity="public" ovadd="1.0.0">
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </ivariable>
        <ivariable type="NSMutableSet*" name="usedFonts" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </ivariable>
        <method type="NSGraphicsContext*" factory="yes" ovadd="1.0.0">
          <sel>currentContext</sel>
          <desc>
            Returns the current context. Also see the
            convienience function
            <ref type="function" id="GSCurrentContext">
              GSCurrentContext()
            </ref>
          </desc>
        </method>
        <method type="BOOL" factory="yes" ovadd="1.0.0">
          <sel>currentContextDrawingToScreen</sel>
          <desc>
            Returns <code>YES</code> if the current context is
            a display context
          </desc>
        </method>
        <method type="NSGraphicsContext*" factory="yes" ovadd="1.0.0">
          <sel>graphicsContextWithAttributes:</sel>
          <arg type="NSDictionary*">attributes</arg>
          <desc>
            <p>
              Create a graphics context with
              <var>attributes</var>, which contains key/value
              pairs which describe the specifics of how the
              context is to be initialized.
            </p>
          </desc>
        </method>
        <method type="NSGraphicsContext*" factory="yes" ovadd="10.4.0">
          <sel>graphicsContextWithBitmapImageRep:</sel>
          <arg type="NSBitmapImageRep*">bitmap</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSGraphicsContext*" factory="yes" ovadd="10.4.0">
          <sel>graphicsContextWithGraphicsPort:</sel>
          <arg type="void*">port</arg>
          <sel>flipped:</sel>
          <arg type="BOOL">flag</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSGraphicsContext*" factory="yes" ovadd="1.0.0">
          <sel>graphicsContextWithWindow:</sel>
          <arg type="NSWindow*">aWindow</arg>
          <desc>
            Create graphics context with attributes speficied by
            aWindow's device description.
          </desc>
        </method>
        <method type="void" factory="yes" ovadd="1.0.0">
          <sel>restoreGraphicsState</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" factory="yes" ovadd="1.0.0">
          <sel>saveGraphicsState</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" factory="yes" ovadd="1.0.0">
          <sel>setCurrentContext:</sel>
          <arg type="NSGraphicsContext*">context</arg>
          <desc>
            Set the current <var>context</var> that will handle
            drawing.
          </desc>
        </method>
        <method type="void" factory="yes" ovadd="1.0.0">
          <sel>setGraphicsState:</sel>
          <arg type="NSInteger">graphicsState</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSDictionary*" ovadd="1.0.0">
          <sel>attributes</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSCompositingOperation" ovadd="10.4.0">
          <sel>compositingOperation</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>flushGraphics</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void*" ovadd="1.0.0">
          <sel>focusStack</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void*" ovadd="1.0.0">
          <sel>graphicsPort</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSImageInterpolation" ovadd="1.0.0">
          <sel>imageInterpolation</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="BOOL" ovadd="1.0.0">
          <sel>isDrawingToScreen</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="BOOL" ovadd="10.4.0">
          <sel>isFlipped</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSPoint" ovadd="10.2.0">
          <sel>patternPhase</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>restoreGraphicsState</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>saveGraphicsState</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.4.0">
          <sel>setCompositingOperation:</sel>
          <arg type="NSCompositingOperation">operation</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setFocusStack:</sel>
          <arg type="void*">stack</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setImageInterpolation:</sel>
          <arg type="NSImageInterpolation">interpolation</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.2.0">
          <sel>setPatternPhase:</sel>
          <arg type="NSPoint">phase</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setShouldAntialias:</sel>
          <arg type="BOOL">antialias</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="BOOL" ovadd="1.0.0">
          <sel>shouldAntialias</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
      </class>
    </chapter>
    <chapter>
      <heading>
        Software documentation for the
        NSGraphicsContext(GNUstep) category
      </heading>
      <category name="GNUstep" class="NSGraphicsContext" ovadd="0.0.0" ovrem="0.0.0">
        <declared>AppKit/NSGraphicsContext.h</declared>
        <desc>
          <em>Description forthcoming.</em>
        </desc>
        <method type="void" factory="yes" ovadd="0.0.0" ovrem="0.0.0">
          <sel>handleExposeRect:</sel>
          <arg type="NSRect">rect</arg>
          <sel>forDriver:</sel>
          <arg type="void*">driver</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" factory="yes" ovadd="0.0.0" ovrem="0.0.0">
          <sel>setDefaultContextClass:</sel>
          <arg type="Class">defaultContextClass</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSView*" ovadd="0.0.0" ovrem="0.0.0">
          <sel>focusView</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="id" ovadd="0.0.0" ovrem="0.0.0">
          <sel>initWithContextInfo:</sel>
          <arg type="NSDictionary*">info</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="0.0.0" ovrem="0.0.0">
          <sel>lockFocusView:</sel>
          <arg type="NSView*">aView</arg>
          <sel>inRect:</sel>
          <arg type="NSRect">rect</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="0.0.0" ovrem="0.0.0">
          <sel>resetUsedFonts</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="0.0.0" ovrem="0.0.0">
          <sel>unlockFocusView:</sel>
          <arg type="NSView*">aView</arg>
          <sel>needsFlush:</sel>
          <arg type="BOOL">flush</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="0.0.0" ovrem="0.0.0">
          <sel>useFont:</sel>
          <arg type="NSString*">fontName</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSSet*" ovadd="0.0.0" ovrem="0.0.0">
          <sel>usedFonts</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
      </category>
    </chapter>
    <chapter>
      <heading>
        Software documentation for the
        NSGraphicsContext(NSGradient)
        category
      </heading>
      <category name="NSGradient" class="NSGraphicsContext" ovadd="1.0.0">
        <declared>AppKit/NSGraphicsContext.h</declared>
        <desc>
          <em>Description forthcoming.</em>
        </desc>
        <method type="void" ovadd="1.0.0">
          <sel>drawGradient:</sel>
          <arg type="NSGradient*">gradient</arg>
          <sel>fromCenter:</sel>
          <arg type="NSPoint">startCenter</arg>
          <sel>radius:</sel>
          <arg type="CGFloat">startRadius</arg>
          <sel>toCenter:</sel>
          <arg type="NSPoint">endCenter</arg>
          <sel>radius:</sel>
          <arg type="CGFloat">endRadius</arg>
          <sel>options:</sel>
          <arg type="NSUInteger">options</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>drawGradient:</sel>
          <arg type="NSGradient*">gradient</arg>
          <sel>fromPoint:</sel>
          <arg type="NSPoint">startPoint</arg>
          <sel>toPoint:</sel>
          <arg type="NSPoint">endPoint</arg>
          <sel>options:</sel>
          <arg type="NSUInteger">options</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
      </category>
    </chapter>
    <chapter>
      <heading>
        Software documentation for the
        NSGraphicsContext(NSGraphics)
        category
      </heading>
      <category name="NSGraphics" class="NSGraphicsContext" ovadd="1.0.0">
        <declared>AppKit/NSGraphicsContext.h</declared>
        <desc>
          <em>Description forthcoming.</em>
        </desc>
        <method type="NSDictionary*" ovadd="1.0.0">
          <sel>GSReadRect:</sel>
          <arg type="NSRect">rect</arg>
          <desc>
            <p>
              Read raw pixels from the device and return the
              information as a bitmap. Pixels are read from
              the smallest device-pixel aligned rectangle
              containing <var>rect</var> (defined in the
              current graphics state and clipped to the current
              window, but not against the clipping path). If
              the resulting device rectangle is degenerate, Size
              will be (0,0) and Data will be <code>nil</code>, but
              the other entries in the dictionary will be filled
              in.
            </p>
            <p>
              If the device does not support the operation, returns
              <code>nil</code>.
            </p>
            <p>
              The returned dictionary contains at least the
              following keys:
            </p>
            <deflist>
              <term>Data</term>
              <desc>
                An NSData-instance with the image data.
              </desc>
              <term>Size</term>
              <desc>
                An NSValue/NSSize with the size in pixels of the
                returned image data.
              </desc>
              <term>BitsPerSample</term>
              <desc>
                An NSValue/unsigned <strong>int</strong>.
              </desc>
              <term>SamplesPerPixel</term>
              <desc>
                An NSValue/unsigned <strong>int</strong>.
              </desc>
              <term>ColorSpace</term>
              <desc>
                An NSString with the name of the color space the
                data is in.
              </desc>
              <term>HasAlpha</term>
              <desc>
                An NSValue/unsigned <strong>int</strong>. 0 if the
                returned image does not have an alpha channel,
                1 if it does.
              </desc>
              <term>Matrix</term>
              <desc>
                An NSAffineTransform-instance that contains the
                transform between current user space and
                image space for this image.
              </desc>
            </deflist>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSWSetViewIsFlipped:</sel>
          <arg type="BOOL">flipped</arg>
          <desc>
            This method is used by the backend, but has been
            rendered obsolete. Do not use it in any code or in
            any backend implementation as it may disappear at any
            point.
          </desc>
        </method>
        <method type="BOOL" ovadd="1.0.0">
          <sel>GSWViewIsFlipped</sel>
          <desc>
            Returns <code>YES</code> if the current focused
            view is flipped. This is an obsolete method. Use
            [[NSView focusView] isFlipped] instead
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>NSBeep</sel>
          <desc>
            Play the System Beep
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>NSDrawBitmap:</sel>
          <arg type="NSRect">rect</arg>
          <sel>:</sel>
          <arg type="NSInteger">pixelsWide</arg>
          <sel>:</sel>
          <arg type="NSInteger">pixelsHigh</arg>
          <sel>:</sel>
          <arg type="NSInteger">bitsPerSample</arg>
          <sel>:</sel>
          <arg type="NSInteger">samplesPerPixel</arg>
          <sel>:</sel>
          <arg type="NSInteger">bitsPerPixel</arg>
          <sel>:</sel>
          <arg type="NSInteger">bytesPerRow</arg>
          <sel>:</sel>
          <arg type="BOOL">isPlanar</arg>
          <sel>:</sel>
          <arg type="BOOL">hasAlpha</arg>
          <sel>:</sel>
          <arg type="NSString*">colorSpaceName</arg>
          <sel>:</sel>
          <arg type="const unsigned char*const[5]">data</arg>
          <desc>
            Generic method to render bitmap images. This method
            shouldn't be used anywhere except in the AppKit
            itself. It will be replaced by the more flexible
            GSDrawImage method sometime in the future.
            (Quartz).
          </desc>
        </method>
      </category>
    </chapter>
    <chapter>
      <heading>
        Software documentation for the NSGraphicsContext(Ops)
        category
      </heading>
      <category name="Ops" class="NSGraphicsContext" ovadd="1.0.0">
        <declared>AppKit/NSGraphicsContext.h</declared>
        <desc>
          <em>Description forthcoming.</em>
        </desc>
        <method type="void" ovadd="1.0.0">
          <sel>DPSPrintf:</sel>
          <arg type="const char*">fmt</arg>
          <sel>:</sel>
          <arg type="va_list">args</arg>
          <desc>
            Write the string (with printf substitutions) to a
            PostScript context. Other output contexts will
            likely ignore this
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSWriteData:</sel>
          <arg type="const char*">buf</arg>
          <sel>:</sel>
          <arg type="unsigned int">count</arg>
          <desc>
            Write the encoded data to a PostScript context. Other
            output contexts will likely ignore this
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSarc:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <sel>:</sel>
          <arg type="CGFloat">r</arg>
          <sel>:</sel>
          <arg type="CGFloat">angle1</arg>
          <sel>:</sel>
          <arg type="CGFloat">angle2</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSarcn:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <sel>:</sel>
          <arg type="CGFloat">r</arg>
          <sel>:</sel>
          <arg type="CGFloat">angle1</arg>
          <sel>:</sel>
          <arg type="CGFloat">angle2</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSarct:</sel>
          <arg type="CGFloat">x1</arg>
          <sel>:</sel>
          <arg type="CGFloat">y1</arg>
          <sel>:</sel>
          <arg type="CGFloat">x2</arg>
          <sel>:</sel>
          <arg type="CGFloat">y2</arg>
          <sel>:</sel>
          <arg type="CGFloat">r</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSashow:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <sel>:</sel>
          <arg type="const char*">s</arg>
          <desc>
            Displays a string as in DPSshow, except that (
            <var>x</var>,y) is added to the advancement of every
            glyph. An alternative means of achieving the same
            effect is to use the
            <ref type="method" id="-GSSetCharacterSpacing:">
              -GSSetCharacterSpacing:
            </ref>
            method. Either approach should be more efficient
            that using
            <ref type="method" id="-DPSshow:">
              -DPSshow:
            </ref>
            with appropriate
            <ref type="method" id="-DPSrmoveto::">
              -DPSrmoveto::
            </ref>
            operations.
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSawidthshow:</sel>
          <arg type="CGFloat">cx</arg>
          <sel>:</sel>
          <arg type="CGFloat">cy</arg>
          <sel>:</sel>
          <arg type="int">c</arg>
          <sel>:</sel>
          <arg type="CGFloat">ax</arg>
          <sel>:</sel>
          <arg type="CGFloat">ay</arg>
          <sel>:</sel>
          <arg type="const char*">s</arg>
          <desc>
            Displays a string as in a combination of DPSashow
            and DPSwidthshow: (<var>ax</var>,ay) is added to the
            advancement of every glyph, while (
            <var>cx</var>,cy) is also added to the advancement
            for character c's glyph specifically. Using this method
            should be more efficient that using
            <ref type="method" id="-DPSshow:">
              -DPSshow:
            </ref>
            with appropriate
            <ref type="method" id="-DPSrmoveto::">
              -DPSrmoveto::
            </ref>
            operations.
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScharpath:</sel>
          <arg type="const char*">s</arg>
          <sel>:</sel>
          <arg type="int">b</arg>
          <desc>
            Appends to the current path a path that is
            equivalent to the outlines of the glyphs in the
            string. This results in a path that can be used for
            stroking, filling or clipping (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSclip</sel>
          <desc>
            Clip to the current path. (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSclosepath</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScomposite:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <sel>:</sel>
          <arg type="CGFloat">w</arg>
          <sel>:</sel>
          <arg type="CGFloat">h</arg>
          <sel>:</sel>
          <arg type="NSInteger">gstateNum</arg>
          <sel>:</sel>
          <arg type="CGFloat">dx</arg>
          <sel>:</sel>
          <arg type="CGFloat">dy</arg>
          <sel>:</sel>
          <arg type="NSCompositingOperation">op</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScompositerect:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <sel>:</sel>
          <arg type="CGFloat">w</arg>
          <sel>:</sel>
          <arg type="CGFloat">h</arg>
          <sel>:</sel>
          <arg type="NSCompositingOperation">op</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSconcat:</sel>
          <arg type="const CGFloat*">m</arg>
          <desc>
            Concatenates the coordinate transform
            represented by the matrix <var>m</var> with the
            current coordinate transform. (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScurrentalpha:</sel>
          <arg type="CGFloat*">a</arg>
          <desc>
            Returns the current alpha component (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScurrentcmykcolor:</sel>
          <arg type="CGFloat*">c</arg>
          <sel>:</sel>
          <arg type="CGFloat*">m</arg>
          <sel>:</sel>
          <arg type="CGFloat*">y</arg>
          <sel>:</sel>
          <arg type="CGFloat*">k</arg>
          <desc>
            Returns the current color according to the CMYK
            color model (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScurrentflat:</sel>
          <arg type="CGFloat*">flatness</arg>
          <desc>
            Returns the current flattness parameter, which
            controls how curved lines are drawn. (DPS,
            Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScurrentgray:</sel>
          <arg type="CGFloat*">gray</arg>
          <desc>
            Returns the gray-level equivalent in the current
            color space. The value may depend on the current
            color space and may be 0 if the current color space
            has no notion of a <var>gray</var> value (DPS)
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScurrenthsbcolor:</sel>
          <arg type="CGFloat*">h</arg>
          <sel>:</sel>
          <arg type="CGFloat*">s</arg>
          <sel>:</sel>
          <arg type="CGFloat*">b</arg>
          <desc>
            Returns the current color according to the HSB
            color model (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScurrentlinecap:</sel>
          <arg type="int*">linecap</arg>
          <desc>
            Returns the current <var>linecap</var> value. (DPS,
            Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScurrentlinejoin:</sel>
          <arg type="int*">linejoin</arg>
          <desc>
            Returns the current <var>linejoin</var> value.
            (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScurrentlinewidth:</sel>
          <arg type="CGFloat*">width</arg>
          <desc>
            Returns the current line <var>width</var>. (DPS,
            Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScurrentmiterlimit:</sel>
          <arg type="CGFloat*">limit</arg>
          <desc>
            Returns the current linecap value. (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScurrentoffset:</sel>
          <arg type="int*">x</arg>
          <sel>:</sel>
          <arg type="int*">y</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScurrentpoint:</sel>
          <arg type="CGFloat*">x</arg>
          <sel>:</sel>
          <arg type="CGFloat*">y</arg>
          <desc>
            Returns the current point. (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScurrentrgbcolor:</sel>
          <arg type="CGFloat*">r</arg>
          <sel>:</sel>
          <arg type="CGFloat*">g</arg>
          <sel>:</sel>
          <arg type="CGFloat*">b</arg>
          <desc>
            Returns the current color according to the RGB
            color model (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScurrentstrokeadjust:</sel>
          <arg type="int*">b</arg>
          <desc>
            Returns the strokeadjust value. (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPScurveto:</sel>
          <arg type="CGFloat">x1</arg>
          <sel>:</sel>
          <arg type="CGFloat">y1</arg>
          <sel>:</sel>
          <arg type="CGFloat">x2</arg>
          <sel>:</sel>
          <arg type="CGFloat">y2</arg>
          <sel>:</sel>
          <arg type="CGFloat">x3</arg>
          <sel>:</sel>
          <arg type="CGFloat">y3</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSdissolve:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <sel>:</sel>
          <arg type="CGFloat">w</arg>
          <sel>:</sel>
          <arg type="CGFloat">h</arg>
          <sel>:</sel>
          <arg type="NSInteger">gstateNum</arg>
          <sel>:</sel>
          <arg type="CGFloat">dx</arg>
          <sel>:</sel>
          <arg type="CGFloat">dy</arg>
          <sel>:</sel>
          <arg type="CGFloat">delta</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSeoclip</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSeofill</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSfill</sel>
          <desc>
            Fill the current path. (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSflattenpath</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSgrestore</sel>
          <desc>
            Pops a previously saved gstate from the gstate stack
            and makes it current. Drawing information in the
            previously saved gstate becomes the current
            information. (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSgsave</sel>
          <desc>
            Saves (pushes) a copy of the current gstate
            information onto the gstate stack. This saves
            drawing information contained in the gstate, such
            as the current path, ctm and colors. (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSinitclip</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSinitgraphics</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSinitmatrix</sel>
          <desc>
            Sets the coordinate transform matrix to the initial
            values for the particular context
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSlineto:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSmoveto:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSnewpath</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSpathbbox:</sel>
          <arg type="CGFloat*">llx</arg>
          <sel>:</sel>
          <arg type="CGFloat*">lly</arg>
          <sel>:</sel>
          <arg type="CGFloat*">urx</arg>
          <sel>:</sel>
          <arg type="CGFloat*">ury</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSrcurveto:</sel>
          <arg type="CGFloat">x1</arg>
          <sel>:</sel>
          <arg type="CGFloat">y1</arg>
          <sel>:</sel>
          <arg type="CGFloat">x2</arg>
          <sel>:</sel>
          <arg type="CGFloat">y2</arg>
          <sel>:</sel>
          <arg type="CGFloat">x3</arg>
          <sel>:</sel>
          <arg type="CGFloat">y3</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSrectclip:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <sel>:</sel>
          <arg type="CGFloat">w</arg>
          <sel>:</sel>
          <arg type="CGFloat">h</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSrectfill:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <sel>:</sel>
          <arg type="CGFloat">w</arg>
          <sel>:</sel>
          <arg type="CGFloat">h</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSrectstroke:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <sel>:</sel>
          <arg type="CGFloat">w</arg>
          <sel>:</sel>
          <arg type="CGFloat">h</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSreversepath</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSrlineto:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSrmoveto:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSrotate:</sel>
          <arg type="CGFloat">angle</arg>
          <desc>
            Rotate the coordinate system. (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSscale:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <desc>
            Scale the coordinate system. (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsetalpha:</sel>
          <arg type="CGFloat">a</arg>
          <desc>
            Sets the alpha drawing component. For this and other
            color setting commands that have no differentiation
            between fill and stroke colors, both the fill and
            stroke alpha are set (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsetcmykcolor:</sel>
          <arg type="CGFloat">c</arg>
          <sel>:</sel>
          <arg type="CGFloat">m</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <sel>:</sel>
          <arg type="CGFloat">k</arg>
          <desc>
            Sets the current colorspace to Device CMYK and the
            current color based on the indicated values. For
            this and other color setting commands that have no
            differentiation between fill and stroke
            colors, both the fill and stroke colors are set
            (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsetdash:</sel>
          <arg type="const CGFloat*">pat</arg>
          <sel>:</sel>
          <arg type="NSInteger">size</arg>
          <sel>:</sel>
          <arg type="CGFloat">offset</arg>
          <desc>
            Set the pattern for line dashes like the Postscript
            setdash operator. (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsetflat:</sel>
          <arg type="CGFloat">flatness</arg>
          <desc>
            Sets the current flattness parameter, which controls
            how curved lines are drawn. (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsetgray:</sel>
          <arg type="CGFloat">gray</arg>
          <desc>
            Sets the current colorspace to Device Gray and the
            current <var>gray</var> value (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsetgstate:</sel>
          <arg type="NSInteger">gst</arg>
          <desc>
            Makes the gstate indicated by the tag <var>gst</var>
            the current gstate. Note that the gstate is copied, so
            that changes to either gstate do not affect the other.
            (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsethalftonephase:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsethsbcolor:</sel>
          <arg type="CGFloat">h</arg>
          <sel>:</sel>
          <arg type="CGFloat">s</arg>
          <sel>:</sel>
          <arg type="CGFloat">b</arg>
          <desc>
            Sets the current colorspace to Device RGB and the
            current color based on the indicated values (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsetlinecap:</sel>
          <arg type="int">linecap</arg>
          <desc>
            Set the current <var>linecap</var> value. (DPS,
            Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsetlinejoin:</sel>
          <arg type="int">linejoin</arg>
          <desc>
            Set the current <var>linejoin</var> value. (DPS,
            Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsetlinewidth:</sel>
          <arg type="CGFloat">width</arg>
          <desc>
            Set the current line <var>width</var>. (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsetmiterlimit:</sel>
          <arg type="CGFloat">limit</arg>
          <desc>
            Set the current meter <var>limit</var> value. (DPS,
            Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsetoffset:</sel>
          <arg type="short int">x</arg>
          <sel>:</sel>
          <arg type="short int">y</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsetrgbcolor:</sel>
          <arg type="CGFloat">r</arg>
          <sel>:</sel>
          <arg type="CGFloat">g</arg>
          <sel>:</sel>
          <arg type="CGFloat">b</arg>
          <desc>
            Sets the current colorspace to Device RGB and the
            current color based on the indicated values (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSsetstrokeadjust:</sel>
          <arg type="int">b</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSshfill:</sel>
          <arg type="NSDictionary*">shaderDictionary</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSshow:</sel>
          <arg type="const char*">s</arg>
          <desc>
            Display the string <var>s</var> using the current
            font (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSstroke</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPStranslate:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <desc>
            Translate the coordinate system. (DPS).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSwidthshow:</sel>
          <arg type="CGFloat">x</arg>
          <sel>:</sel>
          <arg type="CGFloat">y</arg>
          <sel>:</sel>
          <arg type="int">c</arg>
          <sel>:</sel>
          <arg type="const char*">s</arg>
          <desc>
            Displays a string as in DPSshow, except that, for
            character <var>c</var> only, the glpyh
            <var>x</var> and <var>y</var> advancement is
            determined by the values (<var>x</var>,y),
            instead of by the glyph itself. This is often used
            to adjust the length of a line of text by changing the
            width of the space character. Using this method
            should be more efficient than using
            <ref type="method" id="-DPSshow:">
              -DPSshow:
            </ref>
            with appropriate
            <ref type="method" id="-DPSrmoveto::">
              -DPSrmoveto::
            </ref>
            operations.
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSxshow:</sel>
          <arg type="const char*">s</arg>
          <sel>:</sel>
          <arg type="const CGFloat*">numarray</arg>
          <sel>:</sel>
          <arg type="int">size</arg>
          <desc>
            Displays a string as in DPSshow, except that the
            glyph x advancement is determined by the values in
            <var>numarray</var>, one for each glyph, instead of
            by the glyphs themselves. <var>size</var> should be
            equal to the length of <var>s</var> in glyphs. Using
            this method should be more efficient than using
            <ref type="method" id="-DPSshow:">
              -DPSshow:
            </ref>
            with appropriate
            <ref type="method" id="-DPSrmoveto::">
              -DPSrmoveto::
            </ref>
            operations.
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSxyshow:</sel>
          <arg type="const char*">s</arg>
          <sel>:</sel>
          <arg type="const CGFloat*">numarray</arg>
          <sel>:</sel>
          <arg type="int">size</arg>
          <desc>
            Displays a string as in DPSshow, except that the
            glyph x and y advancement is determined by the values
            in <var>numarray</var>, one x and one y for each glyph,
            in alternating order, instead of by the glyphs
            themselves. <var>size</var> should be equal to
            the length of <var>s</var> in glyphs. Using this method
            should be more efficient than using
            <ref type="method" id="-DPSshow:">
              -DPSshow:
            </ref>
            with appropriate
            <ref type="method" id="-DPSrmoveto::">
              -DPSrmoveto::
            </ref>
            operations.
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>DPSyshow:</sel>
          <arg type="const char*">s</arg>
          <sel>:</sel>
          <arg type="const CGFloat*">numarray</arg>
          <sel>:</sel>
          <arg type="int">size</arg>
          <desc>
            Displays a string as in DPSshow, except that the
            glyph y advancement is determined by the values in
            <var>numarray</var>, one for each glyph, instead of
            by the glyphs themselves. <var>size</var> should be
            equal to the length of <var>s</var> in glyphs. Using
            this method should be more efficient than using
            <ref type="method" id="-DPSshow:">
              -DPSshow:
            </ref>
            with appropriate
            <ref type="method" id="-DPSrmoveto::">
              -DPSrmoveto::
            </ref>
            operations.
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSConcatCTM:</sel>
          <arg type="NSAffineTransform*">ctm</arg>
          <desc>
            Concatenates the matrix <var>ctm</var> onto
            the current coordinate transform matrix. (Quartz).
          </desc>
        </method>
        <method type="NSAffineTransform*" ovadd="1.0.0">
          <sel>GSCurrentCTM</sel>
          <desc>
            Returns the current coordinate transform matrix.
            (Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSCurrentDevice:</sel>
          <arg type="void**">device</arg>
          <sel>:</sel>
          <arg type="int*">x</arg>
          <sel>:</sel>
          <arg type="int*">y</arg>
          <desc>
            This is a private method used between the window
            server and the context. It should not be used in any
            application. Typically used by the window
            server to find out what window the context is
            drawing graphics to. The <var>device</var> pointer
            is an opaque type that contains information about the
            window. The <var>x</var> and <var>y</var> pointers
            indicate the offset of the origin of the window
            from the lower left-hand corner
          </desc>
        </method>
        <method type="NSInteger" ovadd="1.0.0">
          <sel>GSDefineGState</sel>
          <desc>
            Creates a copy of the current gstate and associates
            it with a tag, which is given in the return value. This
            tag can later be used in
            <ref type="method" id="-DPSsetgstate:">
              -DPSsetgstate:
            </ref>
            to set the gstate as being current again. (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSDrawImage:</sel>
          <arg type="NSRect">rect</arg>
          <sel>:</sel>
          <arg type="void*">imageref</arg>
          <desc>
            Generic method to draw an image into a
            <var>rect</var>. The image is defined by
            <var>imageref</var>, an opaque structure. Support for
            this method hasn't been implemented yet, so it should
            not be used anywhere.
          </desc>
        </method>
        <method type="NSAffineTransform*" ovadd="1.0.0">
          <sel>GSGetTextCTM</sel>
          <desc>
            <p>
              Returns the transfer function for transforming
              text from text space to user space. See
              <ref type="method" id="-GSSetTextCTM:">
                -GSSetTextCTM:
              </ref>
              for additiona information. (Quartz).
            </p>
          </desc>
        </method>
        <method type="NSPoint" ovadd="1.0.0">
          <sel>GSGetTextPosition</sel>
          <desc>
            Returns the location at which text will be drawn.
            In text-space coordinates. (Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSRectClipList:</sel>
          <arg type="const NSRect*">rects</arg>
          <sel>:</sel>
          <arg type="int">count</arg>
          <desc>
            Append the array of <var>rects</var> to the current
            clip path (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSRectFillList:</sel>
          <arg type="const NSRect*">rects</arg>
          <sel>:</sel>
          <arg type="int">count</arg>
          <desc>
            Draw and fill the array of <var>rects</var>. (DPS,
            Quartz)
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSReplaceGState:</sel>
          <arg type="NSInteger">gst</arg>
          <desc>
            Replaces the gstate refered to by the tag
            <var>gst</var> with the current gstate. The former
            gstate is destroyed. (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSSendBezierPath:</sel>
          <arg type="NSBezierPath*">path</arg>
          <desc>
            Set the bezier <var>path</var> as the current
            <var>path</var>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSSetCTM:</sel>
          <arg type="NSAffineTransform*">ctm</arg>
          <desc>
            Sets the coordinate transform matrix which describes
            how graphics will be transformed into device
            coordinates. (Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSSetCharacterSpacing:</sel>
          <arg type="CGFloat">extra</arg>
          <desc>
            Use this method to set the additional spacing between
            characters (glyphs). This spacing is added to
            the normal spacing for each character. Units are in
            text-space coordinate system. (Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSSetDevice:</sel>
          <arg type="void*">device</arg>
          <sel>:</sel>
          <arg type="int">x</arg>
          <sel>:</sel>
          <arg type="int">y</arg>
          <desc>
            This is a private method used between the window
            server and the context. It should not be used in any
            application. Typically called by the window
            server to tell the context what window it should
            draw graphics to. The <var>device</var> pointer is an
            opaque type that contains information about the
            window. The <var>x</var> and <var>y</var> values
            tell the context that it should put the origin of the
            transform matrix at the indicated <var>x</var>
            and <var>y</var> values from the lower left-hand corner
            of the window
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSSetFillColor:</sel>
          <arg type="const CGFloat*">values</arg>
          <desc>
            Sets the current color for fill operations. The
            <var>values</var> array should have n components,
            where n corresponds to the number of color components
            required to specify the color in the current
            colorspace (Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSSetFillColorspace:</sel>
          <arg type="void*">spaceref</arg>
          <desc>
            <p>
              Sets the colorspace for fill operations based on
              values in the supplied dictionary dict.
            </p>
            <p>
              For device colorspaces (GSDeviceGray, GSDeviceRGB,
              GSDeviceCMYK), only the name of the
              colorspace needs to be set using the
              GSColorSpaceName key.
            </p>
            <p>
              Other colorspaces will be documented later
              (Quartz).
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSSetFont:</sel>
          <arg type="void*">fontref</arg>
          <desc>
            Set the current font for drawing glyphs. (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSSetFontSize:</sel>
          <arg type="CGFloat">size</arg>
          <desc>
            Set the font <var>size</var> of the current NSFont used
            for drawing glyphs. (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSSetPatterColor:</sel>
          <arg type="NSImage*">image</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSSetStrokeColor:</sel>
          <arg type="const CGFloat*">values</arg>
          <desc>
            Sets the current color for stroke operations. The
            <var>values</var> array should have n components,
            where n corresponds to the number of color components
            required to specify the color in the current
            colorspace (Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSSetStrokeColorspace:</sel>
          <arg type="void*">spaceref</arg>
          <desc>
            Sets the colorspace for stroke operations based on the
            values in the supplied dictionary. See
            <ref type="method" id="-GSSetFillColorspace:">
              -GSSetFillColorspace:
            </ref>
            for a description of the values that need to be
            supplied (Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSSetTextCTM:</sel>
          <arg type="NSAffineTransform*">ctm</arg>
          <desc>
            <p>
              Set the transfer function for transforming text from
              text space to user space. This transform is only
              applied to text objects and is in addition to the
              normal coordinate transform matrix. When drawing
              text, this transform is applied before the normal
              CTM.
            </p>
            <p>
              The text matrix can be changed by either modifying it
              directly, or just by drawing text, in which
              case the tx and ty offset veriables are modified to
              point to the location of the next character that
              could be rendered (Quartz).
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSSetTextDrawingMode:</sel>
          <arg type="GSTextDrawingMode">mode</arg>
          <desc>
            Set the current text drawing <var>mode</var>. The
            <var>mode</var> can be one of several values that
            fill/stroke the text or add it to the current
            clipping path. (Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSSetTextPosition:</sel>
          <arg type="NSPoint">loc</arg>
          <desc>
            Set the location at which text will be drawn, in
            text-space coordinates. This routine updates the
            current text coordinate matrix. (Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSShowGlyphs:</sel>
          <arg type="const NSGlyph*">glyphs</arg>
          <sel>:</sel>
          <arg type="size_t">length</arg>
          <desc>
            Paints the <var>glyphs</var> using the current font.
            (Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSShowGlyphsWithAdvances:</sel>
          <arg type="const NSGlyph*">glyphs</arg>
          <sel>:</sel>
          <arg type="const NSSize*">advances</arg>
          <sel>:</sel>
          <arg type="size_t">length</arg>
          <desc>
            Paints the <var>glyphs</var> with the specified
            <var>advances</var> using the current font. (Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSShowText:</sel>
          <arg type="const char*">string</arg>
          <sel>:</sel>
          <arg type="size_t">length</arg>
          <desc>
            Paints text represented by the characters in
            <var>string</var> in the current font. (Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GSUndefineGState:</sel>
          <arg type="NSInteger">gst</arg>
          <desc>
            Disassociates the tag <var>gst</var> with
            it's gstate and destroys the gstate object. The tag
            will no longer be valid and should not be used to
            refer to the gstate again. (DPS, Quartz).
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>GScomposite:</sel>
          <arg type="NSInteger">gstateNum</arg>
          <sel>toPoint:</sel>
          <arg type="NSPoint">aPoint</arg>
          <sel>fromRect:</sel>
          <arg type="NSRect">srcRect</arg>
          <sel>operation:</sel>
          <arg type="NSCompositingOperation">op</arg>
          <sel>fraction:</sel>
          <arg type="CGFloat">delta</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" override="dummy" ovadd="1.0.0">
          <sel>GSdraw:</sel>
          <arg type="NSInteger">gstateNum</arg>
          <sel>toPoint:</sel>
          <arg type="NSPoint">aPoint</arg>
          <sel>fromRect:</sel>
          <arg type="NSRect">srcRect</arg>
          <sel>operation:</sel>
          <arg type="NSCompositingOperation">op</arg>
          <sel>fraction:</sel>
          <arg type="CGFloat">delta</arg>
          <desc>
            Draws a gstate in a way that fully respects the
            destination transform, unlike the GSComposite
            operator which ignores the rotation and the
            scaling effect on the content. Note: For the
            GScomposite operator, the scaling and rotation
            affects the destination point but not the content.
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>appendBezierPathWithPackedGlyphs:</sel>
          <arg type="const char*">packedGlyphs</arg>
          <sel>path:</sel>
          <arg type="NSBezierPath*">aPath</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="BOOL" override="dummy" ovadd="1.0.0">
          <sel>supportsDrawGState</sel>
          <desc>
            Returns whether the backend supports a GSDraw
            operator. By default, returns <code>NO</code>.
            <br /> When a GSContext backend subclass overrides
            this method to return <code>YES</code>, the backend
            must also implement
            <ref type="method" id="-drawGState:fromRect:toPoint:op:fraction:">-drawGState:fromRect:toPoint:op:fraction:</ref> in its GSState subclass. When <code>YES</code> is returned, -[NSImage drawXXX] methods that involves rotation, scaling etc. will delegate as much as possible the image drawing to the backend, rather than trying to emulate the resulting image in Gui by using intermediate images to rotate and scale the content, and then composite the result with <ref type="method" id="-GScomposite:toPoint:fromRect:operation:fraction:">-GScomposite:toPoint:fromRect:operation:fraction:</ref>. Backends which doesn't implement <ref type="method" id="-compositeGState:fromRect:toPoint:op:fraction:">-compositeGState:fromRect:toPoint:op:fraction:</ref> can draw rotated or scaled images, but the semantic won't exactly match the NSImage documentation in non-trivial cases.
          </desc>
        </method>
      </category>
    </chapter>
    <chapter>
      <heading>
        Software documentation for the
        NSGraphicsContext(Printing)
        category
      </heading>
      <category name="Printing" class="NSGraphicsContext" ovadd="1.0.0">
        <declared>AppKit/NSGraphicsContext.h</declared>
        <desc>
          <em>Description forthcoming.</em>
        </desc>
        <method type="void" ovadd="1.0.0">
          <sel>beginPage:</sel>
          <arg type="int">ordinalNum</arg>
          <sel>label:</sel>
          <arg type="NSString*">aString</arg>
          <sel>bBox:</sel>
          <arg type="NSRect">pageRect</arg>
          <sel>fonts:</sel>
          <arg type="NSString*">fontNames</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>beginPrologueBBox:</sel>
          <arg type="NSRect">boundingBox</arg>
          <sel>creationDate:</sel>
          <arg type="NSString*">dateCreated</arg>
          <sel>createdBy:</sel>
          <arg type="NSString*">anApplication</arg>
          <sel>fonts:</sel>
          <arg type="NSString*">fontNames</arg>
          <sel>forWhom:</sel>
          <arg type="NSString*">user</arg>
          <sel>pages:</sel>
          <arg type="int">numPages</arg>
          <sel>title:</sel>
          <arg type="NSString*">aTitle</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>beginSetup</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>beginTrailer</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>endDocumentPages:</sel>
          <arg type="int">pages</arg>
          <sel>documentFonts:</sel>
          <arg type="NSSet*">fontNames</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>endHeaderComments</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>endPageSetup</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>endPrologue</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>endSetup</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>endSheet</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>endTrailer</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>printerProlog</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>showPage</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
      </category>
    </chapter>
  </body>
</gsdoc>
