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

NAME

Clutter - Simple GL-based canvas library

SYNOPSIS

  use Clutter qw( :init );
  
  # create the main stage
  my $stage = Clutter::Stage->get_default();
  $stage->set_color(Clutter::Color->parse('DarkSlateGray'));
  $stage->signal_connect('key-press-event' => sub { Clutter->main_quit() });
  $stage->set_size(800, 600);
  
  # add an actor and place it right in the middle
  my $label = Clutter::Label->new("Sans 30", "Hello, Clutter!");
  $label->set_color(Clutter::Color->new(0xff, 0xcc, 0xcc, 0xdd));
  $label->set_position(($stage->get_width()  - $label->get_width())  / 2,
                       ($stage->get_height() - $label->get_height()) / 2);
  $stage->add($label);

  $stage->show_all();
  
  Clutter->main();
  
  0;

DESCRIPTION

Clutter is a GObject based library for creating fast, visually rich graphical user interfaces. It is intended for creating single window heavily stylised applications such as media box ui's, presentations or kiosk style programs in preference to regular 'desktop' style applications.

Clutter's underlying graphics rendering is OpenGL (version 1.2+) based. The clutter API is intended to be easy to use, attempting to hide many of the GL complexities. It targets mainly 2D based graphics and is definetly not intended to be a general interface for all OpenGL functionality.

As well as OpenGL Clutter depends on and uses Glib, Glib::Object, Gtk2::Pango, Gtk2::Gdk::Pixbuf and GStreamer.

For more informations about Clutter, visit:

  http://www.clutter-project.org

You can also subscribe to the Clutter mailing list by sending a blank message <clutter+subscribe AT o-hand.com>, then follow the instructions in resulting reply.

DIFFERENCES FROM C API

In order to feel more Perl-ish, the Clutter API has been slightly changed for the Perl bindings.

ClutterCloneTexture => Clutter::Texture::Clone

The ClutterCloneTexture has been moved under the Clutter::Texture package name, to reinforce the inheritance.

AUTHOR

Emmanuele Bassi <ebassi (AT) openedhand (DOT) com>

COPYRIGHT AND LICENSE

Copyright (C) 2006 OpenedHand Ltd.

This module is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This module is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public License along with this module; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA.