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
