Draw commit message line more accurately

When drawing the commit message line, the given rect should not be used
for anything other than clipping. According to the comment, the code that
draws the line relies on the text view always drawing complete lines.
However, it also draws fragments, specifically when the insertion point
is flashing. By ignoring the given rect, not only is our line more accurate
in its positioning, but we also handle the case where the insertion point
is sitting on top of the line.
This commit is contained in:
Kevin Ballard
2010-11-09 15:54:11 -08:00
committed by Nathan Kinsinger
parent 7123fd6519
commit e168123c0e
+3 -4
View File
@@ -22,13 +22,12 @@
float lineWidth = characterWidth * [PBGitDefaults commitMessageViewVerticalLineLength];
[[NSColor lightGrayColor] set];
// This depends upon the fact that NSTextView always redraws complete lines.
float padding = [[self textContainer] lineFragmentPadding];
NSRect line;
line.origin.x = padding + aRect.origin.x + lineWidth;
line.origin.y = aRect.origin.y;
line.origin.x = padding + lineWidth;
line.origin.y = 0;
line.size.width = 1;
line.size.height = aRect.size.height;
line.size.height = [self bounds].size.height;
NSRectFill(line);
}
}