搬运v4.5
parent
c3e33274b9
commit
4dd23d11fb
@ -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"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<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.Buffers" version="4.5.1" targetFramework="net472" />
|
||||||
<package id="System.IO.Pipelines" version="9.0.4" 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.Memory" version="4.5.5" targetFramework="net472" />
|
||||||
<package id="System.Numerics.Vectors" version="4.5.0" 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.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.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.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
|
||||||
<package id="System.ValueTuple" version="4.5.0" targetFramework="net472" />
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net472" />
|
||||||
<package id="Unosquare.Swan.Lite" version="3.1.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
|
||||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue