Canvas
class cAlgo.API
DesktopCLICloud
Defines an area to position child elements by coordinates relative to the Canvas area.
Environment behaviour
CLI — not supported. Accepted without error but never displayed, so control events such as Click are never raised.
Cloud — not supported. Accepted without error but never displayed, so control events such as Click are never raised.
Definition
public class Canvas : Panel
Namespace: cAlgo.API · Group: Layout · Inherits: Panel, ControlBase
Examples
using cAlgo.API;
namespace cAlgo
{
// This sample indicator shows how to use the Canvas panel
public partial class CanvasSample : Indicator
{
protected override void Initialize()
{
var canvas = new Canvas
{
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Center,
Width = 300,
Height = 200,
BackgroundColor = Color.Red,
Opacity = 0.5
};
canvas.AddChild(new Button
{
Top = 20,
Left = 80,
Margin = 5,
Text = "Button Inside Canvas"
});
canvas.AddChild(new Image
{
Source = new SvgIcon("<svg xmlns='http://www.w3.org/2000/svg' width='128' height='128'><circle cx='64' cy='64' r='60' fill='#2F4BFF'/></svg>"),
Margin = 5,
Width = 128,
Height = 128,
Top = 45,
Left = 80
});
Chart.AddControl(canvas);
}
public override void Calculate(int index)
{
}
}
}
import clr
clr.AddReference("cAlgo.API")
from cAlgo.API import *
class Test():
SVG = "<svg width='800px' height='800px' viewBox='0 0 1024 1024' class='icon' version='1.1' xmlns='http://www.w3.org/2000/svg'><path d='M512 960c-92.8 0-160-200-160-448S419.2 64 512 64s160 200 160 448-67.2 448-160 448z m0-32c65.6 0 128-185.6 128-416S577.6 96 512 96s-128 185.6-128 416 62.4 416 128 416z' fill='#050D42' /><path d='M124.8 736c-48-80 92.8-238.4 307.2-363.2S852.8 208 899.2 288 806.4 526.4 592 651.2 171.2 816 124.8 736z m27.2-16c33.6 57.6 225.6 17.6 424-97.6S905.6 361.6 872 304 646.4 286.4 448 401.6 118.4 662.4 152 720z' fill='#050D42' /><path d='M899.2 736c-46.4 80-254.4 38.4-467.2-84.8S76.8 368 124.8 288s254.4-38.4 467.2 84.8S947.2 656 899.2 736z m-27.2-16c33.6-57.6-97.6-203.2-296-318.4S184 246.4 152 304 249.6 507.2 448 622.4s392 155.2 424 97.6z' fill='#050D42' /><path d='M512 592c-44.8 0-80-35.2-80-80s35.2-80 80-80 80 35.2 80 80-35.2 80-80 80zM272 312c-27.2 0-48-20.8-48-48s20.8-48 48-48 48 20.8 48 48-20.8 48-48 48zM416 880c-27.2 0-48-20.8-48-48s20.8-48 48-48 48 20.8 48 48-20.8 48-48 48z m448-432c-27.2 0-48-20.8-48-48s20.8-48 48-48 48 20.8 48 48-20.8 48-48 48z' fill='#2F4BFF' /></svg>"
def initialize(self):
canvas = Canvas()
canvas.HorizontalAlignment = HorizontalAlignment.Center
canvas.VerticalAlignment = VerticalAlignment.Center
canvas.Width = 300
canvas.Height = 200
canvas.BackgroundColor = Color.Red
canvas.Opacity = 0.5
button = Button()
button.Top = 20
button.Left = 80
button.Margin = Thickness(5)
button.Text = "Button Inside Canvas"
canvas.AddChild(button)
image = Image()
image.Margin = Thickness(5)
image.Width = 128
image.Height = 128
image.Top = 45
image.Left = 80
image.Source = SvgIcon(self.SVG)
canvas.AddChild(image)
api.Chart.AddControl(canvas)
{
"AccessRights": "None",
"TimeZone": "UTC",
"IsOverlay": true
}
Constructors
| Name | Description |
|---|---|
| CanvasDesktopCLICloud | Initializes a new instance of the Canvas class. |
Inherited members
From Panel: AddChild, RemoveChild, HasChild, BackgroundColor, Children, ChildCount
From ControlBase: ResetProperty, UniqueId, Style, Left, Top, Right, Bottom, Width, Height, MinWidth, MinHeight, MaxWidth, MaxHeight, IsEnabled, IsVisible, Opacity, Margin, VerticalAlignment, HorizontalAlignment, Dock, IsHitTestVisible