python-igraph API reference

List of all classes, functions and methods in python-igraph

class documentation

Class that draws text on a Cairo context.

This class supports multi-line text unlike the original Cairo text drawing methods.

Class Variable LEFT Undocumented
Class Variable CENTER Undocumented
Class Variable RIGHT Undocumented
Class Variable TOP Undocumented
Class Variable BOTTOM Undocumented
Method __init__ Constructs a new instance that will draw the given `text` on the given Cairo `context`.
Property text Returns the text to be drawn.
Instance Variable halign Undocumented
Instance Variable valign Undocumented
Method draw Draws the text in the current bounding box of the drawer.
Method get_text_layout Calculates the layout of the current text. `x` and `y` denote the coordinates where the drawing should start. If they are both ``None``, the current position of the context will be used.
Method draw_at No summary
Method text.setter Sets the text that will be drawn.
Method text_extents Returns the X-bearing, Y-bearing, width, height, X-advance and Y-advance of the text.
Method _iterlines Iterates over the label line by line and returns a tuple containing the folloing for each line: the line itself, the width of the line and the X-bearing of the line.
Method _iterlines_wrapped Iterates over the label line by line and returns a tuple containing the folloing for each line: the line itself, the width of the line and the X-bearing of the line.
Instance Variable _text Undocumented

Inherited from AbstractCairoDrawer:

Instance Variable context Undocumented
Property bbox The bounding box of the drawing area where this drawer will draw.
Method bbox.setter Sets the bounding box of the drawing area where this drawer will draw.
Instance Variable _bbox Undocumented
Method _mark_point Marks the given point with a small circle on the canvas. Used primarily for debugging purposes.
LEFT =

Undocumented

CENTER =

Undocumented

RIGHT =

Undocumented

TOP =

Undocumented

BOTTOM =

Undocumented

def __init__(self, context, text='', halign='center', valign='center'):

Constructs a new instance that will draw the given `text` on the given Cairo `context`.

@property
text =

Returns the text to be drawn.

halign =

Undocumented

valign =

Undocumented

def draw(self, wrap=False):

Draws the text in the current bounding box of the drawer.

Since the class itself is an instance of `AbstractCairoDrawer`, it has an attribute named ``bbox`` which will be used as a bounding box.

Parameterswrapwhether to allow re-wrapping of the text if it does not fit within the bounding box horizontally.
def get_text_layout(self, x=None, y=None, width=None, wrap=False):

Calculates the layout of the current text. `x` and `y` denote the coordinates where the drawing should start. If they are both ``None``, the current position of the context will be used.

Vertical alignment settings are not taken into account in this method as the text is not drawn within a box.

ParametersxThe X coordinate of the reference point where the layout should start.
yThe Y coordinate of the reference point where the layout should start.
widthThe width of the box in which the text will be fitted. It matters only when the text is right-aligned or centered. The text will overflow the box if any of the lines is longer than the box width and `wrap` is ``False``.
wrapwhether to allow re-wrapping of the text if it does not fit within the given width.
Returnsa list consisting of ``(x, y, line)`` tuples where ``x`` and ``y`` refer to reference points on the Cairo canvas and ``line`` refers to the corresponding text that should be plotted there.
def draw_at(self, x=None, y=None, width=None, wrap=False):

Draws the text by setting up an appropriate path on the Cairo context and filling it. `x` and `y` denote the coordinates where the drawing should start. If they are both ``None``, the current position of the context will be used.

Vertical alignment settings are not taken into account in this method as the text is not drawn within a box.

ParametersxThe X coordinate of the reference point where the layout should start.
yThe Y coordinate of the reference point where the layout should start.
widthThe width of the box in which the text will be fitted. It matters only when the text is right-aligned or centered. The text will overflow the box if any of the lines is longer than the box width and `wrap` is ``False``.
wrapwhether to allow re-wrapping of the text if it does not fit within the given width.
def _iterlines(self):

Iterates over the label line by line and returns a tuple containing the folloing for each line: the line itself, the width of the line and the X-bearing of the line.

def _iterlines_wrapped(self, width):

Iterates over the label line by line and returns a tuple containing the folloing for each line: the line itself, the width of the line and the X-bearing of the line.

The difference between this method and `_iterlines()` is that this method is allowed to re-wrap the line if necessary.

ParameterswidthThe width of the box in which the text will be fitted. Lines will be wrapped if they are wider than this width.
@text.setter
def text(self, text):

Sets the text that will be drawn.

If `text` is ``None``, it will be mapped to an empty string; otherwise, it will be converted to a string.

_text =

Undocumented

def text_extents(self):

Returns the X-bearing, Y-bearing, width, height, X-advance and Y-advance of the text.

For multi-line text, the X-bearing and Y-bearing correspond to the first line, while the X-advance is extracted from the last line. and the Y-advance is the sum of all the Y-advances. The width and height correspond to the entire bounding box of the text.

API Documentation for igraph, generated by pydoctor 21.2.2.