Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXhmikosR <xhmikosr@users.sourceforge.net>2010-09-25 21:52:43 +0400
committerXhmikosR <xhmikosr@users.sourceforge.net>2010-09-25 21:52:43 +0400
commit907cde437174371aac6741c1d435a0088d66f459 (patch)
treefb681c8f347c35cdc45dce267e953011aee3c486 /src/apps/SubResync
parentc74100804841151931464efda227d3bb35507e34 (diff)
legacy branch: converted lowercase files to mixedcase
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/branches/legacy@2634 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/apps/SubResync')
-rw-r--r--src/apps/SubResync/SubResync.cpp91
-rw-r--r--src/apps/SubResync/SubResync.h51
-rw-r--r--src/apps/SubResync/SubResync.rc349
-rw-r--r--src/apps/SubResync/SubResync.sln36
-rw-r--r--src/apps/SubResync/SubResync.vcproj256
-rw-r--r--src/apps/SubResync/SubResyncDlg.cpp159
-rw-r--r--src/apps/SubResync/SubResyncDlg.h99
-rw-r--r--src/apps/SubResync/res/SubResync.manifest33
-rw-r--r--src/apps/SubResync/res/SubResync.rc213
-rw-r--r--src/apps/SubResync/res/SubResync_2010.icobin0 -> 67777 bytes
-rw-r--r--src/apps/SubResync/res/bitmap1.bmpbin0 -> 742 bytes
-rw-r--r--src/apps/SubResync/res/bitmap2.bmpbin0 -> 378 bytes
-rw-r--r--src/apps/SubResync/res/subresync.icobin0 -> 21630 bytes
-rw-r--r--src/apps/SubResync/resource.h54
-rw-r--r--src/apps/SubResync/stdafx.cpp26
-rw-r--r--src/apps/SubResync/stdafx.h49
16 files changed, 1216 insertions, 0 deletions
diff --git a/src/apps/SubResync/SubResync.cpp b/src/apps/SubResync/SubResync.cpp
new file mode 100644
index 000000000..000484c28
--- /dev/null
+++ b/src/apps/SubResync/SubResync.cpp
@@ -0,0 +1,91 @@
+/*
+ * $Id$
+ *
+ * (C) 2003-2005 Gabest
+ *
+ * This file is part of subresync.
+ *
+ * Subresync is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Subresync is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "stdafx.h"
+#include "subresync.h"
+#include "subresyncDlg.h"
+
+// CSubresyncApp
+
+BEGIN_MESSAGE_MAP(CSubresyncApp, CWinApp)
+ ON_COMMAND(ID_HELP, CWinApp::OnHelp)
+END_MESSAGE_MAP()
+
+
+// CSubresyncApp construction
+
+CSubresyncApp::CSubresyncApp()
+{
+}
+
+
+// The one and only CSubresyncApp object
+
+CSubresyncApp theApp;
+
+
+// CSubresyncApp initialization
+
+BOOL CSubresyncApp::InitInstance()
+{
+ // InitCommonControls() is required on Windows XP if an application
+ // manifest specifies use of ComCtl32.dll version 6 or later to enable
+ // visual styles. Otherwise, any window creation will fail.
+ InitCommonControls();
+
+ CWinApp::InitInstance();
+
+ AfxEnableControlContainer();
+
+ SetRegistryKey(_T("Gabest"));
+
+ CoInitialize(NULL);
+
+ CCommandLineInfo cmdInfo;
+ ParseCommandLine(cmdInfo);
+
+ CSubresyncDlg dlg(cmdInfo.m_strFileName);
+ m_pMainWnd = &dlg;
+
+ INT_PTR nResponse = dlg.DoModal();
+ if (nResponse == IDOK)
+ {
+ // TODO: Place code here to handle when the dialog is
+ // dismissed with OK
+ }
+ else if (nResponse == IDCANCEL)
+ {
+ // TODO: Place code here to handle when the dialog is
+ // dismissed with Cancel
+ }
+
+ // Since the dialog has been closed, return FALSE so that we exit the
+ // application, rather than start the application's message pump.
+ return FALSE;
+}
+
+int CSubresyncApp::ExitInstance()
+{
+ CoUninitialize();
+
+ return CWinApp::ExitInstance();
+}
diff --git a/src/apps/SubResync/SubResync.h b/src/apps/SubResync/SubResync.h
new file mode 100644
index 000000000..a65478338
--- /dev/null
+++ b/src/apps/SubResync/SubResync.h
@@ -0,0 +1,51 @@
+/*
+ * $Id$
+ *
+ * (C) 2003-2005 Gabest
+ *
+ * This file is part of subresync.
+ *
+ * Subresync is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Subresync is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#ifndef __AFXWIN_H__
+#error include 'stdafx.h' before including this file for PCH
+#endif
+
+#include "resource.h" // main symbols
+
+
+// CsubresyncApp:
+// See subresync.cpp for the implementation of this class
+//
+
+class CSubresyncApp : public CWinApp
+{
+public:
+ CSubresyncApp();
+
+// Overrides
+public:
+ virtual BOOL InitInstance();
+ virtual int ExitInstance();
+
+// Implementation
+
+ DECLARE_MESSAGE_MAP()
+};
+
+extern CSubresyncApp theApp;
diff --git a/src/apps/SubResync/SubResync.rc b/src/apps/SubResync/SubResync.rc
new file mode 100644
index 000000000..24f4f1c7f
--- /dev/null
+++ b/src/apps/SubResync/SubResync.rc
@@ -0,0 +1,349 @@
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// Hungarian resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_HUN)
+#ifdef _WIN32
+LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
+#pragma code_page(1250)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
+ "#define _AFX_NO_OLE_RESOURCES\r\n"
+ "#define _AFX_NO_TRACKER_RESOURCES\r\n"
+ "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
+ "\r\n"
+ "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
+ "LANGUAGE 9, 1\r\n"
+ "#pragma code_page(1252)\r\n"
+ "#include ""res\\SubResync.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
+ "#include ""afxres.rc"" // Standard components\r\n"
+ "#endif\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+#endif // Hungarian resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+#ifdef _USEMFC2010ICON
+IDR_MAINFRAME ICON "res\\SubResync_2010.ico"
+#else
+IDR_MAINFRAME ICON "res\\SubResync.ico"
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO
+BEGIN
+ IDD_ABOUTBOX, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 198
+ VERTGUIDE, 14
+ VERTGUIDE, 190
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 122
+ END
+
+ IDD_ASKCHARDLG, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 115
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 92
+ END
+
+ IDD_OPENTMPLT, DIALOG
+ BEGIN
+ LEFTMARGIN, 5
+ RIGHTMARGIN, 285
+ VERTGUIDE, 54
+ TOPMARGIN, 1
+ BOTTOMMARGIN, 33
+ HORZGUIDE, 7
+ END
+
+ IDD_SAVEASTMPLT, DIALOG
+ BEGIN
+ LEFTMARGIN, 5
+ RIGHTMARGIN, 271
+ TOPMARGIN, 2
+ BOTTOMMARGIN, 63
+ END
+
+ IDD_SUBRESYNC_DIALOG, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 334
+ VERTGUIDE, 13
+ VERTGUIDE, 68
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 190
+ END
+END
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Bitmap
+//
+
+IDB_BITMAP1 BITMAP "res\\bitmap1.bmp"
+IDB_BITMAP2 BITMAP "res\\bitmap2.bmp"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_ABOUTBOX DIALOGEX 0, 0, 205, 129
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "About..."
+FONT 8, "MS Sans Serif", 0, 0, 0x1
+BEGIN
+ DEFPUSHBUTTON "OK",IDOK,137,98,50,14,WS_GROUP
+ GROUPBOX "",IDC_STATIC,7,7,191,115,BS_CENTER
+ LTEXT "Subresync Version 2.24\nCopyright 2001-2002 Gabest",
+ IDC_STATIC,14,17,179,19
+ PUSHBUTTON "Homepage",IDC_HOMEPAGEBTN,17,98,50,14,BS_FLAT
+ PUSHBUTTON "Bug Report",IDC_BUGREPORTBTN,77,98,50,14,BS_FLAT
+ LTEXT "Credits:\n- SAMI format support by Sanger && Wilowisp of SPKOR\n- Handling of some basic html style modifier tags in SAMI done by [maven]\n- Advanced Text Renderer is using the 'Rasterizer' class of Avery Lee's subtitler plugin",
+ IDC_STATIC,14,40,176,51
+END
+
+IDD_ASKCHARDLG DIALOGEX 0, 0, 122, 99
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+EXSTYLE WS_EX_TOOLWINDOW
+CAPTION "Enter matching letter(s)"
+FONT 8, "MS Sans Serif", 0, 0, 0x1
+BEGIN
+ EDITTEXT 1008,7,7,108,28,ES_CENTER | ES_AUTOHSCROLL
+ DEFPUSHBUTTON "&OK",IDOK,7,40,108,14
+ PUSHBUTTON "&Extend",IDC_EXTEND,65,59,50,14
+ PUSHBUTTON "Un&do Extend",IDC_UNDOEXTEND,7,59,50,14
+ EDITTEXT 1018,7,78,108,14,ES_AUTOHSCROLL | ES_READONLY
+END
+
+IDD_OPENTMPLT DIALOGEX 0, 0, 292, 40
+STYLE DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS
+FONT 8, "MS Sans Serif", 0, 0, 0x1
+BEGIN
+ LTEXT "Character Set:",IDC_STATIC4,5,3,47,8
+ COMBOBOX 1007,54,1,74,76,CBS_DROPDOWNLIST | WS_VSCROLL |
+ WS_TABSTOP
+ LTEXT "Fps:",IDC_STATIC,143,3,14,8
+ COMBOBOX IDC_COMBO2,161,1,37,69,CBS_DROPDOWN | WS_VSCROLL |
+ WS_TABSTOP
+ CONTROL "Append",IDC_CHECK1,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,5,22,48,10
+ EDITTEXT IDC_EDIT1,54,20,21,13,ES_CENTER | ES_AUTOHSCROLL
+ EDITTEXT IDC_EDIT2,78,20,21,13,ES_CENTER | ES_AUTOHSCROLL |
+ ES_NUMBER
+ EDITTEXT IDC_EDIT3,102,20,21,13,ES_CENTER | ES_AUTOHSCROLL |
+ ES_NUMBER
+ EDITTEXT IDC_EDIT4,126,20,21,13,ES_CENTER | ES_AUTOHSCROLL |
+ ES_NUMBER
+ LTEXT "(hh:mm:ss.ms)",IDC_TIMEFORMATLABEL,152,23,49,8
+ LTEXT "at:",IDC_AT,44,23,8,8
+END
+
+IDD_SAVEASTMPLT DIALOGEX 0, 0, 278, 68
+STYLE DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS
+FONT 8, "MS Sans Serif", 0, 0, 0x1
+BEGIN
+ CONTROL "Unicode output",IDC_CHECK1,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,18,15,63,10
+ CONTROL "Clear image->letter(s) database",IDC_CHECK2,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,99,15,110,10
+ CONTROL "Slider1",IDC_SLIDER1,"msctls_trackbar32",TBS_BOTH |
+ TBS_NOTICKS | WS_TABSTOP,120,40,123,13
+ LTEXT "Space detecting sensitivity:",IDC_STATIC1,99,29,87,8
+ LTEXT "More",IDC_STATIC2,99,42,17,8
+ LTEXT "Less",IDC_STATIC3,247,42,16,8
+ GROUPBOX "MBCS<->Unicode",IDC_STATIC,9,2,77,58
+ GROUPBOX "OCR Settings",IDC_STATIC,93,2,178,58
+ CONTROL "Use ocrdll.dll",IDC_OCRDLL,"Button",BS_AUTOCHECKBOX |
+ NOT WS_VISIBLE | WS_TABSTOP,212,15,52,10
+END
+
+IDD_SUBRESYNC_DIALOG DIALOGEX 0, 0, 342, 197
+STYLE DS_SETFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_VISIBLE |
+ WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
+EXSTYLE WS_EX_ACCEPTFILES | WS_EX_APPWINDOW
+CAPTION "Subresync"
+FONT 8, "MS Sans Serif", 0, 0, 0x1
+BEGIN
+ PUSHBUTTON "&Open...",IDC_OPENBTN,7,7,52,14
+ PUSHBUTTON "Save &As...",IDC_SAVEBTN,7,28,52,14
+ PUSHBUTTON "&Reset timing",IDC_RESET,7,49,52,14
+ PUSHBUTTON "&Edit...",IDC_EDITSUB,7,70,52,14,WS_DISABLED
+ COMBOBOX IDC_COMBO1,7,71,52,30,CBS_DROPDOWNLIST | NOT WS_VISIBLE |
+ WS_VSCROLL | WS_TABSTOP
+ CONTROL "Render",IDC_CHECK1,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,13,92,42,10
+ CONTROL "Unlink",IDC_CHECK2,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,13,107,43,10
+ PUSHBUTTON "E&xit",IDOK,7,176,52,14
+ CONTROL "List1",IDC_LIST1,"SysListView32",LVS_REPORT |
+ LVS_SHOWSELALWAYS | LVS_AUTOARRANGE | LVS_EDITLABELS |
+ LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,68,7,266,183,
+ WS_EX_DLGMODALFRAME | WS_EX_CLIENTEDGE
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog Info
+//
+
+IDD_OPENTMPLT DLGINIT
+BEGIN
+ IDC_COMBO2, 0x403, 7, 0
+0x3332, 0x392e, 0x3637, "\000"
+ IDC_COMBO2, 0x403, 3, 0
+0x3432, "\000"
+ IDC_COMBO2, 0x403, 3, 0
+0x3532, "\000"
+ IDC_COMBO2, 0x403, 6, 0
+0x3932, 0x392e, 0x0037,
+ IDC_COMBO2, 0x403, 3, 0
+0x3033, "\000"
+ 0
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 2,0,24,0
+ PRODUCTVERSION 2,0,24,0
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "Comments", "Visit http://gabest.org/ for updates"
+ VALUE "CompanyName", "Gabest"
+ VALUE "FileDescription", "SubResync"
+ VALUE "FileVersion", "2, 0, 24, 0"
+ VALUE "InternalName", "SubResync"
+ VALUE "LegalCopyright", "Copyright (C) 2001-2002 Gabest"
+ VALUE "OriginalFilename", "Subresync.exe"
+ VALUE "ProductName", "Subresync"
+ VALUE "ProductVersion", "2, 0, 24, 0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE
+BEGIN
+ IDS_ABOUTBOX "&About SubResync..."
+ IDS_RG_SPACESENS "SpaceSensitivity"
+ IDS_R_GENERAL "General"
+ IDS_SKIP "&Skip"
+ IDS_ADD "&Add"
+END
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+#define _AFX_NO_SPLITTER_RESOURCES
+#define _AFX_NO_OLE_RESOURCES
+#define _AFX_NO_TRACKER_RESOURCES
+#define _AFX_NO_PROPERTY_RESOURCES
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+LANGUAGE 9, 1
+#pragma code_page(1252)
+#include "res\SubResync.rc2" // non-Microsoft Visual C++ edited resources
+#include "afxres.rc" // Standard components
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/src/apps/SubResync/SubResync.sln b/src/apps/SubResync/SubResync.sln
new file mode 100644
index 000000000..e65a8faf0
--- /dev/null
+++ b/src/apps/SubResync/SubResync.sln
@@ -0,0 +1,36 @@
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SubResync", "SubResync.vcproj", "{0B232385-29E3-4F64-92F6-1029204A08F3}"
+ ProjectSection(ProjectDependencies) = postProject
+ {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4} = {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Subtitles", "..\..\Subtitles\Subtitles.vcproj", "{5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0B232385-29E3-4F64-92F6-1029204A08F3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0B232385-29E3-4F64-92F6-1029204A08F3}.Debug|Win32.Build.0 = Debug|Win32
+ {0B232385-29E3-4F64-92F6-1029204A08F3}.Debug|x64.ActiveCfg = Debug|Win32
+ {0B232385-29E3-4F64-92F6-1029204A08F3}.Release|Win32.ActiveCfg = Release|Win32
+ {0B232385-29E3-4F64-92F6-1029204A08F3}.Release|Win32.Build.0 = Release|Win32
+ {0B232385-29E3-4F64-92F6-1029204A08F3}.Release|x64.ActiveCfg = Release|Win32
+ {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Debug|Win32.Build.0 = Debug|Win32
+ {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Debug|x64.ActiveCfg = Debug|x64
+ {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Debug|x64.Build.0 = Debug|x64
+ {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Release|Win32.ActiveCfg = Release|Win32
+ {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Release|Win32.Build.0 = Release|Win32
+ {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Release|x64.ActiveCfg = Release|x64
+ {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/src/apps/SubResync/SubResync.vcproj b/src/apps/SubResync/SubResync.vcproj
new file mode 100644
index 000000000..2e51a2c0f
--- /dev/null
+++ b/src/apps/SubResync/SubResync.vcproj
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="windows-1250"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="SubResync"
+ ProjectGUID="{0B232385-29E3-4F64-92F6-1029204A08F3}"
+ RootNamespace="SubResync"
+ Keyword="MFCProj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)bin\$(ConfigurationName)_$(PlatformName)\"
+ ConfigurationType="1"
+ InheritedPropertySheets="..\..\common.vsprops;..\..\debug.vsprops"
+ UseOfMFC="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="false"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../../Subtitles"
+ PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
+ UsePrecompiledHeader="2"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ AdditionalIncludeDirectories="$(IntDir)"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)bin\$(ConfigurationName)_$(PlatformName)\"
+ ConfigurationType="1"
+ InheritedPropertySheets="..\..\common.vsprops;..\..\release.vsprops"
+ UseOfMFC="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="false"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../../Subtitles"
+ PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ AdditionalIncludeDirectories="$(IntDir)"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ RandomizedBaseAddress="2"
+ DataExecutionPrevention="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
+ >
+ <File
+ RelativePath=".\stdafx.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\SubResync.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\SubResyncDlg.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc"
+ >
+ <File
+ RelativePath=".\Resource.h"
+ >
+ </File>
+ <File
+ RelativePath=".\stdafx.h"
+ >
+ </File>
+ <File
+ RelativePath=".\SubResync.h"
+ >
+ </File>
+ <File
+ RelativePath=".\SubResyncDlg.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;jpg;jpeg;jpe;manifest"
+ >
+ <File
+ RelativePath=".\res\bitmap1.bmp"
+ >
+ </File>
+ <File
+ RelativePath=".\res\bitmap2.bmp"
+ >
+ </File>
+ <File
+ RelativePath=".\res\SubResync.ico"
+ >
+ </File>
+ <File
+ RelativePath=".\res\SubResync.manifest"
+ >
+ </File>
+ <File
+ RelativePath=".\SubResync.rc"
+ >
+ </File>
+ <File
+ RelativePath=".\res\SubResync.rc2"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/src/apps/SubResync/SubResyncDlg.cpp b/src/apps/SubResync/SubResyncDlg.cpp
new file mode 100644
index 000000000..3206b1172
--- /dev/null
+++ b/src/apps/SubResync/SubResyncDlg.cpp
@@ -0,0 +1,159 @@
+/*
+ * $Id$
+ *
+ * (C) 2003-2005 Gabest
+ *
+ * This file is part of subresync.
+ *
+ * Subresync is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Subresync is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "stdafx.h"
+#include "subresync.h"
+#include "subresyncDlg.h"
+
+// CAboutDlg dialog used for App About
+
+class CAboutDlg : public CDialog
+{
+public:
+ CAboutDlg();
+
+// Dialog Data
+ enum { IDD = IDD_ABOUTBOX };
+
+protected:
+ virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
+
+// Implementation
+protected:
+ DECLARE_MESSAGE_MAP()
+};
+
+CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
+{
+}
+
+void CAboutDlg::DoDataExchange(CDataExchange* pDX)
+{
+ CDialog::DoDataExchange(pDX);
+}
+
+BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
+END_MESSAGE_MAP()
+
+
+// CSubresyncDlg dialog
+CSubresyncDlg::CSubresyncDlg(CWnd* pParent /*=NULL*/)
+ : CDialog(CSubresyncDlg::IDD, pParent)
+{
+ m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
+}
+
+void CSubresyncDlg::DoDataExchange(CDataExchange* pDX)
+{
+ CDialog::DoDataExchange(pDX);
+}
+
+BEGIN_MESSAGE_MAP(CSubresyncDlg, CDialog)
+ ON_WM_SYSCOMMAND()
+ ON_WM_PAINT()
+ ON_WM_QUERYDRAGICON()
+ //}}AFX_MSG_MAP
+END_MESSAGE_MAP()
+
+
+// CSubresyncDlg message handlers
+
+BOOL CSubresyncDlg::OnInitDialog()
+{
+ CDialog::OnInitDialog();
+
+ // Add "About..." menu item to system menu.
+
+ // IDM_ABOUTBOX must be in the system command range.
+ ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
+ ASSERT(IDM_ABOUTBOX < 0xF000);
+
+ CMenu* pSysMenu = GetSystemMenu(FALSE);
+ if (pSysMenu != NULL)
+ {
+ CString strAboutMenu;
+ strAboutMenu.LoadString(IDS_ABOUTBOX);
+ if (!strAboutMenu.IsEmpty())
+ {
+ pSysMenu->AppendMenu(MF_SEPARATOR);
+ pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
+ }
+ }
+
+ // Set the icon for this dialog. The framework does this automatically
+ // when the application's main window is not a dialog
+ SetIcon(m_hIcon, TRUE); // Set big icon
+ SetIcon(m_hIcon, FALSE); // Set small icon
+
+ // TODO: Add extra initialization here
+
+ return TRUE; // return TRUE unless you set the focus to a control
+}
+
+void CSubresyncDlg::OnSysCommand(UINT nID, LPARAM lParam)
+{
+ if ((nID & 0xFFF0) == IDM_ABOUTBOX)
+ {
+ CAboutDlg dlgAbout;
+ dlgAbout.DoModal();
+ }
+ else
+ {
+ CDialog::OnSysCommand(nID, lParam);
+ }
+}
+
+// If you add a minimize button to your dialog, you will need the code below
+// to draw the icon. For MFC applications using the document/view model,
+// this is automatically done for you by the framework.
+
+void CSubresyncDlg::OnPaint()
+{
+ if (IsIconic())
+ {
+ CPaintDC dc(this); // device context for painting
+
+ SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
+
+ // Center icon in client rectangle
+ int cxIcon = GetSystemMetrics(SM_CXICON);
+ int cyIcon = GetSystemMetrics(SM_CYICON);
+ CRect rect;
+ GetClientRect(&rect);
+ int x = (rect.Width() - cxIcon + 1) / 2;
+ int y = (rect.Height() - cyIcon + 1) / 2;
+
+ // Draw the icon
+ dc.DrawIcon(x, y, m_hIcon);
+ }
+ else
+ {
+ CDialog::OnPaint();
+ }
+}
+
+// The system calls this function to obtain the cursor to display while the user drags
+// the minimized window.
+HCURSOR CSubresyncDlg::OnQueryDragIcon()
+{
+ return static_cast<HCURSOR>(m_hIcon);
+}
diff --git a/src/apps/SubResync/SubResyncDlg.h b/src/apps/SubResync/SubResyncDlg.h
new file mode 100644
index 000000000..1b6f9edf0
--- /dev/null
+++ b/src/apps/SubResync/SubResyncDlg.h
@@ -0,0 +1,99 @@
+/*
+ * $Id$
+ *
+ * (C) 2003-2005 Gabest
+ *
+ * This file is part of subresync.
+ *
+ * Subresync is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Subresync is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#include "stdafx.h"
+#include <GFN.h>
+#include <TextFile.h>
+
+class CharImg
+{
+public:
+ CString m_str;
+
+ CSize m_size;
+ CAutoVectorPtr<BYTE> m_p;
+
+ // feature list
+ int m_topbottom;
+
+ CharImg(DWORD* p, int pitch, CRect r, int* left, int* right, int topbottom, CString str = _T(""));
+ CharImg(FILE* f);
+ ~CharImg();
+
+ bool Match(CharImg* img);
+
+ bool Write(FILE* f);
+ bool Read(FILE* f);
+};
+
+class CharSegment
+{
+public:
+ int* left;
+ int* right;
+ int h, srow, erow;
+
+ CharSegment(int* left, int* right, int h, int srow, int erow);
+ ~CharSegment();
+};
+
+// CSubresyncDlg dialog
+class CSubresyncDlg : public CDialog
+{
+// Construction
+public:
+ CSubresyncDlg(CString fn, CWnd* pParent = NULL); // standard constructor
+ virtual ~CSubresyncDlg();
+
+ bool Open(CString fn, int CharSet = DEFAULT_CHARSET, bool fAppend = false, int timeoff = 0);
+ bool Save(CString fn, exttype et, CTextFile::enc e, bool fClearImgLetterDb = false, bool fOcrDll = false);
+
+// Dialog Data
+ enum { IDD = IDD_SUBRESYNC_DIALOG };
+ CListCtrl m_list;
+ CButton m_saveasbtn;
+ CButton m_resetbtn;
+ CButton m_editbtn;
+ CButton m_exitbtn;
+ BOOL m_fRender;
+ CButton m_previewchk;
+ BOOL m_fUnlink;
+ CButton m_unlinkchk;
+ CComboBox m_vslangs;
+
+protected:
+ virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
+
+
+// Implementation
+protected:
+ HICON m_hIcon;
+
+ // Generated message map functions
+ virtual BOOL OnInitDialog();
+ afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
+ afx_msg void OnPaint();
+ afx_msg HCURSOR OnQueryDragIcon();
+ DECLARE_MESSAGE_MAP()
+};
diff --git a/src/apps/SubResync/res/SubResync.manifest b/src/apps/SubResync/res/SubResync.manifest
new file mode 100644
index 000000000..6c1cd6393
--- /dev/null
+++ b/src/apps/SubResync/res/SubResync.manifest
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+ <assemblyIdentity
+ version="2.0.24.0"
+ processorArchitecture="*"
+ name="SubResync"
+ type="win32"
+ />
+ <description>SubResync</description>
+ <dependency>
+ <dependentAssembly>
+ <assemblyIdentity
+ type="win32"
+ name="Microsoft.Windows.Common-Controls"
+ version="6.0.0.0"
+ processorArchitecture="*"
+ publicKeyToken="6595b64144ccf1df"
+ language="*"
+ />
+ </dependentAssembly>
+ </dependency>
+ <!-- Identify the application security requirements -->
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
+ <security>
+ <requestedPrivileges>
+ <requestedExecutionLevel
+ level="asInvoker"
+ uiAccess="false"
+ />
+ </requestedPrivileges>
+ </security>
+ </trustInfo>
+</assembly>
diff --git a/src/apps/SubResync/res/SubResync.rc2 b/src/apps/SubResync/res/SubResync.rc2
new file mode 100644
index 000000000..79e456b05
--- /dev/null
+++ b/src/apps/SubResync/res/SubResync.rc2
@@ -0,0 +1,13 @@
+//
+// subresync.RC2 - resources Microsoft Visual C++ does not edit directly
+//
+
+#ifdef APSTUDIO_INVOKED
+#error this file is not editable by Microsoft Visual C++
+#endif //APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+// Add manually edited resources here...
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/src/apps/SubResync/res/SubResync_2010.ico b/src/apps/SubResync/res/SubResync_2010.ico
new file mode 100644
index 000000000..d56fbcdfd
--- /dev/null
+++ b/src/apps/SubResync/res/SubResync_2010.ico
Binary files differ
diff --git a/src/apps/SubResync/res/bitmap1.bmp b/src/apps/SubResync/res/bitmap1.bmp
new file mode 100644
index 000000000..002ab8074
--- /dev/null
+++ b/src/apps/SubResync/res/bitmap1.bmp
Binary files differ
diff --git a/src/apps/SubResync/res/bitmap2.bmp b/src/apps/SubResync/res/bitmap2.bmp
new file mode 100644
index 000000000..9ce5fecda
--- /dev/null
+++ b/src/apps/SubResync/res/bitmap2.bmp
Binary files differ
diff --git a/src/apps/SubResync/res/subresync.ico b/src/apps/SubResync/res/subresync.ico
new file mode 100644
index 000000000..8a84ca3d3
--- /dev/null
+++ b/src/apps/SubResync/res/subresync.ico
Binary files differ
diff --git a/src/apps/SubResync/resource.h b/src/apps/SubResync/resource.h
new file mode 100644
index 000000000..c09b2fc46
--- /dev/null
+++ b/src/apps/SubResync/resource.h
@@ -0,0 +1,54 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by subresync.rc
+//
+#define IDC_EDIT3 3
+#define IDM_ABOUTBOX 0x0010
+#define IDS_ABOUTBOX 101
+#define IDD_SUBRESYNC_DIALOG 102
+#define IDS_RG_SPACESENS 102
+#define IDS_R_GENERAL 103
+#define IDS_SKIP 104
+#define IDS_ADD 105
+#define IDR_MAINFRAME 128
+#define IDB_BITMAP1 130
+#define IDB_BITMAP2 131
+#define IDD_SAVEASTMPLT 131
+#define IDD_ASKCHARDLG 137
+#define IDD_OPENTMPLT 138
+#define IDD_ABOUTBOX 142
+#define IDC_HOMEPAGEBTN 202
+#define IDC_BUGREPORTBTN 212
+#define IDC_LIST1 1003
+#define IDC_OPENBTN 1004
+#define IDC_SAVEBTN 1005
+#define IDC_RESET 1006
+#define IDC_COMBO1 1007
+#define IDC_EDIT1 1008
+#define IDC_EDITSUB 1008
+#define IDC_EXTEND 1010
+#define IDC_UNDOEXTEND 1011
+#define IDC_EDIT4 1011
+#define IDC_CHECK1 1012
+#define IDC_CHECK2 1013
+#define IDC_SLIDER1 1014
+#define IDC_STATIC1 1015
+#define IDC_STATIC2 1016
+#define IDC_STATIC3 1017
+#define IDC_EDIT2 1018
+#define IDC_STATIC4 1019
+#define IDC_TIMEFORMATLABEL 1020
+#define IDC_AT 1025
+#define IDC_OCRDLL 1026
+#define IDC_COMBO2 2000
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
diff --git a/src/apps/SubResync/stdafx.cpp b/src/apps/SubResync/stdafx.cpp
new file mode 100644
index 000000000..dc889a79e
--- /dev/null
+++ b/src/apps/SubResync/stdafx.cpp
@@ -0,0 +1,26 @@
+/*
+ * $Id$
+ * stdafx.cpp : source file that includes just the standard includes
+ * subresync.pch will be the pre-compiled header
+ * stdafx.obj will contain the pre-compiled type information
+ *
+ * (C) 2003-2005 Gabest
+ *
+ * This file is part of subresync.
+ *
+ * Subresync is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Subresync is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "stdafx.h"
diff --git a/src/apps/SubResync/stdafx.h b/src/apps/SubResync/stdafx.h
new file mode 100644
index 000000000..3c93a0e95
--- /dev/null
+++ b/src/apps/SubResync/stdafx.h
@@ -0,0 +1,49 @@
+/*
+ * $Id$
+ * stdafx.h : include file for standard system include files,
+ * or project specific include files that are used frequently,
+ * but are changed infrequently
+ *
+ * (C) 2003-2005 Gabest
+ *
+ * This file is part of subresync.
+ *
+ * Subresync is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Subresync is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#ifndef VC_EXTRALEAN
+#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
+#endif
+
+#ifndef WINVER
+#define WINVER 0x0600
+#endif
+
+#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
+
+// turns off MFC's hiding of some common and often safely ignored warning messages
+#define _AFX_ALL_WARNINGS
+
+#include <afxwin.h> // MFC core and standard components
+#include <afxext.h> // MFC extensions
+#include <afxdisp.h> // MFC Automation classes
+#include <afxdlgs.h>
+#include <atlbase.h>
+
+#ifndef _AFX_NO_AFXCMN_SUPPORT
+#include <afxcmn.h> // MFC support for Windows Common Controls
+#endif // _AFX_NO_AFXCMN_SUPPORT