Mercurial > dwindows
diff gtk/dw.c @ 587:9e81f23b57ae
If available try to use GtkMozEmbed from Mozilla.or.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sun, 22 May 2005 19:14:15 +0000 |
parents | b9d903cde2f4 |
children | 1b398af1ec38 |
line wrap: on
line diff
--- a/gtk/dw.c Sun May 22 18:23:05 2005 +0000 +++ b/gtk/dw.c Sun May 22 19:14:15 2005 +0000 @@ -29,6 +29,9 @@ #ifdef USE_IMLIB #include <gdk_imlib.h> #endif +#ifdef USE_GTKMOZEMBED +#include <gtkmozembed.h> +#endif #if GTK_MAJOR_VERSION > 1 #include <gdk-pixbuf/gdk-pixbuf.h> #endif @@ -9849,6 +9852,30 @@ */ void dw_html_action(HWND handle, int action) { +#ifdef USE_GTKMOZEMBED + int _locked_by_me = FALSE; + + DW_MUTEX_LOCK; + switch(action) + { + case DW_HTML_GOBACK: + gtk_moz_embed_go_back(GTK_MOZ_EMBED(handle)); + break; + case DW_HTML_GOFORWARD: + gtk_moz_embed_go_forward(GTK_MOZ_EMBED(handle)); + break; + case DW_HTML_GOHOME: + gtk_moz_embed_load_url(GTK_MOZ_EMBED(handle), "http://dwindows.netlabs.org"); + break; + case DW_HTML_RELOAD: + gtk_moz_embed_reload(GTK_MOZ_EMBED(handle), 0); + break; + case DW_HTML_STOP: + gtk_moz_embed_stop_load(GTK_MOZ_EMBED(handle)); + break; + } + DW_MUTEX_UNLOCK; +#endif } /* @@ -9862,6 +9889,14 @@ */ int dw_html_raw(HWND handle, char *string) { +#ifdef USE_GTKMOZEMBED + int _locked_by_me = FALSE; + + DW_MUTEX_LOCK; + gtk_moz_embed_render_data(GTK_MOZ_EMBED(handle), string, strlen(string), "", ""); + DW_MUTEX_UNLOCK; + return 0; +#endif return -1; } @@ -9876,6 +9911,14 @@ */ int dw_html_url(HWND handle, char *url) { +#ifdef USE_GTKMOZEMBED + int _locked_by_me = FALSE; + + DW_MUTEX_LOCK; + gtk_moz_embed_load_url(GTK_MOZ_EMBED(handle), url); + DW_MUTEX_UNLOCK; + return 0; +#endif return -1; } @@ -9887,7 +9930,17 @@ */ HWND dw_html_new(unsigned long id) { +#ifdef USE_GTKMOZEMBED + GtkWidget *widget; + int _locked_by_me = FALSE; + + DW_MUTEX_LOCK; + widget = gtk_moz_embed_new(); + DW_MUTEX_UNLOCK; + return widget; +#else return dw_box_new(DW_HORZ, 0); +#endif } /*