=head1 NAME

Goo::Canvas::ItemModel - wrapper for GooCanvasItemModel

=cut

=head1 HIERARCHY

  Glib::Interface
  +----Goo::Canvas::ItemModel



=cut


=head1 METHODS

=head2 $model-E<gt>B<add_child> ($child, $position)

=over

=item * $child (Goo::Canvas::ItemModel) 

=item * $position (integer) 

=back

=head2 $model-E<gt>B<animate> ($x, $y, $scale, $degrees, $absolute, $duration, $step_time, $type)

=over

=item * $x (double) 

=item * $y (double) 

=item * $scale (double) 

=item * $degrees (double) 

=item * $absolute (boolean) 

=item * $duration (integer) 

=item * $step_time (integer) 

=item * $type (Goo::Canvas::AnimateType) 

=back

=head2 itemmodel = $model-E<gt>B<get_child> ($child_num)

=over

=item * $child_num (integer) 

=back

=head2 list = $model-E<gt>B<get_child_properties> ($child, ...)

=over

=item * $child (Goo::Canvas::ItemModel) 

=item * ... (list) 

=back

Not like the original C function, which call as
goo_canvas_item_model_get_child_properties(model, child, key1, &val1, key2,
&val2, ..., NULL). This function call as
$model->get_child_properties($child, $key1, $key2, ...) and return a list
($key1, $val1, $key2, $val2, ...) instead. So you can call like
%pair = $model->get_child_properties($child, $key1, $key2) and use $pair{$key1} and $pair{$key2} to access the value for the property.

=head2 $model-E<gt>B<set_child_properties> ($child, ...)

=over

=item * $child (Goo::Canvas::ItemModel) 

=item * ... (list) 

=back

=head2 integer = $model-E<gt>B<find_child> ($child)

=over

=item * $child (Goo::Canvas::ItemModel) 

=back

=head2 boolean = $model-E<gt>B<is_container> 

=head2 $item-E<gt>B<lower> (...)

=over

=item * ... (list) 

=back

=head2 $model-E<gt>B<move_child> ($old_position, $new_position)

=over

=item * $old_position (integer) 

=item * $new_position (integer) 

=back

=head2 integer = $model-E<gt>B<get_n_children> 

=head2 itemmodel = $model-E<gt>B<get_parent> 

=head2 $model-E<gt>B<set_parent> ($parent)

=over

=item * $parent (Goo::Canvas::ItemModel) 

=back

=head2 $item-E<gt>B<raise> (...)

=over

=item * ... (list) 

=back

=head2 $model-E<gt>B<remove_child> ($child_num)

=over

=item * $child_num (integer) 

=back

=head2 $model-E<gt>B<rotate> ($degrees, $cx, $cy)

=over

=item * $degrees (double) 

=item * $cx (double) 

=item * $cy (double) 

=back

=head2 $model-E<gt>B<scale> ($sx, $sy)

=over

=item * $sx (double) 

=item * $sy (double) 

=back

=head2 $model-E<gt>B<set_simple_transform> ($x, $y, $scale, $rotation)

=over

=item * $x (double) 

=item * $y (double) 

=item * $scale (double) 

=item * $rotation (double) 

=back

=head2 $model-E<gt>B<skew_x> ($degrees, $cx, $cy)

=over

=item * $degrees (double) 

=item * $cx (double) 

=item * $cy (double) 

=back

=head2 $model-E<gt>B<skew_y> ($degrees, $cx, $cy)

=over

=item * $degrees (double) 

=item * $cx (double) 

=item * $cy (double) 

=back

=head2 $model-E<gt>B<stop_animation> 

=head2 style = $model-E<gt>B<get_style> 

=head2 $model-E<gt>B<set_style> ($style)

=over

=item * $style (Goo::Canvas::Style) 

=back

=head2 list = $item-E<gt>B<get_transform> 

=head2 $model-E<gt>B<set_transform> ($matrix)

=over

=item * $matrix (cairo_matrix_t) 

=back

=head2 $model-E<gt>B<translate> ($tx, $ty)

=over

=item * $tx (double) 

=item * $ty (double) 

=back



=cut


=head1 PROPERTIES

=over

=item 'can-focus' (boolean : default false : readable / writable)

If the item can take the keyboard focus

=item 'description' (string : default undef : readable / writable)

A description of the item for use by assistive technologies

=item 'parent' (Goo::Canvas::ItemModel : default undef : readable / writable)

The parent item model

=item 'pointer-events' (Goo::Canvas::PointerEvents : default visible-mask,painted-mask,fill-mask,stroke-mask,none : readable / writable)

Specifies when the item receives pointer events

=item 'title' (string : default undef : readable / writable)

A short context-rich description of the item for use by assistive technologies

=item 'tooltip' (string : default undef : readable / writable)

The tooltip to display for the item

=item 'transform' (Goo::Cairo::Matrix : default undef : readable / writable)

The transformation matrix of the item

=item 'visibility' (Goo::Canvas::ItemVisibility : default "visible" : readable / writable)

When the canvas item is visible

=item 'visibility-threshold' (double : default 0 : readable / writable)

The scale threshold at which the item becomes visible

=back



=cut


=head1 SIGNALS

=over

=item B<animation-finished> (Goo::Canvas::ItemModel, boolean)

=item B<changed> (Goo::Canvas::ItemModel, boolean)

=item B<child-added> (Goo::Canvas::ItemModel, integer)

=item B<child-moved> (Goo::Canvas::ItemModel, integer, integer)

=item B<child-notify> (Goo::Canvas::ItemModel, Glib::ParamSpec)

=item B<child-removed> (Goo::Canvas::ItemModel, integer)

=back



=cut


=head1 ENUMS AND FLAGS

=head2 enum Goo::Canvas::AnimateType

=over

=item * 'freeze' / 'GOO_CANVAS_ANIMATE_FREEZE'

=item * 'reset' / 'GOO_CANVAS_ANIMATE_RESET'

=item * 'restart' / 'GOO_CANVAS_ANIMATE_RESTART'

=item * 'bounce' / 'GOO_CANVAS_ANIMATE_BOUNCE'

=back


=head2 enum Goo::Canvas::ItemVisibility

=over

=item * 'hidden' / 'GOO_CANVAS_ITEM_HIDDEN'

=item * 'invisible' / 'GOO_CANVAS_ITEM_INVISIBLE'

=item * 'visible' / 'GOO_CANVAS_ITEM_VISIBLE'

=item * 'visible-above-threshold' / 'GOO_CANVAS_ITEM_VISIBLE_ABOVE_THRESHOLD'

=back


=head2 flags Goo::Canvas::PointerEvents

=over

=item * 'visible-mask' / 'GOO_CANVAS_EVENTS_VISIBLE_MASK'

=item * 'painted-mask' / 'GOO_CANVAS_EVENTS_PAINTED_MASK'

=item * 'fill-mask' / 'GOO_CANVAS_EVENTS_FILL_MASK'

=item * 'stroke-mask' / 'GOO_CANVAS_EVENTS_STROKE_MASK'

=item * 'none' / 'GOO_CANVAS_EVENTS_NONE'

=item * 'visible-painted' / 'GOO_CANVAS_EVENTS_VISIBLE_PAINTED'

=item * 'visible-fill' / 'GOO_CANVAS_EVENTS_VISIBLE_FILL'

=item * 'visible-stroke' / 'GOO_CANVAS_EVENTS_VISIBLE_STROKE'

=item * 'visible' / 'GOO_CANVAS_EVENTS_VISIBLE'

=item * 'painted' / 'GOO_CANVAS_EVENTS_PAINTED'

=item * 'fill' / 'GOO_CANVAS_EVENTS_FILL'

=item * 'stroke' / 'GOO_CANVAS_EVENTS_STROKE'

=item * 'all' / 'GOO_CANVAS_EVENTS_ALL'

=back




=cut


=head1 SEE ALSO

L<Glib::Interface>


=cut


=head1 COPYRIGHT


Copyright (C) 2017 Gtk2-Perl Team




=cut

