NSButton drawing glitch

  • I have a custom view that draw a rounded corner rectangle.
    This view is NOT opaque.
    Embedded within this view is a standard push button.

    I have my NSWindow background color set to [NSColor redColor] so I can
    see what is being drawn.

    The NSButton, when clicked, always shows little rounded off corners in
    red, ie the window bg color.
    It looks like somehow the NSButton is NOT letting any of its subviews
    draw, but just in those corners.
    The corners are NOT related to the button visual representation in any
    way that I can tell.

    I can not find any way to make it stop, except to make my view opaque.
    Doing so of course messes up MY rendering of rounded corners.

    Does anyone know how to make the NSButton behave?

    I suppose I can nest an opaque content view inside my view, but that
    won't work if I use a fill color with an alpha value.
  • Ahh. Its my own fault!  Isn't it always?
    The custom box code was using the dirty rect as its drawing bounds.
    Changing that to [self bounds] fixed it.

    On 15-Jan-08, at 1:00 PM, Steve Israelson wrote:

    > I have a custom view that draw a rounded corner rectangle.
    > This view is NOT opaque.
    > Embedded within this view is a standard push button.
    >
    > I have my NSWindow background color set to [NSColor redColor] so I
    > can see what is being drawn.
    >
    > The NSButton, when clicked, always shows little rounded off corners
    > in red, ie the window bg color.
    > It looks like somehow the NSButton is NOT letting any of its
    > subviews draw, but just in those corners.
    > The corners are NOT related to the button visual representation in
    > any way that I can tell.
    >
    > I can not find any way to make it stop, except to make my view
    > opaque. Doing so of course messes up MY rendering of rounded corners.
    >
    > Does anyone know how to make the NSButton behave?
    >
    > I suppose I can nest an opaque content view inside my view, but that
    > won't work if I use a fill color with an alpha value.
    >
previous month january 2008 next month
MTWTFSS
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Go to today