- Move imagesoft to templates.
[reactos.git] / rosapps / templates / imagesoft / opensave.c
diff --git a/rosapps/templates/imagesoft/opensave.c b/rosapps/templates/imagesoft/opensave.c
new file mode 100644 (file)
index 0000000..9fccbb8
--- /dev/null
@@ -0,0 +1,87 @@
+#include <precomp.h>
+
+static OPENFILENAME ofn;
+
+/*
+ * Initialize file open / save structure
+ */
+VOID FileInitialize(HWND hwnd)
+{
+    ZeroMemory(&ofn, sizeof(ofn));
+    ofn.lStructSize   = sizeof(OPENFILENAME);
+    ofn.hwndOwner     = hwnd;
+    ofn.nMaxFile      = MAX_PATH;
+    ofn.nMaxFileTitle = MAX_PATH;
+    ofn.lpstrDefExt   = _T("bmp");
+}
+
+
+static BOOL
+DoWriteFile(LPCTSTR pszFileName)
+{
+    return TRUE;
+}
+
+
+BOOL
+DoOpenFile(HWND hwnd,
+           LPTSTR szFileName,
+           LPTSTR szTitleName)
+{
+    DWORD err;
+    /*static TCHAR Filter[] = _T("All image files (*.gif,*.bmp,*.jpg,*.jpeg,*.tif,*.png)\0*.gif,*.bmp,*.jpg,*.jpeg,*.tif,*.png\0") \
+                            _T("All files (*.*)\0*.*\0") \
+                            _T("Graphics Interchange format (*gif)\0*.gif\0") \
+                            _T("Windows Bitmap (*bmp)\0*.bmp\0") \
+                            _T("JPEG File Interchange Format (*jpg,*.jpeg)\0*.jpg,*.jpeg\0") \
+                            _T("TAG Image File Format (*tif)\0*.tif\0") \
+                            _T("Portable Network Graphics (*png)\0*.png\0\0");*/
+
+    static TCHAR Filter[] = _T("Windows Bitmap (*.bmp)\0*.bmp\0");
+
+    ofn.lpstrFilter = Filter;
+    ofn.lpstrFile = szFileName;
+    ofn.lpstrFileTitle = szTitleName;
+    ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
+
+    if (GetOpenFileName(&ofn))
+    {
+        return TRUE;
+    }
+
+    err = CommDlgExtendedError();
+
+    if (err != CDERR_GENERALCODES)
+        MessageBox(NULL, _T("Open file failed"), NULL, 0);
+
+    return FALSE;
+}
+
+
+
+BOOL
+DoSaveFile(HWND hwnd)
+{
+    TCHAR szFileName[MAX_PATH] = _T("");
+    static TCHAR Filter[] = _T("Graphics Interchange format (*gif)\0*.gif\0") \
+                            _T("Windows Bitmap (*bmp)\0*.bmp\0") \
+                            _T("JPEG File Interchange Format (*jpg,*.jpeg)\0*.jpg,*.jpeg\0") \
+                            _T("TAG Image File Format (*tif)\0*.tif\0") \
+                            _T("Portable Network Graphics (*png)\0*.png\0\0");
+
+    ofn.lpstrFilter = Filter;
+    ofn.lpstrFile = szFileName;
+    ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
+
+    if (GetSaveFileName(&ofn))
+    {
+        if (DoWriteFile(szFileName))
+            return TRUE;
+    }
+
+    if (CommDlgExtendedError() != CDERR_GENERALCODES)
+        MessageBox(NULL, _T("Save to file failed"), NULL, 0);
+
+    return FALSE;
+}
+