The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Quiq::Gd::Component::BlockDiagram - Farbige Blöcke in einer Fläche

BASE CLASS

Quiq::Gd::Component

ATTRIBUTES

Fett hervorgehobene Attribute sind Pflichtangaben beim Konstruktor-Aufruf.

width => $int (Default: keiner)

Breite der Grafik in Pixeln.

height => $int (Default: keiner)

Höhe der Grafik in Pixeln.

xMin => $f (Default: Minimum der X-Werte)

Anfang des X-Wertebereichs (Weltkoodinate).

xMax => $f (Default: Maximum der X-Werte)

Ende des X-Wertebereichs (Weltkoodinate).

yMin => $f (Default: Minimum der Y-Werte)

Anfang des Y-Wertebereichs (Weltkoodinate).

yMax => $f (Default: Maximum der Y-Werte)

Ende des Y-Wertebereichs (Weltkoodinate).

yReverse => $bool (Default: 0)

Die Y-Achse geht von oben nach unten statt von unten nach oben, d.h. die kleineren Werte sind oben.

objects => \@objects (Default: [])

Liste der Objekte, die die Blockinformation liefern.

objectCallback => $sub

Subroutine, die aus einem Objekt die Block-Information liefert. Signatur:

  sub {
      my $obj = shift;
      ...
      return ($x,$y,$width,$height,$color);
  }

EXAMPLE

METHODS

Konstruktor

new() - Konstruktor

Synopsis

  $g = $class->new(@keyVal);

Description

Instantiiere ein Blockdiagramm-Objekt mit den Eigenschaften @keyVal (s. Abschnitt ATTRIBUTES) und liefere eine Referenz auf das Objekt zurück.

Zeichnen

render() - Zeichne Grafik

Synopsis

  @blocks | $blockA = $g->render($img);
  @blocks | $blockA = $g->render($img,$x,$y,@keyVal);
  @blocks | $blockA = $class->render($img,$x,$y,@keyVal);

Returns

Liste der gezeichneten Blöcke. Im Skalarkontext eine Referenz auf die Liste. Ein Listenelement hat die Komponenten:

  [$obj,$x1,$y1,$x2,$y2]

Ein Element gibt zu jedem Objekt die Pixelkoordinaten des Blocks im Bild $img an.

Description

Zeichne die Grafik in Bild $img an Position ($x,$y).

VERSION

1.189

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2020 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.