Ejemplo n.º 1
0
 void Application::SetStatusBarVisible(bool visible)
 {
     jclass activityClass = JniHelper::GetActivityClass();
     if (visible) {
         WITH_STATIC_JAVA_METHOD(showSysUI, activityClass, "ShowStatusBar", "()V");
         __jni->CallStaticVoidMethod(activityClass, showSysUI);
         ::g::Android::Base::JNI::CheckException();
     } else {
         WITH_STATIC_JAVA_METHOD(hideSysUI, activityClass, "HideStatusBar", "()V");
         __jni->CallStaticVoidMethod(activityClass, hideSysUI);
         ::g::Android::Base::JNI::CheckException();
     }
 }
Ejemplo n.º 2
0
 void Application::SetRootView(ViewNativeHandle view)
 {
     jclass activityClass = JniHelper::GetActivityClass();
     WITH_STATIC_JAVA_METHOD(setAsRootView, activityClass, "SetAsRootView", "(Ljava/lang/Object;)V");
     __jni->CallStaticVoidMethod(activityClass, setAsRootView, view);
     ::g::Android::Base::JNI::CheckException();
 }
Ejemplo n.º 3
0
 bool Application::GetIsStatusBarVisible()
 {
     jclass activityClass = JniHelper::GetActivityClass();
     WITH_STATIC_JAVA_METHOD(getSysUIHeight, activityClass, "GetStatusBarHeight", "()F");
     float height = (float)__jni->CallStaticFloatMethod(activityClass, getSysUIHeight);
     ::g::Android::Base::JNI::CheckException();
     return height != 0.0;
 }
Ejemplo n.º 4
0
::g::Uno::Float2 AApplication::_GetRootDisplaySize()
{
    jclass cls = JniHelper::GetDisplayClass();
    WITH_STATIC_JAVA_METHOD(getRealDisplayWidth, cls, "GetRealDisplayWidth", "()I");
    WITH_STATIC_JAVA_METHOD_USEJNI(getRealDisplayHeight, cls, "GetRealDisplayHeight", "()I");
    float w = (int)__jni->CallStaticIntMethod(cls, getRealDisplayWidth);
    float h = (int)__jni->CallStaticIntMethod(cls, getRealDisplayHeight);
    return  ::g::Uno::Float2__New2(w, h);
}
Ejemplo n.º 5
0
    ::g::Uno::Rect Application::GetStatusBarFrame()
    {
        jclass activityClass = JniHelper::GetActivityClass();
        WITH_STATIC_JAVA_METHOD(getSysUIFrameHeight, activityClass, "GetStatusBarHeight", "()F");

        ::g::Uno::Float2 dispSize = AApplication::_GetRootDisplaySize();
        ::g::Uno::Float2 origin = ::g::Uno::Float2__New2(0, 0);

        float height = (float)__jni->CallStaticFloatMethod(activityClass, getSysUIFrameHeight);
        ::g::Android::Base::JNI::CheckException();
        ::g::Uno::Float2 size = ::g::Uno::Float2__New2(dispSize.X, height);
        return ::g::Uno::Rect__New2(origin, size);
    }
Ejemplo n.º 6
0
void GLHelper::CreateDummySurface()
{
    if (!_dummyNativeWindow)
    {
        GLHelper::MakeCurrent(GLHelper::_eglPBufferContext, GLHelper::_eglPBufferSurface);

        glGenTextures(1, &_dummyTexture);
        glBindTexture(GL_TEXTURE_2D, _dummyTexture);


        jclass activityClass = JniHelper::GetActivityClass();
        WITH_STATIC_JAVA_METHOD(createDummySurface, activityClass, "CreateDummySurface", "(I)Ljava/lang/Object;");
        jobject tmp = __jni->CallStaticObjectMethod(activityClass, createDummySurface, (jint)_dummyTexture);
        _dummyJavaSurface = __jni->NewGlobalRef(tmp);
        __jni->DeleteLocalRef(tmp);


        glBindTexture(GL_TEXTURE_2D, 0);

        _dummyNativeWindow = GLHelper::GetANativeWindowFromSurface(_dummyJavaSurface);
        CreateEGLSurfaceFromANativeWindow(_dummyNativeWindow, GLHelper::_eglRenderConfig, _eglDummySurface);
    }
}
Ejemplo n.º 7
0
 void Application::Quit()
 {
     jclass activityClass = JniHelper::GetActivityClass();
     WITH_STATIC_JAVA_METHOD(quitAct, activityClass, "TerminateNow", "()V");
     __jni->CallStaticVoidMethod(activityClass, quitAct);
 }
Ejemplo n.º 8
0
 void Application::EnterFullscreen()
 {
     jclass activityClass = JniHelper::GetActivityClass();
     WITH_STATIC_JAVA_METHOD(showSysUI, activityClass, "EnterFullscreen", "()V");
     __jni->CallStaticVoidMethod(activityClass, showSysUI);
 }