\fs28 \pard \s12 \li7029 \fi-6552 \ri1007 \ql \tx6652 \tx7030 \f1 \b0 \fi-6552 void\b NSEraseRect(\b0 NSRect \i aRect\b \i0 ) \b0 Erases the rectangle by filling it with white. (This does not alter the current drawing color\b .\b0 )\
\fi-6552 \fi-6552 \fi-6552 void \b NSHighlightRect(\b0 NSRect \i aRect\b \i0 ) \b0 Highlights or unhighlights a rectangle by switching light gray for white and vice versa, when drawing on the screen. If not drawing to the screen, the rectangle is filled with light gray.\
\fi-6552 \fi-6552 \fi-6552 void\b NSRectClip(\b0 NSRect \i aRect\b \i0 ) \b0 Intersects the current clipping path with the rectangle \i aRect\i0 , to determine a new clipping path. \
\fi-6552 \fi-6552 \fi-6552 void\b NSRectClipList(\b0 const NSRect *\i rects\i0 , Takes an array of \i count\i0 number of rectangles and intersects \
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 int \i count\b \i0 ) \b0 the current clipping path with each of them. Thus, the new clipping path is the graphic intersection of all the rectangles and the original clipping path. \
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 void\b NSRectFill(\b0 NSRect \i aRect\b \i0 ) \b0 Fills the rectangle referred to by \i aRect\i0 with the current color.\b \
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 const float *\i grays\i0 , int \i count\b \i0 ) \b0 Fills each rectangle in the array \i rects\i0 with the gray whose value is stored at the corresponding location in the array \i grays. \i0 Both arrays must be \i count\i0 elements long. Avoid rectangles that overlap, because the order in which they'll be filled can't be guaranteed.\b \
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 NSRect \i clipRect\b \i0 ) \b0 signifies a button in the OpenStep user interface. \i aRect\i0 is the bounds for the button, but only the area where \i aRect\i0 intersects \i clipRect \i0 is drawn.\
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 void \b NSDrawGrayBezel(\b0 NSRect \i aRect\i0 , Draws a bordered light gray rectangle with the appearance\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 NSRect \i clipRect\b \i0 ) \b0 of a pushed-in button, clipped by intersecting with \i clipRect\i0 .\
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 void\b NSDrawGroove(\b0 NSRect \i aRect\i0 , Draws a light gray rectangle whose border is a groove, \
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 NSRect \i clipRect\b \i0 )\b0 giving the appearance of a typical box in the OpenStep user interface.\
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 NSRect *\b NSDrawTiledRects(\b0 NSRect \i boundsRect\i0 , Draws an unfilled rectangle, clipped by \i clipRect\i0 , whose \
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 NSRect \i clipRect\i0 , \b \b0 border is defined by the parallel arrays \i sides\i0 and \i grays,\
\i0 const NSRectEdge *\i sides\i0 , both of length \i count. \i0 Each element of \i sides \i0 specifies an\
const float *\i grays\i0 , \b \b0 \i \i0 edge of the rectangle, which is drawn with a width of\
int \i count\b \i0 ) \b0 1.0 using the corresponding gray level from \i grays\i0 . If the \i edges\i0 array contains\b \b0 recurrences of the same edge, each is inset\b \b0 within the previous edge.\
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 void \b NSDrawWhiteBezel(\b0 NSRect \i aRect\i0 , Draws a white rectangle with a bezeled border. Only the\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 NSRect \i clipRect\b \i0 ) \b0 area that intersects \i clipRect \i0 is drawn.\
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 void\b NSFrameRect(\b0 NSRect \i aRect\b \i0 ) \b0 Draws a frame of width 1.0 around the inside of a rectangle, using the current color. \
\fi-6552 \fi-6552 \fi-6552 void\b NSFrameRectWithWidth(\b0 NSRect \i aRect\i0 , Draws a frame of width \i frameWidth\i0 around the inside of a\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 float \i frameWidth\b \i0 ) \b0 rectangle, using the current color.\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 \b0 Returns the number of bits per sample (bits per pixel in each color component) for the given window depth.\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 \b0 Returns the name of the color space that matches the given window depth.\
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 BOOL \b NSGetBestDepth(\b0 NSWindowDepth *\i depth\i0 , Returns YES if the function can provide, in the \i depth\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 \i0 int \i numColors\i0 , int \i bps\b \i0 ) \b0 \i \i0 argument, a window depth deep enough for the given number of colors and the given number of bits per sample.\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 \b0 Returns the number of color components in the named color space.\
\pard \s19 \li100 \fi0 \ri1007 \ql \f0 \b \fs16 \
\
\
\fs28 Read the color at a screen position\
\fs16 \
\fs28 \pard \s12 \li7029 \fi-6552 \ri1007 \ql \tx6652 \tx7030 \f1 \b0 \fi-6552 NSColor *\b NSReadPixel(\b0 NSPoint \i location\b \i0 ) \b0 Returns the color of the pixel at the given location, which must be specified in the current view\'27s coordinate system.\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 int \i flags, \b \i0 \b0 Identical to \b NSFieldFilter()\b0 except that it passes on values\
NSStringEncoding \i theEncoding\b \i0 )\b0 corresponding to Return, Tab, and Shift-Tab directly to the NSText object.\
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 unsigned short \b NSFieldFilter(\b0 unsigned short \i theChar\i0 , \
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 int \i flags\i0 , Checks each character the user types into an NSText\
NSStringEncoding \i theEncoding\b \i0 ) \b0 object's text, allowing the user to move the selection among text fields by pressing Return, Tab, or Shift-Tab. Alphanumeric characters are passed to the NSText object for display. The function returns either the ASCII value of the character typed, 0 (for illegal characters or ones entered while a Command key is held down), or a constant that the Text object interprets as a movement command.\
\pard \s19 \li100 \fi0 \ri1007 \ql \f0 \b \fs16 \
\
\
\fs28 Calculate or draw a line of text (in Text object)\
\fs16 \
\fs28 \pard \s12 \li7029 \fi-6552 \ri1007 \ql \tx6652 \tx7030 \f1 \b0 \fi-6552 int \b NSDrawALine(\b0 id \i self\i0 , Draws a line of text, using the global variables set by\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 NSLayInfo *\i layInfo\b \i0 ) \b0 \b NSScanALine()\b0 . The return value has no significance.\
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 int \b NSScanALine(\b0 id \i self\i0 , Determines the placement of characters in a line\i \i0 of text. \i self\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 \i0 NSLayInfo *\i layInfo\b \i0 ) \b0 \i \i0 refers to the NSText object calling the function, and \i *layInfo\i0 is an NSLayInfo struct. The function returns 1 if a word's length exceeds the width of a line and the NSText\'27s \b charWrap\b0 instance variable is NO. Otherwise, it returns 0.\
\pard \s19 \li100 \fi0 \ri1007 \ql \f0 \b \fs16 \
\
\
\fs28 Calculate font ascender, descender, and line height (in Text object)\
\fs16 \
\fs28 \pard \s12 \li7029 \fi-6552 \ri1007 \ql \tx6652 \tx7030 \f1 \b0 \fi-6552 void\b NSTextFontInfo(\b0 NSFont *\i font\i0 , Calculates, and returns by reference, the ascender,\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 float *\i ascender\i0 , float *\i descender\i0 , descender, and line height values for the NSFont given \
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 NSTextChunk \b *NSChunkGrow(\b0 NSTextChunk *\i pc\i0 , Increases the array identified by the pointer \i pc\i0 to a size of\
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 NSTextChunk *\b NSChunkMalloc(\b0 int \i growBy\i0 , Allocates initial memory for a structure whose first field is\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 int \i initUsed\b \i0 ) \b0 an NSTextChunk structure and whose subsequent field is a variable-sized array. The amount of memory allocated is equal to \i initUsed\i0 . If \i initUsed\i0 is 0, \i growBy\i0 bytes are allocated. \i growBy \i0 specifies how much memory should be allocated when the chunk grows.\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 \b0 \b \b0 Increases the amount of memory available for the array identified by the pointer \i pc\i0 , as determined by the array\'27s NSTextChunk.\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 int \i newUsed\i0 , Like \b NSChunkGrow()\b0 , but uses the specified zone of\
NSZone *\i zone\b \i0 ) \b0 memory.\
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 NSTextChunk *\b NSChunkZoneMalloc(\b0 int \i growBy\i0 , Like \b NSChunkMalloc()\b0 , but uses the specified zone of\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 int \i initUsed\i0 , memory.\
\fs28 \pard \s12 \li7029 \fi-6552 \ri1007 \ql \tx6652 \tx7030 \f1 \b0 \fi-6552 void \b NSCopyBitmapFromGstate(\b0 int \i gstate\i0 , Copies the pixels in the rectangle \i srcRect\i0 to the rectangle\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 NSRect \i srcRect\i0 , \i destRect\i0 . The source rectangle is defined in the \
NSRect\i destRect\b \i0 ) \b0 graphics state designated by \i gstate\i0 , and the destination is defined in the current graphics state. \
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 void \b NSCopyBits(\b0 int \i gstate\i0 , Copies the pixels in the rectangle \i aRect\i0 to the location\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 NSRect\i aRect\i0 , \i aPoint\i0 . The source rectangle is defined in the current\
NSPoint \i aPoint\b \i0 ) \b0 graphics state if \i gstate\i0 is NSNullObject; otherwise, in the graphics state designated by \i gstate\i0 . The \i aPoint\i0 destination is defined in the current graphics state.\
\pard \s19 \li100 \fi0 \ri1007 \ql \f0 \b \fs16 \
\
\
\fs28 Render bitmap images\
\fs16 \
\fs28 \pard \s12 \li7029 \fi-6552 \ri1007 \ql \tx6652 \tx7030 \f1 \b0 \fi-6552 void \b NSDrawBitmap\b0 (NSRect \i rect\i0 , Renders an image from a bitmap. \i rect\i0 is the rectangle in\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 int \i pixelsWide\i0 , which the image is drawn, and \i data \i0 is the bitmap data,\
int \i pixelsHigh\i0 , stored in up to 5 channels unless \i isPlanar \i0 is NO (in\
int \i bitsPerSample\i0 , which case the channels are interleaved in a single \
\fs28 Create an attention panel without running it yet\
\fs16 \
\fs28 \pard \s12 \li7029 \fi-6552 \ri1007 \ql \tx6652 \tx7030 \f1 \b0 \fi-6552 id \b NSGetAlertPanel(\b0 NSString *\i title\i0 , Returns an NSPanel object that you can use in a modal\
NSString *\i firstButton\i0 , \i \i0 displayed if \i firstButton\i0 is NULL.\
NSString *\i alternateButton\i0 , \
NSString *\i otherButton, ...\b \i0 )\
\pard \s19 \li100 \fi0 \ri1007 \ql \f0 \fs16 \
\
\
\fs28 Create and run an attention panel\
\fs16 \
\fs28 \pard \s12 \li7029 \fi-6552 \ri1007 \ql \tx6652 \tx7030 \f1 \b0 \fi-6552 int \b NSRunAlertPanel(\b0 NSString *\i title\i0 , Creates an attention panel that alerts the user to some\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 NSString *\i msg, \i0 consequence of a requested action, and runs the panel in\
NSString *\i defaultButton, \i0 a modal event loop. \i title\i0 is the panel\'27s title (by default, \
NSString *\i alternateButton, \i0 \'aaAlert\'ba); \i msg\i0 is the \b printf()\b0 -style message that's\
NSString *\i otherButton, ...\b \i0 ) \b0 displayed in the panel; \i defaultButton \i0 (by default, \'aaOK\'ba) is the title for the main button, also activated by Return; \i alternateButton \i0 and \i otherButton \i0 give two more choices, which are displayed only if\i \i0 the corresponding argument isn\'27t NULL.\i \i0 The trailing arguments are a variable number of \b printf()\b0 -style\i \i0 arguments to \i msg\i0 .\
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 int \b NSRunLocalizedAlertPanel(\b0 NSString *\i table\i0 , Similar to \b NSRunAlertPanel()\b0 , but preferred, as it makes\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 NSString *\i title\i0 , use of OpenStep\'27s localization feature for languages of\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 BOOL \i showService\b \i0 ) \b0 Determines (based on the value of \i showService\i0 ) whether the \i item\i0 command will be included in other applications\'27 Services menus. \i item \i0 describes a service provided by this application, and should be the same string entered in the \'aaMenu Item:\'ba field of the services file. The function returns 0 upon success.\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 \b0 Returns YES if \i item\i0 is currently shown in Services menus.\
\pard \s19 \li100 \fi0 \ri1007 \ql \f0 \b \fs16 \
\
\
\fs28 Programmatically invoke a service\
\fs16 \
\fs28 \pard \s12 \li7029 \fi-6552 \ri1007 \ql \tx6652 \tx7030 \f1 \b0 \fi-6552 BOOL \b NSPerformService(\b0 NSString *\i item\i0 , Invokes a service found in the application\'27s Services menu.\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 NSPasteboard *\i pboard\b \i0 ) \b0 \i item\i0 is the name of a Services menu item, in any language; a slash in this name represents a submenu. \i pboard\i0 must contain the data required by the service, and when the function returns, \i pboard\i0 will contain the data supplied by the service provider.\
\pard \s19 \li100 \fi0 \ri1007 \ql \f0 \b \fs16 \
\
\
\fs28 Force Services menu to update based on new services\
\fs16 \
\fs28 \pard \s12 \li7029 \fi-6552 \ri1007 \ql \tx6652 \tx7030 \f1 \b0 \fi-6552 void \b NSUpdateDynamicServices(\b0 void\b ) \b0 Re-registers the services the application is willing to provide, by reading the file with the extension \'aa.service\'ba in the application path or in the standard path for services.\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 \b0 Returns a string naming a pasteboard type that represents a file's contents, based on the supplied string \i fileType\i0 . \i fileType\i0 should generally be the extension part of a file name. The conversion from a named file type to a pasteboard type is simple; no mapping to standard pasteboard types is attempted.\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 \b0 Returns a string naming a pasteboard type that represents a a file name, based on the supplied string \i filename\i0 . \
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 \b0 Returns the extension or file name from which the pasteboard type \i pboardType\i0 was derived. \b nil\b0 is returned if \i pboardType\i0 isn't a pasteboard type created by \b NSCreateFileContentsPboardType()\b0 or \b NSCreateFilenamePboardType()\b0 .\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 \b0 Accepts an array of pasteboard types and returns an array of the unique extensions and file names from the file-content and file-name types found in the input array. It returns \b nil\b0 if the input array contains no file-content or file-name types.\
\pard \s19 \li100 \fi0 \ri1007 \ql \f0 \b \fs16 \
\
\
\fs28 Draw a distinctive outline around linked data\
\fs16 \
\fs28 \pard \s12 \li7029 \fi-6552 \ri1007 \ql \tx6652 \tx7030 \f1 \b0 \fi-6552 void \b NSFrameLinkRect(\b0 NSRect \i aRect\i0 , Draws a distinctive link outline just outside the rectangle\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 BOOL \i isDestination\b \i0 ) \b0 \i aRect\i0 . To draw an outline around a destination link, \i isDestination\i0 should be YES, otherwise NO. \
\s12 \li7029 \fi-5794 \fi-6552 \fi-6552 float \b NSLinkFrameThickness(\b0 void\b )\b0 Returns the thickness of the link outline so that the outline can be properly erased by the application, or for other purposes.\
\fi-6552 \s13 \li7030 \fi-6553 \fi-5796 Returns the event mask corresponding to \i type\i0 (which is an enumeration constant). The returned mask equals 1 left-shifted by \i type \i0 bits. \