aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Editor.cxx
AgeCommit message (Collapse)AuthorFilesLines
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.
2021-05-05Redraw when focus changes. Move hasFocus to EditModel where it can be used forNeil1-1/+4
drawing more easily.
2021-04-27Rename CharacterSet and CharacterCategory modules in Scintilla to CharacterTypeNeil1-2/+2
and CharacterCategoryMap to avoid clashes with Lexilla when building an executable that includes both.
2021-04-26Avoid some warnings.Neil1-6/+6
2021-04-26Extract related groups of fields out of ViewStyle into new structs.Neil1-38/+38
Size of ViewStyle makes it more difficult to understand and this helps a bit.
2021-04-26Move hotspotSingleLine from ViewStyle to EditModel as it defines behaviour, notNeil1-4/+4
appearance.
2021-04-25Feature [feature-requests:#1402]. Unify colour type with ColourAlpha.Neil1-37/+37
Change ColourDesired to ColourAlpha in styles. Remove ColourDesired.
2021-04-20Bug [#2027]. Implement font locale SCI_SETFONTLOCALE on Win32 using DirectWrite.Neil1-0/+10
2021-04-15Bug [#2234]. Remove method that is no longer called.Neil1-4/+0
2021-04-05Extract unnamed caching enum as LineLayoutCache::Cache and change to enum class.Neil1-2/+2
2021-04-05Extract CharClassify::cc as CharacterClass and change to enum class.Neil1-6/+6
2021-04-05Change IndentView, WhiteSpaceVisibility, and TabDrawMode to enum class.Neil1-4/+4
2021-03-29Add SCI_SETELEMENTCOLOUR and related APIs to change colours of visible elements.Neil1-0/+18
Implement SC_ELEMENT_LIST* to change colours of autocompletion lists.
2021-03-27Add APIs for setting translucency and stroke width of markers.Neil1-4/+28
2021-03-27Add API for setting stroke width of indicators.Neil1-0/+13
2021-03-20Use Surface::AllocatePixMap instead of changing an existing surface withNeil1-23/+13
InitPixMap. Changed DropGraphics from releasing surfaces to deleting them. This simplifies code and the added cost of allocating a new Surface is small.
2021-03-19Add an explicit FlushDrawing method to Surface that should be called afterNeil1-0/+1
completing a bitmap. Currently only has a real implementation on Direct2D. Avoiding implicit flushes inside Copy and FillRectangle produced a 23% speed improvement on files with about 1 indentation guide per line as the drawing pipeline was being flushed for each indentation guide.
2021-03-19Implement PopClip to allow local clipping.Neil1-0/+5
2021-03-19Add Platform::Supports for SupportsFeature API.Neil1-2/+3
2021-03-19Switch enum to enum class.Neil1-160/+173
2021-03-19Add SupportsFeature API but leave empty for now with no features defined.Neil1-0/+7
2021-03-18Make Surface::Release and callers (where possible) noexcept.Neil1-1/+1
2021-03-18Use unique_ptr for CaseFolderForEncoding to show transfer of ownership.Neil1-2/+2
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 Window::Cursor to an enum class.Neil1-9/+9
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.
2021-03-17Extract geometry and colour definitions from Platform.h into src/Geometry.h.Neil1-0/+1