[webkit-gtk] Can I get viewport image cahanges from draw event.
Miha
miha.dimec at visionect.com
Mon Jul 7 03:46:06 PDT 2014
On 07/02/2014 09:46 AM, Miha wrote:
> Hi
>
> I am developing an eInk paper based application. I have the server
> that runs webkit2gtk based applications and eInk devices that are
> connected to server via WiFi. Basically server renders image changes
> and sends them to device. User can use devices touchscreen to send
> click events to server.
>
> The thing I want to do, but I don't know if it is possible, is to get
> viewport changes from draw signal.
> I want to get changed regions and image pixels from those regions
> because don't want to do full screen refreshes eInk display if it is
> not necessary.
>
> As I understand I could do something like this, but I do not know how
> to do it exactly.
> http://pastebin.com/1L8cNFfJ (my test application)
>
> 1. Something is changed and need to be drawn.
> Breakpoint 2, WebKit::PageClientImpl::setViewNeedsDisplay
> (this=0x78c670, rect=...)
> at ../Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp:77
> 77 gtk_widget_queue_draw_area(m_viewWidget, rect.x(), rect.y(),
> rect.width(), rect.height());
>
> 2. WebKit Ui process draws changes to WebKitWebView widget cairo context.
> Breakpoint 1, webkitWebViewBaseDraw (widget=0x782490, cr=0x7d3d80)
> at ../Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:409
>
> 3. Custom "draw" signal handler is triggered in application. I get
> cairo context as parameter. Can I render changes from 1. here? Is it
> possible? How to do it?
> 2014-07-01T11:54:51.499118Z web_view draw 1 {X: 150.000000, Y:
> 80.000000, W: 450.000000, H:225.000000}
> 0x0-d41d8cd98f00b204e9800998ecf8427e
> 2014-07-01T11:54:51.499175Z window draw 1 {X: 150.000000, Y:
> 80.000000, W: 450.000000, H:225.000000}
> 0x0-d41d8cd98f00b204e9800998ecf8427e
>
> Breakpoint 1, webkitWebViewBaseDraw (widget=0x782490, cr=0x7d3d80)
> at ../Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:409
> 409 {
> (gdb) c
> Continuing.
> 2014-07-01T11:54:51.899118Z web_view draw 1 {X: 150.000000, Y:
> 80.000000, W: 450.000000, H:225.000000}
> 0x0-d41d8cd98f00b204e9800998ecf8427e
>
>
>
>
> I am curious , why are there two web_view draw events for each change?
> What trigers the second call to webkitWebViewBaseDraw and sends the
> second web_view "draw" signal in point 3?
> I there way to avoid this? Maybe I can use window "draw" as it is
> triggered only once?
>
> Thank you for answer.
> Best
>
> Miha
>
>
>
>
Hi
I would relay appreciate, if somebody would help me clear out details.
Please.
Best
Miha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-gtk/attachments/20140707/fc2a4109/attachment-0001.html>
More information about the webkit-gtk
mailing list