OSDN Git Service

Leave the class name as CIniOptionsMgr, but rename the filename to IniOptionsMgr.*
[winmerge-jp/winmerge-jp.git] / Src / CompareEngines / ImageCompare.h
1 /**
2  * @file  ImageCompare.h
3  *
4  * @brief Declaration file for ImageCompare compare engine.
5  */
6 #pragma once
7
8 #include <memory>
9 #include "UnicodeString.h"
10
11 class DIFFITEM;
12 class PathContext;
13 struct IImgMergeWindow;
14
15 namespace CompareEngines
16 {
17
18 /**
19  * @brief A image compare class.
20  * This compare method compares files by their image contents.
21  */
22 class ImageCompare
23 {
24 public:
25         ImageCompare();
26         ~ImageCompare();
27         int CompareFiles(const PathContext& files, const DIFFITEM &di) const;
28
29     double GetColorDistanceThreshold() const { return m_colorDistanceThreshold; }
30     void SetColorDistanceThreshold(double colorDistanceThreshold) { m_colorDistanceThreshold = colorDistanceThreshold; };
31 private:
32     int compare_files(const String& file1, const String& file2) const;
33     mutable IImgMergeWindow *m_pImgMergeWindow;
34     double m_colorDistanceThreshold;
35 };
36
37 } // namespace CompareEngines