aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authornyamatongwe <unknown>2012-03-01 10:12:25 +1100
committernyamatongwe <unknown>2012-03-01 10:12:25 +1100
commitc5a0e5e7516b4fb3263d52abefe6e38fa9f1e094 (patch)
tree8e2854a15d9ffbda21518f54ecd6e35a485591fb /src
parente3fc747b2c8c970566d19f11777897c153d86629 (diff)
downloadscintilla-mirror-c5a0e5e7516b4fb3263d52abefe6e38fa9f1e094.tar.gz
Bug #3494492. Change aveCharWidth in FontMeasurements to actually store
fractional width. This change complements change set 3994. Make WidthText() and AverageCharWidth() actually return fractional widths under Direct2D. From Marko Njezic.
Diffstat (limited to 'src')
-rw-r--r--src/Editor.cxx4
-rw-r--r--src/LineMarker.cxx2
-rw-r--r--src/Style.h2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index bb5813686..421f33220 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -1947,8 +1947,8 @@ void Editor::PaintSelMargin(Surface *surfWindow, PRectangle &rc) {
}
PRectangle rcNumber = rcMarker;
// Right justify
- int width = surface->WidthText(vs.styles[STYLE_LINENUMBER].font, number, istrlen(number));
- int xpos = rcNumber.right - width - 3;
+ XYPOSITION width = surface->WidthText(vs.styles[STYLE_LINENUMBER].font, number, istrlen(number));
+ XYPOSITION xpos = rcNumber.right - width - 3;
rcNumber.left = xpos;
surface->DrawTextNoClip(rcNumber, vs.styles[STYLE_LINENUMBER].font,
rcNumber.top + vs.maxAscent, number, istrlen(number),
diff --git a/src/LineMarker.cxx b/src/LineMarker.cxx
index 267ea18f4..99e83265e 100644
--- a/src/LineMarker.cxx
+++ b/src/LineMarker.cxx
@@ -338,7 +338,7 @@ void LineMarker::Draw(Surface *surface, PRectangle &rcWhole, Font &fontForCharac
} else if (markType >= SC_MARK_CHARACTER) {
char character[1];
character[0] = static_cast<char>(markType - SC_MARK_CHARACTER);
- int width = surface->WidthText(fontForCharacter, character, 1);
+ XYPOSITION width = surface->WidthText(fontForCharacter, character, 1);
rc.left += (rc.Width() - width) / 2;
rc.right = rc.left + width;
surface->DrawTextClipped(rc, fontForCharacter, rc.bottom - 2,
diff --git a/src/Style.h b/src/Style.h
index 018ab70f5..cccf18f3e 100644
--- a/src/Style.h
+++ b/src/Style.h
@@ -47,7 +47,7 @@ struct FontMeasurements {
unsigned int ascent;
unsigned int descent;
unsigned int externalLeading;
- unsigned int aveCharWidth;
+ XYPOSITION aveCharWidth;
XYPOSITION spaceWidth;
int sizeZoomed;
FontMeasurements();