2014-06-19 14 views
6

Mam trochę kodu OpenGL ES, który renderował do GLSurfaceView, i obecnie modyfikuję go do pracy z SurfaceView i TextureView.Jak uzyskać ANativeWindow z SurfaceTexture w NDK

Wspólnym elementem, którego potrzebuję, zarówno wewnątrz mojego kodu macierzystego jest: ANativeWindow.

Dla SurfaceView mam go przekazując Surface do:

m_jwindow = ANativeWindow_fromSurface(env, surface); 

Dla TextureView biorę SurfaceTexture i API 14 mogę użyć tego:

m_jwindow = ANativeWindow_fromSurfaceTexture(env, surface); 

jednak, że funkcja została usunięty w Jellybean. Co mnie zastanawia, jak mogę uzyskać ANativeWindow z SurfaceTexture w API 16+?

Odpowiedz

8

W interfejsie API 16+ należy utworzyć obiekt Surface, przekazując obiekt SurfaceTexture jako argument do constructor (który został wprowadzony w interfejsie API 14). Przekaż tę Powierzchnię do ANativeWindow_fromSurface() jak zwykle.

Powiązane problemy