---
name: "Jifty::Plugin::Chart::Renderer"
section: "3pm"
platform: "linux"
package: "libjifty-plugin-chart-perl"
version: "1.01+dfsg-2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Jifty::Plugin::Chart::Renderer"
---

# Jifty::Plugin::Chart::Renderer(3pm)

Base class for chart rendering classes

## NAME

Jifty::Plugin::Chart::Renderer - Base class for chart rendering classes

## SYNOPSIS

In your *config.yml*:

```
  Plugins:
    - Chart:
        DefaultRenderer: MyApp::Renderer
```

In *lib/MyApp/Renderer.pm*:

```
  package MyApp::Renderer;
  use base qw/ Jifty::Plugin::Chart::Renderer /;
  sub init {
      my $self = shift;
      # Handle any required initialization, like required CSS, JS, etc.
  }
  sub render {
      my $self = shift;
      my %args = @_;
      # Output your chart
      Jifty->web->out( #{ Output your chart here... } );
      # You could also return it as a string...
      return;
  }
```

## METHODS

Your renderer implementation must subclass this package and implement the following methods:

### new

This is the constructor. Don't override this directly. Instead implement "init".

### init

```
  $renderer->init();
```

This is called by `"new"` immediately after constructing the object.  It is passed a param hash from the config file.  Subclasses should implement this method to do any required initialization such as letting Jifty know about required CSS files, JS files, etc.

### render

```
  Jifty->web->out($renderer->render(%args));
```

See Jifty::Plugin::Chart::Web for the arguments. It must (at least) accept the arguments given to the "chart" in Jifty::Plugin::Chart::Web method.

The `"render"` method may either return it's output or print it out using Jifty::Web::out.

## SEE ALSO

Jifty::Plugin::Chart::Web, Jifty::Plugin::Chart::Renderer::Chart

## AUTHOR

Andrew Sterling Hanenkamp `"<andrew.hanenkamp@boomer.com>"`

## COPYRIGHT AND LICENSE

Copyright 2007 Boomer Consulting, Inc.

This is free software and may be modified and distributed under the same terms as Perl itself.
