protected override void OnRender(ChartControl chartControl, ChartScale chartScale) { base.OnRender(chartControl, chartScale); // define the point for the text to render SharpDX.Vector2 startPoint = new SharpDX.Vector2(ChartPanel.X, ChartPanel.Y + 20); // construct the text format with desired font family and size SharpDX.DirectWrite.TextFormat textFormat = new SharpDX.DirectWrite.TextFormat(Core.Globals.DirectWriteFactory, "Arial", 12); int textOffset1 = 5; int textOffset2 = 25; int textOffset3 = 45; // construct the rectangleF struct to describe the position and size the text SharpDX.RectangleF rectangleF1 = new SharpDX.RectangleF(startPoint.X + textOffset1, startPoint.Y, ChartPanel.W, ChartPanel.H); SharpDX.RectangleF rectangleF2 = new SharpDX.RectangleF(startPoint.X + textOffset2, startPoint.Y, ChartPanel.W, ChartPanel.H); SharpDX.RectangleF rectangleF3 = new SharpDX.RectangleF(startPoint.X + textOffset3, startPoint.Y, ChartPanel.W, ChartPanel.H); // define the brush used for the text //SharpDX.Direct2D1.SolidColorBrush customDXBrush1 = new SharpDX.Direct2D1.SolidColorBrush(RenderTarget, SharpDX.Color.Blue); //SharpDX.Direct2D1.SolidColorBrush customDXBrush2 = new SharpDX.Direct2D1.SolidColorBrush(RenderTarget, SharpDX.Color.Red); //SharpDX.Direct2D1.SolidColorBrush customDXBrush3 = new SharpDX.Direct2D1.SolidColorBrush(RenderTarget, SharpDX.Color.Yellow); // execute the render target text command with desired values RenderTarget.DrawText(myText1, textFormat, rectangleF1, customDXBrush1); RenderTarget.DrawText(myText2, textFormat, rectangleF2, customDXBrush1); RenderTarget.DrawText(myText3, textFormat, rectangleF3, customDXBrush1); // always dispose of textFormat when finished textFormat.Dispose(); // always dipose of brush when finished customDXBrush1.Dispose(); customDXBrush2.Dispose(); customDXBrush3.Dispose(); }
Announcement
Collapse
Looking for a User App or Add-On built by the NinjaTrader community?
Visit NinjaTrader EcoSystem and our free User App Share!
Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less
Partner 728x90
Collapse
NinjaTrader
Use of LineMetrics
Collapse
X
-
Use of LineMetrics
Hi, I'm trying to place lines of 'random' length text next to each other horizontally. Each piece of text is a different color so (I assume) it can't be one text object. So I'm trying to work out the width of each piece of text so that I can place the next text without overlapping the previous one. I'm assuming I need to use 'LineMetrics' but I can't find any examples. I'd appreciate an example. So in my example code below, how do I set textOffset1, 2 and 3 automatically? Thanks
Code:Tags: None
Latest Posts
Collapse
Topics | Statistics | Last Post | ||
---|---|---|---|---|
Started by CortexZenUSA, Today, 12:53 AM
|
0 responses
1 view
0 likes
|
Last Post
by CortexZenUSA
Today, 12:53 AM
|
||
Started by CortexZenUSA, Today, 12:46 AM
|
0 responses
1 view
0 likes
|
Last Post
by CortexZenUSA
Today, 12:46 AM
|
||
Started by usazencortex, Today, 12:43 AM
|
0 responses
5 views
0 likes
|
Last Post
by usazencortex
Today, 12:43 AM
|
||
Started by sidlercom80, 10-28-2023, 08:49 AM
|
168 responses
2,266 views
0 likes
|
Last Post
by sidlercom80
Today, 12:05 AM
|
||
Started by Barry Milan, Yesterday, 10:35 PM
|
3 responses
13 views
0 likes
|
Last Post Yesterday, 11:58 PM |
Comment