The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

pEFL::Elm::Theme

SYNOPSIS

  use pEFL::Elm;
  [...]
  my $theme = pEFL::Elm::Theme->new();
  $theme->extension_add(undef,"./theme_button_style_custom.edj");
  my $btn = pEFL::Elm::Button->add($parent);
  $button->style_set("custom");
  [...]

DESCRIPTION

This module is a perl binding to the Elementary Theme widget.

For more informations see https://www.enlightenment.org/develop/legacy/api/c/start#group__Elm__Theme.html

For instructions, how to use pEFL::Elm::Theme, please study this API reference for now. A perl-specific documentation will perhaps come in later versions. But applying the C documentation should be no problem. pEFL::Elm::Theme gives you a nice object-oriented interface that is kept close to the C API. Please note, that the perl method names remove the "elm_theme_" at the beginning of the c functions.

SPECIFICS OF THE BINDING

Some Elm_Theme methods can be called as class functions (especially for example pEFL::Elm::Theme::extension_add("./theme_button_style_custom.edj") or pEFL::Elm::Theme::overlay_add("./theme_button.edj")). In this case the method is called on the default theme. In the original C API the same is possible by passing NULL as theme (e.g. elm_theme_extension_add(NULL,"./theme_button_style_custom.edj") or elm_theme_overlay_add(NULL,"./theme_button.edj")). In contrast to C in the Perl binding you don't need to pass undef when using the class functions!

There are perl value methods $theme->color_class_list_pv(), $theme->overlay_list_get_pv(), $theme->extension_list_get_pv, $theme->list_get_pv, pEFL::Elm::Theme::name_available_list_new_pv() and pEFL::Elm::Theme::color_class_list_pv() that convert the returned Eina_List * to a Perl array (and frees the Eina_List).

EXPORT

None by default.

SEE ALSO

https://www.enlightenment.org/develop/legacy/api/c/start#group__Elm__Theme.html

AUTHOR

Maximilian Lika

COPYRIGHT AND LICENSE

Copyright (C) 2022 by Maximilian Lika

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