[webkit-gtk] rendering browser on offscreen surface/window
Prasanta Sadhukhan
psadhukhan at gmail.com
Wed Aug 8 01:48:37 PDT 2012
On Tue, Aug 7, 2012 at 5:34 PM, Martin Robinson <mrobinson at webkit.org>wrote:
> On Tue, Aug 7, 2012 at 9:20 AM, Prasanta Sadhukhan <psadhukhan at gmail.com>
> wrote:
>
> > I am trying in this manner as shown below on 1.8.1 webkitgtk but I am
> > getting error like below and the webpage is not displayed.
> > Can anyone suggest if the above scenario can be achieved OR do we need to
> > load the webpage on the main window
>
> After a quick look at your code, it seems that you are not realizing
> the offscreen window.
>
> Thanks for your reply..
I am new to gtk+ programming so I probably will miss some code which are
obvious to gtk experts.
I modified the code to include the offscreen window realizing but still it
does not display the webpage.
Here's the modified code snippet (other code remain same as previous mail).
I tried different ways (commented out code) but still the webpage is not
displayed. Can anyone suggest what else I need to do to display offscreen
contents (webpage) in main window?
GtkWidget* create_offscreen_window(GtkWidget *main_window)
{
GtkWidget *offscr = gtk_offscreen_window_new();
// gtk_window_set_default_size(offscr, 1200, 800);
return offscr;
}
void load_webpage(GtkWidget *main_window)
{
GtkWidget *offscr = create_offscreen_window(main_window);
// Create a browser instance
WebKitWebView *webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
setProxy();
// Load a web page into the browser instance
webkit_web_view_load_uri(webView, "http://www.thewildernessdowntown.com/
");
// Make sure that when the browser area becomes visible, it will get
mouse
// and keyboard events
gtk_widget_grab_focus(GTK_WIDGET(webView));
// GtkWidget *vbox = gtk_vbox_new(FALSE, 0);
// gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(webView), TRUE, TRUE, 0);
// gtk_container_add(GTK_CONTAINER(offscr), vbox);
gtk_container_add(GTK_CONTAINER(offscr), GTK_WIDGET(webview));
gtk_widget_realize(offscr);
gtk_widget_show_all(offscr);
GdkPixmap *pixmap = gtk_offscreen_window_get_pixmap(offscr);
GtkWidget *image = gtk_image_new_from_pixmap(pixmap, NULL);
gtk_container_add(GTK_CONTAINER(main_window), image);
//GdkPixbuf *pixbuf = gtk_offscreen_window_get_pixbuf(offscr);
//gtk_container_add(GTK_CONTAINER(main_window), GTK_WIDGET(pixbuf));
// Make sure the main window and all its contents are visible
gtk_widget_show_all(main_window);
// Run the main GTK+ event loop
gtk_main();
}
int main(int argc, char* argv[])
{
GtkWidget *main_window = gtk_initialize();
load_webpage(main_window);
}
--Martin
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-gtk/attachments/20120808/a8d02846/attachment.html>
More information about the webkit-gtk
mailing list