I'm trying to draw my own NSTextView cursor. I expect that for each pulse of the cursor, drawInsertionPointInRect(_:color:turnedOn:) will be called twice, once with turnedOn == true and, shortly afterward, again with turnedOn == false.
Instead, my method overriding drawInsertionPointInRect is called once per pulse. Each time it is called, turnedOn is true. Here is my override method: override func drawInsertionPointInRect(rect: NSRect, color: NSColor, turnedOn: Bool) { let lctx = alwaysOnOutlet.enter(#function) defer { lctx.exit() } lctx.print("... rect \(rect) turnedOn \(turnedOn)") super.drawInsertionPointInRect(rect, color: color, turnedOn: turnedOn) } (The lctx bits are just my instrumentation. They boil down to a couple of Swift.print() calls.) Here and there on the web, people describe a strategy for actually clearing the cursor when turnedOn == false. For example, http://stackoverflow.com/questions/15647874 . They mention that it's also necessary to override an undocumented function, _drawInsertionPointInRect. I haven't found any mention that turnedOn is always true. Am I wrong in my expectation that drawInsertionPointInRect should be called sometimes with turnedOn == false? Does anybody else see the behavior I describe? Dave -- David Young //\ Trestle Technology Consulting (217) 721-9981 Urbana, IL http://trestle.tech/ _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com