Hi again. I've managed to write offscreen rendering with the help of clutter code. I'm now able to render HTML pages to images.
The only problem is if I use JavaScript to dynamically change the contents of the page, the page is not going to refresh. Now I'm thinking what to do. Do I have to connect to a specific webkit signal for redrawing after the page has been loaded? Please help. Greets, Luka Dne 26.05.2008 (pon) ob 13:54 +0200 je Julien Sanchez zapisal(a): > Hello Luka, > > Nothing seems wrong but with your code offscreen_webkit_load_finished > does not seem to be called. I'm not a specialist but I have used > > loop = g_main_loop_new(NULL, TRUE); > g_main_loop_run(loop); > > for the main loop... > > Julien > > Le lundi 26 mai 2008 à 12:14 +0200, Luka Napotnik a écrit : > > Hello again Julien. > > > > I've created my own widget from GtkWidget and set the "load-finished" > > signal from webkit to a callback which then uses the > > webkit_web_frame_show() function from clutter. > > The problem is when I save the surface to a PNG image and open it, > > there's only black color. I've attached the sources. > > > > Could you please take a quick look at the sources. I really don't know > > what I'm doing wrong. I've looked into the clutter code and nothing > > special was there that could hint why this is happening to me. > > > > Greets, > > Luka > > > > Dne 23.05.2008 (pet) ob 14:11 +0200 je Julien Sanchez zapisal(a): > > > Hello Luka, > > > > > > I used the following path from clutter repository: > > > http://svn.o-hand.com/view/clutter/trunk/clutter-webkit/webkit-frame-show-cairo.patch?rev=2031&view=markup > > > > > > As a rough prototype, I adapted an "OffscreenWebkit" class inspired from > > > the ClutterWebkitClass from clutter-webkit > > > (http://svn.o-hand.com/view/clutter/trunk/clutter-webkit/clutter-webkit.c?rev=2030&view=markup) > > > > > > and more especially in load_finished_cb: > > > > > > static void load_finished_cb (WebKitWebView *web_view, > > > WebKitWebFrame *frame, > > > OffscreenWebkit *webkit) > > > { > > > g_print ("load_finished_cb\n"); > > > OffscreenWebkitPrivate *priv = OFFSCREEN_WEBKIT_GET_PRIVATE(webkit); > > > cairo_surface_t *surf = cairo_image_surface_create(CAIRO_FORMAT_RGB24, > > > priv->width, priv->height); > > > cairo_t* cr_surf = cairo_create(surf); > > > cairo_rectangle (cr_surf, 0, 0, priv->width, priv->height); > > > webkit_web_frame_show (frame, cr_surf); > > > cairo_surface_write_to_png(surf, "webkitsurf.png"); > > > cairo_surface_destroy(surf); > > > > > > surf = > > > cairo_pdf_surface_create("webkitsurf.pdf", priv->width, priv->height); > > > cr_surf = cairo_create(surf); > > > cairo_rectangle (cr_surf, 0, 0, priv->width, priv->height); > > > webkit_web_frame_show (frame, cr_surf); > > > cairo_surface_show_page(surf); > > > > > > cairo_surface_finish(surf); > > > cairo_surface_destroy(surf); > > > > > > g_main_loop_quit(loop); > > > } > > > > > > It works but I wonder if it is possible to to the same without an X > > > server (I just tried with the gtk-directfb port :./configure > > > --enable-debug --with-target=directfb but it does not work. I don't know > > > how to use directfb and if it will be efficient. > > > > > > Julien > > > > > > Le vendredi 23 mai 2008 à 13:32 +0200, Luka Napotnik a écrit : > > > > Hello Julien. > > > > > > > > So you didn't draw the webkitview widget at all but stil managed to get > > > > a cairo drawing from the engine? If so, could you please tell me how did > > > > you do that? > > > > > > > > Greets, > > > > Luka > > > > > > > > Dne 23.05.2008 (pet) ob 12:58 +0200 je Julien Sanchez zapisal(a): > > > > > Hello, > > > > > > > > > > I'm interested too in such a port because I'm trying to render simple > > > > > html (no plugins or widgets) into image and pdf backends. > > > > > For the moment, I made a simple hack (inspired from Clutter project) > > > > > to > > > > > render into a cairo surface. It works from the command line but it > > > > > still > > > > > depends from X (and GTK) and I don't know where to begin to get rid of > > > > > these dependencies. > > > > > > > > > > Julien > > > > > > > > > > Le jeudi 22 mai 2008 à 09:30 -0700, Mike Emmel a écrit : > > > > > > Luka I don't think it makes a difference if your running a lot of > > > > > > thumbnails you would want to use gpu's some sort of render > > > > > > farm arrangement. My port does it as a result of the design not > > > > > > because of a strong desire to render with the cpu. > > > > > > Also for real world web pages your going to have problems with > > > > > > plugins > > > > > > which depend on X11 and native widget libraries. > > > > > > > > > > > > So although its possible with my port I can't see a single real > > > > > > problem that can be solved with this approach. > > > > > > Gtk/DirectFB will work for most pages if you have a flash port. > > > > > > Thats > > > > > > the number one stumbling block. > > > > > > I did my headless version of DirectFB for example to use the > > > > > > DirectFB > > > > > > video provider for the media tags. > > > > > > You can take other approaches but you would need to consider at a > > > > > > minimum flash and the media tags. > > > > > > For complete font support your going to have to use pango or go with > > > > > > the QT port but the QT port gets you back > > > > > > to the plugin issues if you don't use X11 and a lot of plugins use > > > > > > GTK so.... > > > > > > > > > > > > > > > > > > As far as releasing I'm not in control of the release cycle except > > > > > > for > > > > > > creating delays as I work on stuff :( > > > > > > It should be released however some time this year. > > > > > > > > > > > > I obviously don't disagree with your idea in fact I worked hard to > > > > > > ensure my approach was adaptable so it could be used for these types > > > > > > of use cases so someday we will have what your looking for if things > > > > > > go well. I actually designed it to work > > > > > > with all the legacy use cases I mentioned but be flexible enough to > > > > > > transparently drop them when replacements without the legacy X11/Gtk > > > > > > dependencies become available. So soon a framework will be available > > > > > > to allow you to reverse software > > > > > > bloat but I've got no idea if software developers will accept it. I > > > > > > built it to deal with the problems that occur with our new embedded > > > > > > devices that have capabilities rivaling desktops where bloat is a > > > > > > huge > > > > > > problem. The fact it can do what your asking makes me confident the > > > > > > design is correct in fact it solves problems your not considering. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, May 22, 2008 at 8:41 AM, Luka Napotnik <[EMAIL PROTECTED]> > > > > > > wrote: > > > > > > > Wow really? Could you share the port please. I've been looking > > > > > > > for such > > > > > > > a port to save the cairo painting to a PNG image. > > > > > > > > > > > > > > Greets, > > > > > > > Luka > > > > > > > > > > > > > > Dne 22.05.2008 (čet) ob 07:41 -0700 je Mike Emmel zapisal(a): > > > > > > >> I actually have a WebKit port with no dependencies but Cairo. > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> On Thu, May 22, 2008 at 7:02 AM, Luka Napotnik <[EMAIL > > > > > > >> PROTECTED]> wrote: > > > > > > >> > Hello Mike. > > > > > > >> > > > > > > > >> > What I need is a WebKit port that is independent of any > > > > > > >> > display server > > > > > > >> > (X or a framebuffer). I only want to render the page to an > > > > > > >> > image. And > > > > > > >> > since cairo is a great graphics library I think It's a good > > > > > > >> > start. > > > > > > >> > > > > > > > >> > Greets, > > > > > > >> > Luka > > > > > > >> > > > > > > > >> > Dne 22.05.2008 (čet) ob 06:49 -0700 je Mike Emmel zapisal(a): > > > > > > >> >> Use the GTK DirectFB backend. > > > > > > >> >> > > > > > > >> >> I have a memory only system that I really need to get into > > > > > > >> >> the trunk. > > > > > > >> >> But if you have a graphics card in the system the fb0 will > > > > > > >> >> work. > > > > > > >> >> > > > > > > >> >> Its on my TODO to get the mem only system checked in and I > > > > > > >> >> can give > > > > > > >> >> you a patch in the mean time if its a issue. Also you can use > > > > > > >> >> the vnc driver > > > > > > >> >> as a virtual framebuffer. > > > > > > >> >> > > > > > > >> >> Also some of the XServers should work in a similar way so you > > > > > > >> >> can probably > > > > > > >> >> play the same trick with the right X11 server. > > > > > > >> >> > > > > > > >> >> > > > > > > >> >> On Thu, May 22, 2008 at 4:21 AM, Luka Napotnik <[EMAIL > > > > > > >> >> PROTECTED]> wrote: > > > > > > >> >> > Hello. > > > > > > >> >> > > > > > > > >> >> > I am interested in porting webkit to cairo for off-screen > > > > > > >> >> > rendering > > > > > > >> >> > without a X server. As I cannot find any documents about > > > > > > >> >> > porting to > > > > > > >> >> > other platform I would really appreciate if you could help > > > > > > >> >> > me with some > > > > > > >> >> > hints about porting webkit. > > > > > > >> >> > > > > > > > >> >> > Greets, > > > > > > >> >> > Luka > > > > > > >> >> > > > > > > > >> >> > _______________________________________________ > > > > > > >> >> > webkit-dev mailing list > > > > > > >> >> > webkit-dev@lists.webkit.org > > > > > > >> >> > http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev > > > > > > >> >> > > > > > > > >> >> > > > > > > > >> > > > > > > > > > > > > > > _______________________________________________ > > > > > > webkit-dev mailing list > > > > > > webkit-dev@lists.webkit.org > > > > > > http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev > > > > > > > > > > > > > > >
signature.asc
Description: To je digitalno podpisan del sporočila
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev