Draw image background even when clear

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11654 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Adam Fedor 2001-12-07 22:52:42 +00:00
parent 25d07c1ec7
commit 36be3e7686
9 changed files with 138 additions and 564 deletions

View file

@ -1,3 +1,13 @@
2001-12-07 Adam Fedor <fedor@gnu.org>
* Source/NSImage.m (-drawRepresentation:inRect:): Draw
background even when alpha == 0.
* Source/NSApplication.m (-sendEvent:): Simplify NSDebugLog.
* Documentation/gsdoc/DefaultsSummary.gsdoc: Update
* Documentation/gsdoc/Gui.gsdoc: Remove NSDPSContext.
2001-12-07 Pierre-Yves Rivaille <pyrivail@ens-lyon.fr>
* Headers/gnustep/gui/NSTableColumn.h:

View file

@ -163,12 +163,13 @@
limit the range of red, green, and blue values that could be used.
</p>
</desc>
<term>XGPS-Shm</term>
<term>GSBorderedBorderlessWindows</term>
<desc>
<p>
A boolean value which defaults to <code>YES</code> (as long as shared
memory is available). If set to <code>NO</code>, shared memory is not
used for various display specific operations.
A boolean value which defaults to <code>NO</code>. Some Window
Managers and/or X servers put a border around windows that are
supposed to be borderless. Set this to <code>YES</code> if you
have odd problems of menus/windows moving when you click on them.
</p>
</desc>
<term>GSFontAntiAlias</term>
@ -190,8 +191,59 @@
recommended anyway, particularly on fast systems.
</p>
</desc>
<term>Keyboard Modifiers</term>
<desc>
<p>
The OPENstep specification requires 3 main different
keyboard modifiers: <code>CONTROL</code>,
<code>COMMAND</code> and <code>ALTERNATE</code>. Some systems
may not have these set up correctly. You can changed the defaults
with the default keys.
</p>
<list>
<item>GSFirstControlKey</item>
<item>GSSecondControlKey</item>
<item>GSFirstCommandKey</item>
<item>GSSecondCommandKey</item>
<item>GSFirstAlternateKey</item>
<item>GSSecondAlternateKey</item>
</list>
<p>
Default values are respectively:
</p>
<list>
<item>Control_L</item>
<item>Control_R</item>
<item>Alt_L</item>
<item>NoSymbol</item>
<item>Alt_R</item>
<item>NoSymbol</item>
</list>
<p>
This is described more completely in the GUI documentation.
</p>
</desc>
<term>UseWindowMakerIcons</term>
<desc>
<p>
A boolean value which defaults to <code>YES</code>. If set to
<code>YES</code> then icon windows are controlled by the
window manager, otherwise they are controlled by the GNUstep
application.
</p>
</desc>
<term>XGPS-Shm</term>
<desc>
<p>
A boolean value which defaults to <code>YES</code> (as long as shared
memory is available). If set to <code>NO</code>, shared memory is not
used for various display specific operations.
</p>
</desc>
</deflist>
</section>
</chapter>
</body>
</gsdoc>

View file

@ -89,8 +89,8 @@
<dd>
<p>
An interface style specific to menu operation. See
NSInterfaceStyleDefault.
An interface style specific to menu operation. If not set
the NSInterfaceStyleDefault value is used.
</p>
@ -186,13 +186,14 @@
</p>
<dt>XGPS-Shm
<dt>GSBorderedBorderlessWindows
<dd>
<p>
A boolean value which defaults to <code>YES</code> (as long as shared
memory is available). If set to <code>NO</code>, shared memory is not
used for various display specific operations.
A boolean value which defaults to <code>NO</code>. Some Window
Managers and/or X servers put a border around windows that are
supposed to be borderless. Set this to <code>YES</code> if you
have odd problems of menus/windows moving when you click on them.
</p>
@ -219,6 +220,67 @@
</p>
<dt>Keyboard Modifiers
<dd>
<p>
The OPENstep specification requires 3 main different
keyboard modifiers: <code>CONTROL</code>,
<code>COMMAND</code> and <code>ALTERNATE</code>. Some systems
may not have these set up correctly. You can changed the defaults
with the default keys.
</p>
<ul>
<li >GSFirstControlKey
<li >GSSecondControlKey
<li >GSFirstCommandKey
<li >GSSecondCommandKey
<li >GSFirstAlternateKey
<li >GSSecondAlternateKey
</ul>
<p>
Default values are respectively:
</p>
<ul>
<li >Control_L
<li >Control_R
<li >Alt_L
<li >NoSymbol
<li >Alt_R
<li >NoSymbol
</ul>
<p>
This is described more completely in the GUI documentation.
</p>
<dt>UseWindowMakerIcons
<dd>
<p>
A boolean value which defaults to <code>YES</code>. If set to
<code>YES</code> then icon windows are controlled by the
window manager, otherwise they are controlled by the GNUstep
application.
</p>
<dt>XGPS-Shm
<dd>
<p>
A boolean value which defaults to <code>YES</code> (as long as shared
memory is available). If set to <code>NO</code>, shared memory is not
used for various display specific operations.
</p>
</dl>
</body>

View file

@ -51,7 +51,6 @@
<item><uref url="NSControl.html">NSControl</uref></item>
<item><uref url="NSCursor.html">NSCursor</uref></item>
<item><uref url="NSCustomImageRep.html">NSCustomImageRep</uref></item>
<item><uref url="NSDPSContext.html">NSDPSContext</uref></item>
<item><uref url="NSDocument.html">NSDocument</uref></item>
<item><uref url="NSDocumentController.html">NSDocumentController</uref></item>
<item><uref url="NSEPSImageRep.html">NSEPSImageRep</uref></item>

View file

@ -51,7 +51,6 @@
<li ><a href ="NSControl.html">NSControl</a>
<li ><a href ="NSCursor.html">NSCursor</a>
<li ><a href ="NSCustomImageRep.html">NSCustomImageRep</a>
<li ><a href ="NSDPSContext.html">NSDPSContext</a>
<li ><a href ="NSDocument.html">NSDocument</a>
<li ><a href ="NSDocumentController.html">NSDocumentController</a>
<li ><a href ="NSEPSImageRep.html">NSEPSImageRep</a>

View file

@ -1,264 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 0.6.5//EN" "http://www.gnustep.org/gsdoc-0_6_5.xml">
<gsdoc base="NSDPSContext" prev="NSCustomImageRep.html" next="NSDocument.html" up="Gui.html">
<head>
<title>NSDPSContext</title>
<author name="Richard Frith-Macdonald">
<email address="rfm@gnu.org"/>
<url url="http://www.gnustep.org/developers/whoiswho.html"/>
</author>
<version>$Revision$</version>
<date>$Date$</date>
</head>
<body>
<chapter>
<heading>NSDPSContext</heading>
<class name="NSDPSContext" super="NSGraphicsContext">
<declared>Gui/NSDPSContext.h</declared>
<conform>NSObject</conform>
<desc>
</desc>
<method type="BOOL" factory="yes">
<sel>areAllContextsOutputTraced</sel>
<desc>
</desc>
</method>
<method type="BOOL" factory="yes">
<sel>areAllContextsSynchronized</sel>
<desc>
</desc>
</method>
<method type="id" factory="yes">
<sel>currentContext</sel>
<desc>
</desc>
</method>
<method type="void" factory="yes">
<sel>setAllContextsOutputTraced:</sel>
<arg type="BOOL">flag</arg>
<desc>
</desc>
</method>
<method type="void" factory="yes">
<sel>setAllContextsSynchronized:</sel>
<arg type="BOOL">flag</arg>
<desc>
</desc>
</method>
<method type="void" factory="yes">
<sel>setCurrentContext:</sel>
<arg type="NSGraphicsContext*">context</arg>
<desc>
</desc>
</method>
<method type="NSString*" factory="yes">
<sel>stringForDPSError:</sel>
<arg type="constDPSBinObjSeqRec*">error</arg>
<desc>
</desc>
</method>
<method type="DPSContext">
<sel>DPSContext</sel>
<desc>
</desc>
</method>
<method type="void">
<sel>awaitReturnValues</sel>
<desc>
</desc>
</method>
<method type="void">
<sel>chainChildContext:</sel>
<arg type="NSDPSContext*">child</arg>
<desc>
</desc>
</method>
<method type="NSDPSContext*">
<sel>childContext</sel>
<desc>
</desc>
</method>
<method type="DPSErrorProc">
<sel>errorProc</sel>
<desc>
</desc>
</method>
<method type="void">
<sel>flush</sel>
<desc>
</desc>
</method>
<method type="id">
<sel></sel>
<desc>
</desc>
</method>
<method type="void">
<sel>interruptExecution</sel>
<desc>
</desc>
</method>
<method type="BOOL">
<sel>isDrawingToScreen</sel>
<desc>
</desc>
</method>
<method type="BOOL">
<sel>isOutputTraced</sel>
<desc>
</desc>
</method>
<method type="BOOL">
<sel>isSynchronized</sel>
<desc>
</desc>
</method>
<method type="BOOL">
<sel>isWaitCursorEnabled</sel>
<desc>
</desc>
</method>
<method type="NSMutableData*">
<sel>mutableData</sel>
<desc>
</desc>
</method>
<method type="void">
<sel>notifyObjectWhenFinishedExecuting:</sel>
<arg type="id&lt;NSDPSContextNotification&gt;">object</arg>
<desc>
</desc>
</method>
<method type="NSDPSContext*">
<sel>parentContext</sel>
<desc>
</desc>
</method>
<method type="void">
<sel>printFormat:</sel>
<arg type="NSString*">format,...</arg>
<desc>
</desc>
</method>
<method type="void">
<sel>printFormat:</sel>
<arg type="NSString*">format</arg>
<sel>arguments:</sel>
<arg type="va_list">argList</arg>
<desc>
</desc>
</method>
<method type="void">
<sel>resetCommunication</sel>
<desc>
</desc>
</method>
<method type="void">
<sel>setErrorProc:</sel>
<arg type="DPSErrorProc">proc</arg>
<desc>
</desc>
</method>
<method type="void">
<sel>setOutputTraced:</sel>
<arg type="BOOL">flag</arg>
<desc>
</desc>
</method>
<method type="void">
<sel>setSynchronized:</sel>
<arg type="BOOL">flag</arg>
<desc>
</desc>
</method>
<method type="void">
<sel>setTextProc:</sel>
<arg type="DPSTextProc">proc</arg>
<desc>
</desc>
</method>
<method type="void">
<sel>setWaitCursorEnabled:</sel>
<arg type="BOOL">flag</arg>
<desc>
</desc>
</method>
<method type="void">
<sel>startWaitCursorTimer</sel>
<desc>
</desc>
</method>
<method type="DPSTextProc">
<sel>textProc</sel>
<desc>
</desc>
</method>
<method type="void">
<sel>unchainContext</sel>
<desc>
</desc>
</method>
<method type="void">
<sel>updateNameMap</sel>
<desc>
</desc>
</method>
<method type="void">
<sel>wait</sel>
<desc>
</desc>
</method>
<method type="void">
<sel>writeBOSArray:</sel>
<arg type="constvoid*">data</arg>
<sel>count:</sel>
<arg type="unsigned int">items</arg>
<sel>ofType:</sel>
<arg type="DPSDefinedType">type</arg>
<desc>
</desc>
</method>
<method type="void">
<sel>writeBOSNumString:</sel>
<arg type="constvoid*">data</arg>
<sel>length:</sel>
<arg type="unsigned int">count</arg>
<sel>ofType</sel>
<arg type="DPSDefinedType">type</arg>
<sel>scale:</sel>
<arg type="int">scale</arg>
<desc>
</desc>
</method>
<method type="void">
<sel>writeBOSString:</sel>
<arg type="constvoid*">data</arg>
<sel>length:</sel>
<arg type="unsigned int">bytes</arg>
<desc>
</desc>
</method>
<method type="void">
<sel>writeBinaryObjectSequence:</sel>
<arg type="constvoid*">data</arg>
<sel>length:</sel>
<arg type="unsigned int">bytes</arg>
<desc>
</desc>
</method>
<method type="void">
<sel>writeData:</sel>
<arg type="NSData*">buf</arg>
<desc>
</desc>
</method>
<method type="void">
<sel>writePostScriptWithLanguageEncodingConversion:</sel>
<arg type="NSData*">buf</arg>
<desc>
</desc>
</method>
</class>
</chapter>
</body>
</gsdoc>

View file

@ -1,281 +0,0 @@
<html><head>
<title>NSDPSContext</title>
</head>
<body>
<a href ="NSCustomImageRep.html">[Previous] </a>
<a href ="Gui.html">[Up] </a>
<a href ="NSDocument.html">[Next] </a>
<h1>NSDPSContext</h1>
<h3>Authors </h3>
<dl>
<dt><a href ="http://www.gnustep.org/developers/whoiswho.html">Richard Frith-Macdonald</a>
<dd>
</dl>
<p>Version: $Revision$</p>
<p>Date: $Date$</p>
<h2><a name ="cont-0">NSDPSContext</a></h2>
<h2><a name ="NSDPSContext">NSDPSContext</a></h2>
<p><b>Declared in: </b> Gui/NSDPSContext.h</p>
<p><b>Inherits from: </b> NSGraphicsContext</p>
<p><b>Conforms to: </b> NSObject
</p>
<hr>
<h2>Instance Variables </h2>
<ul>
</ul>
<h2>Methods </h2>
<ul>
<li ><a href ="NSDPSContext.html#method-0">+areAllContextsOutputTraced</a>
<li ><a href ="NSDPSContext.html#method-1">+areAllContextsSynchronized</a>
<li ><a href ="NSDPSContext.html#method-2">+currentContext</a>
<li ><a href ="NSDPSContext.html#method-3">+setAllContextsOutputTraced:</a>
<li ><a href ="NSDPSContext.html#method-4">+setAllContextsSynchronized:</a>
<li ><a href ="NSDPSContext.html#method-5">+setCurrentContext:</a>
<li ><a href ="NSDPSContext.html#method-6">+stringForDPSError:</a>
<li ><a href ="NSDPSContext.html#method-13">-</a>
<li ><a href ="NSDPSContext.html#method-7">-DPSContext</a>
<li ><a href ="NSDPSContext.html#method-8">-awaitReturnValues</a>
<li ><a href ="NSDPSContext.html#method-9">-chainChildContext:</a>
<li ><a href ="NSDPSContext.html#method-10">-childContext</a>
<li ><a href ="NSDPSContext.html#method-11">-errorProc</a>
<li ><a href ="NSDPSContext.html#method-12">-flush</a>
<li ><a href ="NSDPSContext.html#method-14">-interruptExecution</a>
<li ><a href ="NSDPSContext.html#method-15">-isDrawingToScreen</a>
<li ><a href ="NSDPSContext.html#method-16">-isOutputTraced</a>
<li ><a href ="NSDPSContext.html#method-17">-isSynchronized</a>
<li ><a href ="NSDPSContext.html#method-18">-isWaitCursorEnabled</a>
<li ><a href ="NSDPSContext.html#method-19">-mutableData</a>
<li ><a href ="NSDPSContext.html#method-20">-notifyObjectWhenFinishedExecuting:</a>
<li ><a href ="NSDPSContext.html#method-21">-parentContext</a>
<li ><a href ="NSDPSContext.html#method-22">-printFormat:</a>
<li ><a href ="NSDPSContext.html#method-23">-printFormat:arguments:</a>
<li ><a href ="NSDPSContext.html#method-24">-resetCommunication</a>
<li ><a href ="NSDPSContext.html#method-25">-setErrorProc:</a>
<li ><a href ="NSDPSContext.html#method-26">-setOutputTraced:</a>
<li ><a href ="NSDPSContext.html#method-27">-setSynchronized:</a>
<li ><a href ="NSDPSContext.html#method-28">-setTextProc:</a>
<li ><a href ="NSDPSContext.html#method-29">-setWaitCursorEnabled:</a>
<li ><a href ="NSDPSContext.html#method-30">-startWaitCursorTimer</a>
<li ><a href ="NSDPSContext.html#method-31">-textProc</a>
<li ><a href ="NSDPSContext.html#method-32">-unchainContext</a>
<li ><a href ="NSDPSContext.html#method-33">-updateNameMap</a>
<li ><a href ="NSDPSContext.html#method-34">-wait</a>
<li ><a href ="NSDPSContext.html#method-35">-writeBOSArray:count:ofType:</a>
<li ><a href ="NSDPSContext.html#method-36">-writeBOSNumString:length:ofTypescale:</a>
<li ><a href ="NSDPSContext.html#method-37">-writeBOSString:length:</a>
<li ><a href ="NSDPSContext.html#method-38">-writeBinaryObjectSequence:length:</a>
<li ><a href ="NSDPSContext.html#method-39">-writeData:</a>
<li ><a href ="NSDPSContext.html#method-40">-writePostScriptWithLanguageEncodingConversion:</a>
</ul>
<hr><h2>Class Methods </h2>
<h3><a name ="method-0">areAllContextsOutputTraced</a></h3>
+ (BOOL) <b>areAllContextsOutputTraced</b>;<br>
<hr>
<h3><a name ="method-1">areAllContextsSynchronized</a></h3>
+ (BOOL) <b>areAllContextsSynchronized</b>;<br>
<hr>
<h3><a name ="method-2">currentContext</a></h3>
+ (id) <b>currentContext</b>;<br>
<hr>
<h3><a name ="method-3">setAllContextsOutputTraced:</a></h3>
+ (void) <b>setAllContextsOutputTraced:</b> (BOOL)flag;<br>
<hr>
<h3><a name ="method-4">setAllContextsSynchronized:</a></h3>
+ (void) <b>setAllContextsSynchronized:</b> (BOOL)flag;<br>
<hr>
<h3><a name ="method-5">setCurrentContext:</a></h3>
+ (void) <b>setCurrentContext:</b> (NSGraphicsContext*)context;<br>
<hr>
<h3><a name ="method-6">stringForDPSError:</a></h3>
+ (NSString*) <b>stringForDPSError:</b> (constDPSBinObjSeqRec*)error;<br>
<hr>
<hr><h2>Instances Methods </h2>
<h3><a name ="method-7">DPSContext</a></h3>
- (DPSContext) <b>DPSContext</b>;<br>
<hr>
<h3><a name ="method-8">awaitReturnValues</a></h3>
- (void) <b>awaitReturnValues</b>;<br>
<hr>
<h3><a name ="method-9">chainChildContext:</a></h3>
- (void) <b>chainChildContext:</b> (NSDPSContext*)child;<br>
<hr>
<h3><a name ="method-10">childContext</a></h3>
- (NSDPSContext*) <b>childContext</b>;<br>
<hr>
<h3><a name ="method-11">errorProc</a></h3>
- (DPSErrorProc) <b>errorProc</b>;<br>
<hr>
<h3><a name ="method-12">flush</a></h3>
- (void) <b>flush</b>;<br>
<hr>
<h3><a name ="method-13"></a></h3>
- (id) <b></b>;<br>
<hr>
<h3><a name ="method-14">interruptExecution</a></h3>
- (void) <b>interruptExecution</b>;<br>
<hr>
<h3><a name ="method-15">isDrawingToScreen</a></h3>
- (BOOL) <b>isDrawingToScreen</b>;<br>
<hr>
<h3><a name ="method-16">isOutputTraced</a></h3>
- (BOOL) <b>isOutputTraced</b>;<br>
<hr>
<h3><a name ="method-17">isSynchronized</a></h3>
- (BOOL) <b>isSynchronized</b>;<br>
<hr>
<h3><a name ="method-18">isWaitCursorEnabled</a></h3>
- (BOOL) <b>isWaitCursorEnabled</b>;<br>
<hr>
<h3><a name ="method-19">mutableData</a></h3>
- (NSMutableData*) <b>mutableData</b>;<br>
<hr>
<h3><a name ="method-20">notifyObjectWhenFinishedExecuting:</a></h3>
- (void) <b>notifyObjectWhenFinishedExecuting:</b> (id&#60;NSDPSContextNotification>)object;<br>
<hr>
<h3><a name ="method-21">parentContext</a></h3>
- (NSDPSContext*) <b>parentContext</b>;<br>
<hr>
<h3><a name ="method-22">printFormat:</a></h3>
- (void) <b>printFormat:</b> (NSString*)format,...;<br>
<hr>
<h3><a name ="method-23">printFormat:arguments:</a></h3>
- (void) <b>printFormat:</b> (NSString*)format <b>arguments:</b> (va_list)argList;<br>
<hr>
<h3><a name ="method-24">resetCommunication</a></h3>
- (void) <b>resetCommunication</b>;<br>
<hr>
<h3><a name ="method-25">setErrorProc:</a></h3>
- (void) <b>setErrorProc:</b> (DPSErrorProc)proc;<br>
<hr>
<h3><a name ="method-26">setOutputTraced:</a></h3>
- (void) <b>setOutputTraced:</b> (BOOL)flag;<br>
<hr>
<h3><a name ="method-27">setSynchronized:</a></h3>
- (void) <b>setSynchronized:</b> (BOOL)flag;<br>
<hr>
<h3><a name ="method-28">setTextProc:</a></h3>
- (void) <b>setTextProc:</b> (DPSTextProc)proc;<br>
<hr>
<h3><a name ="method-29">setWaitCursorEnabled:</a></h3>
- (void) <b>setWaitCursorEnabled:</b> (BOOL)flag;<br>
<hr>
<h3><a name ="method-30">startWaitCursorTimer</a></h3>
- (void) <b>startWaitCursorTimer</b>;<br>
<hr>
<h3><a name ="method-31">textProc</a></h3>
- (DPSTextProc) <b>textProc</b>;<br>
<hr>
<h3><a name ="method-32">unchainContext</a></h3>
- (void) <b>unchainContext</b>;<br>
<hr>
<h3><a name ="method-33">updateNameMap</a></h3>
- (void) <b>updateNameMap</b>;<br>
<hr>
<h3><a name ="method-34">wait</a></h3>
- (void) <b>wait</b>;<br>
<hr>
<h3><a name ="method-35">writeBOSArray:count:ofType:</a></h3>
- (void) <b>writeBOSArray:</b> (constvoid*)data <b>count:</b> (unsigned int)items <b>ofType:</b> (DPSDefinedType)type;<br>
<hr>
<h3><a name ="method-36">writeBOSNumString:length:ofTypescale:</a></h3>
- (void) <b>writeBOSNumString:</b> (constvoid*)data <b>length:</b> (unsigned int)count <b>ofType</b> (DPSDefinedType)type <b>scale:</b> (int)scale;<br>
<hr>
<h3><a name ="method-37">writeBOSString:length:</a></h3>
- (void) <b>writeBOSString:</b> (constvoid*)data <b>length:</b> (unsigned int)bytes;<br>
<hr>
<h3><a name ="method-38">writeBinaryObjectSequence:length:</a></h3>
- (void) <b>writeBinaryObjectSequence:</b> (constvoid*)data <b>length:</b> (unsigned int)bytes;<br>
<hr>
<h3><a name ="method-39">writeData:</a></h3>
- (void) <b>writeData:</b> (NSData*)buf;<br>
<hr>
<h3><a name ="method-40">writePostScriptWithLanguageEncodingConversion:</a></h3>
- (void) <b>writePostScriptWithLanguageEncodingConversion:</b> (NSData*)buf;<br>
<hr>
</body>
</html>

View file

@ -311,7 +311,7 @@ static NSCell* tileCell = nil;
}
- (void) drawRect: (NSRect)rect
{
{
[tileCell drawWithFrame: NSMakeRect(0,0,64,64) inView: self];
[dragCell drawWithFrame: NSMakeRect(8,8,48,48) inView: self];
}
@ -1248,15 +1248,12 @@ static NSCell* tileCell = nil;
if (!theEvent)
NSDebugLLog(@"NSEvent", @"NSEvent is nil!\n");
NSDebugLLog(@"NSEvent", @"NSEvent type: %d", type);
NSDebugLLog(@"NSEvent", @"send event to window");
NSDebugLLog(@"NSEvent", [window description]);
NSDebugLLog(@"NSEvent", @"Send NSEvent type: %d to window %@",
type, (window) ? window : @"No window");
if (window)
[window sendEvent: theEvent];
else if (type == NSRightMouseDown)
[self rightMouseDown: theEvent];
else
NSDebugLLog(@"NSEvent", @"no window");
}
}
}

View file

@ -796,7 +796,7 @@ repd_for_rep(NSArray *_reps, NSImageRep *rep)
- (BOOL) drawRepresentation: (NSImageRep *)imageRep inRect: (NSRect)aRect
{
if (_color != nil && [_color alphaComponent] != 0.0)
if (_color != nil)
{
[_color set];
NSRectFill(aRect);