aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/PositionCache.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/PositionCache.cxx')
-rw-r--r--src/PositionCache.cxx29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/PositionCache.cxx b/src/PositionCache.cxx
index 60dc3c070..cb83cf3ef 100644
--- a/src/PositionCache.cxx
+++ b/src/PositionCache.cxx
@@ -143,14 +143,14 @@ void LineLayout::SetLineStart(int line, int start) {
void LineLayout::SetBracesHighlight(Range rangeLine, const Sci::Position braces[],
char bracesMatchStyle, int xHighlight, bool ignoreStyle) {
if (!ignoreStyle && rangeLine.ContainsCharacter(braces[0])) {
- const int braceOffset = braces[0] - rangeLine.start;
+ const Sci::Position braceOffset = braces[0] - rangeLine.start;
if (braceOffset < numCharsInLine) {
bracePreviousStyles[0] = styles[braceOffset];
styles[braceOffset] = bracesMatchStyle;
}
}
if (!ignoreStyle && rangeLine.ContainsCharacter(braces[1])) {
- const int braceOffset = braces[1] - rangeLine.start;
+ const Sci::Position braceOffset = braces[1] - rangeLine.start;
if (braceOffset < numCharsInLine) {
bracePreviousStyles[1] = styles[braceOffset];
styles[braceOffset] = bracesMatchStyle;
@@ -164,13 +164,13 @@ void LineLayout::SetBracesHighlight(Range rangeLine, const Sci::Position braces[
void LineLayout::RestoreBracesHighlight(Range rangeLine, const Sci::Position braces[], bool ignoreStyle) {
if (!ignoreStyle && rangeLine.ContainsCharacter(braces[0])) {
- const int braceOffset = braces[0] - rangeLine.start;
+ const Sci::Position braceOffset = braces[0] - rangeLine.start;
if (braceOffset < numCharsInLine) {
styles[braceOffset] = bracePreviousStyles[0];
}
}
if (!ignoreStyle && rangeLine.ContainsCharacter(braces[1])) {
- const int braceOffset = braces[1] - rangeLine.start;
+ const Sci::Position braceOffset = braces[1] - rangeLine.start;
if (braceOffset < numCharsInLine) {
styles[braceOffset] = bracePreviousStyles[1];
}
@@ -193,7 +193,7 @@ int LineLayout::FindBefore(XYPOSITION x, int lower, int upper) const {
int LineLayout::FindPositionFromX(XYPOSITION x, Range range, bool charPosition) const {
- int pos = FindBefore(x, range.start, range.end);
+ int pos = FindBefore(x, static_cast<int>(range.start), static_cast<int>(range.end));
while (pos < range.end) {
if (charPosition) {
if (x < (positions[pos + 1])) {
@@ -206,7 +206,7 @@ int LineLayout::FindPositionFromX(XYPOSITION x, Range range, bool charPosition)
}
pos++;
}
- return range.end;
+ return static_cast<int>(range.end);
}
Point LineLayout::PointFromPosition(int posInLine, int lineHeight, PointEnd pe) const {
@@ -439,7 +439,7 @@ BreakFinder::BreakFinder(const LineLayout *ll_, const Selection *psel, Range lin
ll(ll_),
lineRange(lineRange_),
posLineStart(posLineStart_),
- nextBreak(lineRange_.start),
+ nextBreak(static_cast<int>(lineRange_.start)),
saeCurrentPos(0),
saeNext(0),
subBreak(-1),
@@ -450,7 +450,7 @@ BreakFinder::BreakFinder(const LineLayout *ll_, const Selection *psel, Range lin
// Search for first visible break
// First find the first visible character
if (xStart > 0.0f)
- nextBreak = ll->FindBefore(static_cast<XYPOSITION>(xStart), lineRange.start, lineRange.end);
+ nextBreak = ll->FindBefore(static_cast<XYPOSITION>(xStart), static_cast<int>(lineRange.start), static_cast<int>(lineRange.end));
// Now back to a style break
while ((nextBreak > lineRange.start) && (ll->styles[nextBreak] == ll->styles[nextBreak - 1])) {
nextBreak--;
@@ -464,9 +464,9 @@ BreakFinder::BreakFinder(const LineLayout *ll_, const Selection *psel, Range lin
const SelectionSegment portion = psel->Range(r).Intersect(segmentLine);
if (!(portion.start == portion.end)) {
if (portion.start.IsValid())
- Insert(portion.start.Position() - posLineStart);
+ Insert(static_cast<int>(portion.start.Position() - posLineStart));
if (portion.end.IsValid())
- Insert(portion.end.Position() - posLineStart);
+ Insert(static_cast<int>(portion.end.Position() - posLineStart));
}
}
}
@@ -475,14 +475,14 @@ BreakFinder::BreakFinder(const LineLayout *ll_, const Selection *psel, Range lin
if (pvsDraw->indicators[deco->Indicator()].OverridesTextFore()) {
Sci::Position startPos = deco->rs.EndRun(posLineStart);
while (startPos < (posLineStart + lineRange.end)) {
- Insert(startPos - posLineStart);
+ Insert(static_cast<int>(startPos - posLineStart));
startPos = deco->rs.EndRun(startPos);
}
}
}
}
Insert(ll->edgeColumn);
- Insert(lineRange.end);
+ Insert(static_cast<int>(lineRange.end));
saeNext = (!selAndEdge.empty()) ? selAndEdge[0] : -1;
}
@@ -495,7 +495,8 @@ TextSegment BreakFinder::Next() {
while (nextBreak < lineRange.end) {
int charWidth = 1;
if (encodingFamily == efUnicode)
- charWidth = UTF8DrawBytes(reinterpret_cast<unsigned char *>(&ll->chars[nextBreak]), lineRange.end - nextBreak);
+ charWidth = UTF8DrawBytes(reinterpret_cast<unsigned char *>(&ll->chars[nextBreak]),
+ static_cast<int>(lineRange.end - nextBreak));
else if (encodingFamily == efDBCS)
charWidth = pdoc->IsDBCSLeadByte(ll->chars[nextBreak]) ? 2 : 1;
const Representation *repr = preprs->RepresentationFromCharacter(&ll->chars[nextBreak], charWidth);
@@ -504,7 +505,7 @@ TextSegment BreakFinder::Next() {
(nextBreak == saeNext)) {
while ((nextBreak >= saeNext) && (saeNext < lineRange.end)) {
saeCurrentPos++;
- saeNext = (saeCurrentPos < selAndEdge.size()) ? selAndEdge[saeCurrentPos] : lineRange.end;
+ saeNext = static_cast<int>((saeCurrentPos < selAndEdge.size()) ? selAndEdge[saeCurrentPos] : lineRange.end);
}
if ((nextBreak > prev) || repr) {
// Have a segment to report