06-13-2012 01:34 PM
Hello BB Native forums,
We have an openGL app that renders video using mmrenderer child window. OpenGL surface is transparent and renders some overlay elements above the video. It seems as though touch events are only transmitted when the happen on the non transparent portion of the OpenGL surface. Is there a way to catch all touch events in this scenario (perhaps from the child window)?
Solved! Go to Solution.
06-19-2012 01:46 PM
It's just a standard bps_screen event handling.
int rc = bps_get_event(&event, 0);
if (rc == BPS_SUCCESS && event)
int domain = bps_event_get_domain(event);
if (domain == screen_get_domain())
06-20-2012 12:18 PM
Are you properly requesting events with "screen_request_events(...)" with the proper screen context?
Have you taken a look at the GoodCitizen OpenGL sample application? It shows how all events are received and process across the entire screen with a very similar use case;
06-20-2012 02:46 PM
We were creating an unnecessary screen context when adding the mmr child window. Simply adding it to the main application's context works and events are now directed properly. Had we stuck to the original solution with 2 contexts, then we would have needed to redirect event request to the new context the redirect back to the old context after video playback.