Gtk2-MozEmbed

 view release on metacpan or  search on metacpan

Makefile.PL  view on Meta::CPAN

);

Gtk2::CodeGen->parse_maps('gtkmozembed2perl');
Gtk2::CodeGen->write_boot(ignore => qr/^Gtk2::MozEmbed$/);

my ($pkg) = $pkgcfg{pkg} =~ /^(\S+)/;
print "Compiling against $pkg\n";

ExtUtils::PkgConfig->write_version_macros (
  "build/gtkmozembed2perl-version.h",
  $pkg => "GTK_MOZ_EMBED",
);

my $inc = $pkgcfg{cflags};
my $libs = $pkgcfg{libs};

if ($libs =~ m#(lib|lib64)/xulrunner-(devel|sdk)-([^/]+)#) {
	$inc .= qq( -DGTK_MOZ_EMBED_PERL_XULRUNNER_PATH=)
	      . qq("\\"/usr/$1/xulrunner-$3\\"" );
}

my $mozembed = ExtUtils::Depends->new('Gtk2::MozEmbed', 'Gtk2',
                                      ($use_dom ? ('Mozilla::DOM') : ()));

$mozembed->set_inc($inc);
$mozembed->set_libs($libs);
$mozembed->add_xs(@xs_files);
$mozembed->add_pm('lib/Gtk2/MozEmbed.pm' => '$(INST_LIBDIR)/MozEmbed.pm');

gtkmozembed2perl.h  view on Meta::CPAN

 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, see
 * <https://www.gnu.org/licenses/>.
 *
 * $Id$
 */

#ifndef _GTKMOZEMBED2PERL_H_
#define _GTKMOZEMBED2PERL_H_

#ifdef __cplusplus
extern "C" {
#endif

#include <gtk2perl.h>

#ifdef __cplusplus
}
#endif

#include <gtkmozembed.h>

#ifdef __cplusplus /* implies Mozilla::DOM is installed */
#include <gtkmozembed_internal.h>
#include <mozilladom2perl.h>
#endif

#include "gtkmozembed2perl-version.h"

#if 1 /* FIXME: !GTK_MOZ_EMBED_CHECK_VERSION (x, y, z) */

# undef GTK_TYPE_MOZ_EMBED_RELOAD_FLAGS
# define GTK_TYPE_MOZ_EMBED_RELOAD_FLAGS (gtk2perl_moz_embed_reload_flags_get_type ())
  GType gtk2perl_moz_embed_reload_flags_get_type (void);

# undef GTK_TYPE_MOZ_EMBED_CHROME_FLAGS
# define GTK_TYPE_MOZ_EMBED_CHROME_FLAGS (gtk2perl_moz_embed_chrome_flags_get_type ())
  GType gtk2perl_moz_embed_chrome_flags_get_type (void);

#endif

/* #ifndef GTK_TYPE_MOZ_EMBED_SINGLE
 * # define GTK_TYPE_MOZ_EMBED_SINGLE (gtk_moz_embed_single_get_type ())
 *   extern GtkType gtk_moz_embed_single_get_type (void);
 * #endif
 */

#include "gtkmozembed2perl-autogen.h"

#endif /* _GTKMOZEMBED2PERL_H_ */

maps  view on Meta::CPAN

GTK_TYPE_MOZ_EMBED			GtkMozEmbed			GtkObject	Gtk2::MozEmbed
# GTK_TYPE_MOZ_EMBED_SINGLE		GtkMozEmbedSingle		GtkObject	Gtk2::MozEmbedSingle

GTK_TYPE_MOZ_EMBED_RELOAD_FLAGS		GtkMozEmbedReloadFlags		GFlags		Gtk2::MozEmbed::Reload
GTK_TYPE_MOZ_EMBED_CHROME_FLAGS		GtkMozEmbedChromeFlags		GFlags		Gtk2::MozEmbed::Chrome

xs/GtkMozEmbed.xs  view on Meta::CPAN


/* ------------------------------------------------------------------------- */

GType
gtk2perl_moz_embed_reload_flags_get_type(void)
{
  static GType reload_flags_type = 0;

  if (!reload_flags_type) {
    static const GFlagsValue values[] = {
      { GTK_MOZ_EMBED_FLAG_RELOADNORMAL, "GTK_MOZ_EMBED_FLAG_RELOADNORMAL", "reloadnormal" },
      { GTK_MOZ_EMBED_FLAG_RELOADBYPASSCACHE, "GTK_MOZ_EMBED_FLAG_RELOADBYPASSCACHE", "reloadbypasscache" },
      { GTK_MOZ_EMBED_FLAG_RELOADBYPASSPROXY, "GTK_MOZ_EMBED_FLAG_RELOADBYPASSPROXY", "reloadbypassproxy" },
      { GTK_MOZ_EMBED_FLAG_RELOADBYPASSPROXYANDCACHE, "GTK_MOZ_EMBED_FLAG_RELOADBYPASSPROXYANDCACHE", "reloadbypassproxyandcache" },
      { GTK_MOZ_EMBED_FLAG_RELOADCHARSETCHANGE, "GTK_MOZ_EMBED_FLAG_RELOADCHARSETCHANGE", "reloadcharset" },
      { 0, NULL, NULL }
    };
    reload_flags_type = g_flags_register_static ("GtkMozEmbedReloadFlags", values);
  }

  return reload_flags_type;
}

/* ------------------------------------------------------------------------- */

GType
gtk2perl_moz_embed_chrome_flags_get_type(void)
{
  static GType chrome_flags_type = 0;

  if (!chrome_flags_type) {
    static const GFlagsValue values[] = {
      { GTK_MOZ_EMBED_FLAG_DEFAULTCHROME, "GTK_MOZ_EMBED_FLAG_DEFAULTCHROME", "defaultchrome" },
      { GTK_MOZ_EMBED_FLAG_WINDOWBORDERSON, "GTK_MOZ_EMBED_FLAG_WINDOWBORDERSON", "windowborderson" },
      { GTK_MOZ_EMBED_FLAG_WINDOWCLOSEON, "GTK_MOZ_EMBED_FLAG_WINDOWCLOSEON", "windowcloseon" },
      { GTK_MOZ_EMBED_FLAG_WINDOWRESIZEON, "GTK_MOZ_EMBED_FLAG_WINDOWRESIZEON", "windowresizeon" },
      { GTK_MOZ_EMBED_FLAG_MENUBARON, "GTK_MOZ_EMBED_FLAG_MENUBARON", "menubaron" },
      { GTK_MOZ_EMBED_FLAG_TOOLBARON, "GTK_MOZ_EMBED_FLAG_TOOLBARON", "toolbaron" },
      { GTK_MOZ_EMBED_FLAG_LOCATIONBARON, "GTK_MOZ_EMBED_FLAG_LOCATIONBARON", "locationbaron" },
      { GTK_MOZ_EMBED_FLAG_STATUSBARON, "GTK_MOZ_EMBED_FLAG_STATUSBARON", "statusbaron" },
      { GTK_MOZ_EMBED_FLAG_PERSONALTOOLBARON, "GTK_MOZ_EMBED_FLAG_PERSONALTOOLBARON", "personaltoolbaron" },
      { GTK_MOZ_EMBED_FLAG_SCROLLBARSON, "GTK_MOZ_EMBED_FLAG_SCROLLBARSON", "scrollbarson" },
      { GTK_MOZ_EMBED_FLAG_TITLEBARON, "GTK_MOZ_EMBED_FLAG_TITLEBARON", "titlebaron" },
      { GTK_MOZ_EMBED_FLAG_EXTRACHROMEON, "GTK_MOZ_EMBED_FLAG_EXTRACHROMEON", "extrachromeon" },
      { GTK_MOZ_EMBED_FLAG_ALLCHROME, "GTK_MOZ_EMBED_FLAG_ALLCHROME", "allchrome" },
      { GTK_MOZ_EMBED_FLAG_WINDOWRAISED, "GTK_MOZ_EMBED_FLAG_WINDOWRAISED", "windowraised" },
      { GTK_MOZ_EMBED_FLAG_WINDOWLOWERED, "GTK_MOZ_EMBED_FLAG_WINDOWLOWERED", "windowlowered" },
      { GTK_MOZ_EMBED_FLAG_CENTERSCREEN, "GTK_MOZ_EMBED_FLAG_CENTERSCREEN", "centerscreen" },
      { GTK_MOZ_EMBED_FLAG_DEPENDENT, "GTK_MOZ_EMBED_FLAG_DEPENDENT", "dependent" },
      { GTK_MOZ_EMBED_FLAG_MODAL, "GTK_MOZ_EMBED_FLAG_MODAL", "modal" },
      { GTK_MOZ_EMBED_FLAG_OPENASDIALOG, "GTK_MOZ_EMBED_FLAG_OPENASDIALOG", "openasdialog" },
      { GTK_MOZ_EMBED_FLAG_OPENASCHROME, "GTK_MOZ_EMBED_FLAG_OPENASCHROME", "openaschrome" },
      { 0, NULL, NULL }
    };
    chrome_flags_type = g_flags_register_static ("GtkMozEmbedChromeFlags", values);
  }

  return chrome_flags_type;
}

/* ------------------------------------------------------------------------- */

xs/GtkMozEmbed.xs  view on Meta::CPAN


#endif   /* ifdef __cplusplus */

/* ------------------------------------------------------------------------- */

MODULE = Gtk2::MozEmbed	PACKAGE = Gtk2::MozEmbed	PREFIX = gtk_moz_embed_

BOOT:
#include "register.xsh"
#include "boot.xsh"
#ifdef GTK_MOZ_EMBED_PERL_XULRUNNER_PATH
	gtk_moz_embed_set_path (GTK_MOZ_EMBED_PERL_XULRUNNER_PATH);
#endif /* GTK_MOZ_EMBED_PERL_XULRUNNER_PATH */
	gperl_signal_set_marshaller_for (GTK_TYPE_MOZ_EMBED,
	                                 "new_window",
	                                 gtk2perl_moz_embed_new_window_marshal);
	/* gperl_signal_set_marshaller_for (GTK_TYPE_MOZ_EMBED_SINGLE,
	                                 "new_window_orphan",
	                                 gtk2perl_moz_embed_new_window_marshal); */
#ifdef __cplusplus
	gperl_signal_set_marshaller_for (GTK_TYPE_MOZ_EMBED,
	                                 "dom_key_down",
	                                 gtk2perl_moz_embed_dom_key_marshal);
	gperl_signal_set_marshaller_for (GTK_TYPE_MOZ_EMBED,
	                                 "dom_key_press",
	                                 gtk2perl_moz_embed_dom_key_marshal);
	gperl_signal_set_marshaller_for (GTK_TYPE_MOZ_EMBED,
	                                 "dom_key_up",
	                                 gtk2perl_moz_embed_dom_key_marshal);
	gperl_signal_set_marshaller_for (GTK_TYPE_MOZ_EMBED,
	                                 "dom_mouse_down",
	                                 gtk2perl_moz_embed_dom_mouse_marshal);
	gperl_signal_set_marshaller_for (GTK_TYPE_MOZ_EMBED,
	                                 "dom_mouse_up",
	                                 gtk2perl_moz_embed_dom_mouse_marshal);
	gperl_signal_set_marshaller_for (GTK_TYPE_MOZ_EMBED,
	                                 "dom_mouse_click",
	                                 gtk2perl_moz_embed_dom_mouse_marshal);
	gperl_signal_set_marshaller_for (GTK_TYPE_MOZ_EMBED,
	                                 "dom_mouse_dbl_click",
	                                 gtk2perl_moz_embed_dom_mouse_marshal);
	gperl_signal_set_marshaller_for (GTK_TYPE_MOZ_EMBED,
	                                 "dom_mouse_over",
	                                 gtk2perl_moz_embed_dom_mouse_marshal);
	gperl_signal_set_marshaller_for (GTK_TYPE_MOZ_EMBED,
	                                 "dom_mouse_out",
	                                 gtk2perl_moz_embed_dom_mouse_marshal);
#endif  /* ifdef __cplusplus */

=for object Gtk2::MozEmbed::main

=cut

=for apidoc

This function returns a new Gtk Mozilla embedding widget. On failure it will
return I<undef>.

=cut
##  GtkWidget * gtk_moz_embed_new (void)
GtkWidget_ornull *
gtk_moz_embed_new (class)
    C_ARGS:
	/* void */
    CLEANUP:
#if !GTK_MOZ_EMBED_CHECK_VERSION (1, 7, 3)
	/* To avoid getting a segfault, add an additional ref so that the thing
	   will never get destroyed. */
	if (RETVAL)
		gtk_widget_ref (RETVAL);
#endif

##  void gtk_moz_embed_push_startup (void)
void
gtk_moz_embed_push_startup (class)
    C_ARGS:



( run in 1.219 second using v1.01-cache-2.11-cpan-71847e10f99 )