From 97ab4ab3569aa625c0ed2722080619c97bd52c17 Mon Sep 17 00:00:00 2001
From: Neil
The types
@@ -6924,7 +6922,7 @@ To allow lexers to report which line ends they support, and to support substyles
virtual int SCI_METHOD SetLevel(Sci_Position line, int level) = 0;
To allow lexers to determine the end position of a line and thus more easily support Unicode line ends
-Sci_Position and Sci_PositionU are used for positions and line numbers in the document.
-Before release 3.6.0 the types int and unsigned int were used instead and, for 3.6.0,
-Sci_Position is defined as int and Sci_PositionU is defined as unsigned int.
-In a future release, 64-bit builds will define these as 64-bit types to allow documents larger than 2 GB.
+With Scintilla 4, 64-bit builds define these as 64-bit types to allow future implementation of documents larger than 2 GB.
virtual int SCI_METHOD GetLineState(Sci_Position line) const = 0;
virtual int SCI_METHOD SetLineState(Sci_Position line, int state) = 0;
- virtual void SCI_METHOD StartStyling(Sci_Position position, char mask) = 0;
+ virtual void SCI_METHOD StartStyling(Sci_Position position) = 0;
virtual bool SCI_METHOD SetStyleFor(Sci_Position length, char style) = 0;
virtual bool SCI_METHOD SetStyles(Sci_Position length, const char *styles) = 0;
virtual void SCI_METHOD DecorationSetCurrentIndicator(int indicator) = 0;
@@ -6934,6 +6932,9 @@ To allow lexers to report which line ends they support, and to support substyles
virtual bool SCI_METHOD IsDBCSLeadByte(char ch) const = 0;
virtual const char * SCI_METHOD BufferPointer() = 0;
virtual int SCI_METHOD GetLineIndentation(Sci_Position line) = 0;
+ virtual Sci_Position SCI_METHOD LineEnd(Sci_Position line) const = 0;
+ virtual Sci_Position SCI_METHOD GetRelativePosition(Sci_Position positionStart, Sci_Position characterOffset) const = 0;
+ virtual int SCI_METHOD GetCharacterAndWidth(Sci_Position position, Sci_Position *pWidth) const = 0;
};
@@ -6953,11 +6954,10 @@ exceptions. Exceptions should not be thrown over build boundaries as the
two sides may be built with different compilers or incompatible
exception options.IDocumentWithLineEnd
-
IDocument is extended to IDocumentWithLineEnd.IDocument includes LineEnd which should be used rather than testing for specific
+line end characters.
GetRelativePosition navigates the document by whole characters,
returning INVALID_POSITION for movement beyond the start and end of the document.
GetCharacterAndWidth provides a standard
@@ -6968,21 +6968,15 @@ The pWidth argument can be NULL if the caller doe
bytes in the character.
The ILexer, ILexerWithSubStyles, IDocument, and
-IDocumentWithLineEnd interfaces may be
+
The ILexer, ILexerWithSubStyles, and IDocument interfaces may be
expanded in the future with extended versions (ILexer2...).
The Version method indicates which interface is
implemented and thus which methods may be called.
Scintilla 4 changed the definition of IDocument by merging the previously separate
+IDocumentWithLineEnd interface and
+removing the mask parameter to StartStyling.
Notifications are sent (fired) from the Scintilla control to its container when an event has -- cgit v1.2.3