I need really quick drawing on the chart.
I have around 30 charts you can scroll through (Big chart + mini overview).
Sounds like a job for the Immediate mode Immediate mode.
I want to have the possibility to draw using the immediate Mode but on “The axis”.
In fact I would like to have the axis drawn inside of the chart area:
I managed to make the drawing work so I extended the SciChartSurface
and register a wrapper for the IAnnotationsDrawingProvider
which adds functionality durring the render pass.
What are my goals:
- Draw over the axis.
- Bring the axis into the chart (I managed to do this using some Grid row manipulation for default template at runtime. I do not like this but also would not like to provide a custom template I would need to adjust).
- Have the possibility to draw over/under the series and over/under the axis. I saw there is a list of rendering actions but it is immutable FIFO style. I would like to do stufff like
OnBeforeRenderSeries
OnAfterRenderSeries
. - Mouse hover
style
(color) change.
Perhaps I am missing something here?
So with respect to:
3: This I could achieve by adding additional RenderSurface
items (Like here). How performant is this having in mind I have already ~30 surfaces? I could provide an annotation that uses the SciChart HighQualityRenderSurface
or similar but that got me thinking why its not like that with the Axes? They use a WriteableBitmap
for ticks then TickLabelCanvas
with custom TickLabels
and a ModifierAxisCanvas
.
4: I have this using some hit testing and storing state before/after mouse move with re-render trigger.