Provide (experimental) clang-format file
[TortoiseGit.git] / src / TortoiseMerge / LineDiffBar.h
blobdf974db7e542f56b9145f613df11b89349cdc5c0
1 // TortoiseGitMerge - a Diff/Patch program
3 // Copyright (C) 2006, 2008 - TortoiseSVN
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software Foundation,
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 #pragma once
21 class CMainFrame;
23 /**
24 * \ingroup TortoiseMerge
26 * A Toolbar showing the differences in the views. The Toolbar
27 * is best attached to the left of the mainframe. The Toolbar
28 * also scrolls the views to the location the user clicks
29 * on the bar.
31 class CLineDiffBar : public CPaneDialog
33 DECLARE_DYNAMIC(CLineDiffBar)
35 public:
36 CLineDiffBar();
37 virtual ~CLineDiffBar();
38 BOOL Create(CWnd* pParentWnd, UINT nIDTemplate, UINT nStyle, UINT nID)
40 BOOL bRet = CPaneDialog::Create(pParentWnd, nIDTemplate, nStyle, nID);
41 m_dwControlBarStyle = 0; // can't float, resize, close, slide
42 return bRet;
45 CSize CalcFixedLayout(BOOL, BOOL)
47 return CSize(32767, 2*m_nLineHeight);
50 void ShowLines(int nLineIndex);
51 void DocumentUpdated();
53 protected:
54 afx_msg void OnPaint();
55 afx_msg void OnSize(UINT nType, int cx, int cy);
56 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
58 CBitmap * m_pCacheBitmap;
60 int m_nLineIndex;
61 int m_nLineHeight;
64 DECLARE_MESSAGE_MAP()
65 public:
66 CMainFrame * m_pMainFrm;