> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ninjatrader.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ninjatrader.com/_mcp/server.

# Rendering

Rendering methods and properties can be useful when carrying out custom drawing tasks for chart objects. Event handlers such as **OnCalculateMinMax()** and **OnRender()** allow you to override behavior at key points in the rendering process.

1. Some rendering methods and properties make use of [SharpDX](http://sharpdx.org/) libraries, which provide a managed framework for working with DirectX technology. Please see the [SharpDX SDK Reference](/developer/desktop-sdk/references/sharpdx) for more information.
2. For a walk through for using the SharpDX, please see the educational resource [Using SharpDX for Custom Chart Rendering](/developer/desktop-sdk/guides/educational-resources/using-sharpdx-for-custom-chart-rendering).

## Methods and Properties

| Method/Property                                                                                            | Description                                                                                           |
| ---------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| [RenderTarget](/developer/desktop-sdk/references/common/charts/rendering/rendertarget)                     | Creates objects and exposes methods used for drawing in the chart area.                               |
| [ForceRefresh()](/developer/desktop-sdk/references/common/charts/rendering/forcerefresh)                   | Forces **OnRender()** to be called, which will re-paint the chart.                                    |
| [IsInHitTest](/developer/desktop-sdk/references/common/charts/rendering/isinhittest)                       | Qualifies if object drawn in chart object should be selectable in the hit test procedure.             |
| [IsSelected](/developer/desktop-sdk/references/common/charts/rendering/isselected)                         | Indicates a chart object is currently selected.                                                       |
| [IsVisibleOnChart()](/developer/desktop-sdk/references/common/charts/rendering/isvisibleonchart)           | Indicates a chart object is visible on the chart canvas.                                              |
| [MaxValue](/developer/desktop-sdk/references/common/charts/rendering/maxvalue)                             | The maximum value used for the automatic scaling of the y axis.                                       |
| [MinValue](/developer/desktop-sdk/references/common/charts/rendering/minvalue)                             | The minimum value used for the automatic scaling of the y axis.                                       |
| [OnCalculateMinMax()](/developer/desktop-sdk/references/common/charts/rendering/oncalculateminmax)         | An event driven method which is called while the chart scale is being updated.                        |
| [OnRender()](/developer/desktop-sdk/references/common/charts/rendering/onrender)                           | Used to render custom drawing to a chart from various chart objects.                                  |
| [OnRenderTargetChanged()](/developer/desktop-sdk/references/common/charts/rendering/onrendertargetchanged) | Used for efficient handling of SharpDX resources.                                                     |
| [PanelUI](/developer/desktop-sdk/references/common/charts/rendering/panelui)                               | The chart panel that is configured on the chart's UI.                                                 |
| [ZOrder](/developer/desktop-sdk/references/common/charts/rendering/chart-zorder)                           | A unique identifier used to control the order in which chart objects are drawn on the chart's Z-axis. |