Hello,
Here is the environment:
Hardware: ARM/IMX35
OS: QNX6.4.0 and OpenVG1.1
The application consists of Flash Application in the complete screen; however OpenVG drawing window is around 1/3rd part
of the whole screen. I am using OpenKODE for integrating these two.
High level API callings are:
-----------------------------------------------------------------------------
kd_win = kdCreateWindow(egl_disp, egl_conf, KD_NULL);
......
///setting properties of kd_win like class, position, size etc.
......
kdRealizeWindow(kd_win, &egl_win);
egl_surf = eglCreateWindowSurface(egl_disp, egl_conf, egl_win, NULL);
eglSurfaceAttrib(egl_disp, egl_surf, EGL_SWAP_BEHAVIOR, EGL_BUFFER_PRESERVED);
eglMakeCurrent(egl_disp, egl_surf, egl_surf, egl_ctx);
eglSwapInterval(egl_disp, interval);
....
m_warpImage = vgCreateImage(m_imageFormat, m_display_width, m_display_height, VG_IMAGE_QUALITY_BETTER);
m_displayPixelRect = (unsigned char*)malloc(m_display_height * m_display_width);
memset(m_displayPixelRect, 0, m_display_height * m_display_width);
VGfloat mat[9];
vguComputeWarpQuadToQuad(0, 0, (VGfloat)m_display_width, 0.0f, (VGfloat)m_display_width * 0.8f,
(VGfloat)m_display_height * 0.5f, (VGfloat)m_display_width * 0.2f, (VGfloat)m_display_height * 0.5f,
0, 0, (VGfloat)m_display_width, 0, (VGfloat)m_display_width, (VGfloat)m_display_height, 0
.0f, (VGfloat)m_display_height, mat);
....
memcpy(m_warpMatrix, mat, sizeof(VGfloat)*9);
----------------------------------------------------------------------------------
The Flash app is up all the time and it allows me to create and draw an OpenVG map into the specific area Flash has
decided. Everything works fine until the OpenVG map drawing starts. As soon as Map comes up in the front, the whole
screen goes back except the OpenVG map window. After few seconds (around 3-4 seconds) the Flash app comes up and the
whole integrated Flash and OpenVG apps work together properly. This problem comes up again if I resize the OpenVG map
area for which I need to create a different size OpenVG window (egl_surface) again.
Can someone please let me know what is the cause of the problem? I hope I have given the sufficient information. Please
let me know if you want more decryption.
Thanks a lot.
Shivendra