diff options
-rw-r--r-- | cocoa/ScintillaCocoa.h | 2 | ||||
-rw-r--r-- | cocoa/ScintillaCocoa.mm | 57 | ||||
-rw-r--r-- | cocoa/ScintillaView.mm | 6 |
3 files changed, 33 insertions, 32 deletions
diff --git a/cocoa/ScintillaCocoa.h b/cocoa/ScintillaCocoa.h index ae8c2451a..c893cf72e 100644 --- a/cocoa/ScintillaCocoa.h +++ b/cocoa/ScintillaCocoa.h @@ -199,7 +199,7 @@ public: void ObserverRemove(); void IdleWork() override; void QueueIdleWork(WorkNeeded::workItems items, Sci::Position upTo) override; - int InsertText(NSString* input); + ptrdiff_t InsertText(NSString *input); NSRange PositionsFromCharacters(NSRange rangeCharacters) const; NSRange CharactersFromPositions(NSRange rangePositions) const; NSString *RangeTextAsString(NSRange rangePositions) const; diff --git a/cocoa/ScintillaCocoa.mm b/cocoa/ScintillaCocoa.mm index 0769926b6..8f6d2059f 100644 --- a/cocoa/ScintillaCocoa.mm +++ b/cocoa/ScintillaCocoa.mm @@ -146,7 +146,7 @@ static const KeyToCommand macMapDefault[] = { @private NSString *sFind; - int positionFind; + long positionFind; BOOL retaining; CGFloat widthText; CGFloat heightLine; @@ -155,7 +155,7 @@ static const KeyToCommand macMapDefault[] = } @property (copy) NSString *sFind; -@property (assign) int positionFind; +@property (assign) long positionFind; @property (assign) BOOL retaining; @property (assign) CGFloat widthText; @property (assign) CGFloat heightLine; @@ -1064,7 +1064,7 @@ void ScintillaCocoa::Paste(bool forceRectangular) pdoc->BeginUndoAction(); ClearSelection(false); - InsertPasteShape(selectedText.Data(), static_cast<int>(selectedText.Length()), + InsertPasteShape(selectedText.Data(), selectedText.Length(), selectedText.rectangular ? pasteRectangular : pasteStream); pdoc->EndUndoAction(); @@ -1346,7 +1346,9 @@ void ScintillaCocoa::StartDrag() Sci::Line startLine = static_cast<Sci::Line>(pdoc->LineFromPosition(selStart)); Sci::Line endLine = static_cast<Sci::Line>(pdoc->LineFromPosition(selEnd)); Point pt; - long startPos, endPos, ep; + Sci::Position startPos; + Sci::Position endPos; + Sci::Position ep; PRectangle rcSel; if (startLine==endLine && WndProc(SCI_GETWRAPMODE, 0, 0) != SC_WRAP_NONE) { @@ -1361,8 +1363,8 @@ void ScintillaCocoa::StartDrag() // step back a position if we're counting the newline ep = WndProc(SCI_GETLINEENDPOSITION, startLine, 0); if (endPos > ep) endPos = ep; - ptStart = LocationFromPosition(static_cast<int>(startPos)); - ptEnd = LocationFromPosition(static_cast<int>(endPos)); + ptStart = LocationFromPosition(startPos); + ptEnd = LocationFromPosition(endPos); if (ptStart.y == ptEnd.y) { // We're just selecting part of one visible line rcSel.left = ptStart.x; @@ -1370,7 +1372,7 @@ void ScintillaCocoa::StartDrag() } else { // Find the bounding box. startPos = WndProc(SCI_POSITIONFROMLINE, startLine, 0); - rcSel.left = LocationFromPosition(static_cast<int>(startPos)).x; + rcSel.left = LocationFromPosition(startPos).x; rcSel.right = client.right; } rcSel.top = ptStart.y; @@ -1387,10 +1389,10 @@ void ScintillaCocoa::StartDrag() // step back a position if we're counting the newline ep = WndProc(SCI_GETLINEENDPOSITION, l, 0); if (endPos > ep) endPos = ep; - pt = LocationFromPosition(static_cast<int>(startPos)); // top left of line selection + pt = LocationFromPosition(startPos); // top left of line selection if (pt.x < rcSel.left || rcSel.left < 0) rcSel.left = pt.x; if (pt.y < rcSel.top || rcSel.top < 0) rcSel.top = pt.y; - pt = LocationFromPosition(static_cast<int>(endPos)); // top right of line selection + pt = LocationFromPosition(endPos); // top right of line selection pt.y += vs.lineHeight; // get to the bottom of the line if (pt.x > rcSel.right || rcSel.right < 0) { if (pt.x > client.right) @@ -1667,7 +1669,7 @@ ptrdiff_t ScintillaCocoa::TargetAsUTF8(char *text) if (text) memcpy(text, tmputf.c_str(), tmputf.length()); CFRelease(cfsVal); - return static_cast<ptrdiff_t>(tmputf.length()); + return tmputf.length(); } return targetLength; } @@ -1676,8 +1678,8 @@ ptrdiff_t ScintillaCocoa::TargetAsUTF8(char *text) // Returns the text in the range converted to an NSString. NSString *ScintillaCocoa::RangeTextAsString(NSRange rangePositions) const { - const std::string text = RangeText(static_cast<int>(rangePositions.location), - static_cast<int>(NSMaxRange(rangePositions))); + const std::string text = RangeText(rangePositions.location, + NSMaxRange(rangePositions)); if (IsUnicodeMode()) { return [NSString stringWithUTF8String: text.c_str()]; @@ -1707,7 +1709,7 @@ NSRange ScintillaCocoa::RangeForVisibleLine(NSInteger lineVisible) { // Returns visible line number of a text position in characters. NSInteger ScintillaCocoa::VisibleLineForIndex(NSInteger index) { const NSRange rangePosition = PositionsFromCharacters(NSMakeRange(index, 0)); - const Sci::Line lineVisible = DisplayFromPosition(static_cast<Sci::Position>(rangePosition.location)); + const Sci::Line lineVisible = DisplayFromPosition(rangePosition.location); return lineVisible; } @@ -1719,11 +1721,11 @@ NSRect ScintillaCocoa::FrameForRange(NSRange rangeCharacters) { NSUInteger rangeEnd = NSMaxRange(posRange); const bool endsWithLineEnd = rangeCharacters.length && - (pdoc->GetColumn(static_cast<int>(rangeEnd)) == 0); + (pdoc->GetColumn(rangeEnd) == 0); - Point ptStart = LocationFromPosition(static_cast<int>(posRange.location)); + Point ptStart = LocationFromPosition(posRange.location); const PointEnd peEndRange = static_cast<PointEnd>(peSubLineEnd|peLineEnd); - Point ptEnd = LocationFromPosition(static_cast<int>(rangeEnd), peEndRange); + Point ptEnd = LocationFromPosition(rangeEnd, peEndRange); NSRect rect = NSMakeRect(ptStart.x, ptStart.y, ptEnd.x - ptStart.x, @@ -1761,7 +1763,7 @@ ptrdiff_t ScintillaCocoa::EncodedFromUTF8(char *utf8, char *encoded) const { if (encoded) memcpy(encoded, utf8, inputLength); - return static_cast<ptrdiff_t>(inputLength); + return inputLength; } else { @@ -1774,7 +1776,7 @@ ptrdiff_t ScintillaCocoa::EncodedFromUTF8(char *utf8, char *encoded) const if (encoded) memcpy(encoded, sEncoded.c_str(), sEncoded.length()); CFRelease(cfsVal); - return static_cast<ptrdiff_t>(sEncoded.length()); + return sEncoded.length(); } } @@ -2263,8 +2265,7 @@ bool ScintillaCocoa::KeyboardInput(NSEvent* event) /** * Used to insert already processed text provided by the Cocoa text input system. */ -int ScintillaCocoa::InsertText(NSString* input) -{ +ptrdiff_t ScintillaCocoa::InsertText(NSString *input) { CFStringEncoding encoding = EncodingFromCharacterSet(IsUnicodeMode(), vs.styles[STYLE_DEFAULT].characterSet); std::string encoded = EncodedBytesString((CFStringRef)input, encoding); @@ -2273,7 +2274,7 @@ int ScintillaCocoa::InsertText(NSString* input) { AddCharUTF(encoded.c_str(), static_cast<unsigned int>(encoded.length()), false); } - return static_cast<int>(encoded.length()); + return encoded.length(); } //-------------------------------------------------------------------------------------------------- @@ -2283,10 +2284,10 @@ int ScintillaCocoa::InsertText(NSString* input) */ NSRange ScintillaCocoa::PositionsFromCharacters(NSRange rangeCharacters) const { - long start = pdoc->GetRelativePositionUTF16(0, static_cast<int>(rangeCharacters.location)); + Sci::Position start = pdoc->GetRelativePositionUTF16(0, rangeCharacters.location); if (start == INVALID_POSITION) start = pdoc->Length(); - long end = pdoc->GetRelativePositionUTF16(static_cast<int>(start), static_cast<int>(rangeCharacters.length)); + Sci::Position end = pdoc->GetRelativePositionUTF16(start, rangeCharacters.length); if (end == INVALID_POSITION) end = pdoc->Length(); return NSMakeRange(start, end - start); @@ -2299,9 +2300,9 @@ NSRange ScintillaCocoa::PositionsFromCharacters(NSRange rangeCharacters) const */ NSRange ScintillaCocoa::CharactersFromPositions(NSRange rangePositions) const { - const long start = pdoc->CountUTF16(0, static_cast<int>(rangePositions.location)); - const long len = pdoc->CountUTF16(static_cast<int>(rangePositions.location), - static_cast<int>(NSMaxRange(rangePositions))); + const Sci::Position start = pdoc->CountUTF16(0, rangePositions.location); + const Sci::Position len = pdoc->CountUTF16(rangePositions.location, + NSMaxRange(rangePositions)); return NSMakeRange(start, len); } @@ -2598,14 +2599,14 @@ void ScintillaCocoa::ShowFindIndicatorForRange(NSRange charRange, BOOL retaining CFStringEncoding encoding = EncodingFromCharacterSet(IsUnicodeMode(), vs.styles[STYLE_DEFAULT].characterSet); std::vector<char> buffer(charRange.length); - pdoc->GetCharRange(&buffer[0], static_cast<int>(charRange.location), static_cast<int>(charRange.length)); + pdoc->GetCharRange(&buffer[0], charRange.location, charRange.length); CFStringRef cfsFind = CFStringFromString(&buffer[0], charRange.length, encoding); layerFindIndicator.sFind = (NSString *)cfsFind; if (cfsFind) CFRelease(cfsFind); layerFindIndicator.retaining = retaining; - layerFindIndicator.positionFind = static_cast<int>(charRange.location); + layerFindIndicator.positionFind = charRange.location; // SCI_GETSTYLEAT reports a signed byte but want an unsigned to index into styles const char styleByte = static_cast<char>(WndProc(SCI_GETSTYLEAT, charRange.location, 0)); const long style = static_cast<unsigned char>(styleByte); diff --git a/cocoa/ScintillaView.mm b/cocoa/ScintillaView.mm index 96d212138..945fadcbf 100644 --- a/cocoa/ScintillaView.mm +++ b/cocoa/ScintillaView.mm @@ -668,7 +668,7 @@ static NSCursor *cursorFromEnum(Window::Cursor cursor) NSRange posRangeCurrent = mOwner.backend->PositionsFromCharacters(NSMakeRange(replacementRange.location, 0)); // Note: Scintilla internally works almost always with bytes instead chars, so we need to take // this into account when determining selection ranges and such. - int lengthInserted = mOwner.backend->InsertText(newText); + ptrdiff_t lengthInserted = mOwner.backend->InsertText(newText); posRangeCurrent.length = lengthInserted; mMarkedTextRange = mOwner.backend->CharactersFromPositions(posRangeCurrent); // Mark the just inserted text. Keep the marked range for later reset. @@ -1054,7 +1054,7 @@ sourceOperationMaskForDraggingContext: (NSDraggingContext) context */ - (id) accessibilityValue { const sptr_t length = [mOwner message: SCI_GETLENGTH]; - return mOwner.backend->RangeTextAsString(NSMakeRange(0,static_cast<int>(length))); + return mOwner.backend->RangeTextAsString(NSMakeRange(0, length)); } //-------------------------------------------------------------------------------------------------- @@ -1063,7 +1063,7 @@ sourceOperationMaskForDraggingContext: (NSDraggingContext) context * NSAccessibility : Line of the caret. */ - (NSInteger) accessibilityInsertionPointLineNumber { - const int caret = static_cast<int>([mOwner message: SCI_GETCURRENTPOS]); + const Sci::Position caret = [mOwner message: SCI_GETCURRENTPOS]; const NSRange rangeCharactersCaret = mOwner.backend->CharactersFromPositions(NSMakeRange(caret, 0)); return mOwner.backend->VisibleLineForIndex(rangeCharactersCaret.location); } |