Clutter::Behaviour::Ellipse(3) A behaviour interpolating position along an ellipse

SYNOPSIS


my $behaviour = Clutter::Behaviour::Ellipse->new(
Clutter::Alpha->new($timeline, 'linear'),
[ 100, 100 ], # center of the ellipse
[ 250, 250 ], # width and height of the ellipse
[ 0, 360 ], # initial and final angle
);
$behaviour->apply($icon_group);

DESCRIPTION

Clutter::Behaviour::Ellipse interpolates actors along a path defined by an ellipse.

Note: When applying an ellipse behaviour to an actor, the behaviour will update the actor's position and depth and set them to what is dictated by the ellipses initial position.

HIERARCHY

  Glib::Object
  +----Clutter::Behaviour
       +----Clutter::Behaviour::Ellipse

METHODS

behaviour = Clutter::Behaviour::Ellipse->new ($alpha=undef, $center, $size, $direction, $angles)

  • $alpha (Clutter::Alpha or undef)
  • $center (scalar) an array reference containing the x and y coordinates
  • $size (scalar) an array reference containing the width and height of the ellipse
  • $direction (Clutter::RotateDirection)
  • $angles (scalar) an array reference containing the initial and final angles

double = $ellipse->get_angle_end

$ellipse->set_angle_end ($end)

  • $end (double)

double = $ellipse->get_angle_start

$ellipse->set_angle_start ($start)

  • $start (double)

double = $ellipse->get_angle_tilt ($axis)

  • $axis (Clutter::RotateAxis)

$ellipse->set_angle_tilt ($axis, $tilt)

  • $axis (Clutter::RotateAxis)
  • $tilt (double)

(start, end) = $behaviour->get_angles

$ellipse->set_angles ($start, $end)

  • $start (double)
  • $end (double)

(x, y) = $ellipse->get_center

$ellipse->set_center ($x, $y)

  • $x (integer)
  • $y (integer)

rotatedirection = $ellipse->get_direction

$ellipse->set_direction ($direction)

  • $direction (Clutter::RotateDirection)

integer = $ellipse->get_height

$ellipse->set_height ($height)

  • $height (integer)

(width, height) = $ellipse->get_size

$ellipse->set_size ($width, $height)

  • $width (integer)
  • $height (integer)

(tilt_x, tilt_y, tilt_z) = $ellipse->get_tilt

$ellipse->set_tilt ($tilt_x, $tilt_y, $tilt_z)

  • $tilt_x (double)
  • $tilt_y (double)
  • $tilt_z (double)

integer = $ellipse->get_width

$ellipse->set_width ($width)

  • $width (integer)

PROPERTIES

'angle-end' (double : readable / writable / private)
Final angle
'angle-start' (double : readable / writable / private)
Initial angle
'angle-tilt-x' (double : readable / writable / private)
Tilt of the ellipse around x axis
'angle-tilt-y' (double : readable / writable / private)
Tilt of the ellipse around y axis
'angle-tilt-z' (double : readable / writable / private)
Tilt of the ellipse around z axis
'center' (Clutter::Knot : readable / writable / private)
Center of ellipse
'direction' (Clutter::RotateDirection : readable / writable / private)
Direction of rotation
'height' (integer : readable / writable / private)
Height of ellipse
'width' (integer : readable / writable / private)
Width of the ellipse

ENUMS AND FLAGS

enum Clutter::RotateAxis

  • 'x-axis' / 'CLUTTER_X_AXIS'
  • 'y-axis' / 'CLUTTER_Y_AXIS'
  • 'z-axis' / 'CLUTTER_Z_AXIS'

enum Clutter::RotateDirection

  • 'cw' / 'CLUTTER_ROTATE_CW'
  • 'ccw' / 'CLUTTER_ROTATE_CCW'

COPYRIGHT

Copyright (C) 2006, 2007, 2008 OpenedHand Ltd

Copyright (C) 2009 Intel Corporation

This module is free software; you can redistribute it and/or modify it under the terms of either:

  • the GNU Lesser General Public Library version 2.1; or
  • the Artistic License, version 2.0.

See Clutter for the full copyright notice.