Esempio n. 1
0
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;
}
Esempio n. 2
0
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;
}
Esempio n. 3
0
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);
}
Esempio n. 5
0
/*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;
}
Esempio n. 6
0
/*----------------------------------------------------------------------------*/
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;
}
Esempio n. 7
0
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;
}