当前位置: 首页>>代码示例>>C++>>正文


C++ wyAAL::setEnv方法代码示例

本文整理汇总了C++中wyAAL::setEnv方法的典型用法代码示例。如果您正苦于以下问题:C++ wyAAL::setEnv方法的具体用法?C++ wyAAL::setEnv怎么用?C++ wyAAL::setEnv使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在wyAAL的用法示例。


在下文中一共展示了wyAAL::setEnv方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: setupAAL

void wyDirector_android::setupAAL() {
    JNIEnv* env = wyUtils::getJNIEnv();
    if(env != NULL) {
        // get package name
        jstring pkg = (jstring)env->CallObjectMethod(m_context, g_mid_Context_getPackageName);

        // build lib path
        const char* cPkg = env->GetStringUTFChars(pkg, NULL);

        // open android adapter layer so
        char buf[128];
        if(wyDevice::apiLevel > 15) {
            sprintf(buf, "/data/data/%s/lib/libaal_jellybean.so", cPkg);
        } else if(wyDevice::apiLevel > 10) {
            sprintf(buf, "/data/data/%s/lib/libaal_honeycomb.so", cPkg);
        } else {
            sprintf(buf, "/data/data/%s/lib/libaal.so", cPkg);
        }
        sAALHandler = dlopen(buf, RTLD_LAZY);

        // release pkg
        env->ReleaseStringUTFChars(pkg, cPkg);

        // if failed to open sal in app data folder, try find them in system lib
        if(!sAALHandler) {
            if(wyDevice::apiLevel > 15) {
                sprintf(buf, "/system/lib/libaal_jellybean.so");
            } else if(wyDevice::apiLevel > 10) {
                sprintf(buf, "/system/lib/libaal_honeycomb.so");
            } else {
                sprintf(buf, "/system/lib/libaal.so");
            }
            sAALHandler = dlopen(buf, RTLD_LAZY);
        }

        // check
        if (!sAALHandler) {
            LOGE("Cannot open android adapter layer");
            exit(1);
        }

        // find functions
        gAAL.scaleImage = (scaleImageFunc)dlsym(sAALHandler, "scaleImage");
        if(gAAL.scaleImage == NULL) {
            LOGE("Cannot load symbol 'scaleImage'");
            dlclose(sAALHandler);
            exit(1);
        }
        gAAL.scalePVR = (scalePVRFunc)dlsym(sAALHandler, "scalePVR");
        if(gAAL.scalePVR == NULL) {
            LOGE("Cannot load symbol 'scalePVR'");
            dlclose(sAALHandler);
            exit(1);
        }
        gAAL.calculateTextSizeWithFont = (calculateTextSizeWithFontFunc)dlsym(sAALHandler, "calculateTextSizeWithFont");
        if(gAAL.calculateTextSizeWithFont == NULL) {
            LOGE("Cannot load symbol 'calculateTextSizeWithFont'");
            dlclose(sAALHandler);
            exit(1);
        }
        gAAL.calculateTextSizeWithCustomFont = (calculateTextSizeWithCustomFontFunc)dlsym(sAALHandler, "calculateTextSizeWithCustomFont");
        if(gAAL.calculateTextSizeWithCustomFont == NULL) {
            LOGE("Cannot load symbol 'calculateTextSizeWithCustomFont'");
            dlclose(sAALHandler);
            exit(1);
        }
        gAAL.createLabelBitmapWithFont = (createLabelBitmapWithFontFunc)dlsym(sAALHandler, "createLabelBitmapWithFont");
        if(gAAL.createLabelBitmapWithFont == NULL) {
            LOGE("Cannot load symbol 'createLabelBitmapWithFont'");
            dlclose(sAALHandler);
            exit(1);
        }
        gAAL.createLabelBitmapWithCustomFont = (createLabelBitmapWithCustomFontFunc)dlsym(sAALHandler, "createLabelBitmapWithCustomFont");
        if(gAAL.createLabelBitmapWithCustomFont == NULL) {
            LOGE("Cannot load symbol 'createLabelBitmapWithCustomFont'");
            dlclose(sAALHandler);
            exit(1);
        }
        gAAL.deinit = (deinitFunc)dlsym(sAALHandler, "deinit");
        if(gAAL.deinit == NULL) {
            LOGE("Cannot load symbol 'deinit'");
            dlclose(sAALHandler);
            exit(1);
        }
        gAAL.setEnv = (setEnvFunc)dlsym(sAALHandler, "setEnv");
        if(gAAL.setEnv == NULL) {
            LOGE("Cannot load symbol 'setEnv'");
            dlclose(sAALHandler);
            exit(1);
        }
        gAAL.setContext = (setContextFunc)dlsym(sAALHandler, "setContext");
        if(gAAL.setContext == NULL) {
            LOGE("Cannot load symbol 'setContext'");
            dlclose(sAALHandler);
            exit(1);
        }
        gAAL.setDensity = (setDensityFunc)dlsym(sAALHandler, "setDensity");
        if(gAAL.setDensity == NULL) {
            LOGE("Cannot load symbol 'setDensity'");
            dlclose(sAALHandler);
//.........这里部分代码省略.........
开发者ID:nbolabs,项目名称:WiEngine,代码行数:101,代码来源:wyDirector_android.cpp


注:本文中的wyAAL::setEnv方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。