aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/MarginView.cxx
AgeCommit message (Collapse)AuthorFilesLines
2021-10-26Mark method const as its a reader.Neil1-1/+1
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-14Break up PaintOneMargin more and simplify code.Neil1-91/+105
2021-09-07Handle case where all lines are hidden by a filter and kinetic scrollingNeil Hodgson1-1/+1
causes drawing of negative line number.
2021-09-07Move bulk of PaintMargin into PaintOneMargin which paints one margin.Neil1-249/+254
This reduces nesting and indentation.
2021-06-04Simplified expression.Zufu Liu1-1/+1
2021-05-27Fix fold debug mode for margin.Neil1-1/+1
2021-05-24Define C++ version of the Scintilla API in ScintillaTypes.h, ScintillaMessages.hNeil1-70/+72
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-22Encapsulate whether a margin shows folding.Neil1-4/+4
2021-05-22Rename ColourAlpha to ColourRGBA to avoid clashes when a ColourAlpha typedefNeil1-5/+5
will be published in externally visible header.
2021-05-20Add LevelIsHeader and LevelIsWhitespace as fold levels will become enum classNeil1-10/+10
later so not work well with '&'.
2021-04-27Rename CharacterSet and CharacterCategory modules in Scintilla to CharacterTypeNeil1-1/+1
and CharacterCategoryMap to avoid clashes with Lexilla when building an executable that includes both.
2021-04-26Avoid some warnings.Neil1-1/+1
2021-04-26Change std::optional value() to * as value() is not implemented in older macOSNeil Hodgson1-2/+2
releases. Using value() produces error: error: call to unavailable member function 'value': introduced in macOS 10.14
2021-04-26Extract related groups of fields out of ViewStyle into new structs.Neil1-1/+1
Size of ViewStyle makes it more difficult to understand and this helps a bit.
2021-04-25Feature [feature-requests:#1402]. Unify colour type with ColourAlpha.Neil1-9/+9
Change ColourDesired to ColourAlpha in styles. Remove ColourDesired.
2021-03-29Add SCI_SETELEMENTCOLOUR and related APIs to change colours of visible elements.Neil1-0/+1
Implement SC_ELEMENT_LIST* to change colours of autocompletion lists.
2021-03-26Minor changes: const, constexpr, and noexcept.Neil1-2/+2
2021-03-22Use PolyLine to simplify wrap marker arrows and allow thicker strokes when thereNeil1-28/+32
is space.
2021-03-20Use Surface::AllocatePixMap instead of changing an existing surface withNeil1-26/+8
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/+2
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-19Switch enum to enum class.Neil1-2/+2
2021-03-18Make Surface::Release and callers (where possible) noexcept.Neil1-1/+1
2021-03-18Use unique_ptr for Surface::Allocate to show transfer of ownership.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-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
2020-07-28Fix position of marker symbols for SC_MARGIN_RTEXT which were being moved basedNeil1-5/+8
on width of text.
2020-07-16Rename typeOfFold to FoldPart and make an enum class.Neil1-7/+7
2020-06-11Use noexcept where safe and maintainable.Neil1-1/+1
2019-07-02Bug [#2115]. Backed out changeset: 74b2c724a1df as not undefined behaviour.Neil1-2/+2
2019-07-01Bug [#2115]. Fix undefined behaviour of shifting signed 1 by 31.Zufu Liu1-2/+2
2019-05-11Feature [feature-requests:#1283]. Standardise spelling - "color" -> "colour".Neil1-1/+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-03Use noexcept where reasonable.Neil1-1/+1
2019-01-13Replace the only use of a function from <cctype> with a Scintilla function.Neil1-1/+0
Remove inclusion of <cctype> except in lexers as cctype functions often behave poorly and may crash for out of bounds arguments.
2018-05-15Replace ELEMENTS with std::size and drop inclusion of StringCopy.h.Neil1-1/+0
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-01Add IntegerRectangle to simplify drawing lines without casting.Neil1-5/+8
2018-04-27Use nullptr for custom draw functions.Neil1-2/+2
2018-04-19Casting changed in many places, due to change to 64-bit variables for 64-bitNeil1-1/+1
builds. Some of the changes ensure no truncation while others remove casts that are no longer needed because the externally visible Sci_Position is now identical to Sci::Position. Some extra methods (CellBuffer::UCharAt and Document::SciLineFromPosition) added to avoid casting in client code. Sci::Line is currently identical to Sci::Position but it could be made smaller so lines have Sci::Line types and are cast. Some arguments widened.
2018-04-17Add SC_DOCUMENTOPTION_TEXT_LARGE option for documents larger than 2 GigaBytes.Neil1-5/+8
This option is provisional and experimental.
2018-03-27Use an interface for ContractionState so that there can be differentNeil1-14/+14
implementations of that interface.
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-01Mark variables as const where simple.Neil1-10/+10
2017-09-11The Scintilla namespace is always active for internal symbols and for the lexerNeil1-6/+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-06-22Cast between Sci_Position.h types used for lexers and Position.h types used inNeil1-1/+2
core to allow the Sci_Position.h types to widen to 64-bits.