#include <Poco/Mutex.h>
#include <memory>
#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
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.
//@}
// 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);
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;
*/
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
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:
/**