bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] NSButtonCell


From: Gregory John Casamento
Subject: Re: [PATCH] NSButtonCell
Date: Mon, 23 Feb 2004 21:25:35 -0800 (PST)

Adam,

I need to test this as this looks to me like the same portion of the NSToolbar
patch which I requested Quentin to fix before committing.

I will post my determination in a few minutes.

GJC

--- Adam Fedor <fedor@doc.com> wrote:
> On Thu, 2004-02-05 at 08:00, Quentin Mathé wrote:
> > Hi all,
> > 
> > Here is a patch for NSButtonCell.m which permits to the class to be 
> > drawn transparent when it is not bordered.
> > 
> > I also removed few lines about the focus dotted rect in order to have 
> > it always drawn with the same size than the button. It looks 
> > inconsistent to me to have the dotted rect not drawn with the same size 
> > when the button has a title, IMHO it should indicate the last focused 
> > area which in this case is not just the title area, but like always the 
> > button area. And I think also the focus dotted rect must be drawn even 
> > when the button is not bezeled (nor bordered).
> > What do you think ?
> > 
> 
> Looks reasonable to me. Any other comments on this?
> > *** /home/qmathe/myCVS/gnustep/core/gui/Source/NSButtonCell.m       Thu Feb 
> >  5
> 13:07:38 2004
> --- NSButtonCell.m    Thu Feb  5 15:22:07 2004
> ***************
> *** 669,683 ****
>         cellFrame = NSOffsetRect(cellFrame, 1., flippedView ? 1. : -1.);
>       }
>   
> -   /* Determine the background color. */
> -   if (mask & (NSChangeGrayCellMask | NSChangeBackgroundCellMask))
> -     {
> -       backgroundColor = [NSColor selectedControlColor];
> -     }
> - 
> -   if (backgroundColor == nil)
> -     backgroundColor = [NSColor controlBackgroundColor];
> - 
>     /* Draw the cell's background color.  
>        We draw when there is a border or when highlightsByMask
>        is NSChangeBackgroundCellMask or NSChangeGrayCellMask,
> --- 669,674 ----
> ***************
> *** 686,693 ****
>         || (_highlightsByMask & NSChangeBackgroundCellMask)
>         || (_highlightsByMask & NSChangeGrayCellMask))
>       {
> !       [backgroundColor set];
> !       NSRectFill (cellFrame);
>       }
>   
>     /*
> --- 677,713 ----
>         || (_highlightsByMask & NSChangeBackgroundCellMask)
>         || (_highlightsByMask & NSChangeGrayCellMask))
>       {
> !       /* Determine the background color. */
> !       if (mask & (NSChangeGrayCellMask | NSChangeBackgroundCellMask))
> !         {
> !           backgroundColor = [NSColor selectedControlColor];
> !         }
> !       else if (_cell.is_bordered) 
> !         {
> !           backgroundColor = [NSColor controlBackgroundColor];
> !         }
> !       else 
> !         {
> !           NSView *opaqueAncestor;
> !     
> !           /* 
> !        * we cannot use backgroundColor = [NSColor clearColor] because
> !        * there is no alpha support at the code writing time
> !        */
> !     
> !       // we must call superview because opaqueAncestor can return the caller
> !       opaqueAncestor = [[_control_view superview] opaqueAncestor]; 
> !           [opaqueAncestor lockFocus]; 
> !           [opaqueAncestor drawRect:[_control_view frame]];
> !           [opaqueAncestor unlockFocus];
> !         }
> !       
> !       if (backgroundColor != nil) 
> !         {
> !           [backgroundColor set];
> !           NSRectFill (cellFrame);
> !         }
> !       
>       }
>   
>     /*
> ***************
> *** 882,893 ****
>     if (_cell.shows_first_responder
>         && [[controlView window] firstResponder] == controlView)
>       {
> -       if (_cell.is_bordered || _cell.is_bezeled)
> -     NSDottedFrameRect(cellFrame);
> -       else if (ipos == NSImageOnly)
>       NSDottedFrameRect(cellFrame);
> -       else
> -     NSDottedFrameRect(titleRect);
>       }
>   }
>   
> --- 902,908 ----
> > _______________________________________________
> Bug-gnustep mailing list
> Bug-gnustep@gnu.org
> http://mail.gnu.org/mailman/listinfo/bug-gnustep
> 


=====
Gregory John Casamento -- CEO/President Open Logic Corp.

__________________________________
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools




reply via email to

[Prev in Thread] Current Thread [Next in Thread]