# Class pyglet.text.DocumentLabel

    layout.TextLayout --+
                        |
                       DocumentLabel

Known Subclasses:
  HTMLLabel, Label

Base label class.

A label is a layout that exposes convenience methods for manipulating the associated document.

## Methods

| __init__(self, document=None, x=0, y=0, width=None, height=None, anchor_x=`'``left``'`, anchor_y=`'``baseline``'`, multiline=False, dpi=None, batch=None, group=None) Create a label for a given document.
object | get_style(self, name) Get a document style value by name.
| set_style(self, name, value) Set a document style value by name over the whole document.
| begin_update(self) Indicate that a number of changes to the layout or document are about to occur. (Inherited from pyglet.text.layout.TextLayout)
| delete(self) Remove this layout from its batch. (Inherited from pyglet.text.layout.TextLayout)
| draw(self) Draw this text layout. (Inherited from pyglet.text.layout.TextLayout)
| end_update(self) Perform pending layout changes since begin_update. (Inherited from pyglet.text.layout.TextLayout)
| on_delete_text(self, start, end) Event handler for `AbstractDocument.on_delete_text`. (Inherited from pyglet.text.layout.TextLayout)
| on_insert_text(self, start, text) Event handler for `AbstractDocument.on_insert_text`. (Inherited from pyglet.text.layout.TextLayout)
| on_style_text(self, start, end, attributes) Event handler for `AbstractDocument.on_style_text`. (Inherited from pyglet.text.layout.TextLayout)

## Properties

str | text The text of the label.
(int, int, int, int) | color Text color.
str or list | font_name Font family name.
float | font_size Font size, in points.
bool | bold Bold font style.
bool | italic Italic font style.
str | anchor_x Horizontal anchor alignment. (Inherited from pyglet.text.layout.TextLayout)
str | anchor_y Vertical anchor alignment. (Inherited from pyglet.text.layout.TextLayout)
str | content_valign Vertical alignment of content within larger layout box. (Inherited from pyglet.text.layout.TextLayout)
| document (Inherited from pyglet.text.layout.TextLayout)
float | dpi Get DPI used by this layout. (Inherited from pyglet.text.layout.TextLayout)
int | height Height of the layout. (Inherited from pyglet.text.layout.TextLayout)
bool | multiline Set if multiline layout is enabled. (Inherited from pyglet.text.layout.TextLayout)
int | width Width of the layout. (Inherited from pyglet.text.layout.TextLayout)
int | x X coordinate of the layout. (Inherited from pyglet.text.layout.TextLayout)
int | y Y coordinate of the layout. (Inherited from pyglet.text.layout.TextLayout)

## Instance Variables

Group | background_group = `OrderedGroup(0)` Rendering group for background color. (Inherited from pyglet.text.layout.TextLayout)
int | content_height Calculuated height of the text in the layout. (Inherited from pyglet.text.layout.TextLayout)
int | content_width Calculuated width of the text in the layout. (Inherited from pyglet.text.layout.TextLayout)
Group | foreground_decoration_group = `TextLayoutForegroundDecorationGr`...`` Rendering group for glyph underlines. (Inherited from pyglet.text.layout.TextLayout)
Group | foreground_group = `TextLayoutForegroundGroup(1)` Rendering group for glyphs. (Inherited from pyglet.text.layout.TextLayout)
Group | top_group = `<pyglet.text.layout.TextLayoutGroup object at 0x51`...`` Top-level rendering group. (Inherited from pyglet.text.layout.TextLayout)

## Method Details

### __init__

(Constructor) __init__(self, document=None, x=0, y=0, width=None, height=None, anchor_x=`'``left``'`, anchor_y=`'``baseline``'`, multiline=False, dpi=None, batch=None, group=None)
Create a label for a given document.

Parameters:
  document : AbstractDocument
    Document to attach to the layout.
  x : int
    X coordinate of the label.
  y : int
    Y coordinate of the label.
  width : int
    Width of the label in pixels, or None
  height : int
    Height of the label in pixels, or None
  anchor_x : str
    Anchor point of the X coordinate: one of `"left"`, `"center"` or `"right"`.
  anchor_y : str
    Anchor point of the Y coordinate: one of `"bottom"`, `"baseline"`, `"center"` or `"top"`.
  multiline : bool
    If True, the label will be word-wrapped and accept newline characters. You must also set the width of the label.
  dpi : float
    Resolution of the fonts in this layout. Defaults to 96.
  batch : Batch
    Optional graphics batch to add the label to.
  group : Group
    Optional graphics group to use.
Overrides:
  layout.TextLayout.__init__

### get_style

get_style(self, name)

Get a document style value by name.

If the document has more than one value of the named style, pyglet.text.document.STYLE_INDETERMINATE is returned.

Parameters:
  name : str
    Style name to query. See documentation for pyglet.text.layout for known style names.
Returns: object

### set_style

set_style(self, name, value)
Set a document style value by name over the whole document.

Parameters:
  name : str
    Name of the style to set. See documentation for pyglet.text.layout for known style names.
  value : object
    Value of the style.

## Property Details

### text

The text of the label.

Type:
  str

### color

Text color.

Color is a 4-tuple of RGBA components, each in range [0, 255].

Type:
  (int, int, int, int)

### font_name

Font family name.

The font name, as passed to pyglet.font.load. A list of names can optionally be given: the first matching font will be used.

Type:
  str or list

### font_size

Font size, in points.

Type:
  float

### bold

Bold font style.

Type:
  bool

### italic

Italic font style.

Type:
  bool