[prev in list] [next in list] [prev in thread] [next in thread]
List: php-gtk-cvs
Subject: [php-gtk-cvs] com gtk/php-gtk: Checkin GtkHTML3 extension: ext/html/Makefile.frag ext/html/README ex
From: David Soria Parra <dsp () php ! net>
Date: 2007-03-04 16:14:08
Message-ID: php-mail-8f85e7990bdd2092cd15e71e84bda4491699740735 () git ! php ! net
[Download RAW message or body]
Commit: 35f82cf7869042c0cd1fef69d6bb865c3a928d94
Author: Anant Narayanan <anant@php.net> Sun, 4 Mar 2007 16:14:08 +0000
Parents: 304fec52e5b7b037e7311ef47aa1a21f45801abe
Branches: master
Link: http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=35f82cf7869042c0cd1fef69d6bb865c3a928d94
Log:
Checkin GtkHTML3 extension
Changed paths:
A ext/html/Makefile.frag
A ext/html/README
A ext/html/config.m4
A ext/html/config.w32
A ext/html/demos/gtkhtml.php
A ext/html/html-types.defs
A ext/html/html.defs
A ext/html/html.overrides
A ext/html/php_html.c
A ext/html/php_html.h
["diff_35f82cf7869042c0cd1fef69d6bb865c3a928d94.txt" (text/plain)]
35f82cf7869042c0cd1fef69d6bb865c3a928d94
diff --git a/ext/html/Makefile.frag b/ext/html/Makefile.frag
new file mode 100644
index 0000000..288c3ef
--- /dev/null
+++ b/ext/html/Makefile.frag
@@ -0,0 +1,15 @@
+
+$(builddir)/gen_html.c: $(srcdir)/html.defs $(srcdir)/html.overrides
+ ( \
+ $(PHP) $(top_srcdir)/generator/generator.php \
+ -l $(@D)/$(*F).log \
+ -r ext/gtk+/atk-types.defs \
+ -r ext/gtk+/pango-types.defs \
+ -r ext/gtk+/gdk-types.defs \
+ -r ext/gtk+/gtk-types.defs \
+ -r ext/html/html-types.defs \
+ -o ext/html/html.overrides \
+ -p GtkHTML \
+ -f $@ ext/html/html.defs \
+ && grep -h "^PHP_GTK_EXPORT_CE" $@ | sed -e "s!^!extern !" > $(@D)/$(*F).h \
+ )
diff --git a/ext/html/README b/ext/html/README
new file mode 100644
index 0000000..c3705df
--- /dev/null
+++ b/ext/html/README
@@ -0,0 +1,15 @@
+LICENSE: GPL
+
+AUTHORS:
+ Anders Carlsson <andersca@gnu.org> (initial KHTMLW port)
+ Ettore Perazzoli <ettore@ximian.com> (generic hacking, editing)
+ Jonas BorgstrAm <jonas_b@bitsmart.com> (form support)
+ Radek Doulik <rodo@ximian.com> (bug fixes)
+ Larry Ewing <lewing@ximian.com> (bug fixes)
+ Miguel de Icaza <miguel@ximian.com> (HTMLPainter)
+
+URL: http://ftp.gnome.org/pub/GNOME/sources/gtkhtml/3.0/
+
+GtkHTML is a widget that provides HTML rendering and editing capabilities.
+
+NOTE: This extension is currently supported only on the *nix platform.
diff --git a/ext/html/config.m4 b/ext/html/config.m4
new file mode 100644
index 0000000..36a1104
--- /dev/null
+++ b/ext/html/config.m4
@@ -0,0 +1,25 @@
+dnl $Id$
+dnl config.m4 for html module
+
+define(html_required_version, 3.10.0)
+
+PHP_GTK_ARG_ENABLE(html,for html support,
+[ --enable-html Enable GtkHtml support],no)
+
+if test "$PHP_GTK_HTML" != "no"; then
+ PKG_CHECK_MODULES(HTML, [libgtkhtml-3.8 >= html_required_version],
+ have_html=yes, have_html=no)
+ if test "$have_html" != "yes"; then
+ AC_MSG_RESULT([Unable to locate libgtkhtml version html_required_version or \
higher: not building]) + else
+ AC_DEFINE(HAVE_HTML, 1, [html support])
+ PHP_EVAL_INCLINE($HTML_CFLAGS)
+ if test "$php_gtk_ext_shared" = "yes"; then
+ PHP_EVAL_LIBLINE($HTML_LIBS, HTML_SHARED_LIBADD)
+ PHP_SUBST(HTML_SHARED_LIBADD)
+ else
+ PHP_EVAL_LIBLINE($HTML_LIBS, PHP_GTK2_SHARED_LIBADD)
+ fi
+ PHP_GTK_EXTENSION(html, $php_gtk_ext_shared, php_html.c, gen_html.c)
+ fi
+fi
diff --git a/ext/html/config.w32 b/ext/html/config.w32
new file mode 100644
index 0000000..e30ddab
--- /dev/null
+++ b/ext/html/config.w32
@@ -0,0 +1,23 @@
+
+ARG_WITH("html", "gtkhtml3 support", "no");
+
+if (PHP_GTK_HTML != "no" || PHP_GTK_ALL != "no") {
+ if (CHECK_HEADER("gtkhtml\\gtkhtml.h") && CHECK_LIB("gtkhtml-3.0.lib", "html"))
+ {
+ if (FSO.FileExists("win32\\temp.bat")) {
+
+ var temp = FSO.OpenTextFile("win32\\temp.bat", 8);
+ temp.WriteLine("php -q generator\\generator.php -l win32\\logs\\config_html.log \
-o ext\\html\\html.overrides -p gtkhtml -r ext\\gtk+\\gtk.defs ext\\html\\html.defs > \
ext\\html\\gen_html.c"); + temp.WriteLine('grep -h \
"^PHP_GTK_EXPORT_CE" ext\\html\\gen_html.c | sed -e "s/^/PHP_GTK_API extern /" > \
ext\\html\\gen_html.h'); + temp.Close();
+ }
+
+ ADD_FLAG("CFLAGS_HTML", "/I ext\\html /I ..\\ext\\html /D HAVE_HTML=1");
+ EXTENSION("html", "php_html.c gen_html.c", true); // always shared
+ AC_DEFINE("HAVE_HTML", 1, "gtkhtml3 enabled");
+
+ } else {
+
+ WARNING("gtkhtml3 not enabled; libraries and headers not found");
+ }
+}
diff --git a/ext/html/demos/gtkhtml.php b/ext/html/demos/gtkhtml.php
new file mode 100644
index 0000000..2ae97c0
--- /dev/null
+++ b/ext/html/demos/gtkhtml.php
@@ -0,0 +1,20 @@
+<?php
+
+$someHtml = '
+ <h1>Hello World!</h1>
+ <p><font color="red" size="20">This is GtkHTML</font></p>
+ <h2>Bye Bye World!</h2>';
+
+$x = new GtkWindow();
+
+$y = new GtkHTML();
+$y->set_title("HTML Test!");
+$y->load_from_string($someHtml);
+
+$x->add($y);
+$x->show_all();
+$x->connect_simple('destroy', array('Gtk', 'main_quit'));
+
+Gtk::main();
+
+?>
diff --git a/ext/html/html-types.defs b/ext/html/html-types.defs
new file mode 100644
index 0000000..8f2c33c
--- /dev/null
+++ b/ext/html/html-types.defs
@@ -0,0 +1,307 @@
+; define enums and flags ...
+
+(define-enum HTMLButtonType
+ (c-name "HTMLButtonType")
+ (values
+ '("normal" "BUTTON_NORMAL")
+ '("submit" "BUTTON_SUBMIT")
+ '("reset" "BUTTON_RESET")
+ )
+)
+
+(define-flags HTMLChangeFlags
+ (c-name "HTMLChangeFlags")
+ (values
+ '("none" "HTML_CHANGE_NONE")
+ '("min-width" "HTML_CHANGE_MIN_WIDTH")
+ '("pref-width" "HTML_CHANGE_PREF_WIDTH")
+ '("size" "HTML_CHANGE_SIZE")
+ '("recalc-pi" "HTML_CHANGE_RECALC_PI")
+ '("all-calc" "HTML_CHANGE_ALL_CALC")
+ '("all" "HTML_CHANGE_ALL")
+ )
+)
+
+(define-enum HTMLClearType
+ (c-name "HTMLClearType")
+ (values
+ '("none" "HTML_CLEAR_NONE")
+ '("left" "HTML_CLEAR_LEFT")
+ '("right" "HTML_CLEAR_RIGHT")
+ '("all" "HTML_CLEAR_ALL")
+ '("inherit" "HTML_CLEAR_INHERIT")
+ )
+)
+
+(define-enum HTMLClueFlowStyle
+ (c-name "HTMLClueFlowStyle")
+ (values
+ '("style-normal" "HTML_CLUEFLOW_STYLE_NORMAL")
+ '("style-h1" "HTML_CLUEFLOW_STYLE_H1")
+ '("style-h2" "HTML_CLUEFLOW_STYLE_H2")
+ '("style-h3" "HTML_CLUEFLOW_STYLE_H3")
+ '("style-h4" "HTML_CLUEFLOW_STYLE_H4")
+ '("style-h5" "HTML_CLUEFLOW_STYLE_H5")
+ '("style-h6" "HTML_CLUEFLOW_STYLE_H6")
+ '("style-address" "HTML_CLUEFLOW_STYLE_ADDRESS")
+ '("style-pre" "HTML_CLUEFLOW_STYLE_PRE")
+ '("style-list-item" "HTML_CLUEFLOW_STYLE_LIST_ITEM")
+ '("numstyles" "HTML_CLUEFLOW_NUMSTYLES")
+ )
+)
+
+(define-enum HTMLColorId
+ (c-name "HTMLColorId")
+ (values
+ '("bgcolor" "HTMLBgColor")
+ '("textcolor" "HTMLTextColor")
+ '("linkcolor" "HTMLLinkColor")
+ '("vlinkcolor" "HTMLVLinkColor")
+ '("alinkcolor" "HTMLALinkColor")
+ '("highlightcolor" "HTMLHighlightColor")
+ '("highlighttextcolor" "HTMLHighlightTextColor")
+ '("highlightnfcolor" "HTMLHighlightNFColor")
+ '("highlighttextnfcolor" "HTMLHighlightTextNFColor")
+ '("spellerrorcolor" "HTMLSpellErrorColor")
+ '("citecolor" "HTMLCiteColor")
+ '("colors" "HTMLColors")
+ )
+)
+
+(define-enum HTMLDirection
+ (c-name "HTMLDirection")
+ (values
+ '("derived" "HTML_DIRECTION_DERIVED")
+ '("ltr" "HTML_DIRECTION_LTR")
+ '("rtl" "HTML_DIRECTION_RTL")
+ )
+)
+
+(define-enum HTMLEngineCursorMovement
+ (c-name "HTMLEngineCursorMovement")
+ (values
+ '("up" "HTML_ENGINE_CURSOR_UP")
+ '("down" "HTML_ENGINE_CURSOR_DOWN")
+ '("right" "HTML_ENGINE_CURSOR_RIGHT")
+ '("left" "HTML_ENGINE_CURSOR_LEFT")
+ '("home" "HTML_ENGINE_CURSOR_HOME")
+ '("end" "HTML_ENGINE_CURSOR_END")
+ '("pgup" "HTML_ENGINE_CURSOR_PGUP")
+ '("pgdown" "HTML_ENGINE_CURSOR_PGDOWN")
+ )
+)
+
+(define-flags HTMLEngineSetClueFlowStyleMask
+ (c-name "HTMLEngineSetClueFlowStyleMask")
+ (values
+ '("none" "HTML_ENGINE_SET_CLUEFLOW_NONE")
+ '("style" "HTML_ENGINE_SET_CLUEFLOW_STYLE")
+ '("alignment" "HTML_ENGINE_SET_CLUEFLOW_ALIGNMENT")
+ '("indentation" "HTML_ENGINE_SET_CLUEFLOW_INDENTATION")
+ '("indentation-delta" "HTML_ENGINE_SET_CLUEFLOW_INDENTATION_DELTA")
+ '("indentation-all" "HTML_ENGINE_SET_CLUEFLOW_INDENTATION_ALL")
+ )
+)
+
+(define-enum HTMLFitType
+ (c-name "HTMLFitType")
+ (values
+ '("none" "HTML_FIT_NONE")
+ '("partial" "HTML_FIT_PARTIAL")
+ '("complete" "HTML_FIT_COMPLETE")
+ )
+)
+
+(define-enum HTMLGlossaryEntry
+ (c-name "HTMLGlossaryEntry")
+ (values
+ '("l" "HTML_GLOSSARY_DL")
+ '("d" "HTML_GLOSSARY_DD")
+ )
+)
+
+(define-enum HTMLHAlignType
+ (c-name "HTMLHAlignType")
+ (values
+ '("left" "HTML_HALIGN_LEFT")
+ '("center" "HTML_HALIGN_CENTER")
+ '("right" "HTML_HALIGN_RIGHT")
+ '("none" "HTML_HALIGN_NONE")
+ )
+)
+
+(define-enum HTMLListType
+ (c-name "HTMLListType")
+ (values
+ '("unordered" "HTML_LIST_TYPE_UNORDERED")
+ '("ordered-arabic" "HTML_LIST_TYPE_ORDERED_ARABIC")
+ '("ordered-lower-alpha" "HTML_LIST_TYPE_ORDERED_LOWER_ALPHA")
+ '("ordered-upper-alpha" "HTML_LIST_TYPE_ORDERED_UPPER_ALPHA")
+ '("ordered-lower-roman" "HTML_LIST_TYPE_ORDERED_LOWER_ROMAN")
+ '("ordered-upper-roman" "HTML_LIST_TYPE_ORDERED_UPPER_ROMAN")
+ '("menu" "HTML_LIST_TYPE_MENU")
+ '("dir" "HTML_LIST_TYPE_DIR")
+ '("blockquote" "HTML_LIST_TYPE_BLOCKQUOTE")
+ '("blockquote-cite" "HTML_LIST_TYPE_BLOCKQUOTE_CITE")
+ '("glossary-dl" "HTML_LIST_TYPE_GLOSSARY_DL")
+ '("glossary-dd" "HTML_LIST_TYPE_GLOSSARY_DD")
+ )
+)
+
+(define-flags HTMLObjectFlags
+ (c-name "HTMLObjectFlags")
+ (values
+ '("none" "HTML_OBJECT_FLAG_NONE")
+ '("separator" "HTML_OBJECT_FLAG_SEPARATOR")
+ '("selected" "HTML_OBJECT_FLAG_SELECTED")
+ '("allselected" "HTML_OBJECT_FLAG_ALLSELECTED")
+ '("fixedwidth" "HTML_OBJECT_FLAG_FIXEDWIDTH")
+ '("aligned" "HTML_OBJECT_FLAG_ALIGNED")
+ '("printed" "HTML_OBJECT_FLAG_PRINTED")
+ '("hidden" "HTML_OBJECT_FLAG_HIDDEN")
+ )
+)
+
+(define-enum HTMLReplaceQueryAnswer
+ (c-name "HTMLReplaceQueryAnswer")
+ (values
+ '("replace" "RQA_Replace")
+ '("replaceall" "RQA_ReplaceAll")
+ '("next" "RQA_Next")
+ '("cancel" "RQA_Cancel")
+ )
+)
+
+(define-enum HTMLType
+ (c-name "HTMLType")
+ (values
+ '("type-none" "HTML_TYPE_NONE")
+ '("type-anchor" "HTML_TYPE_ANCHOR")
+ '("type-bullet" "HTML_TYPE_BULLET")
+ '("type-button" "HTML_TYPE_BUTTON")
+ '("type-checkbox" "HTML_TYPE_CHECKBOX")
+ '("type-clue" "HTML_TYPE_CLUE")
+ '("type-cluealigned" "HTML_TYPE_CLUEALIGNED")
+ '("type-clueflow" "HTML_TYPE_CLUEFLOW")
+ '("type-clueh" "HTML_TYPE_CLUEH")
+ '("type-cluev" "HTML_TYPE_CLUEV")
+ '("type-embedded" "HTML_TYPE_EMBEDDED")
+ '("type-hidden" "HTML_TYPE_HIDDEN")
+ '("type-hspace" "HTML_TYPE_HSPACE")
+ '("type-image" "HTML_TYPE_IMAGE")
+ '("type-imageinput" "HTML_TYPE_IMAGEINPUT")
+ '("type-linktext" "HTML_TYPE_LINKTEXT")
+ '("type-object" "HTML_TYPE_OBJECT")
+ '("type-radio" "HTML_TYPE_RADIO")
+ '("type-rule" "HTML_TYPE_RULE")
+ '("type-select" "HTML_TYPE_SELECT")
+ '("type-table" "HTML_TYPE_TABLE")
+ '("type-tablecell" "HTML_TYPE_TABLECELL")
+ '("type-text" "HTML_TYPE_TEXT")
+ '("type-textarea" "HTML_TYPE_TEXTAREA")
+ '("type-textinput" "HTML_TYPE_TEXTINPUT")
+ '("type-textslave" "HTML_TYPE_TEXTSLAVE")
+ '("type-iframe" "HTML_TYPE_IFRAME")
+ '("type-frame" "HTML_TYPE_FRAME")
+ '("type-frameset" "HTML_TYPE_FRAMESET")
+ '("num-types" "HTML_NUM_TYPES")
+ )
+)
+
+(define-enum HTMLUndoDirection
+ (c-name "HTMLUndoDirection")
+ (values
+ '("undo" "HTML_UNDO_UNDO")
+ '("redo" "HTML_UNDO_REDO")
+ '("end" "HTML_UNDO_END")
+ )
+)
+
+(define-flags HTMLURLDupFlags
+ (c-name "HTMLURLDupFlags")
+ (values
+ '("all" "HTML_URL_DUP_ALL")
+ '("noprotocol" "HTML_URL_DUP_NOPROTOCOL")
+ '("nousername" "HTML_URL_DUP_NOUSERNAME")
+ '("nopassword" "HTML_URL_DUP_NOPASSWORD")
+ '("nohostname" "HTML_URL_DUP_NOHOSTNAME")
+ '("noport" "HTML_URL_DUP_NOPORT")
+ '("nopath" "HTML_URL_DUP_NOPATH")
+ '("noreference" "HTML_URL_DUP_NOREFERENCE")
+ '("nocgiargs" "HTML_URL_DUP_NOCGIARGS")
+ )
+)
+
+(define-enum HTMLVAlignType
+ (c-name "HTMLVAlignType")
+ (values
+ '("top" "HTML_VALIGN_TOP")
+ '("middle" "HTML_VALIGN_MIDDLE")
+ '("bottom" "HTML_VALIGN_BOTTOM")
+ '("none" "HTML_VALIGN_NONE")
+ )
+)
+
+(define-enum HTMLDisplayType
+ (c-name "HTMLDisplayType")
+ (values
+ '("none" "DISPLAY_NONE")
+ '("inline" "DISPLAY_INLINE")
+ '("list-item" "DISPLAY_LIST_ITEM")
+ '("inline-block" "DISPLAY_INLINE_BLOCK")
+ '("block" "DISPLAY_BLOCK")
+ '("marker" "DISPLAY_MARKER")
+ '("run-in" "DISPLAY_RUN_IN")
+ '("compact" "DISPLAY_COMPACT")
+ '("table-row-group" "DISPLAY_TABLE_ROW_GROUP")
+ '("table-column" "DISPLAY_TABLE_COLUMN")
+ '("table-column-group" "DISPLAY_TABLE_COLUMN_GROUP")
+ '("table-header-group" "DISPLAY_TABLE_HEADER_GROUP")
+ '("table-footer-group" "DISPLAY_TABLE_FOOTER_GROUP")
+ '("table-row" "DISPLAY_TABLE_ROW")
+ '("table-cell" "DISPLAY_TABLE_CELL")
+ '("table-caption" "DISPLAY_TABLE_CAPTION")
+ '("inline-table" "DISPLAY_INLINE_TABLE")
+ '("table" "DISPLAY_TABLE")
+ '("document" "DISPLAY_DOCUMENT")
+ )
+)
+
+(define-enum HTMLWhiteSpaceType
+ (c-name "HTMLWhiteSpaceType")
+ (values
+ '("normal" "HTML_WHITE_SPACE_NORMAL")
+ '("pre" "HTML_WHITE_SPACE_PRE")
+ '("nowrap" "HTML_WHITE_SPACE_NOWRAP")
+ '("pre-wrap" "HTML_WHITE_SPACE_PRE_WRAP")
+ '("pre-line" "HTML_WHITE_SPACE_PRE_LINE")
+ '("inherit" "HTML_WHITE_SPACE_INHERIT")
+ )
+)
+
+(define-enum HTMLLengthType
+ (c-name "HTMLLengthType")
+ (values
+ '("pixels" "HTML_LENGTH_TYPE_PIXELS")
+ '("percent" "HTML_LENGTH_TYPE_PERCENT")
+ '("fraction" "HTML_LENGTH_TYPE_FRACTION")
+ )
+)
+
+(define-enum HTMLBorderStyle
+ (c-name "HTMLBorderStyle")
+ (values
+ '("none" "HTML_BORDER_NONE")
+ '("solid" "HTML_BORDER_SOLID")
+ '("inset" "HTML_BORDER_INSET")
+ '("outset" "HTML_BORDER_OUTSET")
+ )
+)
+
+(define-enum HTMLTextSlaveGlyphItemType
+ (c-name "HTMLTextSlaveGlyphItemType")
+ (values
+ '("created" "HTML_TEXT_SLAVE_GLYPH_ITEM_CREATED")
+ '("parental" "HTML_TEXT_SLAVE_GLYPH_ITEM_PARENTAL")
+ )
+)
diff --git a/ext/html/html.defs b/ext/html/html.defs
new file mode 100644
index 0000000..712d73f
--- /dev/null
+++ b/ext/html/html.defs
@@ -0,0 +1,1028 @@
+;; -*- scheme -*-
+
+; object definitions ...
+
+(define-object HTML
+ (in-module "Gtk")
+ (parent "GtkLayout")
+ (c-name "GtkHTML")
+ (gtype-id "GTK_TYPE_HTML")
+)
+
+(define-object HTMLEmbedded
+ (in-module "Gtk")
+ (parent "GtkBin")
+ (c-name "GtkHTMLEmbedded")
+ (gtype-id "GTK_TYPE_HTML_EMBEDDED")
+)
+
+;; From /opt/local/include/libgtkhtml-3.8/gtkhtml/gtkhtml.h
+
+(define-function gtk_html_get_type
+ (c-name "gtk_html_get_type")
+ (return-type "GtkType")
+)
+
+(define-function gtk_html_new
+ (c-name "gtk_html_new")
+ (is-constructor-of GtkHTML)
+ (return-type "GtkWidget*")
+)
+
+(define-method set_editor_api
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_editor_api")
+ (return-type "none")
+ (parameters
+ '("GtkHTMLEditorAPI*" "api")
+ '("gpointer" "data")
+ )
+)
+
+(define-method set_iframe_parent
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_iframe_parent")
+ (return-type "gint")
+ (parameters
+ '("GtkWidget*" "parent")
+ '("HTMLObject*" "frame")
+ )
+)
+
+(define-method get_top_html
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_top_html")
+ (return-type "GtkHTML*")
+)
+
+(define-method enable_debug
+ (of-object "GtkHTML")
+ (c-name "gtk_html_enable_debug")
+ (return-type "none")
+ (parameters
+ '("gboolean" "debug")
+ )
+)
+
+(define-method allow_selection
+ (of-object "GtkHTML")
+ (c-name "gtk_html_allow_selection")
+ (return-type "none")
+ (parameters
+ '("gboolean" "allow")
+ )
+)
+
+(define-method select_word
+ (of-object "GtkHTML")
+ (c-name "gtk_html_select_word")
+ (return-type "none")
+)
+
+(define-method select_line
+ (of-object "GtkHTML")
+ (c-name "gtk_html_select_line")
+ (return-type "none")
+)
+
+(define-method select_paragraph
+ (of-object "GtkHTML")
+ (c-name "gtk_html_select_paragraph")
+ (return-type "none")
+)
+
+(define-method select_paragraph_extended
+ (of-object "GtkHTML")
+ (c-name "gtk_html_select_paragraph_extended")
+ (return-type "none")
+)
+
+(define-method select_all
+ (of-object "GtkHTML")
+ (c-name "gtk_html_select_all")
+ (return-type "none")
+)
+
+(define-method request_paste
+ (of-object "GtkHTML")
+ (c-name "gtk_html_request_paste")
+ (return-type "int")
+ (parameters
+ '("GdkAtom" "selection")
+ '("gint" "type")
+ '("gint32" "time")
+ '("gboolean" "as_cite")
+ )
+)
+
+(define-method begin
+ (of-object "GtkHTML")
+ (c-name "gtk_html_begin")
+ (return-type "GtkHTMLStream*")
+)
+
+(define-method begin_full
+ (of-object "GtkHTML")
+ (c-name "gtk_html_begin_full")
+ (return-type "GtkHTMLStream*")
+ (parameters
+ '("char*" "target_frame")
+ '("char*" "content_type")
+ '("GtkHTMLBeginFlags" "flags")
+ )
+)
+
+(define-method write
+ (of-object "GtkHTML")
+ (c-name "gtk_html_write")
+ (return-type "none")
+ (parameters
+ '("GtkHTMLStream*" "handle")
+ '("const-gchar*" "buffer")
+ '("size_t" "size")
+ )
+)
+
+(define-method end
+ (of-object "GtkHTML")
+ (c-name "gtk_html_end")
+ (return-type "none")
+ (parameters
+ '("GtkHTMLStream*" "handle")
+ '("GtkHTMLStreamStatus" "status")
+ )
+)
+
+(define-method flush
+ (of-object "GtkHTML")
+ (c-name "gtk_html_flush")
+ (return-type "none")
+)
+
+(define-method stop
+ (of-object "GtkHTML")
+ (c-name "gtk_html_stop")
+ (return-type "none")
+)
+
+(define-method load_from_string
+ (of-object "GtkHTML")
+ (c-name "gtk_html_load_from_string")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "str")
+ '("gint" "len")
+ )
+)
+
+(define-method export
+ (of-object "GtkHTML")
+ (c-name "gtk_html_export")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "type")
+ '("GtkHTMLSaveReceiverFn" "receiver")
+ '("gpointer" "data")
+ )
+)
+
+(define-method get_selection_html
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_selection_html")
+ (return-type "char*")
+ (parameters
+ '("int*" "len")
+ )
+)
+
+(define-method set_editable
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_editable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "editable")
+ )
+)
+
+(define-method get_editable
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_editable")
+ (return-type "gboolean")
+)
+
+(define-method set_inline_spelling
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_inline_spelling")
+ (return-type "none")
+ (parameters
+ '("gboolean" "inline_spell")
+ )
+)
+
+(define-method get_inline_spelling
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_inline_spelling")
+ (return-type "gboolean")
+)
+
+(define-method set_magic_links
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_magic_links")
+ (return-type "none")
+ (parameters
+ '("gboolean" "magic_links")
+ )
+)
+
+(define-method get_magic_links
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_magic_links")
+ (return-type "gboolean")
+)
+
+(define-method set_magic_smileys
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_magic_smileys")
+ (return-type "none")
+ (parameters
+ '("gboolean" "magic_smileys")
+ )
+)
+
+(define-method get_magic_smileys
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_magic_smileys")
+ (return-type "gboolean")
+)
+
+(define-method set_caret_mode
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_caret_mode")
+ (return-type "none")
+ (parameters
+ '("gboolean" "caret_mode")
+ )
+)
+
+(define-method get_caret_mode
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_caret_mode")
+ (return-type "gboolean")
+)
+
+(define-method set_animate
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_animate")
+ (return-type "none")
+ (parameters
+ '("gboolean" "animate")
+ )
+)
+
+(define-method get_animate
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_animate")
+ (return-type "gboolean")
+)
+
+; No GnomePrint available yet
+
+;(define-method print_with_header_footer
+; (of-object "GtkHTML")
+; (c-name "gtk_html_print_with_header_footer")
+; (return-type "none")
+; (parameter (type-and-name GnomePrintContext* print_context))
+; (parameter (type-and-name gdouble header_height))
+; (parameter (type-and-name gdouble footer_height))
+; (parameter (type-and-name GtkHTMLPrintCallback header_print))
+; (parameter (type-and-name GtkHTMLPrintCallback footer_print))
+; (parameter (type-and-name gpointer user_data))
+;)
+
+;(define-method print
+; (of-object "GtkHTML")
+; (c-name "gtk_html_print")
+; (return-type "none")
+; (parameter (type-and-name GnomePrintContext* print_context))
+;)
+
+;(define-method print_get_pages_num
+; (of-object "GtkHTML")
+; (c-name "gtk_html_print_get_pages_num")
+; (return-type "gint")
+; (parameter (type-and-name GnomePrintContext* print_context))
+; (parameter (type-and-name gdouble header_height))
+; (parameter (type-and-name gdouble footer_height))
+;)
+
+;(define-method print_set_master
+; (of-object "GtkHTML")
+; (c-name "gtk_html_print_set_master")
+; (return-type "none")
+; (parameter (type-and-name GnomePrintJob* print_master))
+;)
+
+(define-method set_title
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_title")
+ (return-type "none")
+ (parameters
+ '("const-char*" "title")
+ )
+)
+
+(define-method jump_to_anchor
+ (of-object "GtkHTML")
+ (c-name "gtk_html_jump_to_anchor")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "anchor")
+ )
+)
+
+(define-method get_paragraph_style
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_paragraph_style")
+ (return-type "GtkHTMLParagraphStyle")
+)
+
+(define-method set_paragraph_style
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_paragraph_style")
+ (return-type "none")
+ (parameters
+ '("GtkHTMLParagraphStyle" "style")
+ )
+)
+
+(define-method set_indent
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_indent")
+ (return-type "none")
+ (parameters
+ '("GByteArray*" "levels")
+ )
+)
+
+(define-method indent_push_level
+ (of-object "GtkHTML")
+ (c-name "gtk_html_indent_push_level")
+ (return-type "none")
+ (parameters
+ '("HTMLListType" "level_type")
+ )
+)
+
+(define-method indent_pop_level
+ (of-object "GtkHTML")
+ (c-name "gtk_html_indent_pop_level")
+ (return-type "none")
+)
+
+(define-method get_paragraph_indentation
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_paragraph_indentation")
+ (return-type "guint")
+)
+
+(define-method set_font_style
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_font_style")
+ (return-type "none")
+ (parameters
+ '("GtkHTMLFontStyle" "and_mask")
+ '("GtkHTMLFontStyle" "or_mask")
+ )
+)
+
+(define-method set_color
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_color")
+ (return-type "none")
+ (parameters
+ '("HTMLColor*" "color")
+ )
+)
+
+(define-method toggle_font_style
+ (of-object "GtkHTML")
+ (c-name "gtk_html_toggle_font_style")
+ (return-type "none")
+ (parameters
+ '("GtkHTMLFontStyle" "style")
+ )
+)
+
+(define-method get_paragraph_alignment
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_paragraph_alignment")
+ (return-type "GtkHTMLParagraphAlignment")
+)
+
+(define-method set_paragraph_alignment
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_paragraph_alignment")
+ (return-type "none")
+ (parameters
+ '("GtkHTMLParagraphAlignment" "alignment")
+ )
+)
+
+(define-method cut
+ (of-object "GtkHTML")
+ (c-name "gtk_html_cut")
+ (return-type "none")
+)
+
+(define-method copy
+ (of-object "GtkHTML")
+ (c-name "gtk_html_copy")
+ (return-type "none")
+)
+
+(define-method paste
+ (of-object "GtkHTML")
+ (c-name "gtk_html_paste")
+ (return-type "none")
+ (parameters
+ '("gboolean" "as_cite")
+ )
+)
+
+(define-method undo
+ (of-object "GtkHTML")
+ (c-name "gtk_html_undo")
+ (return-type "none")
+)
+
+(define-method redo
+ (of-object "GtkHTML")
+ (c-name "gtk_html_redo")
+ (return-type "none")
+)
+
+(define-method insert_html
+ (of-object "GtkHTML")
+ (c-name "gtk_html_insert_html")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "html_src")
+ )
+)
+
+(define-method insert_gtk_html
+ (of-object "GtkHTML")
+ (c-name "gtk_html_insert_gtk_html")
+ (return-type "none")
+ (parameters
+ '("GtkHTML*" "to_be_destroyed")
+ )
+)
+
+(define-method append_html
+ (of-object "GtkHTML")
+ (c-name "gtk_html_append_html")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "html_src")
+ )
+)
+
+(define-method get_object_by_id
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_object_by_id")
+ (return-type "gpointer")
+ (parameters
+ '("const-gchar*" "id")
+ )
+)
+
+(define-method command
+ (of-object "GtkHTML")
+ (c-name "gtk_html_command")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "command_name")
+ )
+)
+
+(define-method edit_make_cursor_visible
+ (of-object "GtkHTML")
+ (c-name "gtk_html_edit_make_cursor_visible")
+ (return-type "gboolean")
+)
+
+(define-method set_magnification
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_magnification")
+ (return-type "none")
+ (parameters
+ '("gdouble" "magnification")
+ )
+)
+
+(define-method zoom_in
+ (of-object "GtkHTML")
+ (c-name "gtk_html_zoom_in")
+ (return-type "none")
+)
+
+(define-method zoom_out
+ (of-object "GtkHTML")
+ (c-name "gtk_html_zoom_out")
+ (return-type "none")
+)
+
+(define-method zoom_reset
+ (of-object "GtkHTML")
+ (c-name "gtk_html_zoom_reset")
+ (return-type "none")
+)
+
+(define-method update_styles
+ (of-object "GtkHTML")
+ (c-name "gtk_html_update_styles")
+ (return-type "none")
+)
+
+(define-method set_allow_frameset
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_allow_frameset")
+ (return-type "none")
+ (parameters
+ '("gboolean" "allow")
+ )
+)
+
+(define-method get_allow_frameset
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_allow_frameset")
+ (return-type "gboolean")
+)
+
+(define-method set_base
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_base")
+ (return-type "none")
+ (parameters
+ '("const-char*" "url")
+ )
+)
+
+(define-method get_url_base_relative
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_url_base_relative")
+ (return-type "char*")
+ (parameters
+ '("const-char*" "url")
+ )
+)
+
+(define-method get_url_object_relative
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_url_object_relative")
+ (return-type "char*")
+ (parameters
+ '("HTMLObject*" "o")
+ '("const-char*" "url")
+ )
+)
+
+(define-method images_ref
+ (of-object "GtkHTML")
+ (c-name "gtk_html_images_ref")
+ (return-type "none")
+)
+
+(define-method images_unref
+ (of-object "GtkHTML")
+ (c-name "gtk_html_images_unref")
+ (return-type "none")
+)
+
+(define-method image_ref
+ (of-object "GtkHTML")
+ (c-name "gtk_html_image_ref")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "url")
+ )
+)
+
+(define-method image_unref
+ (of-object "GtkHTML")
+ (c-name "gtk_html_image_unref")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "url")
+ )
+)
+
+(define-method image_preload
+ (of-object "GtkHTML")
+ (c-name "gtk_html_image_preload")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "url")
+ )
+)
+
+(define-method set_blocking
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_blocking")
+ (return-type "none")
+ (parameters
+ '("gboolean" "block")
+ )
+)
+
+(define-method set_images_blocking
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_images_blocking")
+ (return-type "none")
+ (parameters
+ '("gboolean" "block")
+ )
+)
+
+(define-method has_undo
+ (of-object "GtkHTML")
+ (c-name "gtk_html_has_undo")
+ (return-type "gboolean")
+)
+
+(define-method drop_undo
+ (of-object "GtkHTML")
+ (c-name "gtk_html_drop_undo")
+ (return-type "none")
+)
+
+(define-method get_url_at
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_url_at")
+ (return-type "char*")
+ (parameters
+ '("int" "x")
+ '("int" "y")
+ )
+)
+
+(define-method get_cursor_url
+ (of-object "GtkHTML")
+ (c-name "gtk_html_get_cursor_url")
+ (return-type "char*")
+)
+
+(define-method set_tokenizer
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_tokenizer")
+ (return-type "none")
+ (parameters
+ '("HTMLTokenizer*" "tokenizer")
+ )
+)
+
+; No GConf yet
+
+;(define-function gtk_html_build_with_gconf
+; (c-name "gtk_html_build_with_gconf")
+; (return-type "gboolean")
+;)
+
+(define-method set_default_content_type
+ (of-object "GtkHTML")
+ (c-name "gtk_html_set_default_content_type")
+ (return-type "none")
+ (parameters
+ '("gchar*" "content_type")
+ )
+)
+
+;(define-function gtk_html_new_from_string
+; (c-name "gtk_html_new_from_string")
+; (return-type "GtkWidget*")
+; (parameters
+; '("const-gchar*" "Astr")
+; '("gint" "len")
+; )
+;)
+
+(define-method load_empty
+ (of-object "GtkHTML")
+ (c-name "gtk_html_load_empty")
+ (return-type "none")
+)
+
+(define-method save
+ (of-object "GtkHTML")
+ (c-name "gtk_html_save")
+ (return-type "gboolean")
+ (parameters
+ '("GtkHTMLSaveReceiverFn" "receiver")
+ '("gpointer" "data")
+ )
+)
+
+(define-method begin_content
+ (of-object "GtkHTML")
+ (c-name "gtk_html_begin_content")
+ (return-type "GtkHTMLStream*")
+ (parameters
+ '("gchar*" "content_type")
+ )
+)
+
+(define-method drag_dest_set
+ (of-object "GtkHTML")
+ (c-name "gtk_html_drag_dest_set")
+ (return-type "none")
+)
+
+
+;; From /opt/local/include/libgtkhtml-3.8/gtkhtml/gtkhtml-properties.h
+
+(define-function gtk_html_class_properties_new
+ (c-name "gtk_html_class_properties_new")
+ (return-type "GtkHTMLClassProperties*")
+ (parameters
+ '("GtkWidget*" "widget")
+ )
+)
+
+(define-method destroy
+ (of-object "GtkHTMLClassProperties")
+ (c-name "gtk_html_class_properties_destroy")
+ (return-type "none")
+)
+
+(define-method copy
+ (of-object "GtkHTMLClassProperties")
+ (c-name "gtk_html_class_properties_copy")
+ (return-type "none")
+ (parameters
+ '("GtkHTMLClassProperties*" "p2")
+ )
+)
+
+; No GConf available yet
+
+;(define-method load
+; (of-object "GtkHTMLClassProperties")
+; (c-name "gtk_html_class_properties_load")
+; (return-type "none")
+; (parameter (type-and-name GConfClient* client))
+;)
+
+;(define-method update
+; (of-object "GtkHTMLClassProperties")
+; (c-name "gtk_html_class_properties_update")
+; (return-type "none")
+; (parameter (type-and-name GConfClient* client))
+; (parameter (type-and-name GtkHTMLClassProperties* old))
+;)
+
+(define-function gtk_html_cursor_skip_get_type
+ (c-name "gtk_html_cursor_skip_get_type")
+ (return-type "GtkType")
+)
+
+(define-function gtk_html_command_get_type
+ (c-name "gtk_html_command_get_type")
+ (return-type "GtkType")
+)
+
+
+;; From /opt/local/include/libgtkhtml-3.8/gtkhtml/gtkhtml-embedded.h
+
+(define-function gtk_html_embedded_get_type
+ (c-name "gtk_html_embedded_get_type")
+ (return-type "GType")
+)
+
+(define-function gtk_html_embedded_new
+ (c-name "gtk_html_embedded_new")
+ (is-constructor-of GtkHTMLEmbedded)
+ (return-type "GtkWidget*")
+ (parameters
+ '("char*" "classid")
+ '("char*" "name")
+ '("char*" "type")
+ '("char*" "data")
+ '("int" "width")
+ '("int" "height")
+ )
+)
+
+(define-method set_parameter
+ (of-object "GtkHTMLEmbedded")
+ (c-name "gtk_html_embedded_set_parameter")
+ (return-type "none")
+ (parameters
+ '("char*" "param")
+ '("char*" "value")
+ )
+)
+
+(define-method get_parameter
+ (of-object "GtkHTMLEmbedded")
+ (c-name "gtk_html_embedded_get_parameter")
+ (return-type "char*")
+ (parameters
+ '("char*" "param")
+ )
+)
+
+(define-method set_descent
+ (of-object "GtkHTMLEmbedded")
+ (c-name "gtk_html_embedded_set_descent")
+ (return-type "none")
+ (parameters
+ '("int" "descent")
+ )
+)
+
+
+;; From /opt/local/include/libgtkhtml-3.8/gtkhtml/gtkhtml-search.h
+
+(define-method engine_search
+ (of-object "GtkHTML")
+ (c-name "gtk_html_engine_search")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "text")
+ '("gboolean" "case_sensitive")
+ '("gboolean" "forward")
+ '("gboolean" "regular")
+ )
+)
+
+(define-method engine_search_set_forward
+ (of-object "GtkHTML")
+ (c-name "gtk_html_engine_search_set_forward")
+ (return-type "none")
+ (parameters
+ '("gboolean" "forward")
+ )
+)
+
+(define-method engine_search_next
+ (of-object "GtkHTML")
+ (c-name "gtk_html_engine_search_next")
+ (return-type "gboolean")
+)
+
+(define-method engine_search_incremental
+ (of-object "GtkHTML")
+ (c-name "gtk_html_engine_search_incremental")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "text")
+ '("gboolean" "forward")
+ )
+)
+
+
+;; From /opt/local/include/libgtkhtml-3.8/gtkhtml/gtkhtml-stream.h
+
+(define-method stream_new
+ (of-object "GtkHTML")
+ (c-name "gtk_html_stream_new")
+ (return-type "GtkHTMLStream*")
+ (parameters
+ '("GtkHTMLStreamTypesFunc" "type_func")
+ '("GtkHTMLStreamWriteFunc" "write_func")
+ '("GtkHTMLStreamCloseFunc" "close_func")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method write
+ (of-object "GtkHTMLStream")
+ (c-name "gtk_html_stream_write")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "buffer")
+ '("size_t" "size")
+ )
+)
+
+(define-method destroy
+ (of-object "GtkHTMLStream")
+ (c-name "gtk_html_stream_destroy")
+ (return-type "none")
+)
+
+(define-method close
+ (of-object "GtkHTMLStream")
+ (c-name "gtk_html_stream_close")
+ (return-type "none")
+ (parameters
+ '("GtkHTMLStreamStatus" "status")
+ )
+)
+
+(define-method get_types
+ (of-object "GtkHTMLStream")
+ (c-name "gtk_html_stream_get_types")
+ (return-type "char**")
+)
+
+(define-method stream_log_new
+ (of-object "GtkHTML")
+ (c-name "gtk_html_stream_log_new")
+ (return-type "GtkHTMLStream*")
+ (parameters
+ '("GtkHTMLStream*" "stream")
+ )
+)
+
+(define-method vprintf
+ (of-object "GtkHTMLStream")
+ (c-name "gtk_html_stream_vprintf")
+ (return-type "int")
+ (parameters
+ '("const-char*" "format")
+ )
+ (varargs #t)
+)
+
+(define-method printf
+ (of-object "GtkHTMLStream")
+ (c-name "gtk_html_stream_printf")
+ (return-type "int")
+ (parameters
+ '("const-char*" "format")
+ )
+ (varargs #t)
+)
+
+
+
+
+;; From /opt/local/include/libgtkhtml-3.8/gtkhtml/htmldefine-enums.h
+
+
+;; -*- scheme -*-
+; object definitions ...
+;; Enumerations and flags ...
+
+
+;; From /opt/local/include/libgtkhtml-3.8/gtkhtml/htmltokenizer.h
+
+(define-function html_tokenizer_get_type
+ (c-name "html_tokenizer_get_type")
+ (return-type "GType")
+)
+
+(define-function html_tokenizer_new
+ (c-name "html_tokenizer_new")
+ (return-type "HTMLTokenizer*")
+)
+
+(define-method destroy
+ (c-name "html_tokenizer_destroy")
+ (return-type "none")
+)
+
+(define-method begin
+ (c-name "html_tokenizer_begin")
+ (return-type "none")
+ (parameters
+ '("gchar*" "content_type")
+ )
+)
+
+(define-method write
+ (c-name "html_tokenizer_write")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "string")
+ '("size_t" "size")
+ )
+)
+
+(define-method end
+ (c-name "html_tokenizer_end")
+ (return-type "none")
+)
+
+(define-method peek_token
+ (c-name "html_tokenizer_peek_token")
+ (return-type "gchar*")
+)
+
+(define-method next_token
+ (c-name "html_tokenizer_next_token")
+ (return-type "gchar*")
+)
+
+(define-method has_more_tokens
+ (c-name "html_tokenizer_has_more_tokens")
+ (return-type "gboolean")
+)
+
+(define-method clone
+ (c-name "html_tokenizer_clone")
+ (return-type "HTMLTokenizer*")
+)
+
diff --git a/ext/html/html.overrides b/ext/html/html.overrides
new file mode 100644
index 0000000..96dfcc9
--- /dev/null
+++ b/ext/html/html.overrides
@@ -0,0 +1,26 @@
+/* vim: set ft=cpp: */
+%%
+headers
+#include <gtkhtml/gtkhtml.h>
+#include <gtkhtml/gtkhtml-embedded.h>
+#include <gtkhtml/gtkhtml-search.h>
+#include "ext/gtk+/php_gtk+.h"
+#include "php_gtk_api.h"
+%%
+ignore-glob
+ *_get_type
+
+%%
+override gtk_html_load_from_string
+PHP_METHOD
+{
+ char *text;
+
+ NOT_STATIC_METHOD();
+
+ if(!php_gtk_parse_args(ZEND_NUM_ARGS(), "s", &text)) {
+ return;
+ }
+
+ gtk_html_load_from_string(GTK_HTML(PHPG_GOBJECT(this_ptr)), text, strlen(text));
+}
diff --git a/ext/html/php_html.c b/ext/html/php_html.c
new file mode 100644
index 0000000..1508468
--- /dev/null
+++ b/ext/html/php_html.c
@@ -0,0 +1,45 @@
+/*
+ * PHP-GTK - The PHP language bindings for GTK+
+ *
+ * Copyright (C) 2001,2002 Andrei Zmievski <andrei@php.net>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+/* $Id$ */
+
+#include "php_html.h"
+
+#if HAVE_HTML
+
+#ifdef COMPILE_DL_HTML2
+PHP_GTK_GET_EXTENSION(html)
+#endif
+
+PHP_GTK_XINIT_FUNCTION(html)
+{
+ phpg_gtkhtml_register_classes();
+ phpg_gtkhtml_register_constants("HTML_");
+
+ return SUCCESS;
+}
+
+php_gtk_ext_entry html_ext_entry = {
+ "html",
+ PHP_GTK_XINIT(html),
+ NULL,
+};
+
+#endif /* HAVE_HTML */
diff --git a/ext/html/php_html.h b/ext/html/php_html.h
new file mode 100644
index 0000000..1bfc75b
--- /dev/null
+++ b/ext/html/php_html.h
@@ -0,0 +1,44 @@
+/*
+ * PHP-GTK - The PHP language bindings for GTK+
+ *
+ * Copyright (C) 2001,2002 Andrei Zmievski <andrei@php.net>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+/* $Id$ */
+
+#ifndef PHP_HTML_H
+#define PHP_HTML_H
+
+#include "php_gtk.h"
+
+#if HAVE_HTML
+
+#include <gtkhtml/gtkhtml.h>
+
+extern php_gtk_ext_entry html_ext_entry;
+#define php_gtk_ext_html_ptr &html_ext_entry
+
+void phpg_gtkhtml_register_classes(void);
+void phpg_gtkhtml_register_constants(const char *strip_prefix);
+
+#else
+
+#define php_gtk_ext_html_ptr NULL
+
+#endif /* HAVE_HTML */
+
+#endif /* PHP_HTML_H */
--
PHP-GTK CVS Mailing List (http://gtk.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic