static char *WREFindDLGInclude( WRInfo *info ) { WResTypeNode *tnode; WResResNode *rnode; WResLangNode *lnode; WResLangType lang; char *include; bool ok; include = NULL; ok = (info != NULL); if( ok ) { tnode = WRFindTypeNode( info->dir, (uint_16)(pointer_int)RT_RCDATA, NULL ); ok = (tnode != NULL); } if( ok ) { rnode = WRFindResNode( tnode, 0, "DLGINCLUDE" ); ok = (rnode != NULL); } if( ok ) { lang.lang = DEF_LANG; lang.sublang = DEF_SUBLANG; lnode = WRFindLangNodeFromLangType( rnode, &lang ); ok = (lnode != NULL); } if( ok ) { include = (char *)WRCopyResData( info, lnode ); } return( include ); }
WResResNode * WRAPI WRFindResNodeFromWResID( WResTypeNode *type, WResID *res ) { WResResNode *res_node; char *res_name; res_node = NULL; if( type != NULL && res != NULL ) { if( res->IsName ) { res_name = WResIDToStr( res ); if( res_name != NULL ) { res_node = WRFindResNode( type, 0, res_name ); MemFree( res_name ); } } else { res_node = WRFindResNode( type, res->ID.Num, NULL ); } } return( res_node ); }
bool WRAPI WRFindImageId( WRInfo *info, WResTypeNode **otnode, WResResNode **ornode, WResLangNode **lnode, uint_16 type, uint_16 id, WResLangType *ltype ) { WResTypeNode *tnode; WResResNode *rnode; WResLangType lang; bool ok; ok = (info != NULL && lnode != NULL && (type == RESOURCE2INT( RT_ICON ) || type == RESOURCE2INT( RT_CURSOR ))); if( ok ) { tnode = WRFindTypeNode( info->dir, type, NULL ); ok = (tnode != NULL); } if( ok ) { if( otnode != NULL ) { *otnode = tnode; } rnode = WRFindResNode( tnode, id, NULL ); ok = (rnode != NULL); } if( ok ) { if( ornode != NULL ) { *ornode = rnode; } if( ltype != NULL ) { lang = *ltype; } else { lang.lang = DEF_LANG; lang.sublang = DEF_SUBLANG; } *lnode = WRFindLangNodeFromLangType( rnode, &lang ); ok = (*lnode != NULL); } if( !ok ) { *lnode = NULL; } return( ok ); }