Posted 19 years ago
by Actipro Software Support
- Cleveland, OH, USA

We're currently looking into the possibility of using customizable renderers for SyntaxEditor 4.0 much like our other controls.
Essentially the renderer would give you the ability to custom-draw most areas of the SyntaxEditor control. We would provide a default implementation and then you could override it with your own drawing if you would like.
The only part of the rendering that we would keep internal would be the text area rendering of text, selection, and span indicator highlighting style overrides since we can optimize the drawing of those things by keeping them internal.
We are figuring you'd be able to draw these things in the renderer:
* Indicator margin
* Line number margin
* User margin (to be added in the next 3.1 maintenance release)
* Selection margin
* Text area (background only)
* Word wrap margin
* Scrollbar parts
* EditorView splitters
* Area between EditorViews
* Block next to where scrollbars intersect
* Outlining indicators
For all the margins, they would have a two-phased approach. For instance, a DrawIndicatorMarginBackground method would be called first, followed by a DrawIndicatorMarginDisplayLine method call for each display line that needs drawing.
Does this sound like a good approach? Does anyone have any further suggestions or things we're missing? Let's hear some thoughts.
Essentially the renderer would give you the ability to custom-draw most areas of the SyntaxEditor control. We would provide a default implementation and then you could override it with your own drawing if you would like.
The only part of the rendering that we would keep internal would be the text area rendering of text, selection, and span indicator highlighting style overrides since we can optimize the drawing of those things by keeping them internal.
We are figuring you'd be able to draw these things in the renderer:
* Indicator margin
* Line number margin
* User margin (to be added in the next 3.1 maintenance release)
* Selection margin
* Text area (background only)
* Word wrap margin
* Scrollbar parts
* EditorView splitters
* Area between EditorViews
* Block next to where scrollbars intersect
* Outlining indicators
For all the margins, they would have a two-phased approach. For instance, a DrawIndicatorMarginBackground method would be called first, followed by a DrawIndicatorMarginDisplayLine method call for each display line that needs drawing.
Does this sound like a good approach? Does anyone have any further suggestions or things we're missing? Let's hear some thoughts.
Actipro Software Support