There is an initial implementation available from
http://www.scintilla.org/dscite.zip

  The make and project files haven't been updated yet. The new source
files are in scintilla/src and are RunStyles.cxx and Decoration.cxx.
The Decoration code may be merged into Indicator. The maximum
indicator (INDIC_MAX) has been increased from 7 to 31 with indicators
0 to 7 still using bits in the style bytes and indicators 8 to 31
using the new decoration code. Indicators above 15 are currently drawn
under the text but this will probably become an attribute of each
indicator. The API is

# Set the indicator and value used for IndicatorFillRange and
IndicatorClearRange
fun void IndicatorSetCurrent=2500(int indicator, int value)

# Turn a indicator on over a range.
fun void IndicatorFillRange=2501(int position, int fillLength)

# Turn a indicator off over a range.
fun void IndicatorClearRange=2502(int position, int clearLength)

# Are any indicators present at position?
fun int IndicatorAllOnFor=2503(int position,)

# What value does a particular indicator have at at a position?
fun int IndicatorValueAt=2504(int indicator, int position)

# Where does a particular indicator start?
fun int IndicatorStart=2505(int indicator, int position)

# Where does a particular indicator end?
fun int IndicatorEnd=2506(int indicator, int position)

  Because of the two parameter limit for Scintilla APIs,
IndicatorFillRange and IndicatorClearRange implicitly affect the
indicator set in IndicatorSetCurrent. The 'value' parameter to
IndicatorSetCurrent is to allow multi-valued indicators in the future
and should always be set to 1 for now.

  None of the new calls can affect the existing indicators stored in
style bytes. While the implementation could try to hide the
differences, it is more work and doesn't appear that useful if style
byte indicators are going to go away.

  There are no creation or deletion methods: decorations appear when
a range is filled and disappear when there are no filled ranges.

  Neil
_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest

Reply via email to