Touch experience (X3D)

110 views
Skip to first unread message

Markus Wöhling

unread,
Mar 30, 2014, 7:01:53 PM3/30/14
to cefs...@googlegroups.com
Hi,

I'm trying to use CefSharp to embed X3D graphics in WinForms.
The touch experience with CefSharp.WinForms (v1.25) is okay, but in a "full" browser (e.g. SRWare Iron) the experience is much better.
I've tried out CefSharp.Wpf (v3.29) also, but it does not fit my needs at all.


What can I do to get better touch support? I need it in WinForms, but WPF would be okay also.
I'm wondering if "chrome_touch_100_percent.pak" (as it's installed with SRWare Iron) has something to do with it?!

Thanks,
Markus

Jørn Hansen

unread,
Mar 31, 2014, 1:38:36 PM3/31/14
to cefs...@googlegroups.com

On Monday, March 31, 2014 1:01:53 AM UTC+2, Markus Wöhling wrote:
I'm trying to use CefSharp to embed X3D graphics in WinForms.
The touch experience with CefSharp.WinForms (v1.25) is okay, but in a "full" browser (e.g. SRWare Iron) the experience is much better.

Better, how?
 
I've tried out CefSharp.Wpf (v3.29) also, but it does not fit my needs at all.

I what specific way is CefSharp3 lagging for your use?
 

What can I do to get better touch support? I need it in WinForms, but WPF would be okay also.

Have you seen https://github.com/cefsharp/CefSharp/issues/228 - it might give a few clues of where to dig. Without having any experience in the "touch" area myself I would say a good place to start is with the `cefclient.exe` from the binary download page for the upstream native CEF project to isolate where what you miss is not implemented - yet. 


I'm wondering if "chrome_touch_100_percent.pak" (as it's installed with SRWare Iron) has something to do with it?!

It's not - currently - in the upstream CEF Ressources that CefSharp stand on the shoulders of. It might have been repackaged into the `cef.pak` or not?

Sorry, maybe I threw more questions at you than answers - but hopefully some of it will bring you a bit closer to what you want :-)

--
Best regards,
JornH


Thanks,
Markus

Markus Wöhling

unread,
Apr 1, 2014, 6:14:40 AM4/1/14
to cefs...@googlegroups.com
Thank for the hints, I have a better understanding of my problem now :-)

The core problem is that there are no touch events available when I use CefSharp!

I tried out all available versions of CEF3, and everything works fine when I use cefclient.exe

I use X3DOM to render the X3D graphics. The quite different touch experience with cefclient.exe, CefSharp.WinForms (v1.25) and CefSharp.Wpf (v3.29) is caused be the X3DOM implementation - if there are no touch events, something is "emulated".

I have not tried out a CefSharp version with the exact same DLLs that I use with cefclient.exe, but I think that should make no difference.

Does anyone know why there are no touch events or how to enable it?
I did not find any touch related things in the CefSharp source that enable and/or disable touch (something like "--touch-events=enabled|disabled").

Thanks,
Markus

Jørn Hansen

unread,
Apr 1, 2014, 6:59:40 AM4/1/14
to cefs...@googlegroups.com
On a hunch; is it because you have disabled loading of .pak files with CefSharp? Or you don't have cef.pak in your bin/ dir? - I had something called hammer.js linked from one of the CEF issues running yesterday. I could test doubletap, drag, swipe etc. using my mouse. I think I was running CefSharp.Wpf.Example source build from `master` branch then. I can check again if needed..

--
JornH

Markus Wöhling

unread,
Apr 1, 2014, 1:32:23 PM4/1/14
to cefs...@googlegroups.com
I've fumbled around a lot with different constellations, but I don't get any touch events :-(

I also tried to run cefclient.exe WITHOUT cef.pak -> everything works fine.

I rebuild CefSharp.Wpf.Example from 'master' branch, and I don't even see the X3D image (http://www.web3d.org/x3d/content/examples/course/ExtrusionHeart.xhtml)

But I found out, that the great touch experience with cefclient.exe is gone if I remove libEGL.dll and libGLESv2.dll.
So I tried to add these DLLs to CefSharp.Wpf.Example, result: I see the X3D image, but the touch behavior is like in my CEF1 tests (no touch events).

Maybe I have use wrong DLLs? I used the DLL from cefbuilds.com, build 1650 (version 3.1650.1639).

Any ideas?

Regards,
Markus

Markus Wöhling

unread,
Apr 1, 2014, 4:20:29 PM4/1/14
to cefs...@googlegroups.com
I found out that libEGL.dll and libGLESv2.dll are for WebGL stuff that is used by X3DOM to render X3D graphics.
When these DLLs are not present, X3DOM uses "flash" rendering as fallback. So this may be the reason why cefclient.exe has different touch behavior.

So the problem remains the same: No touch events are available.

I've just checked hammer.js instead of X3DOM, result: Touch works in cefclient.exe but not in CefSharp.Wpf.Example (see http://riagora.com/mobile/hammer/ - it seems to be for touch only and has no "mouse" fallback implemented)

Regards,
Markus

Markus Wöhling

unread,
Apr 22, 2014, 8:08:21 PM4/22/14
to cefs...@googlegroups.com
Hi,

this is a small sample that is working in cefclient.exe, but not in CefSharp.Wpf.Example (ontouchstart is fired in cefclient.exe only):
<body>
<canvas ontouchstart="alert('touchStart');" width="1000px" height="1000px">
</canvas>
</body>
</html>

Regards,
Markus
Reply all
Reply to author
Forward
0 new messages