本文整理汇总了C++中ANPLogInterfaceV0::log方法的典型用法代码示例。如果您正苦于以下问题:C++ ANPLogInterfaceV0::log方法的具体用法?C++ ANPLogInterfaceV0::log怎么用?C++ ANPLogInterfaceV0::log使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ANPLogInterfaceV0
的用法示例。
在下文中一共展示了ANPLogInterfaceV0::log方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleEvent
int16_t VideoPlugin::handleEvent(const ANPEvent* evt) {
switch (evt->eventType) {
case kLifecycle_ANPEventType: {
switch (evt->data.lifecycle.action) {
case kEnterFullScreen_ANPLifecycleAction:
gLogI.log(kDebug_ANPLogType, " ---- %p entering fullscreen", inst());
break;
case kExitFullScreen_ANPLifecycleAction:
gLogI.log(kDebug_ANPLogType, " ---- %p exiting fullscreen", inst());
break;
}
break; // end kLifecycle_ANPEventType
}
case kDraw_ANPEventType:
gLogI.log(kError_ANPLogType, " ------ %p the plugin did not request draw events", inst());
break;
case kTouch_ANPEventType:
if (kDown_ANPTouchAction == evt->data.touch.action) {
gLogI.log(kDebug_ANPLogType, " ------ %p requesting fullscreen mode", inst());
gWindowI.requestFullScreen(inst());
}
return 1;
case kKey_ANPEventType:
gLogI.log(kError_ANPLogType, " ------ %p the plugin did not request key events", inst());
break;
default:
break;
}
return 0; // unknown or unhandled event
}
示例2: test_loadJavaClass
void BackgroundPlugin::test_loadJavaClass() {
JNIEnv* env = NULL;
if (gVM->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK) {
gLogI.log(kError_ANPLogType, " ---- LoadJavaTest: failed to get env");
return;
}
const char* className = "com.android.sampleplugin.BackgroundTest";
jclass backgroundClass = gSystemI.loadJavaClass(inst(), className);
if(!backgroundClass) {
gLogI.log(kError_ANPLogType, " ---- LoadJavaTest: failed to load class");
return;
}
jmethodID constructor = env->GetMethodID(backgroundClass, "<init>", "()V");
jmethodID addMethod = env->GetMethodID(backgroundClass, "addInt", "(II)I");
jobject backgroundObject = env->NewObject(backgroundClass, constructor);
if(!backgroundObject) {
gLogI.log(kError_ANPLogType, " ---- LoadJavaTest: failed to construct object");
return;
}
jint result = env->CallIntMethod(backgroundObject, addMethod, 2, 2);
if (result != 4) {
gLogI.log(kError_ANPLogType, " ---- LoadJavaTest: invalid result (%d != 4)", result);
}
}
示例3: test_formats
static void test_formats(NPP instance) {
// TODO pull names from enum in npapi instead of hardcoding them
static const struct {
ANPBitmapFormat fFormat;
const char* fName;
} gRecs[] = {
{ kUnknown_ANPBitmapFormat, "unknown" },
{ kRGBA_8888_ANPBitmapFormat, "8888" },
{ kRGB_565_ANPBitmapFormat, "565" },
};
ANPPixelPacking packing;
for (size_t i = 0; i < ARRAY_COUNT(gRecs); i++) {
if (gBitmapI.getPixelPacking(gRecs[i].fFormat, &packing)) {
gLogI.log(kDebug_ANPLogType,
"pixel format [%d] %s has packing ARGB [%d %d] [%d %d] [%d %d] [%d %d]\n",
gRecs[i].fFormat, gRecs[i].fName,
packing.AShift, packing.ABits,
packing.RShift, packing.RBits,
packing.GShift, packing.GBits,
packing.BShift, packing.BBits);
} else {
gLogI.log(kDebug_ANPLogType,
"pixel format [%d] %s has no packing\n",
gRecs[i].fFormat, gRecs[i].fName);
}
}
}
示例4: handleEvent
int16_t BackgroundPlugin::handleEvent(const ANPEvent* evt) {
switch (evt->eventType) {
case kDraw_ANPEventType:
gLogI.log(kError_ANPLogType, " ------ %p the plugin did not request draw events", inst());
break;
case kLifecycle_ANPEventType:
switch (evt->data.lifecycle.action) {
case kOnLoad_ANPLifecycleAction:
gLogI.log(kDebug_ANPLogType, " ------ %p onLoad", inst());
return 1;
case kOnScreen_ANPLifecycleAction:
gLogI.log(kDebug_ANPLogType, " ------ %p onScreen", inst());
return 1;
case kOffScreen_ANPLifecycleAction:
gLogI.log(kDebug_ANPLogType, " ------ %p offScreen", inst());
return 1;
}
break; // end kLifecycle_ANPEventType
case kTouch_ANPEventType:
if (kLongPress_ANPTouchAction == evt->data.touch.action) {
browser->geturl(inst(), "javascript:alert('Detected long press event.')", 0);
gWindowI.requestFullScreen(inst());
}
else if (kDoubleTap_ANPTouchAction == evt->data.touch.action)
browser->geturl(inst(), "javascript:alert('Detected double tap event.')", 0);
break;
case kKey_ANPEventType:
gLogI.log(kError_ANPLogType, " ------ %p the plugin did not request key events", inst());
break;
default:
break;
}
return 0; // unknown or unhandled event
}
示例5: getSurface
jobject BackgroundPlugin::getSurface() {
if (m_surface) {
return m_surface;
}
// load the appropriate java class and instantiate it
JNIEnv* env = NULL;
if (gVM->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK) {
gLogI.log(kError_ANPLogType, " ---- getSurface: failed to get env");
return NULL;
}
const char* className = "com.android.sampleplugin.BackgroundSurface";
jclass backgroundClass = gSystemI.loadJavaClass(inst(), className);
if(!backgroundClass) {
gLogI.log(kError_ANPLogType, " ---- getSurface: failed to load class");
return NULL;
}
jmethodID constructor = env->GetMethodID(backgroundClass, "<init>", "(Landroid/content/Context;)V");
jobject backgroundSurface = env->NewObject(backgroundClass, constructor, m_context);
if(!backgroundSurface) {
gLogI.log(kError_ANPLogType, " ---- getSurface: failed to construct object");
return NULL;
}
m_surface = env->NewGlobalRef(backgroundSurface);
return m_surface;
}
示例6: getSurface
jobject PaintPlugin::getSurface() {
if (m_surface) {
return m_surface;
}
// load the appropriate java class and instantiate it
JNIEnv* env = NULL;
if (gVM->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK) {
gLogI.log(kError_ANPLogType, " ---- getSurface: failed to get env");
return NULL;
}
const char* className = "com.android.sampleplugin.PaintSurface";
jclass paintClass = gSystemI.loadJavaClass(inst(), className);
if(!paintClass) {
gLogI.log(kError_ANPLogType, " ---- getSurface: failed to load class");
return NULL;
}
PluginObject *obj = (PluginObject*) inst()->pdata;
const int pW = obj->window->width;
const int pH = obj->window->height;
jmethodID constructor = env->GetMethodID(paintClass, "<init>", "(Landroid/content/Context;III)V");
jobject paintSurface = env->NewObject(paintClass, constructor, m_context, (int)inst(), pW, pH);
if(!paintSurface) {
gLogI.log(kError_ANPLogType, " ---- getSurface: failed to construct object");
return NULL;
}
m_surface = env->NewGlobalRef(paintSurface);
return m_surface;
}
示例7: test_javascript
void BackgroundPlugin::test_javascript() {
NPP instance = this->inst();
gLogI.log(kDebug_ANPLogType, " ------ %p Testing JavaScript Access", instance);
// Get the plugin's DOM object
NPObject* windowObject = NULL;
browser->getvalue(instance, NPNVWindowNPObject, &windowObject);
if (!windowObject)
gLogI.log(kError_ANPLogType, " ------ %p Unable to retrieve DOM Window", instance);
// create a string (JS code) that is stored in memory allocated by the browser
const char* jsString = "1200 + 34";
void* stringMem = browser->memalloc(strlen(jsString));
memcpy(stringMem, jsString, strlen(jsString));
// execute the javascript in the plugin's DOM object
NPString script = { (char*)stringMem, strlen(jsString) };
NPVariant scriptVariant;
if (!browser->evaluate(instance, windowObject, &script, &scriptVariant))
gLogI.log(kError_ANPLogType, " ------ %p Unable to eval the JS.", instance);
if (scriptVariant.type == NPVariantType_Int32) {
if (scriptVariant.value.intValue != 1234)
gLogI.log(kError_ANPLogType, " ------ %p Invalid Value for JS Return: %d,1234", instance, scriptVariant.value.intValue);
} else {
gLogI.log(kError_ANPLogType, " ------ %p Invalid Variant type for JS Return: %d,%d", instance, scriptVariant.type, NPVariantType_Int32);
}
// free the memory allocated within the browser
browser->memfree(stringMem);
}
示例8: test_logging
void BackgroundPlugin::test_logging() {
NPP instance = this->inst();
//LOG_ERROR(instance, " ------ %p Testing Log Error", instance);
gLogI.log(kError_ANPLogType, " ------ %p Testing Log Error", instance);
gLogI.log(kWarning_ANPLogType, " ------ %p Testing Log Warning", instance);
gLogI.log(kDebug_ANPLogType, " ------ %p Testing Log Debug", instance);
}
示例9: surfaceDestroyed
static void surfaceDestroyed(JNIEnv* jniEnv, jobject thiz, jint npp)
{
// give up all handles to the VM and any VM objects!
NPP instance = (NPP)npp;
if(!instance)
return;
gLogI.log(instance, kDebug_ANPLogType, "jni-bridge surfaceDestroyed() instance=%p ...",instance);
/*
SurfaceSubPlugin* obj = getPluginObject(npp);
if(obj)
obj->surfaceDestroyed(); // call PaintPlugin.cpp surfaceDestroyed()
*/
if(instance->pdata!=NULL)
{
PluginObject* plugin = static_cast<PluginObject*>(instance->pdata);
gLogI.log(instance, kDebug_ANPLogType, "jni-bridge surfaceDestroyed() plugin=%p",plugin);
/*
if(plugin)
{
if((int)plugin<0x10000)
{
gLogI.log(instance, kDebug_ANPLogType, "jni-bridge surfaceDestroyed() plugin<0x10000 ############################################");
return;
}
gLogI.log(instance, kDebug_ANPLogType, "jni-bridge surfaceDestroyed() plugin->dexLoaderClass=%p",plugin->dexLoaderClass);
// call applet stop() via DexLoader.callstop()
if(plugin->dexLoaderClass && !needDexInit)
{
const char* stopMethodName = "callStop";
gLogI.log(instance, kDebug_ANPLogType, "jni-bridge surfaceDestroyed() GetStaticMethodID(%s)...",stopMethodName);
jmethodID stopMethod = jniEnv->GetStaticMethodID(plugin->dexLoaderClass, stopMethodName, "()V");
if(stopMethod == NULL)
{
gLogI.log(instance, kError_ANPLogType, "jni-bridge surfaceCreated() JavaVM unable to find %s() via dexLoaderClass ################################################", stopMethodName);
}
else
{
jniEnv->CallStaticVoidMethod(plugin->dexLoaderClass, stopMethod, NULL);
}
}
}
*/
}
needDexInit=true;
gLogI.log(instance, kDebug_ANPLogType, "jni-bridge surfaceDestroyed done");
}
示例10: drawPlugin
void BackgroundPlugin::drawPlugin(int surfaceWidth, int surfaceHeight) {
// get the plugin's dimensions according to the DOM
PluginObject *obj = (PluginObject*) inst()->pdata;
const int W = obj->window->width;
const int H = obj->window->height;
// compute the current zoom level
const float zoomFactorW = static_cast<float>(surfaceWidth) / W;
const float zoomFactorH = static_cast<float>(surfaceHeight) / H;
// check to make sure the zoom level is uniform
if (zoomFactorW + .01 < zoomFactorH && zoomFactorW - .01 > zoomFactorH)
gLogI.log(kError_ANPLogType, " ------ %p zoom is out of sync (%f,%f)",
inst(), zoomFactorW, zoomFactorH);
// scale the variables based on the zoom level
const int fontSize = (int)(zoomFactorW * 16);
const int leftMargin = (int)(zoomFactorW * 10);
// lock the surface
ANPBitmap bitmap;
JNIEnv* env = NULL;
if (!m_surface || gVM->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK ||
!gSurfaceI.lock(env, m_surface, &bitmap, NULL)) {
gLogI.log(kError_ANPLogType, " ------ %p unable to lock the plugin", inst());
return;
}
// create a canvas
ANPCanvas* canvas = gCanvasI.newCanvas(&bitmap);
gCanvasI.drawColor(canvas, 0xFFFFFFFF);
ANPPaint* paint = gPaintI.newPaint();
gPaintI.setFlags(paint, gPaintI.getFlags(paint) | kAntiAlias_ANPPaintFlag);
gPaintI.setColor(paint, 0xFFFF0000);
gPaintI.setTextSize(paint, fontSize);
ANPTypeface* tf = gTypefaceI.createFromName("serif", kItalic_ANPTypefaceStyle);
gPaintI.setTypeface(paint, tf);
gTypefaceI.unref(tf);
ANPFontMetrics fm;
gPaintI.getFontMetrics(paint, &fm);
gPaintI.setColor(paint, 0xFF0000FF);
const char c[] = "This is a background plugin.";
gCanvasI.drawText(canvas, c, sizeof(c)-1, leftMargin, -fm.fTop, paint);
// clean up variables and unlock the surface
gPaintI.deletePaint(paint);
gCanvasI.deleteCanvas(canvas);
gSurfaceI.unlock(env, m_surface);
}
示例11: handleTouch
void AudioPlugin::handleTouch(int x, int y) {
NPP instance = this->inst();
// if the track is null then return
if (NULL == m_soundPlay->track) {
gLogI.log(kError_ANPLogType, "---- %p unable to create track",
instance);
return;
}
// check to make sure the currentRect matches the activeRect
ANPRectF* currentRect = validTouch(x,y);
if (m_activeTouchRect != currentRect)
return;
if (currentRect == &m_playRect) {
gLogI.log(kDebug_ANPLogType, "---- %p starting track (%d)",
m_soundPlay->track, gSoundI.isStopped(m_soundPlay->track));
if (gSoundI.isStopped(m_soundPlay->track)) {
gSoundI.start(m_soundPlay->track);
}
}
else if (currentRect == &m_pauseRect) {
gLogI.log(kDebug_ANPLogType, "---- %p pausing track (%d)",
m_soundPlay->track, gSoundI.isStopped(m_soundPlay->track));
if (!gSoundI.isStopped(m_soundPlay->track)) {
gSoundI.pause(m_soundPlay->track);
}
}
else if (currentRect == &m_stopRect) {
gLogI.log(kDebug_ANPLogType, "---- %p stopping track (%d)",
m_soundPlay->track, gSoundI.isStopped(m_soundPlay->track));
if (!gSoundI.isStopped(m_soundPlay->track)) {
gSoundI.stop(m_soundPlay->track);
}
if (m_soundPlay->file) {
fseek(m_soundPlay->file, 0, SEEK_SET);
}
}
else {
gLogI.log(kDebug_ANPLogType, "---- touch x:%d, y:%d ", x, y);
return;
}
// set the currentRect to be the activeRect
m_activeRect = currentRect;
inval(instance);
}
示例12: handleNavigation
bool NavigationPlugin::handleNavigation(ANPKeyCode keyCode) {
NPP instance = this->inst();
gLogI.log(kDebug_ANPLogType, "----%p Received Key %d", instance, keyCode);
switch (keyCode) {
case kDpadUp_ANPKeyCode:
m_activeNav = &m_navUp;
break;
case kDpadDown_ANPKeyCode:
m_activeNav = &m_navDown;
break;
case kDpadLeft_ANPKeyCode:
m_activeNav = &m_navLeft;
break;
case kDpadRight_ANPKeyCode:
m_activeNav = &m_navRight;
break;
case kDpadCenter_ANPKeyCode:
m_activeNav = &m_navCenter;
break;
case kQ_ANPKeyCode:
case kDel_ANPKeyCode:
m_activeNav = NULL;
return false;
default:
m_activeNav = NULL;
break;
}
return true;
}
示例13: SurfaceSubPlugin
BackgroundPlugin::BackgroundPlugin(NPP inst) : SurfaceSubPlugin(inst) {
// initialize the drawing surface
m_surface = NULL;
//initialize bitmap transparency variables
mFinishedStageOne = false;
mFinishedStageTwo = false;
mFinishedStageThree = false;
// test basic plugin functionality
test_logging(); // android logging
test_timers(); // plugin timers
test_bitmaps(); // android bitmaps
test_domAccess();
test_javascript();
test_loadJavaClass();
//register for touch events
ANPEventFlags flags = kTouch_ANPEventFlag;
NPError err = browser->setvalue(inst, kAcceptEvents_ANPSetValue, &flags);
if (err != NPERR_NO_ERROR) {
gLogI.log(kError_ANPLogType, "Error selecting input events.");
}
}
示例14: NPP_GetValue
NPError NPP_GetValue(NPP instance, NPPVariable variable, void* value)
{
if (variable == NPPVpluginScriptableNPObject) {
void **v = (void **)value;
PluginObject *obj = (PluginObject*) instance->pdata;
if (obj)
browser->retainobject(&obj->header);
*v = &(obj->header);
return NPERR_NO_ERROR;
}
if (variable == kJavaSurface_ANPGetValue) {
//get the surface sub-plugin
PluginObject* obj = static_cast<PluginObject*>(instance->pdata);
if (obj && obj->activePlugin) {
if(obj->activePlugin->supportsDrawingModel(kSurface_ANPDrawingModel)
|| obj->activePlugin->supportsDrawingModel(kOpenGL_ANPDrawingModel)) {
SurfaceSubPlugin* plugin = static_cast<SurfaceSubPlugin*>(obj->activePlugin);
jobject* surface = static_cast<jobject*>(value);
*surface = plugin->getSurface();
return NPERR_NO_ERROR;
} else {
gLogI.log(kError_ANPLogType,
"-- %p Tried to retrieve surface for non-surface plugin",
instance);
}
}
}
return NPERR_GENERIC_ERROR;
}
示例15: handleNavigation
bool FormPlugin::handleNavigation(ANPKeyCode keyCode) {
NPP instance = this->inst();
gLogI.log(kDebug_ANPLogType, "----%p Recvd Nav Key %d", instance, keyCode);
if (!m_activeInput) {
gWindowI.showKeyboard(instance, true);
switchActiveInput(&m_usernameInput);
}
else if (m_activeInput == &m_usernameInput) {
if (keyCode == kDpadDown_ANPKeyCode) {
switchActiveInput(&m_passwordInput);
}
else if (keyCode == kDpadCenter_ANPKeyCode)
gWindowI.showKeyboard(instance, false);
else if (keyCode == kDpadUp_ANPKeyCode)
return false;
}
else if (m_activeInput == &m_passwordInput) {
if (keyCode == kDpadUp_ANPKeyCode) {
switchActiveInput(&m_usernameInput);
}
else if (keyCode == kDpadCenter_ANPKeyCode)
gWindowI.showKeyboard(instance, false);
else if (keyCode == kDpadDown_ANPKeyCode)
return false;
}
return true;
}