Esempio n. 1
0
extern  void    DoOutObjectName( cg_sym_handle sym,
                                void (*outputter)( char *, void * ),
                                void *data,
                                import_type kind ) {
/*******************************************************************/

    char        *dst;
    char        buffer[TS_MAX_OBJNAME + TRUNC_SYMBOL_HASH_LEN];
    unsigned    pref_len;

    dst = buffer;
    switch( kind ) {
    case SPECIAL:
        pref_len = (sizeof( SPEC_PREFIX )-1);
        dst = CopyStr( SPEC_PREFIX, dst );
        break;
    case DLLIMPORT:
        pref_len = (sizeof( DLLIMPORT_PREFIX )-1);
        dst = CopyStr( DLLIMPORT_PREFIX, dst );
        break;
    case PIC_RW:
        pref_len = (sizeof( PIC_RW_PREFIX )-1);
        dst = CopyStr( PIC_RW_PREFIX, dst );
        break;
    default:
        pref_len = 0;
    }
    GetExtName( sym, dst, TS_MAX_OBJNAME - 1 - pref_len );
    outputter( buffer, data );
}
Esempio n. 2
0
int LoadCanvasEx(const char* filename, OSD_LOGO_T* pVideoLogo, OSD_COLOR_FMT_E enFmt)
{
    char* ext = GetExtName((char*)filename);

    if(HI_NULL == ext)
    {
        printf("LoadCanvasEx error!\n");
        return -1;
    }
    
    if (strcmp(ext, "bmp") == 0)
    {
        if (0 != LoadBMPCanvas(filename, pVideoLogo, enFmt))
        {
            printf("OSD_LoadBMP error!\n");
            return -1;
        }
    }
    else
    {
        printf("not supported image file!\n");
        return -1;
    }

    return 0;
}
Esempio n. 3
0
//get the version information
CString CPath::GetFileVersionInfoString(LPCSTR verInfoString)
{
	if(GetExtName().MakeLower().Compare("exe"))
		return CString("Must be executable!");

	LPCSTR fileFullName = (LPCSTR)_strOriginalPath;
	char *rcData = 0; 
	DWORD dwSize;
	UINT wSize;
	LANGANDCODEPAGE *lpTranslate;
	
	LPTSTR fileName = (LPTSTR)fileFullName;
	
	//file name and path
	CFileStatus status;
	CString verInfo = "Unavailable";
	if( CFile::GetStatus(fileName, status ) )
	{
		//Version
		LPDWORD handle1 = 0;
		dwSize = ::GetFileVersionInfoSize(fileName, handle1);
		if (! dwSize)
			return verInfo;
		
		rcData = new char[dwSize];
		
		// get valid resource data using path, handle, and size
		int result = ::GetFileVersionInfo(fileName, 0, dwSize, (LPVOID)rcData);
		if (result)
		{
			result = ::VerQueryValue(rcData,TEXT("\\VarFileInfo\\Translation" ),
				(LPVOID*)&lpTranslate, &wSize);
			if (result == 0 || wSize == 0)
			{
				delete []rcData;
				return verInfo;
			}
		}
		// Read the file description for each language and code page.
		char SubBlock[100];
		LPVOID lpBuffer;
		for( unsigned i=0; i < (wSize/sizeof(struct LANGANDCODEPAGE)); i++ )
		{
			wsprintf( SubBlock, 
				TEXT("\\StringFileInfo\\%04x%04x\\%s"),
				lpTranslate[i].wLanguage,lpTranslate[i].wCodePage,verInfoString);
			
			result = VerQueryValue(rcData, SubBlock, (LPVOID*)&lpBuffer, &wSize);
			if (!result) 
				break;
			verInfo = (LPCSTR)lpBuffer;
			
		}
		delete []rcData;
	}
	
	return verInfo;
}
Esempio n. 4
0
CString CCommon::GetExtName(CString strPath)
{
	int pos = strPath.Find('.');
	if (pos == -1)
	{
		return strPath;
	}
	else
	{
		return GetExtName(strPath.Mid(pos + 1));
	}

}
Esempio n. 5
0
int LoadImage(const char *filename, OSD_LOGO_T *pVideoLogo)
{
    char * ext = GetExtName((char *)filename);

    if(strcmp(ext, "bmp") == 0)
    {
        if(0 != LoadBMP(filename, pVideoLogo))
        {
            printf("OSD_LoadBMP error!\n");
            return -1;
        }
    }
    else
    {
        printf("not supported image file!\n");
        return -1;
    }

    return 0;
}
Esempio n. 6
0
void CCommon::SCanDiskFile(const CString& strPath, vector<CString>& vec, CString strType)
{
	CFileFind find;
	CString strTemp = strPath;
	CString strDirectory = strPath + _T("\\*.*");
	CString strFile;
	BOOL IsFind = find.FindFile(strDirectory);
	while (IsFind)
	{
		IsFind = find.FindNextFile();

		if (find.IsDots())
		{
			continue;
		}
		else if (find.IsDirectory())
		{
			strFile = find.GetFileName();
			strTemp = strPath;
			strTemp = strTemp + _T("\\") + strFile;
			SCanDiskFile(strTemp, vec, strType);

		}
		else
		{
			// 			if (!findElement(m_vAllDict, strTemp))
			// 			{
			// 				m_vAllDict.push_back(strTemp);
			// 			}

			strFile = find.GetFilePath();
			CString ExternName = GetExtName(strFile);
			if (ExternName == strType)
			{
				vec.push_back(strFile);
			}
		}

	}
	find.Close();
}
Esempio n. 7
0
LOCAL void Convert_OnCommand(HWND hDlg, int id, HWND hControl, UINT codeNotify)
/************************************************************************/
{
BOOL Bool;

switch (id)
	{
	case IDC_MINITYPES:
// case IDC_MINI256:
// case IDC_MINI16:
// case IDC_MINI8:
// case IDC_MINICUSTOM:
	if ( !(id = HandleCombo( hDlg, id, codeNotify )) )
		break;
	Convert.MiniType = id;

	if (Convert.MiniType == IDC_MINI256)
		Convert.ConvertColors = 256;
	else
	if (Convert.MiniType == IDC_MINI16)
		Convert.ConvertColors = 16;
	else
	if (Convert.MiniType == IDC_MINI8)
		Convert.ConvertColors = 8;
	Convert_Enable(hDlg);
	break;

	case IDC_DITHERTYPES:
//	case IDC_DITHERPATTERN:
//	case IDC_DITHERSCATTERED:
//	case IDC_DITHERNONE:
	if ( !(id = HandleCombo( hDlg, id, codeNotify )) )
		break;
	if ( id == IDC_DITHERPATTERN )
		{
		Convert.fDither = YES;
		Convert.fScatter = NO;
		Convert.ConvertDitherType = DT_PATTERN;
		}
	else
	if ( id == IDC_DITHERSCATTERED )
		{
		Convert.fDither = NO;
		Convert.fScatter = YES;
		Convert.ConvertDitherType = DT_SCATTER;
		}
	else
		{
		Convert.fDither = NO;
		Convert.fScatter = NO;
		Convert.ConvertDitherType = DT_NONE;
		}
	break;

	case IDC_PALETTETYPES:
//	case IDC_PALETTEOPTIMIZED:
//	case IDC_PALETTESTANDARD:
//	case IDC_PALETTECUSTOM:
	if ( !(id = HandleCombo( hDlg, id, codeNotify )) )
		break;
	if (id == IDC_PALETTEOPTIMIZED)
		Convert.ConvertType = CT_OPTIMIZED;
	else
	if (id == IDC_PALETTESTANDARD)
		Convert.ConvertType = CT_STANDARD;
	else
		Convert.ConvertType = CT_CUSTOM;
	Convert.fOptimize = ( id == IDC_PALETTEOPTIMIZED );
	Convert_Enable(hDlg);
	break;

	case IDC_PALETTECOLORS:
	if ( GetFocus() != GetDlgItem( hDlg, id ) )
		break;
	if ( codeNotify != EN_CHANGE )
		break;
	Convert.ConvertColors = GetDlgItemSpin( hDlg, id, &Bool, NO );
	break;

	case IDC_EXTNAMES:
	GetExtName( hDlg, IDC_EXTNAMES, IDC_FILENAME,
		Convert.ConvertPalette, IDN_PALETTE, codeNotify );
	break;

	case IDC_EXTMANAGE:
	PopupMenu( hDlg, id, IDC_FILENAME );
	break;

	case IDC_ADDEXT:
	case IDC_DELETEEXT:
	case IDC_RENAMEEXT:
	ExtNameManager( hDlg, IDC_EXTNAMES, IDC_FILENAME, Convert.ConvertPalette,
		IDN_PALETTE, id, NO );
	break;

    case IDOK:
	// make sure we can open a colormap
	if (Convert.ConvertType == CT_CUSTOM)
		{
		FNAME szFileName;
		LPCOLORMAP lpColorMap;

		if ( !LookupExtFile( Convert.ConvertPalette, szFileName, IDN_PALETTE ) )
			break;
		if (!(lpColorMap = Palette_ReadColorMap(szFileName)))
			break;
		FrameDestroyColorMap(lpColorMap);
		}

	AstralDlgEnd( hDlg, TRUE );
	break;

    case IDCANCEL:
	AstralDlgEnd( hDlg, FALSE );
	break;

   default:
	break;
   }
}
Esempio n. 8
0
LOCAL void TextureFill_OnCommand(HWND hDlg, int id, HWND hControl, UINT codeNotify)
/************************************************************************/
{
int i;
BOOL Bool;
MERGE_MODE MergeMode;

switch (id)
	{
	case IDC_TEXTUREFILL:
	if ( !SaveToolPreferences( id ) )
		break;
	break;

	case IDC_TEXTUREFLIPX:
	Texture.fHorzFlip = !Texture.fHorzFlip;
	CheckDlgButton( hDlg, IDC_TEXTUREFLIPX, Texture.fHorzFlip);
	break;

	case IDC_TEXTUREFLIPY:
	Texture.fVertFlip = !Texture.fVertFlip;
	CheckDlgButton( hDlg, IDC_TEXTUREFLIPY, Texture.fVertFlip);
	break;

	case IDC_EXTNAMES:
	GetExtName( hDlg, IDC_EXTNAMES, IDC_FILENAME, Texture.TextureName,
		IDN_TEXTURE, codeNotify );
	break;

	case IDC_EXTMANAGE:
	PopupMenu( hDlg, id, IDC_FILENAME );
	break;

	case IDC_ADDEXT:
	case IDC_DELETEEXT:
	case IDC_RENAMEEXT:
	ExtNameManager( hDlg, IDC_EXTNAMES, IDC_FILENAME, Texture.TextureName,
		IDN_TEXTURE, id, NO );
	break;

	case IDC_MERGEMODE:
	if ((MergeMode = HandleMergeCombo( hDlg, id, FALSE, MM_NORMAL, codeNotify )) < 0)
		break;
	Texture.TextureMergeMode = MergeMode;
	SetCommonMergeMode(Texture.TextureMergeMode);
	break;

	case IDC_TRANSPARENT:
	if ( GetFocus() != GetDlgItem( hDlg, id ) )
		break;
	if ( codeNotify != EN_CHANGE )
		break;
	i = GetDlgItemSpin( hDlg, id, &Bool, NO );
	Texture.TextureOpacity = 255-TOGRAY(i);
	SetCommonOpacity(Texture.TextureOpacity);
	break;

   default:
	break;
   }
}