OSDN Git Service

Fix issue #784: Error on try to show differences between two different gif
[winmerge-jp/winmerge-jp.git] / Src / DiffContext.h
index 7d1f934..4f9af4a 100644 (file)
@@ -8,22 +8,19 @@
 #define POCO_NO_UNWINDOWS 1
 #include <Poco/Mutex.h>
 #include <memory>
-#include <cstdint>
 #include "PathContext.h"
-#include "DiffFileInfo.h"
 #include "DiffItemList.h"
 #include "FilterList.h"
+#include "SubstitutionList.h"
 
 class PackingInfo;
 class PrediffingInfo;
 class IDiffFilter;
-struct DIFFITEM;
 class CompareStats;
 class IAbortable;
 class CDiffWrapper;
 class CompareOptions;
 struct DIFFOPTIONS;
-class FilterCommentsManager;
 
 /** Interface to a provider of plugin info */
 class IPluginInfos
@@ -57,7 +54,7 @@ public:
        CDiffContext(const PathContext & paths, int compareMethod);
        ~CDiffContext();
 
-       void UpdateVersion(DIFFITEM & di, int nIndex) const;
+       void UpdateVersion(DIFFITEM &di, int nIndex) const;
 
        /**
         * Get the main compare method used in this compare.
@@ -108,8 +105,8 @@ public:
        //@}
 
        // change an existing difference
-       bool UpdateInfoFromDiskHalf(DIFFITEM & di, int nIndex);
-       void UpdateStatusFromDisk(uintptr_t diffpos, int nIndex);
+       bool UpdateInfoFromDiskHalf(DIFFITEM &di, int nIndex);
+       void UpdateStatusFromDisk(DIFFITEM *diffpos, int nIndex);
 
        bool CreateCompareOptions(int compareMethod, const DIFFOPTIONS & options);
        CompareOptions * GetCompareOptions(int compareMethod);
@@ -152,7 +149,10 @@ public:
                DiffItemList::Swap(idx1, idx2);
        }
 
+       const DIFFOPTIONS *GetOptions() const { return m_pOptions.get(); }
+
        IDiffFilter * m_piFilterGlobal; /**< Interface for file filtering. */
+       IDiffFilter * m_pImgfileFilter; /**< Interface for image file filtering */
        IPluginInfos * m_piPluginInfos;
        int m_iGuessEncodingType;
 
@@ -175,6 +175,8 @@ public:
         */
        int m_nQuickCompareLimit;
 
+       int m_nBinaryCompareLimit;
+
        /**
         * Walk into unique folders and add contents.
         * This enables/disables walking into unique folders. If we don't walk into
@@ -187,11 +189,13 @@ public:
        bool m_bWalkUniques;
        bool m_bIgnoreReparsePoints;
        bool m_bIgnoreCodepage;
+       bool m_bEnableImageCompare;
+       double m_dColorDistanceThreshold;
 
        bool m_bRecursive; /**< Do we include subfolders to compare? */
        bool m_bPluginsEnabled; /**< Are plugins enabled? */
        std::unique_ptr<FilterList> m_pFilterList; /**< Filter list for line filters */
-       FilterCommentsManager *m_pFilterCommentsManager;
+       std::shared_ptr<SubstitutionList> m_pSubstitutionList; /// list for Substitution Filters
 
 private:
        /**