Daniel Collin 34a1ff2cc3 Merged latest from kusma/rocket
Also fixed compile errors due to synclib changes (just some double ->
float casting)
2013-01-09 09:42:22 +01:00

54 lines
1.5 KiB
C

#include <windows.h>
extern HWND s_window;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int Dialog_open(wchar_t* path, int pathSize)
{
OPENFILENAME ofn;
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.lpstrFile = path;
ofn.lpstrFile[0] = '\0';
ofn.nMaxFile = pathSize;
ofn.lpstrFilter = L"All\0*.*\0Rocket\0*.Rocket\0";
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
return GetOpenFileName(&ofn);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int Dialog_save(wchar_t* path, int pathSize)
{
OPENFILENAME dialog;
(void)pathSize;
ZeroMemory(&dialog, sizeof(dialog));
dialog.lStructSize = sizeof(dialog);
dialog.lpstrFilter = L"*All Files (*.*)\0*.*\0";
dialog.lpstrFile = path;
dialog.nMaxFile = MAX_PATH;
dialog.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
dialog.lpstrDefExt = L"rocket";
return GetSaveFileName(&dialog);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Dialog_showColorPicker(unsigned int* color)
{
CHOOSECOLOR cc;
ZeroMemory(&cc, sizeof(CHOOSECOLOR));
cc.lStructSize = sizeof(CHOOSECOLOR);
cc.rgbResult = *color;
cc.Flags = CC_FULLOPEN | CC_RGBINIT;
cc.hwndOwner = s_window;
if (ChooseColor(&cc))
*color = cc.rgbResult;
}