bool CardLevelUpLayer::init() { if (!Layer::init()) { return false; } initframe(); initcontent(); auto backlistener = EventListenerKeyboard::create(); backlistener->onKeyReleased = [](EventKeyboard::KeyCode keyCode, Event* event){ switch(keyCode) { //监听返回键 case EventKeyboard::KeyCode::KEY_ESCAPE: NotificationCenter::getInstance()->postNotification("ReturnToMain"); break; //监听menu键 case EventKeyboard::KeyCode::KEY_MENU: break; } }; _eventDispatcher->addEventListenerWithSceneGraphPriority(backlistener, this); return true; }
bool InstanceLayer::init() { if (!Layer::init()) { return false; } NotificationCenter::getInstance()->addObserver(this, callfuncO_selector(InstanceLayer::return_lineup), "ReturnLineup", NULL); initframe(); auto backlistener = EventListenerKeyboard::create(); backlistener->onKeyReleased = [](EventKeyboard::KeyCode keyCode, Event* event){ switch(keyCode) { //监听返回键 case EventKeyboard::KeyCode::KEY_ESCAPE: Director::getInstance()->popScene(); break; //监听menu键 case EventKeyboard::KeyCode::KEY_MENU: break; } }; _eventDispatcher->addEventListenerWithSceneGraphPriority(backlistener, this); return true; }
int benchmark (void) { initeccsize(1, size); memcpy(strinbuf, encode, size); initframe(); qrencode(); freeframe(); freeecc(); return 0; }
void qrpng_internal (HV * options) { char * text; unsigned text_length; qr_t qr = {0}; qrpng_t qrpng = {0}; SV ** sv_ptr; qrpng_status_t qrpng_status; SV ** size_ptr; /* Get the text. This is assumed to exist. */ HASH_FETCH_PV (options, text); qr.input = text; qr.input_length = text_length; qr.level = 1; sv_ptr = hv_fetch (options, "level", strlen ("level"), 0); if (sv_ptr) { qr.level = SvUV (* sv_ptr); } if (qr.level < 1 || qr.level > 4) { croak ("Bad level %d; this is between 1 and 4", qr.level); } sv_ptr = hv_fetch (options, "version", strlen ("version"), 0); if (sv_ptr) { qr.version = SvUV (* sv_ptr); if (qr.version < 1 || qr.version > 40) { croak ("Bad version %d; this is between 1 and 40", qr.version); } initecc (& qr); } else { initeccsize (& qr); } initframe(& qr); qrencode (& qr); sv_ptr = hv_fetch (options, "quiet", strlen ("quiet"), 0); if (sv_ptr) { SV * quiet_sv; quiet_sv = * sv_ptr; qrpng.quietzone = SvUV (quiet_sv); } else { qrpng.quietzone = QUIETZONE; } sv_ptr = hv_fetch (options, "scale", strlen ("scale"), 0); if (sv_ptr) { SV * scale_sv; scale_sv = * sv_ptr; qrpng.scale = SvUV (scale_sv); } else { qrpng.scale = 3; } qrpng_status = qrpng_make_png (& qr, & qrpng); if (qrpng_status != qrpng_ok) { croak ("bad status %d from qrpng_make_png", qrpng_status); } sv_ptr = hv_fetch (options, "out_sv", strlen ("out_sv"), 0); if (sv_ptr) { /* Write it as a scalar. The code is copied out of Image::PNG::Libpng, but we don't depend on that. */ scalar_as_image_t si = {0}; png_set_write_fn (qrpng.png, & si, perl_png_scalar_write, 0 /* No flush function */); /* Write using our function. */ png_write_png (qrpng.png, qrpng.info, PNG_TRANSFORM_INVERT_MONO, NULL); /* Put the data into %options as $options{png_data}. */ (void) hv_store (options, "png_data", strlen ("png_data"), si.png_image, 0); } else { char * out; unsigned int out_length; HASH_FETCH_PV (options, out); qrpng.filename = out; qrpng_write (& qrpng); } size_ptr = hv_fetch (options, "size", strlen ("size"), 0); if (size_ptr) { // fprintf (stderr, "%s:%d: OK baby.\n", __FILE__, __LINE__); if (SvROK (* size_ptr) && SvTYPE (SvRV (* size_ptr)) < SVt_PVAV) { SV * sv = SvRV (* size_ptr); // fprintf (stderr, "%s:%d: OK baby.\n", __FILE__, __LINE__); sv_setuv (sv, (UV) qrpng.img_size); } } qrfree (& qr); qrpng_free (& qrpng); }
/*Read values from XML2 file 读取XML2文件*/ static int get_vmpm_from_xml2(char *filename) { xmlTextReaderPtr reader; xmlChar *name; int pc=-1,vc=-1,gc=-1,fc=-1; int ret=0; cls_st_frame cls_fr; cls_st_pmgroup cls_pmg; initframe(&cls_fr); initPmgroup(&cls_pmg); cls_fr.sd = _xpthis->sd; cls_pmg.sd = _xpthis->sd; reader = xmlNewTextReaderFilename(filename); if (reader != NULL) { ret = xmlTextReaderRead(reader); name = xmlTextReaderName(reader);/*获取reader的元素名称*/ if (name == NULL) name = xmlStrdup(BAD_CAST "--"); /*在这个例子中,我们需要确认文档是正确的类型。“DATA”是在这个示例中使用文档的根类型。*/ if (xmlStrcmp(name, (const xmlChar *) "DATA")) { fprintf(stderr,"document of the wrong type, root node != DATA"); xmlFree(name); xmlFreeTextReader(reader); return ret; } while (ret == 1) { process_XML2_Node(reader, &pc,&vc,&gc,&fc); _xpthis->sd->pm_total=pc+1; _xpthis->sd->vm_total=vc+1; _xpthis->sd->gr_total=gc+1; _xpthis->sd->fr_total=fc+1; ret = xmlTextReaderRead(reader); } xmlFreeTextReader(reader); if (ret != 0) { printf("%s : failed to parse\n", filename); } } else printf("Unable to open %s\n", filename); /*更新共享数据*/ _xpthis->sd->pm_total=pc+1; _xpthis->sd->vm_total=vc+1; _xpthis->sd->gr_total=gc+1; _xpthis->sd->fr_total=fc+1; cls_fr.get_frame_pmids(); cls_pmg.get_group_pmids(); return ret; }
/*----------------------------------------------------------------------------*/ int main(int argc, char* argv[]) { int loop, test = 0, error = 0, command = COMMAND_NONE; int gray = 0, view = 1, help = 0; char *psave = 0x0, *pname = 0x0, *pdata = 0x0; my1Image currimage, tempimage, *pimage; my1IFrame currframe, tempframe; /* print tool info */ printf("\n%s - %s (%s)\n",MY1APP_PROGNAME,MY1APP_PROGINFO,MY1APP_PROGVERS); printf(" => by [email protected]\n\n"); /* check program arguments */ if(argc>1) { for(loop=1;loop<argc;loop++) { if(argv[loop][0]=='-') /* options! */ { if(!strcmp(argv[loop],"--save")) { loop++; if(loop<argc) psave = argv[loop]; else printf("Cannot get save file name - NOT saving!\n"); } else if(!strcmp(argv[loop],"--cdata")) { loop++; if(loop<argc) pdata = argv[loop]; else printf("Cannot get C data file name - NOT writing!\n"); } else if(!strcmp(argv[loop],"--gray")) { gray = 1; } else if(!strcmp(argv[loop],"--hide")) { view = 0; } else if(!strcmp(argv[loop],"--help")) { help = 1; } else { printf("Unknown option '%s'!\n",argv[loop]); } } else /* not an option? */ { /* first non-option must be file name! */ if(!pname) { pname = argv[loop]; continue; } /* then check for command! */ if(!strcmp(argv[loop],"laplace1")) { command = COMMAND_LAPLACE1; gray = 1; } else if(!strcmp(argv[loop],"sobelx")) { command = COMMAND_SOBELX; gray = 1; } else if(!strcmp(argv[loop],"sobely")) { command = COMMAND_SOBELY; gray = 1; } else if(!strcmp(argv[loop],"sobelall")) { command = COMMAND_SOBELALL; gray = 1; } else if(!strcmp(argv[loop],"laplace2")) { command = COMMAND_LAPLACE2; gray = 1; } else if(!strcmp(argv[loop],"gauss")) { command = COMMAND_GAUSS; gray = 1; } else { printf("Unknown parameter %s!\n",argv[loop]); continue; } /* warn if overriding previous command! */ if(command) { printf("Warning! Command '%s' overrides '%s'!\n", argv[loop],argv[test]); } test = loop; } } } /* check if user requested help */ if(help) { about(); return 0; } /** check input filename */ if(!pname) { printf("No filename given! Aborting!\n"); return ERROR_GENERAL; } /* initialize image & frame*/ initimage(&currimage); initimage(&tempimage); initframe(&currframe); initframe(&tempframe); /* try to open file */ if((error=load_image(&currimage,pname))<0) { return error; } /* display basic info */ printf("Input image: %s\n",pname); print_image_info(&currimage); /* convert grayscale if requested/required */ if(gray) grayscale_image(&currimage); /* process command */ switch(command) { case COMMAND_LAPLACE1: { createimage(&tempimage,currimage.height,currimage.width); laplace_image(&currimage,&tempimage); break; } case COMMAND_SOBELX: { createimage(&tempimage,currimage.height,currimage.width); sobel_x_image(&currimage,&tempimage); break; } case COMMAND_SOBELY: { createimage(&tempimage,currimage.height,currimage.width); sobel_y_image(&currimage,&tempimage); break; } case COMMAND_SOBELALL: { createimage(&tempimage,currimage.height,currimage.width); sobel_image(&currimage,&tempimage,0x0); break; } case COMMAND_LAPLACE2: { createimage(&tempimage,currimage.height,currimage.width); createframe(&currframe,currimage.height,currimage.width); createframe(&tempframe,currimage.height,currimage.width); image2frame(&currimage,&currframe,0); laplace_frame(&currframe,&tempframe); frame2image(&tempframe,&tempimage,1); break; } case COMMAND_GAUSS: { createimage(&tempimage,currimage.height,currimage.width); createframe(&currframe,currimage.height,currimage.width); createframe(&tempframe,currimage.height,currimage.width); image2frame(&currimage,&currframe,0); gauss_frame(&currframe,&tempframe,1.0,0x0); frame2image(&tempframe,&tempimage,1); break; } } if(!tempimage.length) pimage = &currimage; else pimage = &tempimage; printf("Check image:\n"); print_image_info(pimage); /** save results if requested */ if(psave) { printf("Saving image data to %s...\n",psave); error=save_image(pimage,psave); view = 0; } if(pdata) { printf("Saving C data to %s...\n",pdata); error=cdata_image(pimage,pdata); } /* view image if no request to hide! .. and NOT saving! */ if(view) view_image(pimage); /* cleanup */ freeframe(&currframe); freeframe(&tempframe); freeimage(&currimage); freeimage(&tempimage); return error; }
int main(int argc, char *argv[]) { unsigned char x, y, v = 0, l = 1; char *c; unsigned width, height, j, k; int argp = 0; if( argc < 2 ) { printf( "Usage:\n\nqrjpeg [-v VERS_1_40] [-l ECCLVL_1_4] \"text to encode\" >output.jpg\n" ); printf( "version defaults to auto, same as \"-v 0\"\necc level defaults to 1\n" ); return 1; } c = "Test Message"; while( ++argp < argc ) { if( argv[argp][0] == '-' ) { if( argv[argp][1] == 'v' ) v = atoi( argv[++argp]); else if( argv[argp][1] == 'l' ) l = atoi( argv[++argp]); else { printf( "Usage:\n\nqrjpeg [-v VERS_1_40] [-l ECCLVL_1_4] \"text to encode\" >output.jpg\n" ); printf( "version defaults to auto, same as \"-v 0\"\necc level defaults to 1\n" ); return 1; } } else c = argv[argp]; } if( v > 40 ) { fprintf( stderr, "Bad version (size) parameter (should be 0 (auto) to 40)\n" ); return -1; } if( l < 1 || l > 4 ) { fprintf( stderr, "Bad ECC level parameter (should be 1 to 4)\n" ); return -1; } if( v ) k = initecc(l, v); else k = initeccsize( l, strlen(c)); initframe(); strcpy((char *)strinbuf, c ); qrencode(); width = height = WD+8; // set height and width in header jpeg0[0x5e] = width >> 5; jpeg0[0x5f] = width << 3; jpeg0[0x60] = width >> 5; jpeg0[0x61] = width << 3; // write out header fwrite(jpeg0, 1, sizeof(jpeg0), stdout); // put half full scale, 3e for white, 40 for black putchar(0x40); for (j = 0; j < width * 4 + 3; j++) putchar(0x80); for (y = 0; y < WD; y++) { k = 0; for (x = 0; x < WD; x++) { j = QRBIT(x, y); if (k == j) { putchar(0x80); // code for no change continue; } putchar(j ? 0 : 0x7e); // full scale flip k = j; } if (k != 0) putchar(0x7e); else putchar(0x80); for (j = 0; j < 7; j++) putchar(0x80); } for (j = 0; j < width * 4 - 4; j++) putchar(0x80); putchar(0x80); // one last for EOF putchar(0xFF); // end marker putchar(0xd9); return 0; }