搬运v4.5
parent
af1b6a6744
commit
d0e4cd11a8
@ -0,0 +1,28 @@
|
||||
packages
|
||||
|
||||
# 忽略中间文件
|
||||
obj/*
|
||||
|
||||
# 忽略自己能够生成的 dll
|
||||
ColorPicker.dll
|
||||
CursorUtil.dll
|
||||
DrawerInterface.dll
|
||||
FlexenabledLic.dll
|
||||
GeoSigmaDraw.dll
|
||||
GeoSigmaDrawLib.dll
|
||||
KepGridEditor.exe
|
||||
KEVisualization.exe
|
||||
SigmaDrawerStyle.dll
|
||||
SigmaDrawerUtil.dll
|
||||
SymbolLibInterface.dll
|
||||
SymbolLibManager.exe
|
||||
licenses.licx
|
||||
SigmaDrawerUtil.csproj.FileListAbsolute.txt
|
||||
SymbolLibManager.csproj.FileListAbsolute.txt
|
||||
SymbolLibManager.exe.config
|
||||
WellGroupEditor.exe.config
|
||||
MLMicroStructure.dll
|
||||
MLMicroStructure.pdb
|
||||
MicroStructurePP.dll
|
||||
MicroStructurePP.pdb
|
||||
*.FileListAbsolute.txt
|
||||
@ -0,0 +1,26 @@
|
||||
QMAKE_CXX.INCDIRS = \
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.16.27023\\include" \
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.16.27023\\atlmfc\\include" \
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Auxiliary\\VS\\include" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.17763.0\\ucrt" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.17763.0\\um" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.17763.0\\shared" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.17763.0\\winrt" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.17763.0\\cppwinrt" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.6.1\\Include\\um" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.6.1\\Include\\um"
|
||||
QMAKE_CXX.LIBDIRS = \
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.16.27023\\lib\\x64" \
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.16.27023\\atlmfc\\lib\\x64" \
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Auxiliary\\VS\\lib\\x64" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.17763.0\\ucrt\\x64" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.17763.0\\um\\x64" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.6.1\\lib\\um\\x64" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.6.1\\Lib\\um\\x64"
|
||||
QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
|
||||
QMAKE_CXX.QMAKE_MSC_VER = 1916
|
||||
QMAKE_CXX.QMAKE_MSC_FULL_VER = 191627051
|
||||
QMAKE_CXX.COMPILER_MACROS = \
|
||||
QT_COMPILER_STDCXX \
|
||||
QMAKE_MSC_VER \
|
||||
QMAKE_MSC_FULL_VER
|
||||
@ -0,0 +1 @@
|
||||
This is a dummy file needed to create ./moc_predefs.h
|
||||
@ -0,0 +1,25 @@
|
||||
QT_SYSROOT:
|
||||
QT_INSTALL_PREFIX:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64
|
||||
QT_INSTALL_ARCHDATA:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64
|
||||
QT_INSTALL_DATA:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64
|
||||
QT_INSTALL_DOCS:D:/Qt/Qt5.9.4/Docs/Qt-5.9.4
|
||||
QT_INSTALL_HEADERS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/include
|
||||
QT_INSTALL_LIBS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/lib
|
||||
QT_INSTALL_LIBEXECS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin
|
||||
QT_INSTALL_BINS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin
|
||||
QT_INSTALL_TESTS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/tests
|
||||
QT_INSTALL_PLUGINS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/plugins
|
||||
QT_INSTALL_IMPORTS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/imports
|
||||
QT_INSTALL_QML:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/qml
|
||||
QT_INSTALL_TRANSLATIONS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/translations
|
||||
QT_INSTALL_CONFIGURATION:
|
||||
QT_INSTALL_EXAMPLES:D:/Qt/Qt5.9.4/Examples/Qt-5.9.4
|
||||
QT_INSTALL_DEMOS:D:/Qt/Qt5.9.4/Examples/Qt-5.9.4
|
||||
QT_HOST_PREFIX:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64
|
||||
QT_HOST_DATA:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64
|
||||
QT_HOST_BINS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin
|
||||
QT_HOST_LIBS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/lib
|
||||
QMAKE_SPEC:win32-msvc
|
||||
QMAKE_XSPEC:win32-msvc
|
||||
QMAKE_VERSION:3.1
|
||||
QT_VERSION:5.9.4
|
||||
@ -0,0 +1,6 @@
|
||||
CONFIG += no_fixpath
|
||||
QT = core gui widgets printsupport
|
||||
|
||||
|
||||
|
||||
DEFINES -= UNICODE _UNICODE
|
||||
@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid></ProjectGuid>
|
||||
<RootNamespace>qtvars</RootNamespace>
|
||||
<Keyword>Qt4VSv1.0</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<OutputDirectory>.\</OutputDirectory>
|
||||
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PrimaryOutput>qtvars</PrimaryOutput>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings" />
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\</OutDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">qtvars</TargetName>
|
||||
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</IgnoreImportLibrary>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>C:\GeoIntelligent\Drawer\Drawer\FaciesOutline\FaciesOutlineLib\x64\Release\qt\qmake;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtPrintSupport;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtWidgets;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtGui;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtANGLE;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtCore;C:\GeoIntelligent\Drawer\Drawer\FaciesOutline\FaciesOutlineLib\x64\Release\qt\qmake;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding %(AdditionalOptions)</AdditionalOptions>
|
||||
<AssemblerListingLocation>.\</AssemblerListingLocation>
|
||||
<BrowseInformation>false</BrowseInformation>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<ObjectFileName>.\</ObjectFileName>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>_WINDOWS;WIN32;WIN64;QT_NO_DEBUG;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessToFile>false</PreprocessToFile>
|
||||
<ProgramDataBaseFileName></ProgramDataBaseFileName>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<WarningLevel>TurnOffAllWarnings</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\qtmain.lib;shell32.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5PrintSupport.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Widgets.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Gui.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Core.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib;C:\utils\my_sql\my_sql\lib;C:\utils\postgresql\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
|
||||
<DataExecutionPrevention>true</DataExecutionPrevention>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<IgnoreImportLibrary>true</IgnoreImportLibrary>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutputFile>$(OutDir)\qtvars.exe</OutputFile>
|
||||
<RandomizedBaseAddress>true</RandomizedBaseAddress>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Link>
|
||||
<Midl>
|
||||
<DefaultCharType>Unsigned</DefaultCharType>
|
||||
<EnableErrorChecks>None</EnableErrorChecks>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_WINDOWS;WIN32;WIN64;QT_NO_DEBUG;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="moc_predefs.h.cbt">
|
||||
<FileType>Document</FileType>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl -BxD:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -W0 -E D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\mkspecs\features\data\dummy.cpp 2>NUL >moc_predefs.h</Command>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generate moc_predefs.h</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">moc_predefs.h;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets" />
|
||||
</Project>
|
||||
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Generated Files">
|
||||
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="moc_predefs.h.cbt">
|
||||
<Filter>Generated Files</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@ -0,0 +1,41 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Qt_DEFINES_>_WINDOWS;WIN32;WIN64;QT_NO_DEBUG;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;NDEBUG</Qt_DEFINES_>
|
||||
<Qt_INCLUDEPATH_>D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtPrintSupport;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtWidgets;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtGui;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtANGLE;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtCore;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
|
||||
<Qt_STDCPP_></Qt_STDCPP_>
|
||||
<Qt_RUNTIME_>MultiThreadedDLL</Qt_RUNTIME_>
|
||||
<Qt_CL_OPTIONS_>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding</Qt_CL_OPTIONS_>
|
||||
<Qt_LIBS_>D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\qtmain.lib;shell32.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5PrintSupport.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Widgets.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Gui.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Core.lib</Qt_LIBS_>
|
||||
<Qt_LINK_OPTIONS_>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"</Qt_LINK_OPTIONS_>
|
||||
<QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
|
||||
<QMake_QT_INSTALL_PREFIX_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_INSTALL_PREFIX_>
|
||||
<QMake_QT_INSTALL_ARCHDATA_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_INSTALL_ARCHDATA_>
|
||||
<QMake_QT_INSTALL_DATA_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_INSTALL_DATA_>
|
||||
<QMake_QT_INSTALL_DOCS_>D:/Qt/Qt5.9.4/Docs/Qt-5.9.4</QMake_QT_INSTALL_DOCS_>
|
||||
<QMake_QT_INSTALL_HEADERS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/include</QMake_QT_INSTALL_HEADERS_>
|
||||
<QMake_QT_INSTALL_LIBS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/lib</QMake_QT_INSTALL_LIBS_>
|
||||
<QMake_QT_INSTALL_LIBEXECS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin</QMake_QT_INSTALL_LIBEXECS_>
|
||||
<QMake_QT_INSTALL_BINS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin</QMake_QT_INSTALL_BINS_>
|
||||
<QMake_QT_INSTALL_TESTS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/tests</QMake_QT_INSTALL_TESTS_>
|
||||
<QMake_QT_INSTALL_PLUGINS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/plugins</QMake_QT_INSTALL_PLUGINS_>
|
||||
<QMake_QT_INSTALL_IMPORTS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/imports</QMake_QT_INSTALL_IMPORTS_>
|
||||
<QMake_QT_INSTALL_QML_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/qml</QMake_QT_INSTALL_QML_>
|
||||
<QMake_QT_INSTALL_TRANSLATIONS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
|
||||
<QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
|
||||
<QMake_QT_INSTALL_EXAMPLES_>D:/Qt/Qt5.9.4/Examples/Qt-5.9.4</QMake_QT_INSTALL_EXAMPLES_>
|
||||
<QMake_QT_INSTALL_DEMOS_>D:/Qt/Qt5.9.4/Examples/Qt-5.9.4</QMake_QT_INSTALL_DEMOS_>
|
||||
<QMake_QT_HOST_PREFIX_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_HOST_PREFIX_>
|
||||
<QMake_QT_HOST_DATA_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_HOST_DATA_>
|
||||
<QMake_QT_HOST_BINS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin</QMake_QT_HOST_BINS_>
|
||||
<QMake_QT_HOST_LIBS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/lib</QMake_QT_HOST_LIBS_>
|
||||
<QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
|
||||
<QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
|
||||
<QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
|
||||
<QMake_QT_VERSION_>5.9.4</QMake_QT_VERSION_>
|
||||
<QtBkup_QtHash>jZFBTsQwDEWv4hNMAQ0gFrPIxJ5iSBPLdgaNEOr9bzFpVVSJDVlkk/z37f/zzUjZ2W+n58Pb4ThPdo1PD4+v88sRYlGCsTJ8MY7kBqKc3apIUYcz5/UgXTiTnQbR8kHRB3aa1kt2LnnUUmWIKZZJOFFTURNGMiu6qww4x1SRJPh7r1VAXEeEtMHI2hYoymRgjlGk1yqFPNYwknnIGBRBa2tlol5+kyc+a9AbxDQXWdJ317Jn2UBoXv/QLfbnsIOtPMrtN+MSf3nr2+GPy+94pUTB6OcO</QtBkup_QtHash>
|
||||
<QtVersion>5.9.4</QtVersion>
|
||||
<QtVersionMajor>5</QtVersionMajor>
|
||||
<QtVersionMinor>9</QtVersionMinor>
|
||||
<QtVersionPatch>4</QtVersionPatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@ -0,0 +1,41 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Qt_DEFINES_>_WINDOWS;WIN32;WIN64;QT_NO_DEBUG;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;NDEBUG</Qt_DEFINES_>
|
||||
<Qt_INCLUDEPATH_>D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtPrintSupport;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtWidgets;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtGui;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtANGLE;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtCore;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
|
||||
<Qt_STDCPP_></Qt_STDCPP_>
|
||||
<Qt_RUNTIME_>MultiThreadedDLL</Qt_RUNTIME_>
|
||||
<Qt_CL_OPTIONS_>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding</Qt_CL_OPTIONS_>
|
||||
<Qt_LIBS_>D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\qtmain.lib;shell32.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5PrintSupport.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Widgets.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Gui.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Core.lib</Qt_LIBS_>
|
||||
<Qt_LINK_OPTIONS_>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"</Qt_LINK_OPTIONS_>
|
||||
<QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
|
||||
<QMake_QT_INSTALL_PREFIX_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_INSTALL_PREFIX_>
|
||||
<QMake_QT_INSTALL_ARCHDATA_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_INSTALL_ARCHDATA_>
|
||||
<QMake_QT_INSTALL_DATA_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_INSTALL_DATA_>
|
||||
<QMake_QT_INSTALL_DOCS_>D:/Qt/Qt5.9.4/Docs/Qt-5.9.4</QMake_QT_INSTALL_DOCS_>
|
||||
<QMake_QT_INSTALL_HEADERS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/include</QMake_QT_INSTALL_HEADERS_>
|
||||
<QMake_QT_INSTALL_LIBS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/lib</QMake_QT_INSTALL_LIBS_>
|
||||
<QMake_QT_INSTALL_LIBEXECS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin</QMake_QT_INSTALL_LIBEXECS_>
|
||||
<QMake_QT_INSTALL_BINS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin</QMake_QT_INSTALL_BINS_>
|
||||
<QMake_QT_INSTALL_TESTS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/tests</QMake_QT_INSTALL_TESTS_>
|
||||
<QMake_QT_INSTALL_PLUGINS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/plugins</QMake_QT_INSTALL_PLUGINS_>
|
||||
<QMake_QT_INSTALL_IMPORTS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/imports</QMake_QT_INSTALL_IMPORTS_>
|
||||
<QMake_QT_INSTALL_QML_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/qml</QMake_QT_INSTALL_QML_>
|
||||
<QMake_QT_INSTALL_TRANSLATIONS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
|
||||
<QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
|
||||
<QMake_QT_INSTALL_EXAMPLES_>D:/Qt/Qt5.9.4/Examples/Qt-5.9.4</QMake_QT_INSTALL_EXAMPLES_>
|
||||
<QMake_QT_INSTALL_DEMOS_>D:/Qt/Qt5.9.4/Examples/Qt-5.9.4</QMake_QT_INSTALL_DEMOS_>
|
||||
<QMake_QT_HOST_PREFIX_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_HOST_PREFIX_>
|
||||
<QMake_QT_HOST_DATA_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_HOST_DATA_>
|
||||
<QMake_QT_HOST_BINS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin</QMake_QT_HOST_BINS_>
|
||||
<QMake_QT_HOST_LIBS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/lib</QMake_QT_HOST_LIBS_>
|
||||
<QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
|
||||
<QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
|
||||
<QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
|
||||
<QMake_QT_VERSION_>5.9.4</QMake_QT_VERSION_>
|
||||
<QtBkup_QtHash>jZFBTsQwDEWv4hNMAQ0gFrPIxJ5iSBPLdgaNEOr9bzFpVVSJDVlkk/z37f/zzUjZ2W+n58Pb4ThPdo1PD4+v88sRYlGCsTJ8MY7kBqKc3apIUYcz5/UgXTiTnQbR8kHRB3aa1kt2LnnUUmWIKZZJOFFTURNGMiu6qww4x1SRJPh7r1VAXEeEtMHI2hYoymRgjlGk1yqFPNYwknnIGBRBa2tlol5+kyc+a9AbxDQXWdJ317Jn2UBoXv/QLfbnsIOtPMrtN+MSf3nr2+GPy+94pUTB6OcO</QtBkup_QtHash>
|
||||
<QtVersion>5.9.4</QtVersion>
|
||||
<QtVersionMajor>5</QtVersionMajor>
|
||||
<QtVersionMinor>9</QtVersionMinor>
|
||||
<QtVersionPatch>4</QtVersionPatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
C:\Users\gch_l\AppData\Local\Temp\n0uupy3q.hfb.designtime.props
|
||||
@ -0,0 +1,28 @@
|
||||
QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
|
||||
QMAKE_CXX.QMAKE_MSC_VER = 1916
|
||||
QMAKE_CXX.QMAKE_MSC_FULL_VER = 191627051
|
||||
QMAKE_CXX.COMPILER_MACROS = \
|
||||
QT_COMPILER_STDCXX \
|
||||
QMAKE_MSC_VER \
|
||||
QMAKE_MSC_FULL_VER
|
||||
QMAKE_CXX.INCDIRS = \
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.16.27023\\include" \
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.16.27023\\atlmfc\\include" \
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Auxiliary\\VS\\include" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.17763.0\\ucrt" \
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Auxiliary\\VS\\UnitTest\\include" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.17763.0\\um" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.17763.0\\shared" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.17763.0\\winrt" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.17763.0\\cppwinrt" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.6.1\\Include\\um" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.6.1\\Include\\um"
|
||||
QMAKE_CXX.LIBDIRS = \
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.16.27023\\lib\\x64" \
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.16.27023\\atlmfc\\lib\\x64" \
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Auxiliary\\VS\\lib\\x64" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.17763.0\\ucrt\\x64" \
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Auxiliary\\VS\\UnitTest\\lib" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.17763.0\\um\\x64" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.6.1\\lib\\um\\x64" \
|
||||
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.6.1\\Lib\\um\\x64"
|
||||
@ -0,0 +1 @@
|
||||
This is a dummy file needed to create ./moc_predefs.h
|
||||
@ -0,0 +1,25 @@
|
||||
QT_SYSROOT:
|
||||
QT_INSTALL_PREFIX:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64
|
||||
QT_INSTALL_ARCHDATA:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64
|
||||
QT_INSTALL_DATA:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64
|
||||
QT_INSTALL_DOCS:D:/Qt/Qt5.9.4/Docs/Qt-5.9.4
|
||||
QT_INSTALL_HEADERS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/include
|
||||
QT_INSTALL_LIBS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/lib
|
||||
QT_INSTALL_LIBEXECS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin
|
||||
QT_INSTALL_BINS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin
|
||||
QT_INSTALL_TESTS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/tests
|
||||
QT_INSTALL_PLUGINS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/plugins
|
||||
QT_INSTALL_IMPORTS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/imports
|
||||
QT_INSTALL_QML:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/qml
|
||||
QT_INSTALL_TRANSLATIONS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/translations
|
||||
QT_INSTALL_CONFIGURATION:
|
||||
QT_INSTALL_EXAMPLES:D:/Qt/Qt5.9.4/Examples/Qt-5.9.4
|
||||
QT_INSTALL_DEMOS:D:/Qt/Qt5.9.4/Examples/Qt-5.9.4
|
||||
QT_HOST_PREFIX:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64
|
||||
QT_HOST_DATA:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64
|
||||
QT_HOST_BINS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin
|
||||
QT_HOST_LIBS:D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/lib
|
||||
QMAKE_SPEC:win32-msvc
|
||||
QMAKE_XSPEC:win32-msvc
|
||||
QMAKE_VERSION:3.1
|
||||
QT_VERSION:5.9.4
|
||||
@ -0,0 +1,6 @@
|
||||
CONFIG += no_fixpath
|
||||
QT = core gui concurrent
|
||||
|
||||
|
||||
|
||||
DEFINES -= UNICODE _UNICODE
|
||||
@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid></ProjectGuid>
|
||||
<RootNamespace>qtvars</RootNamespace>
|
||||
<Keyword>Qt4VSv1.0</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<OutputDirectory>.\</OutputDirectory>
|
||||
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PrimaryOutput>qtvars</PrimaryOutput>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings" />
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\</OutDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">qtvars</TargetName>
|
||||
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</IgnoreImportLibrary>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>C:\GeoIntelligent\Drawer\Drawer\GVision\MLMicroStructure\x64\Release\qt\qmake;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtGui;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtANGLE;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtConcurrent;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtCore;C:\GeoIntelligent\Drawer\Drawer\GVision\MLMicroStructure\x64\Release\qt\qmake;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding %(AdditionalOptions)</AdditionalOptions>
|
||||
<AssemblerListingLocation>.\</AssemblerListingLocation>
|
||||
<BrowseInformation>false</BrowseInformation>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<ObjectFileName>.\</ObjectFileName>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>_WINDOWS;WIN32;WIN64;QT_NO_DEBUG;QT_GUI_LIB;QT_CONCURRENT_LIB;QT_CORE_LIB;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessToFile>false</PreprocessToFile>
|
||||
<ProgramDataBaseFileName></ProgramDataBaseFileName>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<WarningLevel>TurnOffAllWarnings</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\qtmain.lib;shell32.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Gui.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Concurrent.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Core.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib;C:\utils\my_sql\my_sql\lib;C:\utils\postgresql\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
|
||||
<DataExecutionPrevention>true</DataExecutionPrevention>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<IgnoreImportLibrary>true</IgnoreImportLibrary>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutputFile>$(OutDir)\qtvars.exe</OutputFile>
|
||||
<RandomizedBaseAddress>true</RandomizedBaseAddress>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Link>
|
||||
<Midl>
|
||||
<DefaultCharType>Unsigned</DefaultCharType>
|
||||
<EnableErrorChecks>None</EnableErrorChecks>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_WINDOWS;WIN32;WIN64;QT_NO_DEBUG;QT_GUI_LIB;QT_CONCURRENT_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="moc_predefs.h.cbt">
|
||||
<FileType>Document</FileType>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl -BxD:\Qt\Qt5.9.4\5.9.4\msvc2017_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -W0 -E D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\mkspecs\features\data\dummy.cpp 2>NUL >moc_predefs.h</Command>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generate moc_predefs.h</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">moc_predefs.h;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets" />
|
||||
</Project>
|
||||
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Generated Files">
|
||||
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="moc_predefs.h.cbt">
|
||||
<Filter>Generated Files</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@ -0,0 +1,41 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Qt_DEFINES_>_WINDOWS;WIN32;WIN64;QT_NO_DEBUG;QT_GUI_LIB;QT_CONCURRENT_LIB;QT_CORE_LIB;NDEBUG</Qt_DEFINES_>
|
||||
<Qt_INCLUDEPATH_>D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtGui;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtANGLE;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtConcurrent;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtCore;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
|
||||
<Qt_STDCPP_></Qt_STDCPP_>
|
||||
<Qt_RUNTIME_>MultiThreadedDLL</Qt_RUNTIME_>
|
||||
<Qt_CL_OPTIONS_>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding</Qt_CL_OPTIONS_>
|
||||
<Qt_LIBS_>D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\qtmain.lib;shell32.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Gui.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Concurrent.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Core.lib</Qt_LIBS_>
|
||||
<Qt_LINK_OPTIONS_>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"</Qt_LINK_OPTIONS_>
|
||||
<QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
|
||||
<QMake_QT_INSTALL_PREFIX_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_INSTALL_PREFIX_>
|
||||
<QMake_QT_INSTALL_ARCHDATA_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_INSTALL_ARCHDATA_>
|
||||
<QMake_QT_INSTALL_DATA_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_INSTALL_DATA_>
|
||||
<QMake_QT_INSTALL_DOCS_>D:/Qt/Qt5.9.4/Docs/Qt-5.9.4</QMake_QT_INSTALL_DOCS_>
|
||||
<QMake_QT_INSTALL_HEADERS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/include</QMake_QT_INSTALL_HEADERS_>
|
||||
<QMake_QT_INSTALL_LIBS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/lib</QMake_QT_INSTALL_LIBS_>
|
||||
<QMake_QT_INSTALL_LIBEXECS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin</QMake_QT_INSTALL_LIBEXECS_>
|
||||
<QMake_QT_INSTALL_BINS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin</QMake_QT_INSTALL_BINS_>
|
||||
<QMake_QT_INSTALL_TESTS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/tests</QMake_QT_INSTALL_TESTS_>
|
||||
<QMake_QT_INSTALL_PLUGINS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/plugins</QMake_QT_INSTALL_PLUGINS_>
|
||||
<QMake_QT_INSTALL_IMPORTS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/imports</QMake_QT_INSTALL_IMPORTS_>
|
||||
<QMake_QT_INSTALL_QML_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/qml</QMake_QT_INSTALL_QML_>
|
||||
<QMake_QT_INSTALL_TRANSLATIONS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
|
||||
<QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
|
||||
<QMake_QT_INSTALL_EXAMPLES_>D:/Qt/Qt5.9.4/Examples/Qt-5.9.4</QMake_QT_INSTALL_EXAMPLES_>
|
||||
<QMake_QT_INSTALL_DEMOS_>D:/Qt/Qt5.9.4/Examples/Qt-5.9.4</QMake_QT_INSTALL_DEMOS_>
|
||||
<QMake_QT_HOST_PREFIX_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_HOST_PREFIX_>
|
||||
<QMake_QT_HOST_DATA_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_HOST_DATA_>
|
||||
<QMake_QT_HOST_BINS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin</QMake_QT_HOST_BINS_>
|
||||
<QMake_QT_HOST_LIBS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/lib</QMake_QT_HOST_LIBS_>
|
||||
<QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
|
||||
<QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
|
||||
<QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
|
||||
<QMake_QT_VERSION_>5.9.4</QMake_QT_VERSION_>
|
||||
<QtBkup_QtHash>jVFBagMxDPyKX5BtQtrSQw6OpG6VemUj2YVQyv7/F9UuWxZ6iQ8GYc2MNKNvRpLK9X55PrwdzvNkX3B6Or7OL+cAWSmMjb0QaKoODFeW9SG9s5BdhqL5RlAHrjStn1w5y6i5lQES5KlwIkeRA4HMsu4oCyyQGlKJ9aNXKiKuI2LayMjqC2RlsmAVoZReqRRlbHEkq1EwKgZtnsVEvfwNnviqUe8B0pzL4r47lt3LRgyu9YDttj+HnejhkfgNYbG/9Pp2+KfyN14pUTT6+QU=</QtBkup_QtHash>
|
||||
<QtVersion>5.9.4</QtVersion>
|
||||
<QtVersionMajor>5</QtVersionMajor>
|
||||
<QtVersionMinor>9</QtVersionMinor>
|
||||
<QtVersionPatch>4</QtVersionPatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@ -0,0 +1,41 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Qt_DEFINES_>_WINDOWS;WIN32;WIN64;QT_NO_DEBUG;QT_GUI_LIB;QT_CONCURRENT_LIB;QT_CORE_LIB;NDEBUG</Qt_DEFINES_>
|
||||
<Qt_INCLUDEPATH_>D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtGui;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtANGLE;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtConcurrent;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\include\QtCore;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
|
||||
<Qt_STDCPP_></Qt_STDCPP_>
|
||||
<Qt_RUNTIME_>MultiThreadedDLL</Qt_RUNTIME_>
|
||||
<Qt_CL_OPTIONS_>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding</Qt_CL_OPTIONS_>
|
||||
<Qt_LIBS_>D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\qtmain.lib;shell32.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Gui.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Concurrent.lib;D:\Qt\Qt5.9.4\5.9.4\msvc2017_64\lib\Qt5Core.lib</Qt_LIBS_>
|
||||
<Qt_LINK_OPTIONS_>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"</Qt_LINK_OPTIONS_>
|
||||
<QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
|
||||
<QMake_QT_INSTALL_PREFIX_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_INSTALL_PREFIX_>
|
||||
<QMake_QT_INSTALL_ARCHDATA_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_INSTALL_ARCHDATA_>
|
||||
<QMake_QT_INSTALL_DATA_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_INSTALL_DATA_>
|
||||
<QMake_QT_INSTALL_DOCS_>D:/Qt/Qt5.9.4/Docs/Qt-5.9.4</QMake_QT_INSTALL_DOCS_>
|
||||
<QMake_QT_INSTALL_HEADERS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/include</QMake_QT_INSTALL_HEADERS_>
|
||||
<QMake_QT_INSTALL_LIBS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/lib</QMake_QT_INSTALL_LIBS_>
|
||||
<QMake_QT_INSTALL_LIBEXECS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin</QMake_QT_INSTALL_LIBEXECS_>
|
||||
<QMake_QT_INSTALL_BINS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin</QMake_QT_INSTALL_BINS_>
|
||||
<QMake_QT_INSTALL_TESTS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/tests</QMake_QT_INSTALL_TESTS_>
|
||||
<QMake_QT_INSTALL_PLUGINS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/plugins</QMake_QT_INSTALL_PLUGINS_>
|
||||
<QMake_QT_INSTALL_IMPORTS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/imports</QMake_QT_INSTALL_IMPORTS_>
|
||||
<QMake_QT_INSTALL_QML_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/qml</QMake_QT_INSTALL_QML_>
|
||||
<QMake_QT_INSTALL_TRANSLATIONS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
|
||||
<QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
|
||||
<QMake_QT_INSTALL_EXAMPLES_>D:/Qt/Qt5.9.4/Examples/Qt-5.9.4</QMake_QT_INSTALL_EXAMPLES_>
|
||||
<QMake_QT_INSTALL_DEMOS_>D:/Qt/Qt5.9.4/Examples/Qt-5.9.4</QMake_QT_INSTALL_DEMOS_>
|
||||
<QMake_QT_HOST_PREFIX_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_HOST_PREFIX_>
|
||||
<QMake_QT_HOST_DATA_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64</QMake_QT_HOST_DATA_>
|
||||
<QMake_QT_HOST_BINS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/bin</QMake_QT_HOST_BINS_>
|
||||
<QMake_QT_HOST_LIBS_>D:/Qt/Qt5.9.4/5.9.4/msvc2017_64/lib</QMake_QT_HOST_LIBS_>
|
||||
<QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
|
||||
<QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
|
||||
<QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
|
||||
<QMake_QT_VERSION_>5.9.4</QMake_QT_VERSION_>
|
||||
<QtBkup_QtHash>jVFBagMxDPyKX5BtQtrSQw6OpG6VemUj2YVQyv7/F9UuWxZ6iQ8GYc2MNKNvRpLK9X55PrwdzvNkX3B6Or7OL+cAWSmMjb0QaKoODFeW9SG9s5BdhqL5RlAHrjStn1w5y6i5lQES5KlwIkeRA4HMsu4oCyyQGlKJ9aNXKiKuI2LayMjqC2RlsmAVoZReqRRlbHEkq1EwKgZtnsVEvfwNnviqUe8B0pzL4r47lt3LRgyu9YDttj+HnejhkfgNYbG/9Pp2+KfyN14pUTT6+QU=</QtBkup_QtHash>
|
||||
<QtVersion>5.9.4</QtVersion>
|
||||
<QtVersionMajor>5</QtVersionMajor>
|
||||
<QtVersionMinor>9</QtVersionMinor>
|
||||
<QtVersionPatch>4</QtVersionPatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@ -0,0 +1,9 @@
|
||||
.vscode
|
||||
build
|
||||
.ipynb_checkpoints
|
||||
*.a
|
||||
*.so
|
||||
*.lib
|
||||
*.dll
|
||||
*.grd
|
||||
core.*
|
||||
@ -1,12 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net461" />
|
||||
<package id="EmbedIO" version="3.5.2" targetFramework="net472" />
|
||||
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.4" targetFramework="net472" />
|
||||
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net472" />
|
||||
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
|
||||
<package id="System.IO.Pipelines" version="9.0.4" targetFramework="net472" />
|
||||
<package id="System.Memory" version="4.5.5" targetFramework="net472" />
|
||||
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net472" />
|
||||
<package id="System.Text.Encodings.Web" version="9.0.4" targetFramework="net472" />
|
||||
<package id="System.Text.Json" version="9.0.4" targetFramework="net472" />
|
||||
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
|
||||
<package id="System.ValueTuple" version="4.5.0" targetFramework="net472" />
|
||||
<package id="Unosquare.Swan.Lite" version="3.1.0" targetFramework="net472" />
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,616 @@
|
||||
|
||||
#include "StdAfx.h"
|
||||
|
||||
#include "ActionBackupItem.h"
|
||||
#include "ActionCurveEdit.h"
|
||||
#include "ActionCurveEditAddPoint.h"
|
||||
#include "ActionCurveEditDeletePoint.h"
|
||||
#include "ActionModifiedItem.h"
|
||||
#include "DrawOperator/TypeDefine.h"
|
||||
#include "HandleDrawer.h"
|
||||
#include "SigmaDoc.h"
|
||||
#include "SigmaView.h"
|
||||
|
||||
#include "CurveEditorBase.h"
|
||||
|
||||
namespace NItem {
|
||||
|
||||
CurveEditorBase::CurveEditorBase(CSigmaDoc *pDoc)
|
||||
: CItemCurve(pDoc), m_bLButtonDownWhenMouseMove(false),
|
||||
m_nHandleDrawMode(TRACKER_CIRCLE),
|
||||
m_handleDrawer(std::make_unique<HandleDrawer>(pDoc)), m_nModeX(-1),
|
||||
m_nModeY(-1) {}
|
||||
|
||||
CurveEditorBase::~CurveEditorBase(void) {}
|
||||
|
||||
void CurveEditorBase::OnDraw(CXyDC *pDC) {
|
||||
POSITION pos = GetPos();
|
||||
if (pos == 0)
|
||||
return;
|
||||
|
||||
// ?????????????????
|
||||
CCurveEx *pCurve = (CCurveEx *)GetDoc()->GetDraw()->GetAtValue(GetPos());
|
||||
}
|
||||
|
||||
void CurveEditorBase::DrawAssistant(CDC *pDC, int mouseX, int mouseY) {
|
||||
CCurveEx *pCurve = GetControlCurve();
|
||||
if (pCurve == nullptr)
|
||||
return;
|
||||
|
||||
m_handleDrawer->Init(pCurve);
|
||||
m_handleDrawer->DrawAll(pDC);
|
||||
}
|
||||
|
||||
void CurveEditorBase::OnLButtonDown(CDC *pDC, UINT nFlags, CPoint point,
|
||||
int vk) {
|
||||
SetScreenDC(pDC);
|
||||
|
||||
// ??ï“????????§ß????????????????
|
||||
if (this->GetHandleIndex() < 0) {
|
||||
if (!IsCanAddHandle(point))
|
||||
return;
|
||||
}
|
||||
|
||||
// ?????¦Å???????§Ò?
|
||||
if (NewPointList.GetCount() > 0)
|
||||
NewPointList.RemoveAll();
|
||||
|
||||
// ????????¦Ë???????????????????
|
||||
m_nLButtonDownPoint = point;
|
||||
c_down = GetDC()->GetReal(point);
|
||||
c_last = c_down;
|
||||
|
||||
// ????????????????
|
||||
this->OnDrawDragPreview();
|
||||
}
|
||||
|
||||
int CurveEditorBase::OnMouseMove(CDC *dc, UINT nFlags, CPoint point) {
|
||||
SetScreenDC(dc);
|
||||
|
||||
POSITION pos = GetPos();
|
||||
if (pos == 0)
|
||||
return 1;
|
||||
|
||||
CXyDC *pDC = GetDC();
|
||||
|
||||
if (IsDragging(nFlags)) // ??????????
|
||||
{
|
||||
HandleMouseDrag(pDC, point);
|
||||
} else {
|
||||
HandleMouseHover(dc, point);
|
||||
}
|
||||
|
||||
m_handleDrawer->DrawFocusHandle(dc, GetHandleIndex());
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void CurveEditorBase::OnLButtonUp(CDC *pDC, UINT nFlags, CPoint point, int vk) {
|
||||
SetScreenDC(pDC);
|
||||
|
||||
if (m_bLButtonDownWhenMouseMove == false)
|
||||
return;
|
||||
|
||||
m_bLButtonDownWhenMouseMove = false;
|
||||
|
||||
if (this->GetHandleIndex() < 0) {
|
||||
CPoint2D pt = GetDC()->GetReal(point);
|
||||
POSITION pos = GetDoc()->GetSelectedItem(pt);
|
||||
if (pos == GetPos())
|
||||
return;
|
||||
|
||||
EndEdit();
|
||||
return;
|
||||
}
|
||||
|
||||
c_last = GetDC()->GetReal(point);
|
||||
|
||||
// ?????????
|
||||
OnDrawDragPreview();
|
||||
|
||||
if (c_last == c_down)
|
||||
return;
|
||||
|
||||
// ??????
|
||||
OnCalculateDragEffect(nullptr);
|
||||
|
||||
SetModifiedFlag(TRUE);
|
||||
GetDoc()->Modified();
|
||||
SetHandleIndex(-1);
|
||||
ReleaseCapture();
|
||||
}
|
||||
|
||||
void CurveEditorBase::OnLButtonDblClk(UINT nFlags, CPoint point) {
|
||||
POSITION pos = GetPos();
|
||||
if (pos == nullptr)
|
||||
return;
|
||||
|
||||
COne *pOne = GetDoc()->GetDraw()->GetAt(pos);
|
||||
if (pOne == nullptr)
|
||||
return;
|
||||
|
||||
std::unique_ptr<CActionModifiedItem> pAction =
|
||||
std::make_unique<CActionModifiedItem>(GetDoc(), 0);
|
||||
pAction->BackupOldItem(pos, pOne);
|
||||
|
||||
if (GetHandleIndex() >= 0) {
|
||||
if (IsCaptureState())
|
||||
ReleaseCapture();
|
||||
int index = GetHandleIndex();
|
||||
CCurveEx *pcurve = GetControlCurve();
|
||||
CRect8 range(1e300, -1e300, -1e300, 1e300);
|
||||
for (int i = index - 1; i <= index + 1; i++) {
|
||||
if (i < 0 || i > pcurve->num - 1)
|
||||
continue;
|
||||
range.CombinRect(pcurve->x[i], pcurve->y[i], pcurve->x[i], pcurve->y[i]);
|
||||
}
|
||||
DeleteHandle(GetHandleIndex());
|
||||
SetHandleIndex(-1);
|
||||
CRect rt = GetDC()->GetScreen(range);
|
||||
CSize8 sz = GetDoc()->GetSelectSize();
|
||||
CSize size((int)sz.cx + 1, (int)sz.cy + 1);
|
||||
rt.InflateRect(size);
|
||||
} else if (IsCanAddHandle(point)) {
|
||||
int ret = AddHandle(point);
|
||||
if (ret < 0)
|
||||
return;
|
||||
}
|
||||
|
||||
pAction->BackupNewItem();
|
||||
GetDoc()->SetActionItem(pAction.release());
|
||||
GetDoc()->Modified();
|
||||
|
||||
if (GetDoc()->GetItem()->GetType() == ITEM_CURVE_EDIT) {
|
||||
EndEdit();
|
||||
}
|
||||
}
|
||||
|
||||
BOOL CurveEditorBase::OnSetCursor(CWnd *pWnd, UINT nHitTest, UINT message) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL CurveEditorBase::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) {
|
||||
switch (nChar) {
|
||||
case VK_ESCAPE:
|
||||
if (!IsCaptureState())
|
||||
break;
|
||||
OnDrawDragPreview();
|
||||
DrawSelectHandle(GetHandleIndex());
|
||||
SetHandleIndex(-1);
|
||||
ReleaseCapture();
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL CurveEditorBase::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags) {
|
||||
switch (nChar) {
|
||||
case VK_ESCAPE:
|
||||
EndEdit();
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int CurveEditorBase::GetSubMenu() { return 6; }
|
||||
|
||||
void CurveEditorBase::SetPos(POSITION pos) {
|
||||
CItem::SetPos(pos);
|
||||
m_pBakOne.reset(); // ????????
|
||||
|
||||
if (pos) {
|
||||
COne *pOne = GetDoc()->GetDraw()->GetAt(GetPos());
|
||||
m_pBakOne = std::make_unique<COne>();
|
||||
*m_pBakOne = *pOne;
|
||||
|
||||
// ???¨´????????????????????????????m_pMarkCurve??
|
||||
OnModeInitialize();
|
||||
}
|
||||
}
|
||||
|
||||
void CurveEditorBase::Clear(void) {
|
||||
m_pBakOne.reset(); // ???????
|
||||
|
||||
if (GetPos() != nullptr) {
|
||||
COne *pOne = GetDoc()->GetDraw()->GetAt(GetPos());
|
||||
CRect8 range(1e100, -1e100, -1e100, 1e100);
|
||||
pOne->GetRange(range);
|
||||
CRect rt = GetDC()->GetScreen(range);
|
||||
rt.NormalizeRect();
|
||||
rt.InflateRect(GetDoc()->GetHandleSize());
|
||||
rt.InflateRect(1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void CurveEditorBase::Draw(CDC *pDC) {
|
||||
POSITION pos = GetPos();
|
||||
if (pos == 0)
|
||||
return;
|
||||
CCurveEx *pValue = GetControlCurve();
|
||||
DrawHandlesByCDC(pDC, pValue);
|
||||
}
|
||||
|
||||
int CurveEditorBase::GetNumberOfNode() {
|
||||
CCurveEx *pc = GetControlCurve();
|
||||
if (pc == 0)
|
||||
return -1;
|
||||
return pc->num;
|
||||
}
|
||||
|
||||
void CurveEditorBase::EreaseHandles(CDC *pDC) { m_handleDrawer->ClearAll(pDC); }
|
||||
|
||||
// ========== ????????????????==========
|
||||
|
||||
void CurveEditorBase::EndEdit(void) {
|
||||
if (GetPos() == nullptr)
|
||||
return;
|
||||
COne *pOne = GetDoc()->GetDraw()->GetAt(GetPos());
|
||||
|
||||
CRect8 range(1e100, -1e100, -1e100, 1e100);
|
||||
pOne->GetRange(range);
|
||||
CRect rt = GetDC()->GetScreen(range);
|
||||
rt.NormalizeRect();
|
||||
rt.InflateRect(GetDoc()->GetHandleSize());
|
||||
rt.InflateRect(1, 1);
|
||||
|
||||
if (((CCurveEx *)pOne->GetValue())->num < 2) {
|
||||
if (::AfxMessageBox(IDS_STRING_CURVE_ONLY_ONE_POINT,
|
||||
MB_YESNO | MB_ICONQUESTION) == IDYES) {
|
||||
*pOne = *m_pBakOne;
|
||||
CPositionList list;
|
||||
list.AddTail(GetPos());
|
||||
CItem::SetPos(nullptr);
|
||||
GetDoc()->InvalidateDelete(list);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (IsModified()) {
|
||||
CActionItem *pAction =
|
||||
new CActionModifiedItem(GetDoc(), IDS_STRING_TOOLBAR_EDIT);
|
||||
((CActionModifiedItem *)pAction)->BackupOldItem(GetPos(), m_pBakOne.get());
|
||||
GetDoc()->SetActionItem(pAction);
|
||||
}
|
||||
}
|
||||
|
||||
void CurveEditorBase::CancelAll(void) {
|
||||
if (m_pBakOne) {
|
||||
COne *pOne = GetDoc()->GetDraw()->GetAt(GetPos());
|
||||
*pOne = *m_pBakOne;
|
||||
GetMarkCurve();
|
||||
}
|
||||
}
|
||||
|
||||
BOOL CurveEditorBase::IsCanCancelAll(void) {
|
||||
return m_pBakOne != nullptr ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
void CurveEditorBase::GetXY(CCurveEx *pValue, int nIndex, dfPoint &point) {
|
||||
pValue->GetPoint(nIndex, point);
|
||||
}
|
||||
|
||||
CCurveEx *CurveEditorBase::GetControlCurve(void) {
|
||||
POSITION pos = GetPos();
|
||||
if (pos == nullptr)
|
||||
return nullptr;
|
||||
return (CCurveEx *)GetDoc()->GetDraw()->GetAtValue(pos);
|
||||
}
|
||||
|
||||
int CurveEditorBase::HitTestHandle(CPoint point) {
|
||||
return HitTestHandle(GetControlCurve(), point);
|
||||
}
|
||||
|
||||
int CurveEditorBase::HitTestHandle(CCurveEx *pValue, CPoint point) {
|
||||
if (pValue == nullptr)
|
||||
return -1;
|
||||
|
||||
CRect rt;
|
||||
for (int i = 0; i < pValue->num; i++) {
|
||||
rt = GetDoc()->m_itemTracker.GetHandleRect(GetDC()->GetSX(pValue->x[i]),
|
||||
GetDC()->GetSY(pValue->y[i]));
|
||||
if (rt.PtInRect(point))
|
||||
return i;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool CurveEditorBase::IsDragging(int nFlags) const { return nFlags & 1; }
|
||||
|
||||
int CurveEditorBase::HandleMouseDrag(CXyDC *pDC, CPoint point) {
|
||||
m_bLButtonDownWhenMouseMove = true;
|
||||
|
||||
// ?????????????????????????????????????????????????
|
||||
int i = GetHandleIndex();
|
||||
if (i < 0) {
|
||||
CSize8 sz = GetDoc()->GetSelectSize();
|
||||
if (AfxGetPublicFunction()->Distance(m_nLButtonDownPoint.x,
|
||||
m_nLButtonDownPoint.y, point.x,
|
||||
point.y) > sz.cx) {
|
||||
i = AddHandle(m_nLButtonDownPoint);
|
||||
if (i < 0)
|
||||
return 1;
|
||||
|
||||
SetHandleIndex(i);
|
||||
c_down = GetDC()->GetReal(m_nLButtonDownPoint);
|
||||
c_last = c_down;
|
||||
|
||||
// ????¦Ë????????
|
||||
OnDrawDragPreview();
|
||||
} else
|
||||
return 1;
|
||||
}
|
||||
|
||||
// ????????¦Å????
|
||||
OnDrawDragPreview();
|
||||
|
||||
// ????¦Ë??
|
||||
c_last = pDC->GetReal(point);
|
||||
|
||||
CPointList list;
|
||||
OnCalculateDragEffect(&list);
|
||||
|
||||
// ?????¦Ì???????????o?? NewPointList??
|
||||
OnDrawDragPreview();
|
||||
CString str, string;
|
||||
auto curve = std::make_unique<CCurveEx>();
|
||||
curve->SetPoints(list, 2);
|
||||
COne *pOne = GetDoc()->GetDraw()->GetAt(GetPos());
|
||||
CCurveEx *pValue = (CCurveEx *)pOne->GetValue();
|
||||
|
||||
OnDragMove(GetHandleIndex(), c_last);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int CurveEditorBase::HandleMouseHover(CDC *dc, CPoint point) {
|
||||
// ???????????????????
|
||||
CCurveEx *pValue = GetControlCurve();
|
||||
if (pValue == 0) {
|
||||
SetHandleIndex(-1);
|
||||
int handleIndex = m_handleDrawer->EreaseFocusHandle(dc);
|
||||
m_handleDrawer->DrawOneHandle(dc, handleIndex);
|
||||
} else {
|
||||
int i = HitTestHandle(pValue, point);
|
||||
if (i >= 0) {
|
||||
SetHandleIndex(i);
|
||||
} else {
|
||||
SetHandleIndex(-1);
|
||||
int handleIndex = m_handleDrawer->EreaseFocusHandle(dc);
|
||||
m_handleDrawer->DrawOneHandle(dc, handleIndex);
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void CurveEditorBase::DeleteHandle(int nIndex) {
|
||||
CCurveEx *pValue = GetControlCurve();
|
||||
BOOL bAttachProcess = TRUE;
|
||||
CPointList oldPoints;
|
||||
CPointList newPoints;
|
||||
|
||||
if (bAttachProcess) {
|
||||
dfPoint pt;
|
||||
if (nIndex != 0) {
|
||||
pValue->GetPoint(nIndex - 1, pt);
|
||||
oldPoints.AddTail(pt);
|
||||
newPoints.AddTail(pt);
|
||||
}
|
||||
pValue->GetPoint(nIndex, pt);
|
||||
oldPoints.AddTail(pt);
|
||||
if (nIndex < pValue->num - 1) {
|
||||
pValue->GetPoint(nIndex + 1, pt);
|
||||
oldPoints.AddTail(pt);
|
||||
newPoints.AddTail(pt);
|
||||
}
|
||||
}
|
||||
|
||||
PointList.RemoveAll();
|
||||
dfPoint dd;
|
||||
for (int i = 0; i < pValue->num; i++) {
|
||||
dd.x0 = pValue->x[i];
|
||||
dd.y0 = pValue->y[i];
|
||||
dd.z0 = pValue->z[i];
|
||||
dd.l = pValue->l[i];
|
||||
if (i == nIndex)
|
||||
continue;
|
||||
PointList.AddTail(dd);
|
||||
}
|
||||
pValue->SetPoints(PointList, pValue->nPoint, pValue->bAutoLocation);
|
||||
PointList.RemoveAll();
|
||||
SetModifiedFlag(TRUE);
|
||||
|
||||
this->SetHandleIndex(-1);
|
||||
|
||||
if (bAttachProcess) {
|
||||
if (oldPoints.GetCount() > 0)
|
||||
AttachProcess(oldPoints, newPoints);
|
||||
}
|
||||
}
|
||||
|
||||
int CurveEditorBase::AddHandle(double l0) {
|
||||
CCurveEx *pValue = (CCurveEx *)GetDoc()->GetDraw()->GetAtValue(GetPos());
|
||||
dfPoint add;
|
||||
add.l = l0;
|
||||
pValue->GetCoordinate(add.l, add.x0, add.y0, add.z0);
|
||||
return AddHandle(pValue, add);
|
||||
}
|
||||
|
||||
int CurveEditorBase::AddHandle(CCurveEx *pValue, dfPoint add) {
|
||||
if (pValue == nullptr)
|
||||
return -1;
|
||||
|
||||
int nIndex = -1;
|
||||
PointList.RemoveAll();
|
||||
if (add.l < pValue->l[0]) {
|
||||
pValue->GetPoint(PointList);
|
||||
PointList.AddHead(add);
|
||||
nIndex = 0;
|
||||
} else if (add.l > pValue->l[pValue->num - 1]) {
|
||||
pValue->GetPoint(PointList);
|
||||
PointList.AddTail(add);
|
||||
nIndex = (int)PointList.GetCount() - 1;
|
||||
} else {
|
||||
dfPoint dd;
|
||||
for (int i = 0; i < pValue->num; i++) {
|
||||
dd.x0 = pValue->x[i];
|
||||
dd.y0 = pValue->y[i];
|
||||
dd.z0 = pValue->z[i];
|
||||
dd.l = pValue->l[i];
|
||||
PointList.AddTail(dd);
|
||||
if (i == pValue->num - 1)
|
||||
break;
|
||||
if (add.l > pValue->l[i] && add.l < pValue->l[i + 1]) {
|
||||
PointList.AddTail(add);
|
||||
nIndex = i + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pValue->SetPoints(PointList, pValue->nPoint, pValue->bAutoLocation);
|
||||
PointList.RemoveAll();
|
||||
GetDoc()->Modified();
|
||||
SetModifiedFlag(TRUE);
|
||||
return nIndex;
|
||||
}
|
||||
|
||||
int CurveEditorBase::AddHandle(CPoint point) {
|
||||
double l0;
|
||||
if (!IsCanAddHandle(point, &l0))
|
||||
return -1;
|
||||
return AddHandle(l0);
|
||||
}
|
||||
|
||||
BOOL CurveEditorBase::IsCanAddHandle(CPoint point, double *pl0) {
|
||||
POSITION pos = GetPos();
|
||||
if (pos == nullptr)
|
||||
return FALSE;
|
||||
|
||||
CCurveEx *pValue = (CCurveEx *)GetDoc()->GetDraw()->GetAtValue(pos);
|
||||
if (pValue == nullptr)
|
||||
return FALSE;
|
||||
|
||||
CPoint2D pt = GetDC()->GetReal(point);
|
||||
double l0;
|
||||
double dis = pValue->PointDistance(pt.x0, pt.y0, l0);
|
||||
CSize8 sz = GetDoc()->GetSelectSize();
|
||||
int dx = GetDC()->GetScreenWidth(dis);
|
||||
int dy = GetDC()->GetScreenHeight(dis);
|
||||
if (pl0)
|
||||
*pl0 = l0;
|
||||
if (dx > sz.cx || dy > sz.cy)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void CurveEditorBase::AttachProcess(CPointList &oldPoints,
|
||||
CPointList &newPoints) {}
|
||||
|
||||
void CurveEditorBase::DrawMoveLine(void) { OnDrawDragPreview(); }
|
||||
|
||||
void CurveEditorBase::GetMarkCurve(void) {}
|
||||
|
||||
CPoint2D CurveEditorBase::GetCDown() const { return c_down; }
|
||||
|
||||
CPoint2D CurveEditorBase::GetCLast() const { return c_last; }
|
||||
|
||||
void CurveEditorBase::DrawHandle(CXyDC *pDC, CCurveEx *pCurve) {
|
||||
if (pCurve == nullptr)
|
||||
return;
|
||||
|
||||
CPoint ptPrev;
|
||||
CRect rt;
|
||||
dfPoint pt;
|
||||
CPoint point;
|
||||
for (int i = 0; i < pCurve->num; i++) {
|
||||
GetXY(pCurve, i, pt);
|
||||
point.x = pDC->GetSX(pt.x0);
|
||||
point.y = pDC->GetSY(pt.y0);
|
||||
if (i > 0) {
|
||||
if (point.x == ptPrev.x && point.y == ptPrev.y && i != GetHandleIndex())
|
||||
continue;
|
||||
}
|
||||
if (i == GetHandleIndex()) {
|
||||
if (i == 0)
|
||||
rt = GetFirstNodeHandleRectFocus(point);
|
||||
else
|
||||
rt = GetDoc()->m_itemTracker.GetHandleRectFocus(point);
|
||||
} else {
|
||||
if (i == 0)
|
||||
rt = GetDoc()->m_itemTracker.GetHandleRectFocus(point);
|
||||
else
|
||||
rt = GetDoc()->m_itemTracker.GetHandleRect(point);
|
||||
}
|
||||
GetDoc()->m_itemTracker.DrawHandle(m_pScreenDC, rt, TRACKER_CIRCLE);
|
||||
ptPrev = point;
|
||||
}
|
||||
}
|
||||
|
||||
void CurveEditorBase::DrawHandlesByCDC(CDC *pDC, CCurveEx *pCurve) {
|
||||
if (pCurve == nullptr)
|
||||
return;
|
||||
m_handleDrawer->ClearAll(pDC);
|
||||
m_handleDrawer->Init(pCurve);
|
||||
m_handleDrawer->DrawAll(pDC);
|
||||
}
|
||||
|
||||
void CurveEditorBase::DrawSelectHandle(int nHandle) {
|
||||
CCurveEx *pValue = GetControlCurve();
|
||||
if (pValue == nullptr)
|
||||
return;
|
||||
if (nHandle < 0 || nHandle >= pValue->num)
|
||||
return;
|
||||
|
||||
CPoint point;
|
||||
point.x = GetDC()->GetSX(pValue->x[nHandle]);
|
||||
point.y = GetDC()->GetSY(pValue->y[nHandle]);
|
||||
CRect rt;
|
||||
if (nHandle == 0)
|
||||
rt = GetDoc()->m_itemTracker.GetHandleRectFocus(point);
|
||||
else
|
||||
rt = GetDoc()->m_itemTracker.GetHandleRect(point);
|
||||
|
||||
GetDoc()->m_itemTracker.DrawHandle(m_pScreenDC, rt, m_nHandleDrawMode);
|
||||
if (nHandle == 0)
|
||||
rt = GetFirstNodeHandleRectFocus(point);
|
||||
else
|
||||
rt = GetDoc()->m_itemTracker.GetHandleRectFocus(point);
|
||||
|
||||
GetDoc()->m_itemTracker.DrawHandle(m_pScreenDC, rt, m_nHandleDrawMode);
|
||||
}
|
||||
|
||||
CRect CurveEditorBase::GetRangeWidthIndex(int nIndex) {
|
||||
CCurveEx *pValue = GetControlCurve();
|
||||
if (pValue == nullptr || nIndex < 0 || nIndex >= pValue->num) {
|
||||
return CRect(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
CRect8 rt(pValue->x[nIndex], pValue->y[nIndex], pValue->x[nIndex],
|
||||
pValue->y[nIndex]);
|
||||
if (nIndex > 0)
|
||||
rt.CombinRect(pValue->x[nIndex - 1], pValue->y[nIndex - 1],
|
||||
pValue->x[nIndex - 1], pValue->y[nIndex - 1]);
|
||||
if (nIndex < pValue->num - 1)
|
||||
rt.CombinRect(pValue->x[nIndex + 1], pValue->y[nIndex + 1],
|
||||
pValue->x[nIndex + 1], pValue->y[nIndex + 1]);
|
||||
CRect rect = GetDC()->GetScreen(rt);
|
||||
rect.InflateRect(GetDoc()->GetHandleSize());
|
||||
return rect;
|
||||
}
|
||||
|
||||
CRect CurveEditorBase::GetFirstNodeHandleRectFocus(CPoint point) {
|
||||
CRect rt = GetDoc()->m_itemTracker.GetHandleRectFocus(point);
|
||||
rt.InflateRect(1, 1);
|
||||
return rt;
|
||||
}
|
||||
|
||||
void CurveEditorBase::SetDrawMode(int nModeX, int nModeY) {
|
||||
m_nModeX = nModeX;
|
||||
m_nModeY = nModeY;
|
||||
}
|
||||
|
||||
int CurveEditorBase::GetOffsetMode(void) {
|
||||
return GetDoc()->GetEditLineStatus() % 4;
|
||||
}
|
||||
|
||||
}; // namespace NItem
|
||||
@ -0,0 +1,163 @@
|
||||
#include "StdAfx.h"
|
||||
#include "CurveEditorCosine.h"
|
||||
#include "SigmaDoc.h"
|
||||
|
||||
namespace NItem
|
||||
{
|
||||
|
||||
void CurveEditorCosine::OnDrawDragPreview()
|
||||
{
|
||||
if (NewPointList.IsEmpty()) return;
|
||||
|
||||
CXyDC* pDC = GetDC();
|
||||
CPen pen(PS_SOLID, 0, DRAG_LINE_COLOR);
|
||||
CPen* op = m_pScreenDC->SelectObject(&pen);
|
||||
int od = m_pScreenDC->SetROP2(R2_NOTXORPEN);
|
||||
|
||||
dfPoint dp1, dp2;
|
||||
POSITION pos;
|
||||
|
||||
dp1 = NewPointList.GetHead();
|
||||
|
||||
pos = NewPointList.GetHeadPosition();
|
||||
if (pos) NewPointList.GetNext(pos);
|
||||
while (pos)
|
||||
{
|
||||
dp2 = NewPointList.GetNext(pos);
|
||||
|
||||
CPoint ptS1 = pDC->GetScreen(dp1);
|
||||
m_pScreenDC->MoveTo(ptS1);
|
||||
CPoint ptS2 = pDC->GetScreen(dp2);
|
||||
m_pScreenDC->LineTo(ptS2);
|
||||
|
||||
dp1 = dp2;
|
||||
}
|
||||
m_pScreenDC->SetROP2(od);
|
||||
m_pScreenDC->SelectObject(op);
|
||||
}
|
||||
|
||||
void CurveEditorCosine::OnCalculateDragEffect(CPointList* pList)
|
||||
{
|
||||
BOOL bRedraw = TRUE;
|
||||
BOOL bAttachProcess = TRUE;
|
||||
CCurveEx* pValue = (CCurveEx*)GetDoc()->GetDraw()->GetAtValue(GetPos());
|
||||
|
||||
if (pList)
|
||||
{
|
||||
CCurveEx* pc = new CCurveEx;
|
||||
*pc = *pValue;
|
||||
pValue = pc;
|
||||
bRedraw = FALSE;
|
||||
bAttachProcess = FALSE;
|
||||
}
|
||||
|
||||
CPointList oldPoints;
|
||||
CPointList newPoints;
|
||||
dfPoint pt;
|
||||
|
||||
// ?????????????????§ß??
|
||||
int begin, end;
|
||||
GetDragPoint(c_last, NewPointList, begin, end);
|
||||
|
||||
// ???????????????????
|
||||
POSITION pos = NewPointList.GetHeadPosition();
|
||||
for (int i = begin; i <= end && pos; i++)
|
||||
{
|
||||
dfPoint dp = NewPointList.GetNext(pos);
|
||||
|
||||
// ?????????
|
||||
if (bAttachProcess)
|
||||
{
|
||||
pValue->GetPoint(i, pt);
|
||||
oldPoints.AddTail(pt);
|
||||
}
|
||||
|
||||
// ????????
|
||||
pValue->x[i] = dp.x0;
|
||||
pValue->y[i] = dp.y0;
|
||||
|
||||
// ?????????
|
||||
if (bAttachProcess)
|
||||
{
|
||||
pValue->GetPoint(i, pt);
|
||||
newPoints.AddTail(pt);
|
||||
}
|
||||
}
|
||||
if (pValue->bAutoLocation) pValue->GetLocation();
|
||||
|
||||
// ??????
|
||||
if (bAttachProcess)
|
||||
{
|
||||
if (oldPoints.GetCount() > 0)
|
||||
AttachProcess(oldPoints, newPoints);
|
||||
}
|
||||
|
||||
if (pList)
|
||||
{
|
||||
pValue->GetPoint(*pList);
|
||||
delete pValue;
|
||||
}
|
||||
}
|
||||
|
||||
double CurveEditorCosine::GetPointOffset(double offset)
|
||||
{
|
||||
// ????????????????????§³??????????????
|
||||
offset = 1.0 + cos(PI * offset);
|
||||
offset *= offset * 0.25;
|
||||
return offset;
|
||||
}
|
||||
|
||||
void CurveEditorCosine::GetDragPoint(CPoint2D& dp, CPointList& NewPointList, int& begin, int& end)
|
||||
{
|
||||
int i = GetHandleIndex();
|
||||
if (i < 0) return;
|
||||
NewPointList.RemoveAll();
|
||||
CCurveEx* pValue = (CCurveEx*)GetDoc()->GetDraw()->GetAtValue(GetPos());
|
||||
dfPoint cp, t;
|
||||
double distance, x0, y0, d;
|
||||
int j;
|
||||
begin = i;
|
||||
end = i;
|
||||
distance = 9; // ??????9????¦Ë
|
||||
GetXY(pValue, i, cp);
|
||||
|
||||
// ????????????????????
|
||||
for (j = i; j >= 0; j--)
|
||||
{
|
||||
GetXY(pValue, j, t);
|
||||
d = fabs(t.l - cp.l);
|
||||
begin = j;
|
||||
if (d >= distance)
|
||||
{
|
||||
NewPointList.AddHead(t);
|
||||
break;
|
||||
}
|
||||
// ??????????
|
||||
x0 = GetPointOffset(d / distance);
|
||||
y0 = (x0) * (dp.y0 - cp.y0);
|
||||
x0 = (x0) * (dp.x0 - cp.x0);
|
||||
t.Offset(x0, y0);
|
||||
NewPointList.AddHead(t);
|
||||
}
|
||||
|
||||
// ????????????????????????????
|
||||
for (j = i + 1; j < pValue->num; j++)
|
||||
{
|
||||
GetXY(pValue, j, t);
|
||||
d = fabs(t.l - cp.l);
|
||||
end = j;
|
||||
if (d >= distance)
|
||||
{
|
||||
NewPointList.AddTail(t);
|
||||
break;
|
||||
}
|
||||
// ??????????
|
||||
x0 = GetPointOffset(d / distance);
|
||||
y0 = (x0) * (dp.y0 - cp.y0);
|
||||
x0 = (x0) * (dp.x0 - cp.x0);
|
||||
t.Offset(x0, y0);
|
||||
NewPointList.AddTail(t);
|
||||
}
|
||||
}
|
||||
|
||||
}; // namespace
|
||||
@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
#include "CurveEditorBase.h"
|
||||
|
||||
namespace NItem
|
||||
{
|
||||
|
||||
/*
|
||||
* ???????????????????¦¶??????????
|
||||
*
|
||||
* ???????
|
||||
* 1. ???????????¦¶??????????????????????????
|
||||
* 2. ????????????????????????
|
||||
* 3. ?????????????????Default?????
|
||||
*/
|
||||
class CurveEditorCosine : public CurveEditorBase
|
||||
{
|
||||
public:
|
||||
CurveEditorCosine(CSigmaDoc* pDoc)
|
||||
: CurveEditorBase(pDoc) {}
|
||||
virtual ~CurveEditorCosine(void) {}
|
||||
|
||||
protected:
|
||||
// ??????????????????????????
|
||||
void OnDrawDragPreview() override;
|
||||
|
||||
// ???????????????????¦¶???????????????
|
||||
void OnCalculateDragEffect(CPointList* pList) override;
|
||||
|
||||
private:
|
||||
// ???????????????
|
||||
double GetPointOffset(double offset); // ??????????
|
||||
void GetDragPoint(CPoint2D& dp, CPointList& NewPointList, int& begin, int& end);
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
@ -0,0 +1,151 @@
|
||||
#include "StdAfx.h"
|
||||
#include "CurveEditorDefault.h"
|
||||
#include "SigmaDoc.h"
|
||||
#include "ActionCurveEdit.h"
|
||||
|
||||
namespace NItem
|
||||
{
|
||||
|
||||
void CurveEditorDefault::OnDrawDragPreview()
|
||||
{
|
||||
// ========== ??????????????????? ==========
|
||||
int i = GetHandleIndex();
|
||||
if (i < 0) return;
|
||||
|
||||
CCurveEx* pValue = GetControlCurve();
|
||||
if (pValue == nullptr || i >= pValue->num)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
CXyDC* pDC = GetDC();
|
||||
CPen pen(PS_SOLID, 0, DRAG_LINE_COLOR);
|
||||
CPen* op = (CPen*)m_pScreenDC->SelectObject(&pen);
|
||||
int od = m_pScreenDC->SetROP2(R2_NOTXORPEN);
|
||||
|
||||
double dx = c_last.x0 - c_down.x0;
|
||||
double dy = c_last.y0 - c_down.y0;
|
||||
dfPoint pt;
|
||||
|
||||
// ????????????????????????
|
||||
if (i > 0)
|
||||
{
|
||||
GetXY(pValue, i - 1, pt);
|
||||
CPoint ptS1 = pDC->GetScreen(pt);
|
||||
m_pScreenDC->MoveTo(ptS1);
|
||||
|
||||
GetXY(pValue, i, pt);
|
||||
pt.x0 += dx;
|
||||
pt.y0 += dy;
|
||||
CPoint ptS2 = pDC->GetScreen(pt);
|
||||
m_pScreenDC->LineTo(ptS2.x, ptS2.y);
|
||||
}
|
||||
|
||||
// ?????????????????????????
|
||||
if (i < pValue->num - 1)
|
||||
{
|
||||
GetXY(pValue, i + 1, pt);
|
||||
CPoint ptS1 = pDC->GetScreen(pt);
|
||||
m_pScreenDC->MoveTo(ptS1);
|
||||
|
||||
GetXY(pValue, i, pt);
|
||||
pt.x0 += dx;
|
||||
pt.y0 += dy;
|
||||
CPoint ptS2 = pDC->GetScreen(pt);
|
||||
m_pScreenDC->LineTo(ptS2.x, ptS2.y);
|
||||
}
|
||||
|
||||
m_pScreenDC->SetROP2(od);
|
||||
m_pScreenDC->SelectObject(op);
|
||||
}
|
||||
|
||||
void CurveEditorDefault::OnCalculateDragEffect(CPointList* pList)
|
||||
{
|
||||
// pList != nullptr???????????????????????????????????
|
||||
// pList == nullptr???????????????? Undo/Redo ??????
|
||||
BOOL bRedraw = TRUE;
|
||||
BOOL bAttachProcess = TRUE; // ??????????
|
||||
CCurveEx* pValue = (CCurveEx*)GetDoc()->GetDraw()->GetAtValue(GetPos());
|
||||
|
||||
if (pList)
|
||||
{
|
||||
// ??????????????????
|
||||
CCurveEx* pc = new CCurveEx;
|
||||
*pc = *pValue;
|
||||
pValue = pc;
|
||||
bRedraw = FALSE;
|
||||
bAttachProcess = FALSE;
|
||||
}
|
||||
|
||||
CPointList oldPoints; // ???????????????????????
|
||||
CPointList newPoints; // ???????????????????????
|
||||
dfPoint pt;
|
||||
CRect rt;
|
||||
|
||||
// ========== ??????????????????? ==========
|
||||
int i = GetHandleIndex();
|
||||
if (bRedraw)
|
||||
{
|
||||
// ??????????? GetRangeWidthIndex????????????????
|
||||
// rt = GetRangeWidthIndex(i);
|
||||
}
|
||||
|
||||
// ??????????????????
|
||||
if (bAttachProcess)
|
||||
{
|
||||
if (i - 1 >= 0)
|
||||
{
|
||||
pValue->GetPoint(i - 1, pt); oldPoints.AddTail(pt);
|
||||
}
|
||||
pValue->GetPoint(i, pt); oldPoints.AddTail(pt);
|
||||
if (i + 1 <= pValue->num - 1)
|
||||
{
|
||||
pValue->GetPoint(i + 1, pt); oldPoints.AddTail(pt);
|
||||
}
|
||||
}
|
||||
|
||||
CActionCurveEdit* pAction = 0;
|
||||
if (pList == nullptr)
|
||||
{
|
||||
pAction = new CActionCurveEdit(GetDoc(), 0, GetPos());
|
||||
pAction->BackupUndoNode(i, pValue->x[i], pValue->y[i]);
|
||||
}
|
||||
|
||||
pValue->x[i] += (c_last.x0 - c_down.x0);
|
||||
pValue->y[i] += (c_last.y0 - c_down.y0);
|
||||
if (pValue->bAutoLocation) pValue->GetLocation();
|
||||
|
||||
if (pList == nullptr)
|
||||
{
|
||||
pAction->BackupRedoNode(i, pValue->x[i], pValue->y[i]);
|
||||
GetDoc()->SetActionItem(pAction);
|
||||
}
|
||||
|
||||
if (bAttachProcess)
|
||||
{
|
||||
// ???????????????????
|
||||
if (i - 1 >= 0)
|
||||
{
|
||||
pValue->GetPoint(i - 1, pt); newPoints.AddTail(pt);
|
||||
}
|
||||
pValue->GetPoint(i, pt); newPoints.AddTail(pt);
|
||||
if (i + 1 <= pValue->num - 1)
|
||||
{
|
||||
pValue->GetPoint(i + 1, pt); newPoints.AddTail(pt);
|
||||
}
|
||||
AttachProcess(oldPoints, newPoints);
|
||||
}
|
||||
|
||||
if (bRedraw)
|
||||
{
|
||||
// rt = GetRangeWidthIndex(i);
|
||||
}
|
||||
|
||||
if (pList)
|
||||
{
|
||||
pValue->GetPoint(*pList);
|
||||
delete pValue;
|
||||
}
|
||||
}
|
||||
|
||||
}; // namespace
|
||||
@ -0,0 +1,33 @@
|
||||
#pragma once
|
||||
#include "CurveEditorBase.h"
|
||||
|
||||
namespace NItem
|
||||
{
|
||||
|
||||
/*
|
||||
* ???????????????????
|
||||
*
|
||||
* ???????
|
||||
* 1. ???????????????????Śś???
|
||||
* 2. ???????????ŚĹ???????????????
|
||||
* 3. ???????????????
|
||||
*/
|
||||
class CurveEditorDefault : public CurveEditorBase
|
||||
{
|
||||
public:
|
||||
CurveEditorDefault(CSigmaDoc* pDoc)
|
||||
: CurveEditorBase(pDoc) {}
|
||||
virtual ~CurveEditorDefault(void) {}
|
||||
|
||||
protected:
|
||||
// ========== ?????2???????????? ==========
|
||||
// ??????????????????ڞ?????????????????
|
||||
void OnDrawDragPreview() override;
|
||||
|
||||
// ========== ?????3?????????§š?? ==========
|
||||
// ???????????????????
|
||||
void OnCalculateDragEffect(CPointList* pList) override;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
@ -0,0 +1,174 @@
|
||||
#include "StdAfx.h"
|
||||
#include "CurveEditorLinear.h"
|
||||
#include "SigmaDoc.h"
|
||||
|
||||
namespace NItem
|
||||
{
|
||||
|
||||
|
||||
void CurveEditorLinear::OnDrawDragPreview()
|
||||
{
|
||||
if (NewPointList.IsEmpty()) return;
|
||||
|
||||
CXyDC* pDC = GetDC();
|
||||
CPen pen(PS_SOLID, 0, DRAG_LINE_COLOR);
|
||||
CPen* op = m_pScreenDC->SelectObject(&pen);
|
||||
int od = m_pScreenDC->SetROP2(R2_NOTXORPEN);
|
||||
|
||||
dfPoint dp1, dp2;
|
||||
POSITION pos;
|
||||
|
||||
dp1 = NewPointList.GetHead();
|
||||
|
||||
pos = NewPointList.GetHeadPosition();
|
||||
if (pos) NewPointList.GetNext(pos);
|
||||
while (pos)
|
||||
{
|
||||
dp2 = NewPointList.GetNext(pos);
|
||||
|
||||
CPoint ptS1 = pDC->GetScreen(dp1);
|
||||
m_pScreenDC->MoveTo(ptS1);
|
||||
CPoint ptS2 = pDC->GetScreen(dp2);
|
||||
m_pScreenDC->LineTo(ptS2);
|
||||
|
||||
dp1 = dp2;
|
||||
}
|
||||
m_pScreenDC->SetROP2(od);
|
||||
m_pScreenDC->SelectObject(op);
|
||||
}
|
||||
|
||||
void CurveEditorLinear::OnCalculateDragEffect(CPointList* pList)
|
||||
{
|
||||
// ========== ???????????????????¦¶??? ==========
|
||||
BOOL bRedraw = TRUE;
|
||||
BOOL bAttachProcess = TRUE;
|
||||
CCurveEx* pValue = (CCurveEx*)GetDoc()->GetDraw()->GetAtValue(GetPos());
|
||||
|
||||
if (pList)
|
||||
{
|
||||
CCurveEx* pc = new CCurveEx;
|
||||
*pc = *pValue;
|
||||
pValue = pc;
|
||||
bRedraw = FALSE;
|
||||
bAttachProcess = FALSE;
|
||||
}
|
||||
|
||||
CPointList oldPoints;
|
||||
CPointList newPoints;
|
||||
dfPoint pt;
|
||||
|
||||
// ?????????????????§ß??
|
||||
int begin, end;
|
||||
GetDragPoint(c_last, NewPointList, begin, end);
|
||||
|
||||
// ???????????????????
|
||||
POSITION pos = NewPointList.GetHeadPosition();
|
||||
for (int i = begin; i <= end && pos; i++)
|
||||
{
|
||||
dfPoint dp = NewPointList.GetNext(pos);
|
||||
|
||||
// ?????????
|
||||
if (bAttachProcess)
|
||||
{
|
||||
pValue->GetPoint(i, pt);
|
||||
oldPoints.AddTail(pt);
|
||||
}
|
||||
|
||||
// ????????
|
||||
pValue->x[i] = dp.x0;
|
||||
pValue->y[i] = dp.y0;
|
||||
|
||||
// ?????????
|
||||
if (bAttachProcess)
|
||||
{
|
||||
pValue->GetPoint(i, pt);
|
||||
newPoints.AddTail(pt);
|
||||
}
|
||||
}
|
||||
if (pValue->bAutoLocation) pValue->GetLocation();
|
||||
|
||||
// ??????
|
||||
if (bAttachProcess)
|
||||
{
|
||||
if (oldPoints.GetCount() > 0)
|
||||
AttachProcess(oldPoints, newPoints);
|
||||
}
|
||||
|
||||
if (pList)
|
||||
{
|
||||
pValue->GetPoint(*pList);
|
||||
delete pValue;
|
||||
}
|
||||
}
|
||||
|
||||
double CurveEditorLinear::GetPointOffset(double offset, int nMode)
|
||||
{
|
||||
// ????????????????????§³
|
||||
switch (nMode)
|
||||
{
|
||||
case DRAG_NODE_LINE:
|
||||
offset = 1.0 - offset; // ???????
|
||||
break;
|
||||
case DRAG_NODE_COS:
|
||||
// ?????????????????????????????????????????
|
||||
offset = 1.0 + cos(PI * offset);
|
||||
offset *= offset * 0.25;
|
||||
break;
|
||||
}
|
||||
return offset;
|
||||
}
|
||||
|
||||
void CurveEditorLinear::GetDragPoint(CPoint2D& dp, CPointList& NewPointList, int& begin, int& end)
|
||||
{
|
||||
int i = GetHandleIndex();
|
||||
if (i < 0) return;
|
||||
NewPointList.RemoveAll();
|
||||
CCurveEx* pValue = (CCurveEx*)GetDoc()->GetDraw()->GetAtValue(GetPos());
|
||||
dfPoint cp, t;
|
||||
double distance, x0, y0, d;
|
||||
int j;
|
||||
begin = i;
|
||||
end = i;
|
||||
distance = 9; // ??????9????¦Ë
|
||||
GetXY(pValue, i, cp);
|
||||
|
||||
// ????????????????????
|
||||
for (j = i; j >= 0; j--)
|
||||
{
|
||||
GetXY(pValue, j, t);
|
||||
d = fabs(t.l - cp.l);
|
||||
begin = j;
|
||||
if (d >= distance)
|
||||
{
|
||||
NewPointList.AddHead(t);
|
||||
break;
|
||||
}
|
||||
// ??????????
|
||||
x0 = GetPointOffset(d / distance, GetOffsetMode());
|
||||
y0 = (x0) * (dp.y0 - cp.y0);
|
||||
x0 = (x0) * (dp.x0 - cp.x0);
|
||||
t.Offset(x0, y0);
|
||||
NewPointList.AddHead(t);
|
||||
}
|
||||
|
||||
// ????????????????????????????
|
||||
for (j = i + 1; j < pValue->num; j++)
|
||||
{
|
||||
GetXY(pValue, j, t);
|
||||
d = fabs(t.l - cp.l);
|
||||
end = j;
|
||||
if (d >= distance)
|
||||
{
|
||||
NewPointList.AddTail(t);
|
||||
break;
|
||||
}
|
||||
// ??????????
|
||||
x0 = GetPointOffset(d / distance, GetOffsetMode());
|
||||
y0 = (x0) * (dp.y0 - cp.y0);
|
||||
x0 = (x0) * (dp.x0 - cp.x0);
|
||||
t.Offset(x0, y0);
|
||||
NewPointList.AddTail(t);
|
||||
}
|
||||
}
|
||||
|
||||
}; // namespace
|
||||
@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
#include "CurveEditorBase.h"
|
||||
|
||||
namespace NItem
|
||||
{
|
||||
|
||||
/*
|
||||
* ???????????????????¦¶???
|
||||
*
|
||||
* ???????
|
||||
* 1. ???????????¦¶???????????????????9????¦Ë??
|
||||
* 2. ????????????????????????
|
||||
* 3. ?????????????????Default?????
|
||||
*/
|
||||
class CurveEditorLinear : public CurveEditorBase
|
||||
{
|
||||
public:
|
||||
CurveEditorLinear(CSigmaDoc* pDoc) : CurveEditorBase(pDoc) {}
|
||||
virtual ~CurveEditorLinear(void) {}
|
||||
|
||||
protected:
|
||||
// ??????????????????????????.
|
||||
// ??§Õ???? virtual void OnDrawDragPreview()
|
||||
void OnDrawDragPreview() override;
|
||||
|
||||
// ???????????????????¦¶???
|
||||
void OnCalculateDragEffect(CPointList* pList) override;
|
||||
|
||||
private:
|
||||
// ???????????????
|
||||
double GetPointOffset(double offset, int nMode);
|
||||
void GetDragPoint(CPoint2D& dp, CPointList& NewPointList, int& begin,
|
||||
int& end);
|
||||
};
|
||||
|
||||
}; // namespace NItem
|
||||
@ -0,0 +1,65 @@
|
||||
#pragma once
|
||||
#include "CurveEditorBase.h"
|
||||
#include <memory>
|
||||
|
||||
namespace NItem {
|
||||
|
||||
/*
|
||||
* ????????????????????????????
|
||||
*
|
||||
*/
|
||||
class CurveEditorSpline : public CurveEditorBase {
|
||||
public:
|
||||
CurveEditorSpline(CSigmaDoc *pDoc)
|
||||
: CurveEditorBase(pDoc), m_pMarkCurve(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~CurveEditorSpline(void);
|
||||
|
||||
protected:
|
||||
// ????????????????????????
|
||||
void OnDrawDragPreview() override;
|
||||
|
||||
// ????????????????????????
|
||||
void OnCalculateDragEffect(CPointList *pList) override;
|
||||
|
||||
void OnModeInitialize() override; // ???? m_pMarkCurve
|
||||
void OnDragMove(int nIndex,
|
||||
CPoint2D pt) override; // ???? m_pControlCurve ?§á????¦Ë??
|
||||
|
||||
void DrawAssistant(CDC *pDC, int mouseX, int mouseY) override;
|
||||
|
||||
CCurveEx *GetControlCurve(void) override;
|
||||
|
||||
// ??§Õ???? virtual int AddHandle(double l0)
|
||||
int AddHandle(double l0) override;
|
||||
|
||||
private:
|
||||
// ?????????§Ö?????????????
|
||||
std::unique_ptr<CCurveEx> m_pMarkCurve;
|
||||
std::unique_ptr<CCurveEx> m_pControlCurve;
|
||||
|
||||
// ???????????????
|
||||
void GetMarkCurve(); // ????????????
|
||||
void GetDragSplinePoint(CPoint2D &dp, CPointList &NewPointList, int &begin,
|
||||
int &end);
|
||||
|
||||
/**
|
||||
* ??????????????????????
|
||||
*
|
||||
* \param handleInex ?????????
|
||||
* \return ???????????????
|
||||
*/
|
||||
int GetOriginalIndex(int handleInex);
|
||||
|
||||
void BuildFirstHandlePoints(const CPoint2D &dp, double lEnd,
|
||||
int nextHandleInex, CPointList &list);
|
||||
void BuildLastHandlePoints(const CPoint2D &dp, double lBegin,
|
||||
int prevHandleInex, CPointList &list);
|
||||
void BuildMiddleHandlePoints(const CPoint2D &dp, double lBegin, double lEnd,
|
||||
int prevHandleInex, int nextHandleIndex,
|
||||
CPointList &list);
|
||||
};
|
||||
|
||||
}; // namespace NItem
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue