示例#1
0
/*
 *****************************************************************************
 * Function	: dump_control
 * Syntax	: void dump_control(const control_t *ctrl)
 * Input	:
 *	ctrl	- Control resource descriptor
 * Output	:
 * Description	:
 * Remarks	:
 *****************************************************************************
*/
static void dump_control(const control_t *ctrl)
{
	printf("Control {\n\tClass: %s\n", get_nameid_str(ctrl->ctlclass));
	printf("\tText: "); get_nameid_str(ctrl->title); printf("\n");
	printf("\tId: %d\n", ctrl->id);
	printf("\tx, y, w, h: %d, %d, %d, %d\n", ctrl->x, ctrl->y, ctrl->width, ctrl->height);
	if(ctrl->gotstyle)
	{
		assert(ctrl->style != NULL);
		assert(ctrl->style->and_mask == 0);
		printf("\tStyle: %08x\n", ctrl->style->or_mask);
	}
	if(ctrl->gotexstyle)
	{
		assert(ctrl->exstyle != NULL);
		assert(ctrl->exstyle->and_mask == 0);
		printf("\tExStyle: %08x\n", ctrl->exstyle->or_mask);
	}
	if(ctrl->gothelpid)
		printf("\tHelpid: %d\n", ctrl->helpid);
	if(ctrl->extra)
	{
		printf("\t");
		dump_raw_data(ctrl->extra);
	}
	printf("}\n");
}
示例#2
0
/*
 *****************************************************************************
 * Function	: dump_user
 * Syntax	: void dump_user(const user_t *usr)
 * Input	:
 *	usr	- User resource descriptor
 * Output	: nop
 * Description	:
 * Remarks	:
 *****************************************************************************
*/
static void dump_user(const user_t *usr)
{
	dump_memopt(usr->memopt);
	dump_lvc(&(usr->data->lvc));
	printf("Class %s\n", get_nameid_str(usr->type));
	dump_raw_data(usr->data);
}
示例#3
0
/*
 *****************************************************************************
 * Function	: dump_dialogex
 * Syntax	: void dump_dialogex(const dialogex_t *dlgex)
 * Input	:
 *	dlgex	- DialogEx resource descriptor
 * Output	:
 * Description	:
 * Remarks	:
 *****************************************************************************
*/
static void dump_dialogex(const dialogex_t *dlgex)
{
    const control_t *c = dlgex->controls;

    dump_memopt(dlgex->memopt);
    dump_lvc(&(dlgex->lvc));
    printf("x, y, w, h: %d, %d, %d, %d\n", dlgex->x, dlgex->y, dlgex->width, dlgex->height);
    if(dlgex->gotstyle)
    {
        assert(dlgex->style != NULL);
        assert(dlgex->style->and_mask == 0);
        printf("Style: %08lx\n", dlgex->style->or_mask);
    }
    if(dlgex->gotexstyle)
    {
        assert(dlgex->exstyle != NULL);
        assert(dlgex->exstyle->and_mask == 0);
        printf("ExStyle: %08lx\n", dlgex->exstyle->or_mask);
    }
    if(dlgex->gothelpid)
        printf("Helpid: %ld\n", dlgex->helpid);
    printf("Menu: %s\n", get_nameid_str(dlgex->menu));
    printf("Class: %s\n", get_nameid_str(dlgex->dlgclass));
    printf("Title: ");
    print_string(dlgex->title);
    printf("\n");
    printf("Font: ");
    if(!dlgex->font)
        printf("<none>\n");
    else
    {
        printf("%d, ", dlgex->font->size);
        print_string(dlgex->font->name);
        printf(", %d, %d\n", dlgex->font->weight, dlgex->font->italic);
    }
    while(c)
    {
        dump_control(c);
        c = c->next;
    }
}
示例#4
0
/*
 *****************************************************************************
 * Function	: dump_resources
 * Syntax	: void dump_resources(const resource_t *top)
 * Input	:
 *	top	- Top of the resource tree
 * Output	:
 *	nop
 * Description	: Dump the parsed resource-tree to stdout
 * Remarks	:
 *****************************************************************************
*/
void dump_resources(const resource_t *top)
{
	printf("Internal resource-tree dump:\n");
	while(top)
	{
		printf("Resource: %s\nId: %s\n",
		       get_typename(top),
		       get_nameid_str(top->name));
		switch(top->type)
		{
		case res_acc:
			dump_accelerator(top->res.acc);
			break;
		case res_bmp:
			dump_bitmap(top->res.bmp);
			break;
		case res_cur:
			dump_cursor(top->res.cur);
			break;
		case res_curg:
			dump_cursor_group(top->res.curg);
			break;
		case res_dlg:
			dump_dialog(top->res.dlg);
			break;
		case res_dlgex:
			dump_dialogex(top->res.dlgex);
			break;
		case res_fnt:
			dump_font(top->res.fnt);
			break;
		case res_icog:
			dump_icon_group(top->res.icog);
			break;
		case res_ico:
			dump_icon(top->res.ico);
			break;
		case res_men:
			dump_menu(top->res.men);
			break;
		case res_menex:
			dump_menuex(top->res.menex);
			break;
		case res_rdt:
			dump_rcdata(top->res.rdt);
			break;
		case res_stt:
			dump_stringtable(top->res.stt);
			break;
		case res_usr:
			dump_user(top->res.usr);
			break;
		case res_msg:
			dump_messagetable(top->res.msg);
			break;
		case res_ver:
			dump_versioninfo(top->res.ver);
			break;
		case res_dlginit:
			dump_dlginit(top->res.dlgi);
			break;
		case res_toolbar:
			dump_toolbar(top->res.tbt);
			break;
		case res_anicur:
		case res_aniico:
			dump_ani_curico(top->res.ani);
			break;
		default:
			printf("Report this: Unknown resource type parsed %08x\n", top->type);
		}
		printf("\n");
		top = top->next;
	}
}