Provided by: libgoocanvas2-cairotypes-perl_0.001-2build4_amd64 bug

NAME

       GooCanvas2::CairoTypes - Bridge between GooCanvas2 and Cairo types

SYNOPSIS

               use GooCanvas2;
               use GooCanvas2::CairoTypes;

               my $pattern = Cairo::SolidPattern->create_rgba(0, 0, 0, 0);
               my $rect = GooCanvas2::CanvasRect->new(
                       ...,
                       'fill-pattern' => $pattern,  # fails without CairoTypes, just works with
               );

               # Sometimes (but not always, no idea why) this fails:
               $rect->get('fill-pattern')->set_filter('linear);
               # Here's the solution:
               GooCanvas2::CairoTypes::cairoize_pattern($rect->get('fill-pattern'))
                       ->set_filter('linear);

DESCRIPTION

       There is an issue in the interaction between GooCanvas, GObject Introspection, Cairo, and their Perl
       bindings, which causes some functionality to be unusable from Perl side. This is better described here
       <https://stackoverflow.com/questions/64625955/cairosolidpattern-is-not-of-type-goocanvas2cairopattern>,
       and there was an attempt <https://gitlab.gnome.org/GNOME/goocanvas/-/merge_requests/9> to fix it
       upstream. Until it's fixed, this can serve as a workaround for it.

       Currently this module only "fixes" "Cairo::Pattern/GooCanvas2::CairoPattern" interop. For certain calls
       it just works if this module was included; for some other calls you need to explicitly convert the type.

       If you have any idea how to fix those cases to not require such call, or need to bridge more types, pull
       requests <https://github.com/DarthGandalf/GooCanvas2-CairoTypes> are welcome!

AUTHOR

       Alexey Sokolov, <sokolov@google.com>

COPYRIGHT AND LICENSE

       Copyright (C) 2021 by Google

       This library is free software; you can redistribute it and/or modify it under the same terms as Perl
       itself, either Perl version 5.22.3 or, at your option, any later version of Perl 5 you may have
       available.

perl v5.38.2                                       2024-04-01                        GooCanvas2::CairoTypes(3pm)