> ## Documentation Index
> Fetch the complete documentation index at: https://takeprofit.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Package indie.drawings

Package for drawing coordinate-based visual elements like labels, lines, and shapes.

***

## Types

### `AbsolutePosition`

*type*

Position defined in absolute chart coordinates (time and price values).

**1. Fields**

[Navigate to field\_AbsolutePosition\_time](#field_AbsolutePosition_time)

time

float

Time coordinate of the absolute position.

[Navigate to field\_AbsolutePosition\_price](#field_AbsolutePosition_price)

price

float

Price coordinate of the absolute position.

[Navigate to field\_AbsolutePosition\_offset](#field_AbsolutePosition_offset)

offset

float

Offset adjustment for the absolute position.

**2. Methods**

[Navigate to method\_AbsolutePosition\_init](#method_AbsolutePosition_init)

**init**

(time, price, offset) -> None

Initializes an absolute position with time and price coordinates.

**parameters info**

time

float

required

Time coordinate of the position on the chart.

price

float

required

Price coordinate of the position on the chart.

offset

float

default:
0.0

Optional offset adjustment for the position.

***

### `BlockProfile`

*type*

Drawable grid of price rows against time columns, the layout of a TPO or Market Profile.

**1. Fields**

[Navigate to field\_BlockProfile\_row\_size](#field_BlockProfile_row_size)

row\_size

float

Height of a price row in price units; a row covers `[price, price + row_size)`.

[Navigate to field\_BlockProfile\_time\_from](#field_BlockProfile_time_from)

time\_from

float

Start timestamp of the profile, the origin of column offsets.

[Navigate to field\_BlockProfile\_time\_to](#field_BlockProfile_time_to)

time\_to

float

End timestamp of the profile, where its last column ends.

**2. Methods**

[Navigate to method\_BlockProfile\_init](#method_BlockProfile_init)

**init**

(row\_size, time\_from, time\_to) -> None

Initializes an empty block profile with its row size and time interval.

**parameters info**

row\_size

float

required

Height of a price row in price units.

time\_from

float

required

Start timestamp of the profile.

time\_to

float

required

End timestamp of the profile. Columns carry only their start offsets, so the last one ends here.

[Navigate to method\_BlockProfile\_add\_column](#method_BlockProfile_add_column)

add\_column

(start\_offset\_seconds, color) -> int

Appends a time column that starts at the given offset from `time_from` and returns its index.

**parameters info**

start\_offset\_seconds

int

required

Column start as an offset in seconds from `time_from`.

color

indie.Optional\[indie.Color]

default:
None

Optional color for every cell of the column.

[Navigate to method\_BlockProfile\_add\_cell](#method_BlockProfile_add_cell)

add\_cell

(price, column\_index, values, color) -> None

Adds a cell at a price row inside an existing column.

**parameters info**

price

float

required

Bottom edge of the price row of the cell.

column\_index

int

required

Index of the column returned by `add_column`.

values

indie.Optional\[list\[float]]

default:
None

Optional numbers attached to the cell, such as sell and buy volume.

color

indie.Optional\[indie.Color]

default:
None

Optional color that overrides the column and palette colors for this cell.

[Navigate to method\_BlockProfile\_add\_level](#method_BlockProfile_add_level)

add\_level

(name, price) -> None

Adds a named horizontal level such as `POC` to the profile.

**parameters info**

name

str

required

Level name, for example `POC`, `IB_HIGH` or `IB_LOW`.

price

float

required

Price of the level.

[Navigate to method\_BlockProfile\_set\_palette](#method_BlockProfile_set_palette)

set\_palette

(colors) -> None

Sets the colors the chart spreads across the columns of the profile.

**parameters info**

colors

list\[indie.Color]

required

Colors spread across the columns from the first to the last.

[Navigate to method\_BlockProfile\_clear](#method_BlockProfile_clear)

clear

() -> None

Removes all columns, cells and levels from the profile.

[Navigate to method\_BlockProfile\_is\_empty](#method_BlockProfile_is_empty)

is\_empty

() -> bool

Returns `True` if the profile has no cells.

[Navigate to method\_BlockProfile\_column\_count](#method_BlockProfile_column_count)

column\_count

() -> int

Returns the number of time columns in the profile.

[Navigate to method\_BlockProfile\_cell\_count](#method_BlockProfile_cell_count)

cell\_count

() -> int

Returns the number of cells in the profile.

> [!NOTE]
>
> Cells reference their column by index. Levels are named horizontal marks such as `POC`; a palette, when set, is spread across the columns by the chart.

***

### `Channel`

*type*

Drawable price channel defined by two boundary line segments.

**1. Fields**

[Navigate to field\_Channel\_point\_a](#field_Channel_point_a)

point\_a

indie.drawings.AbsolutePosition

First anchor point of the channel.

[Navigate to field\_Channel\_point\_b](#field_Channel_point_b)

point\_b

indie.drawings.AbsolutePosition

Second anchor point of the channel.

[Navigate to field\_Channel\_channel\_width](#field_Channel_channel_width)

channel\_width

float

Width of the channel (price units).

[Navigate to field\_Channel\_line\_style](#field_Channel_line_style)

line\_style

indie.line\_style

Visual style of the channel border line.

[Navigate to field\_Channel\_line\_width](#field_Channel_line_width)

line\_width

int

Width of the channel border line in pixels.

[Navigate to field\_Channel\_line\_color](#field_Channel_line_color)

line\_color

indie.Color

Color of the channel border line.

[Navigate to field\_Channel\_bg\_color](#field_Channel_bg_color)

bg\_color

indie.Color

Fill/background color of the channel.

[Navigate to field\_Channel\_middle\_line\_style](#field_Channel_middle_line_style)

middle\_line\_style

indie.line\_style

Visual style of the channel middle line.

[Navigate to field\_Channel\_middle\_line\_width](#field_Channel_middle_line_width)

middle\_line\_width

int

Width of the channel middle line in pixels.

[Navigate to field\_Channel\_middle\_line\_color](#field_Channel_middle_line_color)

middle\_line\_color

indie.Color

Color of the channel middle line.

**2. Methods**

[Navigate to method\_Channel\_init](#method_Channel_init)

**init**

(point\_a, point\_b, channel\_width, line\_style, line\_width, line\_color, bg\_color, middle\_line\_style, middle\_line\_width, middle\_line\_color) -> None

Initializes a new channel defined by two points and a width with optional styling parameters.

**parameters info**

point\_a

indie.drawings.AbsolutePosition

required

First anchor point of the channel.

point\_b

indie.drawings.AbsolutePosition

required

Second anchor point of the channel.

channel\_width

float

required

Width of the channel (price units).

line\_style

indie.line\_style

default:
indie.line\_style.SOLID

Border line style.

line\_width

int

default:
1

Border line width in pixels.

line\_color

indie.Color

default:
indie.color.YELLOW

Border line color.

bg\_color

indie.Color

default:
indie.color.TRANSPARENT

Background/fill color.

middle\_line\_style

indie.line\_style

default:
indie.line\_style.DOTTED

Middle line style.

middle\_line\_width

int

default:
1

Middle line width in pixels.

middle\_line\_color

indie.Color

default:
indie.color.YELLOW

Middle line color.

***

### `Chart`

*type*

Chart class for drawing and managing manual and coordinate-based visual elements on the chart.

**1. Methods**

[Navigate to method\_Chart\_draw](#method_Chart_draw)

draw

(obj) -> None

Adds or updates a drawing element on the chart.

**parameters info**

obj

indie.drawings.IDrawingItem

required

Drawing object to add or update on the chart.

[Navigate to method\_Chart\_erase](#method_Chart_erase)

erase

(obj) -> None

Removes a drawing element from the chart. The call does nothing if the object is not on the chart at that moment: never drawn, already erased, or removed by an intrabar rollback. So erasing unconditionally is safe and needs no bookkeeping of what is currently drawn.

**parameters info**

obj

indie.drawings.IDrawingItem

required

Drawing object to remove from the chart.

***

### `Circle`

*type*

Drawable circle defined by center and edge points with customizable style.

**1. Fields**

[Navigate to field\_Circle\_point\_center](#field_Circle_point_center)

point\_center

indie.drawings.AbsolutePosition

Center point of the circle.

[Navigate to field\_Circle\_point\_edge](#field_Circle_point_edge)

point\_edge

indie.drawings.AbsolutePosition

A point on the circle edge that defines the radius.

[Navigate to field\_Circle\_line\_style](#field_Circle_line_style)

line\_style

indie.line\_style

Visual style of the circle border line.

[Navigate to field\_Circle\_line\_width](#field_Circle_line_width)

line\_width

int

Width of the circle border line in pixels.

[Navigate to field\_Circle\_line\_color](#field_Circle_line_color)

line\_color

indie.Color

Color of the circle border line.

[Navigate to field\_Circle\_bg\_color](#field_Circle_bg_color)

bg\_color

indie.Color

Fill/background color of the circle.

**2. Methods**

[Navigate to method\_Circle\_init](#method_Circle_init)

**init**

(point\_center, point\_edge, line\_style, line\_width, line\_color, bg\_color) -> None

Initializes a new circle defined by center and edge points with optional styling parameters.

**parameters info**

point\_center

indie.drawings.AbsolutePosition

required

Center point of the circle.

point\_edge

indie.drawings.AbsolutePosition

required

A point on the circle edge that defines the radius.

line\_style

indie.line\_style

default:
indie.line\_style.SOLID

Border line style.

line\_width

int

default:
1

Border line width in pixels.

line\_color

indie.Color

default:
indie.color.YELLOW

Border line color.

bg\_color

indie.Color

default:
indie.color.TRANSPARENT

Background/fill color.

***

### `Label[T]`

*type*

Base class for text labels that can be positioned on the chart.

**1. Aliases**

```py theme={null}
LabelAbs = Label[AbsolutePosition]
```

```py theme={null}
LabelRel = Label[RelativePosition]
```

**2. Fields**

[Navigate to field\_Label\_text](#field_Label_text)

text

str

Text content displayed by the label.

[Navigate to field\_Label\_position](#field_Label_position)

position

T

Position of the label on the chart (absolute or relative).

[Navigate to field\_Label\_left\_font\_size](#field_Label_left_font_size)

font\_size

int

Font size of the label text.

[Navigate to field\_Label\_text\_color](#field_Label_text_color)

text\_color

indie.Color

Color of the label text.

[Navigate to field\_Label\_bg\_color](#field_Label_bg_color)

bg\_color

indie.Color

Background color of the label.

[Navigate to field\_Label\_callout\_position](#field_Label_callout_position)

callout\_position

indie.drawings.callout\_position

Position of the label relative to its specified coordinates.

**3. Methods**

[Navigate to method\_Label\_init](#method_Label_init)

**init**

(text, position, \*, font\_size, text\_color, bg\_color, callout\_position) -> None

Initializes a new label with text, position and optional styling parameters.

**parameters info**

text

str

required

Text content to display in the label.

position

T

required

Position of the label on the chart (`AbsolutePosition` or `RelativePosition`).

font\_size

int

default:
14

Font size of the label text in pixels.

text\_color

indie.Color

default:
indie.color.BLACK

Color of the label text.

bg\_color

indie.Color

default:
indie.color.YELLOW

Background color of the label.

callout\_position

indie.drawings.callout\_position

default:
indie.drawings.callout\_position.TOP\_RIGHT

Position of the label relative to its specified coordinates.

***

### `LineSegment`

*type*

Drawable line segment between two points with customizable style and endpoints.

**1. Fields**

[Navigate to field\_LineSegment\_point\_a](#field_LineSegment_point_a)

point\_a

indie.drawings.AbsolutePosition

Starting point of the line segment.

[Navigate to field\_LineSegment\_point\_b](#field_LineSegment_point_b)

point\_b

indie.drawings.AbsolutePosition

Ending point of the line segment.

[Navigate to field\_LineSegment\_color](#field_LineSegment_color)

color

indie.Color

Color of the line segment.

[Navigate to field\_LineSegment\_line\_style](#field_LineSegment_line_style)

line\_style

indie.line\_style

Visual style of the line (solid, dashed, dotted).

[Navigate to field\_LineSegment\_line\_width](#field_LineSegment_line_width)

line\_width

int

Width of the line segment in pixels.

**2. Methods**

[Navigate to method\_LineSegment\_init](#method_LineSegment_init)

**init**

(point\_a, point\_b, color, line\_style, line\_width) -> None

Initializes a new line segment between two points with optional styling parameters.

**parameters info**

point\_a

indie.drawings.AbsolutePosition

required

Starting point of the line segment.

point\_b

indie.drawings.AbsolutePosition

required

Ending point of the line segment.

color

indie.Color

default:
indie.color.YELLOW

Color of the line segment.

line\_style

indie.line\_style

default:
indie.line\_style.SOLID

Visual style of the line (solid, dashed, dotted).

line\_width

int

default:
1

Width of the line segment in pixels.

***

### `PriceHistogram`

*type*

Drawable sideways price histogram defined by bars, layers, and a time interval.

**1. Fields**

[Navigate to field\_PriceHistogram\_time\_from](#field_PriceHistogram_time_from)

time\_from

float

Start timestamp of the price histogram interval.

[Navigate to field\_PriceHistogram\_time\_to](#field_PriceHistogram_time_to)

time\_to

indie.Optional\[float]

End timestamp of the price histogram interval.

**2. Methods**

[Navigate to method\_PriceHistogram\_init](#method_PriceHistogram_init)

**init**

(bar\_width, time\_from, time\_to, layers, grid\_anchor) -> None

Initializes a price histogram drawing.

**parameters info**

bar\_width

float

required

Width of a price histogram bar in price units.

time\_from

float

required

Start timestamp of the price histogram interval.

time\_to

indie.Optional\[float]

default:
None

Optional end timestamp of the price histogram interval.

layers

indie.Optional\[list\[str]]

default:
None

Optional layer titles for stacked price histogram values.

grid\_anchor

float

default:
0.0

Price used as the origin of the histogram bar grid.

[Navigate to method\_PriceHistogram\_clear](#method_PriceHistogram_clear)

clear

() -> None

Removes all bars from the price histogram.

[Navigate to method\_PriceHistogram\_add](#method_PriceHistogram_add)

add

(price, values) -> None

Adds values to the price histogram at the given price.

**parameters info**

price

float

required

Price where values should be added.

values

list\[float]

required

Layer values to add at the given price.

[Navigate to method\_PriceHistogram\_is\_empty](#method_PriceHistogram_is_empty)

is\_empty

() -> bool

Returns `True` if the price histogram has no bars.

[Navigate to method\_PriceHistogram\_bar\_count](#method_PriceHistogram_bar_count)

bar\_count

() -> int

Returns the number of bars in the price histogram.

***

### `Rectangle`

*type*

Drawable rectangle defined by two corner points with customizable style.

**1. Fields**

[Navigate to field\_Rectangle\_point\_a](#field_Rectangle_point_a)

point\_a

indie.drawings.AbsolutePosition

First corner point of the rectangle.

[Navigate to field\_Rectangle\_point\_b](#field_Rectangle_point_b)

point\_b

indie.drawings.AbsolutePosition

Opposite corner point of the rectangle.

[Navigate to field\_Rectangle\_line\_style](#field_Rectangle_line_style)

line\_style

indie.line\_style

Visual style of the rectangle border line.

[Navigate to field\_Rectangle\_line\_width](#field_Rectangle_line_width)

line\_width

int

Width of the rectangle border line in pixels.

[Navigate to field\_Rectangle\_line\_color](#field_Rectangle_line_color)

line\_color

indie.Color

Color of the rectangle border line.

[Navigate to field\_Rectangle\_bg\_color](#field_Rectangle_bg_color)

bg\_color

indie.Color

Fill/background color of the rectangle.

[Navigate to field\_Rectangle\_middle\_line\_style](#field_Rectangle_middle_line_style)

middle\_line\_style

indie.line\_style

Visual style of the middle line.

[Navigate to field\_Rectangle\_middle\_line\_width](#field_Rectangle_middle_line_width)

middle\_line\_width

int

Width of the middle line in pixels.

[Navigate to field\_Rectangle\_middle\_line\_color](#field_Rectangle_middle_line_color)

middle\_line\_color

indie.Color

Color of the middle line.

**2. Methods**

[Navigate to method\_Rectangle\_init](#method_Rectangle_init)

**init**

(point\_a, point\_b, line\_style, line\_width, line\_color, bg\_color, middle\_line\_style, middle\_line\_width, middle\_line\_color) -> None

Initializes a new rectangle defined by two corner points with optional styling parameters.

**parameters info**

point\_a

indie.drawings.AbsolutePosition

required

First corner point of the rectangle.

point\_b

indie.drawings.AbsolutePosition

required

Opposite corner point of the rectangle.

line\_style

indie.line\_style

default:
indie.line\_style.SOLID

Border line style.

line\_width

int

default:
1

Border line width in pixels.

line\_color

indie.Color

default:
indie.color.YELLOW

Border line color.

bg\_color

indie.Color

default:
indie.color.TRANSPARENT

Background/fill color.

middle\_line\_style

indie.line\_style

default:
indie.line\_style.DOTTED

Middle line style.

middle\_line\_width

int

default:
1

Middle line width in pixels.

middle\_line\_color

indie.Color

default:
indie.color.TRANSPARENT

Middle line color.

***

### `RelativePosition`

*type*

Position defined relative to chart boundaries using percentage ratios.

**1. Fields**

[Navigate to field\_RelativePosition\_vertical\_anchor](#field_RelativePosition_vertical_anchor)

vertical\_anchor

indie.drawings.vertical\_anchor

Vertical anchor point (top, middle, bottom) for the relative position.

[Navigate to field\_RelativePosition\_horizontal\_anchor](#field_RelativePosition_horizontal_anchor)

horizontal\_anchor

indie.drawings.horizontal\_anchor

Horizontal anchor point (left, center, right) for the relative position.

[Navigate to field\_RelativePosition\_top\_bottom\_ratio](#field_RelativePosition_top_bottom_ratio)

top\_bottom\_ratio

float

Vertical position ratio from 0.0 (top) to 1.0 (bottom) of the chart.

[Navigate to field\_RelativePosition\_left\_right\_ratio](#field_RelativePosition_left_right_ratio)

left\_right\_ratio

float

Horizontal position ratio from 0.0 (left) to 1.0 (right) of the chart.

**2. Methods**

[Navigate to method\_RelativePosition\_init](#method_RelativePosition_init)

**init**

(vertical\_anchor, horizontal\_anchor, top\_bottom\_ratio, left\_right\_ratio) -> None

Initializes a relative position with anchor points and ratio values.

**parameters info**

vertical\_anchor

indie.drawings.vertical\_anchor

required

Vertical anchor point (top, middle, bottom) for positioning.

horizontal\_anchor

indie.drawings.horizontal\_anchor

required

Horizontal anchor point (left, center, right) for positioning.

top\_bottom\_ratio

float

required

Vertical position ratio from 0.0 (top) to 1.0 (bottom) of the chart.

left\_right\_ratio

float

required

Horizontal position ratio from 0.0 (left) to 1.0 (right) of the chart.

***

### `Table[T]`

*type*

A drawable table anchored to a relative chart position.

**1. Fields**

[Navigate to field\_Table\_position](#field_Table_position)

position

T

Relative position of the table on the chart.

[Navigate to field\_Table\_rows\_data](#field_Table_rows_data)

rows\_data

list\[indie.drawings.TableRow]

Rows contained in the table.

[Navigate to field\_Table\_bg\_color](#field_Table_bg_color)

bg\_color

indie.Color

Table background color. The chart default is used when omitted.

[Navigate to field\_Table\_frame\_color](#field_Table_frame_color)

frame\_color

indie.Color

Outer table frame color. The chart default is used when omitted.

[Navigate to field\_Table\_frame\_width](#field_Table_frame_width)

frame\_width

int

Width of the outer table frame in pixels.

[Navigate to field\_Table\_grid\_color](#field_Table_grid_color)

grid\_color

indie.Color

Grid line color. The chart default is used when omitted.

[Navigate to field\_Table\_grid\_width](#field_Table_grid_width)

grid\_width

int

Width of the grid lines between cells in pixels.

[Navigate to field\_Table\_text\_color](#field_Table_text_color)

text\_color

indie.Color

Default text color for table cells. The chart default is used when omitted.

[Navigate to field\_Table\_font\_size](#field_Table_font_size)

font\_size

int

Default font size for table cells in pixels.

**2. Methods**

[Navigate to method\_Table\_init](#method_Table_init)

**init**

(position, rows\_data, bg\_color, frame\_color, frame\_width, grid\_color, grid\_width, text\_color, font\_size) -> None

Initializes a table with rows, position and optional styling parameters.

**parameters info**

position

T

default:
indie.drawings.relative\_position.TOP\_RIGHT

Relative position of the table on the chart.

rows\_data

list\[indie.drawings.TableRow]

default:
\[]

Initial list of rows in the table.

bg\_color

indie.Optional\[indie.Color]

default:
None

Optional table background color. The chart chooses the default when omitted.

frame\_color

indie.Optional\[indie.Color]

default:
None

Optional outer frame color. The chart chooses the default when omitted.

frame\_width

int

default:
1

Width of the outer table frame in pixels.

grid\_color

indie.Optional\[indie.Color]

default:
None

Optional grid color. The chart chooses the default when omitted.

grid\_width

int

default:
1

Width of the grid lines between cells in pixels.

text\_color

indie.Optional\[indie.Color]

default:
None

Optional default text color for cells. The chart chooses the default when omitted.

font\_size

int

default:
12

Default font size for table cells in pixels.

[Navigate to method\_Table\_len](#method_Table_len)

**len**

() -> int

Returns the number of rows in the table.

[Navigate to method\_Table\_getitem](#method_Table_getitem)

**getitem**

(index) -> indie.drawings.TableRow

Returns a row by its zero-based index.

**parameters info**

index

int

required

Zero-based index of the row to return.

[Navigate to method\_Table\_clear](#method_Table_clear)

clear

() -> None

Removes all rows from the table.

[Navigate to method\_Table\_append](#method_Table_append)

append

(row) -> None

Appends a row to the table.

**parameters info**

row

indie.drawings.TableRow

required

Row to append to the table.

[Navigate to method\_Table\_add\_row](#method_Table_add_row)

add\_row

(cells) -> None

Creates and appends a row from text values.

**parameters info**

cells

list\[str]

required

Text values for the row to create and append.

> [!NOTE]
>
> Only relative positioning is currently supported. Tables support up to 50 rows and 20 columns.

***

### `TableCell`

*type*

A table cell containing text and optional per-cell colors.

**1. Fields**

[Navigate to field\_TableCell\_value](#field_TableCell_value)

value

str

Text stored in the cell.

[Navigate to field\_TableCell\_text\_color](#field_TableCell_text_color)

text\_color

indie.Optional\[indie.Color]

Optional text color that overrides the table default.

[Navigate to field\_TableCell\_bg\_color](#field_TableCell_bg_color)

bg\_color

indie.Optional\[indie.Color]

Optional background color that overrides the table default.

**2. Methods**

[Navigate to method\_TableCell\_init](#method_TableCell_init)

**init**

(value, text\_color, bg\_color) -> None

Initializes a table cell with text and optional colors.

**parameters info**

value

str

required

Initial text value of the cell.

text\_color

indie.Optional\[indie.Color]

default:
None

Optional text color that overrides the table default.

bg\_color

indie.Optional\[indie.Color]

default:
None

Optional background color that overrides the table default.

[Navigate to method\_TableCell\_set](#method_TableCell_set)

set

(value) -> None

Updates the text stored in the cell.

**parameters info**

value

str

required

New text value of the cell.

[Navigate to method\_TableCell\_get](#method_TableCell_get)

get

() -> str

Returns the text stored in the cell.

***

### `TableRow`

*type*

A row of cells in a drawable table.

**1. Fields**

[Navigate to field\_TableRow\_cells](#field_TableRow_cells)

cells

list\[indie.drawings.TableCell]

Cells contained in the row.

**2. Methods**

[Navigate to method\_TableRow\_init](#method_TableRow_init)

**init**

(cells) -> None

Initializes a table row from a list of cells.

**parameters info**

cells

list\[indie.drawings.TableCell]

default:
\[]

Initial list of cells in the row.

[Navigate to method\_TableRow\_len](#method_TableRow_len)

**len**

() -> int

Returns the number of cells in the row.

[Navigate to method\_TableRow\_getitem](#method_TableRow_getitem)

**getitem**

(index) -> indie.drawings.TableCell

Returns a cell by its zero-based index.

**parameters info**

index

int

required

Zero-based index of the cell to return.

***

### `Triangle`

*type*

Drawable triangle defined by three corner points with customizable style.

**1. Fields**

[Navigate to field\_Triangle\_point\_a](#field_Triangle_point_a)

point\_a

indie.drawings.AbsolutePosition

First corner point of the triangle.

[Navigate to field\_Triangle\_point\_b](#field_Triangle_point_b)

point\_b

indie.drawings.AbsolutePosition

Second corner point of the triangle.

[Navigate to field\_Triangle\_point\_c](#field_Triangle_point_c)

point\_c

indie.drawings.AbsolutePosition

Third corner point of the triangle.

[Navigate to field\_Triangle\_line\_style](#field_Triangle_line_style)

line\_style

indie.line\_style

Visual style of the triangle border line.

[Navigate to field\_Triangle\_line\_width](#field_Triangle_line_width)

line\_width

int

Width of the triangle border line in pixels.

[Navigate to field\_Triangle\_line\_color](#field_Triangle_line_color)

line\_color

indie.Color

Color of the triangle border line.

[Navigate to field\_Triangle\_bg\_color](#field_Triangle_bg_color)

bg\_color

indie.Color

Fill/background color of the triangle.

**2. Methods**

[Navigate to method\_Triangle\_init](#method_Triangle_init)

**init**

(point\_a, point\_b, point\_c, line\_style, line\_width, line\_color, bg\_color) -> None

Initializes a new triangle defined by three corner points with optional styling parameters.

**parameters info**

point\_a

indie.drawings.AbsolutePosition

required

First corner point of the triangle.

point\_b

indie.drawings.AbsolutePosition

required

Second corner point of the triangle.

point\_c

indie.drawings.AbsolutePosition

required

Third corner point of the triangle.

line\_style

indie.line\_style

default:
indie.line\_style.SOLID

Border line style.

line\_width

int

default:
1

Border line width in pixels.

line\_color

indie.Color

default:
indie.color.YELLOW

Border line color.

bg\_color

indie.Color

default:
indie.color.TRANSPARENT

Background/fill color.

***

## Enums

### `callout_position`

*enum*

Position of the label relative to its specified coordinates.

**1. Static fields**

[Navigate to const\_callout\_position\_TOP\_RIGHT](#const_callout_position_TOP_RIGHT)

TOP\_RIGHT

indie.drawings.callout\_position

Position of the label relative to its specified coordinates.

[Navigate to const\_callout\_position\_TOP\_LEFT](#const_callout_position_TOP_LEFT)

TOP\_LEFT

indie.drawings.callout\_position

Position of the label relative to its specified coordinates.

[Navigate to const\_callout\_position\_BOTTOM\_RIGHT](#const_callout_position_BOTTOM_RIGHT)

BOTTOM\_RIGHT

indie.drawings.callout\_position

Position of the label relative to its specified coordinates.

[Navigate to const\_callout\_position\_BOTTOM\_LEFT](#const_callout_position_BOTTOM_LEFT)

BOTTOM\_LEFT

indie.drawings.callout\_position

Position of the label relative to its specified coordinates.

***

### `horizontal_anchor`

*enum*

Horizontal anchor point for relative positioning.

**1. Static fields**

[Navigate to const\_horizontal\_anchor\_LEFT](#const_horizontal_anchor_LEFT)

LEFT

indie.drawings.horizontal\_anchor

Horizontal anchor point for relative positioning.

[Navigate to const\_horizontal\_anchor\_CENTER](#const_horizontal_anchor_CENTER)

CENTER

indie.drawings.horizontal\_anchor

Horizontal anchor point for relative positioning.

[Navigate to const\_horizontal\_anchor\_RIGHT](#const_horizontal_anchor_RIGHT)

RIGHT

indie.drawings.horizontal\_anchor

Horizontal anchor point for relative positioning.

***

### `relative_position`

*enum*

Predefined relative positions on the chart for placing elements.

**1. Static fields**

[Navigate to const\_relative\_position\_TOP\_LEFT](#const_relative_position_TOP_LEFT)

TOP\_LEFT

indie.drawings.RelativePosition

Predefined relative positions on the chart for placing elements.

[Navigate to const\_relative\_position\_TOP\_CENTER](#const_relative_position_TOP_CENTER)

TOP\_CENTER

indie.drawings.RelativePosition

Predefined relative positions on the chart for placing elements.

[Navigate to const\_relative\_position\_TOP\_RIGHT](#const_relative_position_TOP_RIGHT)

TOP\_RIGHT

indie.drawings.RelativePosition

Predefined relative positions on the chart for placing elements.

[Navigate to const\_relative\_position\_MIDDLE\_LEFT](#const_relative_position_MIDDLE_LEFT)

MIDDLE\_LEFT

indie.drawings.RelativePosition

Predefined relative positions on the chart for placing elements.

[Navigate to const\_relative\_position\_MIDDLE\_CENTER](#const_relative_position_MIDDLE_CENTER)

MIDDLE\_CENTER

indie.drawings.RelativePosition

Predefined relative positions on the chart for placing elements.

[Navigate to const\_relative\_position\_MIDDLE\_RIGHT](#const_relative_position_MIDDLE_RIGHT)

MIDDLE\_RIGHT

indie.drawings.RelativePosition

Predefined relative positions on the chart for placing elements.

[Navigate to const\_relative\_position\_BOTTOM\_LEFT](#const_relative_position_BOTTOM_LEFT)

BOTTOM\_LEFT

indie.drawings.RelativePosition

Predefined relative positions on the chart for placing elements.

[Navigate to const\_relative\_position\_BOTTOM\_CENTER](#const_relative_position_BOTTOM_CENTER)

BOTTOM\_CENTER

indie.drawings.RelativePosition

Predefined relative positions on the chart for placing elements.

[Navigate to const\_relative\_position\_BOTTOM\_RIGHT](#const_relative_position_BOTTOM_RIGHT)

BOTTOM\_RIGHT

indie.drawings.RelativePosition

Predefined relative positions on the chart for placing elements.

***

### `vertical_anchor`

*enum*

Vertical anchor point for relative positioning.

**1. Static fields**

[Navigate to const\_vertical\_anchor\_TOP](#const_vertical_anchor_TOP)

TOP

indie.drawings.vertical\_anchor

Vertical anchor point for relative positioning.

[Navigate to const\_vertical\_anchor\_MIDDLE](#const_vertical_anchor_MIDDLE)

MIDDLE

indie.drawings.vertical\_anchor

Vertical anchor point for relative positioning.

[Navigate to const\_vertical\_anchor\_BOTTOM](#const_vertical_anchor_BOTTOM)

BOTTOM

indie.drawings.vertical\_anchor

Vertical anchor point for relative positioning.

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.