aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/PositionCache.h
AgeCommit message (Collapse)AuthorFilesLines
2022-02-02Feature [feature-requests:#1427] Add multithreaded layout which improvesNeil1-1/+1
performance significantly for very wide lines.
2022-01-22Feature [feature-requests:#1422] Minor improvements to line layout and wrapping.Zufu Liu1-3/+2
May avoid some small costs and be clearer.
2022-01-20Hide details of PositionCache.Neil1-32/+9
Move class declarations of PositionCache and PositionCacheEntry into cxx file and only define IPositionCache interface and CreatePositionCache factory function in header.
2021-10-24Avoid extra breaks introduced by revision 8993.Zufu Liu1-1/+7
2021-10-21Feature [feature-requests:#1417] Cache maximum key value inZufu Liu1-0/+1
SpecialRepresentations as this allows quick determination of absence for most multi-byte UTF-8 and DBCS characters.
2021-10-21Feature [feature-requests:#1417] Use unsigned as that defines wrap-aroundZufu Liu1-1/+1
behaviour.
2021-10-17encodingFamily never changes so mark const.Zufu Liu1-1/+1
2021-10-17Remove SpecialRepresentations::Contains which is no longer used.Zufu Liu1-1/+0
2021-10-05Feature [feature-requests:#1417] Consolidate character classification functionsNeil1-8/+0
in CharacterType.h, merging duplicate functions, removing unused functions and stadardizing names.
2021-09-30Feature [feature-requests:#1416] Mark destructor as noexcept and use defaultZufu Liu1-1/+1
implementation.
2021-09-28Widen styleNumber in PositionCacheEntry from 8 to 16 bits to allow stylesNeil1-5/+5
larger than 255 to be represented. Before this, it may have been possible but extremely rare for a cache entry to wrongly match a styled lexeme and produce incorrect layout. Using uint16_t from cstdint instead of a bit field as tools perform more checking on that.
2021-08-27Feature [feature-requests:#841] Remove hotspot from LineLayout and rely onZufu Liu1-3/+0
reference to model.
2021-07-29Feature [feature-requests:#1413] Decrease cost of representation for \r\n.Zufu Liu1-0/+8
2021-06-10Use string_view for PositionCache methods.Neil1-11/+6
Replace custom hash code with standard library hash. Drop standard methods that are not needed. Restrict representations to 200 bytes. Improve documentation.
2021-06-10Don't divide input text into segments in PositionCache::MeasureWidths as textNeil1-1/+1
should already have been segmented into reasonable lengths. The Document argument is no longer needed.
2021-06-03Add APIs for setting appearance (traditional blob or plain text) and colour ofNeil1-7/+11
representations and support setting a representation for the "\r\n" line end sequence.
2021-05-24Define C++ version of the Scintilla API in ScintillaTypes.h, ScintillaMessages.hNeil1-10/+4
and ScintillaStructures.h using scoped enumerations. Use these headers instead of Scintilla.h internally. External definitions go in the Scintilla namespace and internal definitio0ns in Scintilla::Internal.
2021-05-07Use shared_ptr for LineLayoutCache as it simpifies lifetime management.Neil1-5/+2
AutoLineLayout and other code no longer needed so removed.
2021-05-07When resizing for Cache::page, move cached entries to correct positions.Neil1-1/+1
Hoist position calculation into EntryForLine method.
2021-05-07Add lineNumber_ argument to LineLayout constructor so always knows which line itNeil1-1/+3
is for. Add accessor for line number and method to say whether compatible with a line number and number of characters. Since LineLayout can report its line number, remove line argument from EditView::LayoutLine which simplifies calling it.
2021-04-05Extract unnamed caching enum as LineLayoutCache::Cache and change to enum class.Neil1-9/+11
2021-03-22Use XYPOSITION for xStart parameter as it is only passed as XYPOSITION.Neil1-1/+1
2021-03-19Switch enum to enum class.Neil1-4/+5
2021-03-17Change Font to an interface and stop using FontID. Fonts are shared andNeil1-1/+1
reference counted using std::shared_ptr. This optimizes memory and reduces potential for allocation bugs.
2020-09-18Fix building with Xcode 12 by defining move constructors for FontAlias, Style,Neil1-1/+1
and PositionCacheEntry.
2020-07-16Rename validLevel to ValidLevel and make an enum class.Neil1-3/+3
2020-06-11Use noexcept where safe and maintainable.Neil1-13/+13
2019-11-01Remove noexcept from allocating constructors as may throw on memory exhaustion.Neil1-1/+1
2019-03-03Use noexcept where reasonable.Neil1-14/+14
2019-01-06Bug [#2068]. Fix some clang-tidy warnings.Zufu Liu1-1/+1
2018-05-30Add TabPositionAfter method to IScreenLine as this calculation is needed on eachNeil1-0/+1
platform and it allows extension to custom tab stops.
2018-05-24Fix warnings. Add const, constexpr, and noexcept. Initialize. Standard methods.Neil1-5/+10
Replace 0 and NULL with nullptr for COM, DirectWrite and least ambiguous cases.
2018-05-23Implement bidirectional mode bidiL2R for DirectDraw on Win32.Neil1-0/+36
2018-05-13When line end characters are displayed, indicators are drawn under/over them.Neil1-2/+3
2018-05-03Use Range and Position in more cases to avoid casts.Neil1-2/+2
2018-05-03Ensure all 4 byte characters will work in MapRepresentation by using ↵Neil1-1/+1
unsigned int. Use variable assignments to avoid casts.
2018-04-28Delete standard functions on classes where there could be attempts to copy.Neil1-0/+10
2018-04-21Code improvements - noexcept and intialization.Neil1-4/+4
2017-09-11The Scintilla namespace is always active for internal symbols and for the lexerNeil1-4/+0
interfaces ILexer4 and IDocument.
2017-05-10Use unique_ptr fpr Partitioning, RunStyles, SparseVector, PositionCache andNeil1-6/+6
Document.
2017-04-21More consistent deletion of standard methods.Neil1-2/+14
2017-04-19Use =delete for unwanted functions.Neil1-4/+4
2017-04-07Use same parameter names in declarations and definitions.Neil1-3/+3
2017-04-06Added const where possible.Neil1-1/+1
2017-03-31Using Sci::Position and Sci::Line to mark variables that are document positionsNeil1-8/+8
and lines.
2016-12-09Use double coordinates instead of float in some cases as float ran out ofNeil1-0/+17
precision in long documents. This meant that individual lines could not be selected by mouse when the document exceeded 16.7 million lines.
2016-11-05Add options to choose between the locations of a position when thereNeil Hodgson1-1/+11
are multiple locations for one position. The main current use is to find the location at the end of a line or display line when the commonly used location is at the start of the next line.
2015-02-15Add SC_INDICFLAG_VALUEFORE and INDIC_TEXTFORE to allow a wide range of indicatorNeil1-1/+1
colours and to change the colour of text.
2014-07-23Avoid shadowed names mostly in method prototypes. Turn off shadowNeil1-1/+1
warnings for lexers since they may be maintained by others.
2014-07-08Split parts of Editor class off into EditModel, MarginView, and EditView ↵Neil1-3/+2
classes.