• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Problem on drawing custom scroller.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem on drawing custom scroller.


  • Subject: Re: Problem on drawing custom scroller.
  • From: Andy Lee <email@hidden>
  • Date: Sun, 14 Jun 2009 22:41:40 -0400

On Jun 14, 2009, at 9:03 PM, Sumin Kim wrote:
When I grab and move the knob in my custom scroller, it leaves its track over the knob slot. So, after I moved the knob several times, the knob slot show several horizontal lines-tracks of the knob- over it.

Someone may have to correct my explanation, but I believe this is because NSBezierPath draws lines exactly on the coordinates that you give it, which means half the line lies outside the rectangle and half lies inside. Notice that if you use NSFrameRect(knobRect) instead of [knobPath stroke], the problem goes away. This is because NSFrameRect() draws the line just inside the rectangle you give it.


@implementation BSScroller

- (void)drawKnob {
    NSLog(@"drawKnob ///// ");
    NSRect knobRect = [self rectForPart:NSScrollerKnob];

If you want to stick with NSBezierPath, I see that replacing the line above with


NSRect knobRect = NSInsetRect([self rectForPart:NSScrollerKnob], 0.5, 0.5);

also works, though I don't know if that's the "right" way to do it.

There's probably a more precise explanation in the Cocoa Drawing Guide, but I'm too lazy to look for it:

<http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaDrawingGuide/Introduction/Introduction.html >

--Andy

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Problem on drawing custom scroller.
      • From: Sumin Kim <email@hidden>
    • Re: Problem on drawing custom scroller.
      • From: Sumin Kim <email@hidden>
References: 
 >Problem on drawing custom scroller. (From: Sumin Kim <email@hidden>)

  • Prev by Date: Problem on drawing custom scroller.
  • Next by Date: What xcode project template needed to create GLUT APP?
  • Previous by thread: Problem on drawing custom scroller.
  • Next by thread: Re: Problem on drawing custom scroller.
  • Index(es):
    • Date
    • Thread