aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Editor.cxx
AgeCommit message (Collapse)AuthorFilesLines
2022-03-05Feature [feature-requests:#1432] Simplify setting surface modes withZufu Liu1-0/+1
EditModel::CurrentSurfaceMode.
2022-03-05Feature [feature-requests:#1432] Remove redundant calls to DropGraphics.Zufu Liu1-1/+0
InvalidateStyleRedraw calls DropGraphics and the unique_ptr destructors will ensure that the pixmaps are destroyed when Editor is destroyed.
2022-02-02Feature [feature-requests:#1427] Add multithreaded layout which improvesNeil1-0/+7
performance significantly for very wide lines.
2022-01-22Feature [feature-requests:#1422] Minor improvements to line layout and wrapping.Zufu Liu1-9/+15
May avoid some small costs and be clearer.
2022-01-20Hide details of PositionCache.Neil1-3/+3
Move class declarations of PositionCache and PositionCacheEntry into cxx file and only define IPositionCache interface and CreatePositionCache factory function in header.
2021-12-16Feature [feature-requests:#1422] Fix scrollbar with annotations and wrapping.Zufu Liu1-0/+2
2021-11-12Change SCI_GETTEXT, SCI_GETSELTEXT, and SCI_GETCURLINE to be more consistentNeil1-15/+8
with other APIs with respect to buffer lengths.
2021-11-10Call ConstCharPtrFromSPtr when result should be const.Neil1-23/+23
This limits use of the more dangerous form CharPtrFromSPtr.
2021-10-22Add CARETSTYLE_CURSES to draw more than 1 caret on curses terminal.Mitchell Foral1-1/+1
2021-10-12Feature [feature-requests:#1416] Use range for.Neil1-3/+3
2021-10-05Feature [feature-requests:#1417] Consolidate character classification functionsNeil1-2/+2
in CharacterType.h, merging duplicate functions, removing unused functions and stadardizing names.
2021-09-28Widen styleNumber in PositionCacheEntry from 8 to 16 bits to allow stylesNeil1-0/+1
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-09-15Avoid some type warningsNeil1-1/+1
2021-08-27Feature [feature-requests:#841] Remove hotspot from LineLayout and rely onZufu Liu1-4/+0
reference to model.
2021-08-25Allow SCI_HIDELINES to hide the first line or all lines.Neil1-2/+1
2021-08-24Feature [feature-requests:#841] SCI_SETCARETLINEHIGHLIGHTSUBLINE enablesZufu Liu1-0/+7
highlighting just the subline with the caret when wrapping is on.
2021-08-23Fix change set 8902 which could cause caret to stop blinking.Neil1-3/+3
Occurred when a redraw was requested during a paint.
2021-08-14Optimize by reducing invalidation as this can be costly.Neil1-0/+18
If all of the text area or margin area is invalidated then remember this and don't do any more invalidations for that area until the window is painted. This reduced the time taken to replace each \r\n with \n\n in very large files by a factor of 3.
2021-07-31Implement StyleSetCheckMonospaced.Neil1-1/+8
2021-07-15Feature [feature-requests:#1370] Implement SCI_ALLOCATELINES to allocate indicesZufu Liu1-0/+4
to hold some number of lines. This is an optimization that can decrease reallocation overhead.
2021-07-03Feature [feature-requests:#1408] Merge branches for setting representations forZufu Liu1-14/+7
invalid single bytes in multi-byte encodings.
2021-07-03Feature [feature-requests:#1408] Avoid sprintf for hexadecimal character blobs.Zufu Liu1-4/+4
2021-06-10Rename SCI_PASTERECTANGULAR to SCI_REPLACERECTANGULAR as it is inserting textNeil1-1/+1
provided as an argument instead of from the system clipboard.
2021-06-09Reduce casts by defining methods for common conversions.Neil1-161/+157
2021-06-09Add SCI_PASTERECTANGULAR to insert text like a rectangular paste.Mitchell Foral1-0/+9
2021-06-03Add APIs for setting appearance (traditional blob or plain text) and colour ofNeil1-2/+31
representations and support setting a representation for the "\r\n" line end sequence.
2021-06-04Bug [#2260]. Fix bug with SCI_GETLASTCHILD when lParam is -1.Zufu Liu1-2/+2
Fixed cast on SCI_FOLDCHILDREN to use correct type.
2021-05-30Fix GetFontQuality. Simplify code that calls FlagSet.Neil1-15/+15
2021-05-28Rename 'NO_FOCUS' to 'INACTIVE' to better match platform terms.Neil1-1/+1
2021-05-24Define C++ version of the Scintilla API in ScintillaTypes.h, ScintillaMessages.hNeil1-1545/+1565
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-22Rename ColourAlpha to ColourRGBA to avoid clashes when a ColourAlpha typedefNeil1-23/+23
will be published in externally visible header.
2021-05-20Prefer Sci::invalidPosition to INVALID_POSITION as Scintilla.h will eventuallyNeil1-21/+21
not be visible to most code.
2021-05-20Add LevelIsHeader and LevelIsWhitespace as fold levels will become enum classNeil1-14/+14
later so not work well with '&'.
2021-05-16Include modifiers in SCN_INDICATORRELEASE notification.Damiano Lombardi1-1/+1
2021-05-15Protect against out-of-bounds layout cache level and remove unnecessary code.Neil1-1/+3
Make documentation more accurate.
2021-05-15Bug [#2253]. For SCI_SETSELALPHA, also update the alpha of secondary and ↵Neil Hodgson1-2/+5
no-focus states to avoid hiding text under opaque selections. This leads to very faint selections but that is preferrable to not being able to see text.
2021-05-14Do not set alpha of SC_ELEMENT_CARET_LINE_BACK unless already has a colour.Neil1-1/+3
2021-05-14Add elements for hot spots SC_ELEMENT_HOT_SPOT_ACTIVE andNeil1-6/+8
SC_ELEMENT_HOT_SPOT_ACTIVE_BACK.
2021-05-14Add SC_ELEMENT_WHITE_SPACE_BACK to set the background colour of visibleNeil1-2/+3
whitespace.
2021-05-14Feature [feature-requests:#1402] Add SC_ELEMENT_WHITE_SPACE to set the colour ofYX Hao1-3/+4
visible whitespace including translucency.
2021-05-14Add SCI_MARKERSETLAYER to define layer on which to draw content area markers.Neil1-3/+19
This replaces the use of SC_ALPHA_NOALPHA for markers.
2021-05-12Switch caret line background colour to SC_ELEMENT_CARET_LINE_BACK element andNeil1-10/+40
add SetCaretLineLayer. Older caret line APIs SCI_SETCARETLINEVISIBLE, SCI_SETCARETLINEBACK, SCI_SETCARETLINEBACKALPHA now discouraged.
2021-05-11When setting or resetting elements, redraw if caused change.Neil1-2/+6
2021-05-11Implement SCI_GETELEMENTBASECOLOUR to return the default values for elementNeil1-0/+3
colours.
2021-05-11Add tests for element APIs. Fix SCI_GETELEMENTCOLOUR to return value includingNeil1-1/+1
alpha. Set selection and caret elements as allowing translucency.
2021-05-10Change the way that selections and carets are drawn to use the element APIs.Neil1-17/+43
2021-05-10Add elementBaseColours to hold default or system derived colours.Neil1-1/+5
Editor::UpdateBaseElements can be overridden by platform layers to set base colours although they should also do this when they detect changes in system settings.
2021-05-07Use shared_ptr for LineLayoutCache as it simpifies lifetime management.Neil1-8/+8
AutoLineLayout and other code no longer needed so removed.
2021-05-07Add lineNumber_ argument to LineLayout constructor so always knows which line itNeil1-4/+4
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-05-08Feature [feature-requests:1373]. Make idle actions smoother by measuringNeil1-14/+20
per-byte and allowing just one line to be processed in a time slice. Very long lines will not distort estimation or block interaction as much.