aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/PositionCache.cxx
AgeCommit message (Collapse)AuthorFilesLines
2021-03-26Minor changes: const, constexpr, and noexcept.Neil1-2/+2
2021-03-22Use XYPOSITION for xStart parameter as it is only passed as XYPOSITION.Neil1-2/+2
2021-03-19Switch enum to enum class.Neil1-3/+3
2021-03-18std::optional is a basic vocabulary type that may be used widely so includeNeil1-0/+1
almost everywhere.
2021-03-18Move assert and debug trace functions into their own header Debugging.h.Neil1-0/+1
PLATFORM_ASSERT is used in data structure headers which led to including graphics and windowing APIs in data structure modules.
2021-03-17Change Font to an interface and stop using FontID. Fonts are shared andNeil1-2/+2
reference counted using std::shared_ptr. This optimizes memory and reduces potential for allocation bugs.
2021-03-17Extract geometry and colour definitions from Platform.h into src/Geometry.h.Neil1-0/+1
2020-07-16Rename validLevel to ValidLevel and make an enum class.Neil1-5/+5
2020-07-16Make EncodingFamily an enum class for more type safety.Neil1-2/+2
2020-06-11Use noexcept where safe and maintainable.Neil1-14/+14
2020-05-01Make lambdas noexcept.Zufu Liu1-1/+1
2019-11-01Remove noexcept from allocating constructors as may throw on memory exhaustion.Neil1-1/+1
2019-07-02Bug [#2115]. Backed out changeset: d70ccc4f172a as not undefined behaviour.Neil1-3/+2
2019-06-29Bug [#2115]. Fix undefined behaviour of shifting negative values.Zufu Liu1-2/+3
2019-04-25Bug [#1223]. Removed duplicate code.Neil1-2/+1
2019-03-29Include "CharacterCategory.h" in all files that include "Document.h" as it willNeil1-0/+1
be needed for adding a CharacterCategory feature.
2019-03-25Use generic versions of ceil, floor, round, lround, trunc from <cmath>.Neil1-1/+1
2019-03-03Use noexcept where reasonable.Neil1-12/+12
2019-01-06Bug [#2068]. Fix some clang-tidy warnings.Zufu Liu1-1/+1
2018-09-26Bug [#2046]. Optimize setting up representation.Zufu Liu1-2/+3
2018-05-30Add header needed for floor.Neil Hodgson1-0/+1
2018-05-30Add TabPositionAfter method to IScreenLine as this calculation is needed on eachNeil1-0/+4
platform and it allows extension to custom tab stops.
2018-05-24Fix warnings. Add const, constexpr, and noexcept. Initialize. Standard methods.Neil1-7/+6
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/+103
2018-05-21Draw invalid bytes in DBCS when detected as blobs in a similar way to UTF-8.Neil Hodgson1-1/+2
2018-05-14Modernize Platform.h (4) - update Surface to use string_view for text arguments.Neil1-2/+2
2018-05-14Include <string_view> to allow future use in Platform interface and Unicode.Neil1-0/+1
2018-05-13When line end characters are displayed, indicators are drawn under/over them.Neil1-5/+5
2018-05-03Use Range and Position in more cases to avoid casts.Neil1-15/+18
2018-05-03Ensure all 4 byte characters will work in MapRepresentation by using ↵Neil1-9/+16
unsigned int. Use variable assignments to avoid casts.
2018-04-21Tighten definition of regular expression iterators so they are noexcept andNeil1-1/+1
define all the standard member functions. This cascades to all methods called by the iterators, affecting Document, CellBuffer, Partitioning, SplitVector and UTF-8 and DBCS functions. Other trivial functions declared noexcept.
2018-03-28Split decorations into interface and implementation.Neil1-3/+3
2018-03-15Use forward class definitions of XPM and RGBAImage so only code that uses themNeil1-1/+0
needs to #include "XPM.h". Move definition of standard methods on LineMarker from header to implementation to reduce included text and further isolate use of XPM and RGBAImage.
2018-03-09Use Position/Line/int more accurately in preparation for large documents.Neil1-14/+15
2018-03-01Mark variables as const where simple.Neil1-10/+10
2018-03-01Use make_unique in preference to new.Neil1-9/+9
From Effective Modern C++ Item 21.
2018-01-28Use std::end when filling arrays as reduces chance of mistake.Neil1-2/+3
2017-09-11The Scintilla namespace is always active for internal symbols and for the lexerNeil1-2/+0
interfaces ILexer4 and IDocument.
2017-08-28New header ILoader.h defines ILoader interface as it does not belong in ↵Neil1-0/+1
ILexer.h.
2017-05-21Make SparseVector work with move-only types.Neil1-0/+1
Define UniqueString as a move-only string and use in a SparseVector for ContractionState. Remove SparseVector method specializations that are no longer needed.
2017-05-10Simplify DecorationList and its clients by using a vector instead of anNeil1-1/+1
intrusive linked list. Restrict clients to a read-only view.
2017-05-10Use unique_ptr fpr Partitioning, RunStyles, SparseVector, PositionCache andNeil1-36/+22
Document.
2017-04-21More consistent deletion of standard methods.Neil1-3/+13
2017-04-19Drop reinterpret_cast when can implicit cast to void* or const void*.Neil1-2/+2
2017-04-15Use bool literals true and false instead of 1 and 0.Neil1-1/+1
2017-04-09Further use of range-for.Neil1-10/+10
2017-04-07Remove unnecessary casts.Neil1-2/+2
2017-04-06Added const where possible.Neil1-6/+6
2017-04-01More encapsulation for Decoration and DecorationList.Neil1-2/+2
2017-04-01Standardize on C++ headers, remove headers that aren't needed and add <cstddef>Neil1-4/+3
where it may be needed in the future.