mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 09:25:10 +00:00

It has a MDI user interface, imports binary fonts (.bin) and PC Screen Fonts (.psf) and exports .bin fonts. Compiles without any warnings with GCC and MSVC (at /W3). The "misc.c" file was taken from devmgmt (thanks Ged!) and modified. The used bitmaps and icons were all done myself, but partly consist of characters of the cp737 font we have in media/vgafont. svn path=/trunk/; revision=32079
77 lines
1.6 KiB
C
77 lines
1.6 KiB
C
/*
|
|
* PROJECT: ReactOS VGA Font Editor
|
|
* LICENSE: GNU General Public License Version 2.0 or any later version
|
|
* FILE: devutils/vgafontedit/opensave.c
|
|
* PURPOSE: Functions for opening and saving files
|
|
* COPYRIGHT: Copyright 2008 Colin Finck <mail@colinfinck.de>
|
|
*/
|
|
|
|
#include "precomp.h"
|
|
|
|
static OPENFILENAMEW ofn;
|
|
|
|
VOID
|
|
FileInitialize(IN HWND hwnd)
|
|
{
|
|
ZeroMemory( &ofn, sizeof(ofn) );
|
|
ofn.lStructSize = sizeof(ofn);
|
|
ofn.hwndOwner = hwnd;
|
|
ofn.nMaxFile = MAX_PATH;
|
|
ofn.lpstrDefExt = L"bin";
|
|
}
|
|
|
|
static __inline VOID
|
|
PrepareFilter(IN PWSTR pszFilter)
|
|
{
|
|
// RC strings can't be double-null terminated, so we use | instead to separate the entries.
|
|
// Convert them back to null characters here.
|
|
do
|
|
{
|
|
if(*pszFilter == '|')
|
|
*pszFilter = 0;
|
|
}
|
|
while(*++pszFilter);
|
|
}
|
|
|
|
BOOL
|
|
DoOpenFile(OUT PWSTR pszFileName)
|
|
{
|
|
BOOL bRet;
|
|
PWSTR pszFilter;
|
|
|
|
if( AllocAndLoadString(&pszFilter, IDS_OPENFILTER) )
|
|
{
|
|
PrepareFilter(pszFilter);
|
|
ofn.lpstrFilter = pszFilter;
|
|
ofn.lpstrFile = pszFileName;
|
|
ofn.Flags = OFN_FILEMUSTEXIST;
|
|
|
|
bRet = GetOpenFileNameW(&ofn);
|
|
HeapFree(hProcessHeap, 0, pszFilter);
|
|
|
|
return bRet;
|
|
}
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
BOOL
|
|
DoSaveFile(IN OUT PWSTR pszFileName)
|
|
{
|
|
BOOL bRet;
|
|
PWSTR pszFilter;
|
|
|
|
if( AllocAndLoadString(&pszFilter, IDS_SAVEFILTER) )
|
|
{
|
|
PrepareFilter(pszFilter);
|
|
ofn.lpstrFilter = pszFilter;
|
|
ofn.lpstrFile = pszFileName;
|
|
|
|
bRet = GetSaveFileNameW(&ofn);
|
|
HeapFree(hProcessHeap, 0, pszFilter);
|
|
|
|
return bRet;
|
|
}
|
|
|
|
return FALSE;
|
|
}
|