bool QShivaContext::makeCurrent(ShivaVGWindowSurfacePrivate *surface)
{
    if (currentSurface)
        currentSurface->isCurrent = false;
    surface->isCurrent = true;
    currentSurface = surface;
    currentSize = surface->size;
#if defined(Q_WS_X11)
    glXMakeCurrent(X11->display, surface->drawable, surface->context);
#endif
    if (!initialized) {
        if (!vgCreateContextSH(currentSize.width(), currentSize.height())) {
            qWarning("vgCreateContextSH(%d, %d): could not create context", currentSize.width(), currentSize.height());
            return false;
        }
        initialized = true;
    } else {
        vgResizeSurfaceSH(currentSize.width(), currentSize.height());
    }
#if defined(QVG_USE_FBO)
    if (surface->fbo)
        glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, surface->fbo);
    else
        glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
#endif
    return true;
}
Esempio n. 2
0
void ovg_clear(void){
	int x,y,w,h;

	//get screen dimensions
	ovg_wininfo(&x,&y,&w,&h);
	vgResizeSurfaceSH(w,h); //why am i doing this again?

	ovg_clear_rect(0,0,w,h, C_ABSOLUTE);
}
Esempio n. 3
0
	// C function:: void vgResizeSurfaceSH(VGint width, VGint height);
	JNIEXPORT jint JNICALL
	Java_com_example_startvg_VG11_vgResizeSurfaceSH(
		JNIEnv* env, jobject obj, 
	  jint width, jint height){
	
	  vgResizeSurfaceSH(
		(VGint) width, 
		(VGint) height
		);
	}
Esempio n. 4
0
void testReshape(int w, int h)
{
  ReshapeFunc callback =
    (ReshapeFunc)callbacks[TEST_CALLBACK_RESHAPE];
  
  testW = w;
  testH = h;
  
  vgResizeSurfaceSH(w, h);
  
  
  if (callback)
    (*callback)(w,h);
}