File: View_8h-source.html

package info (click to toggle)
paintlib 2.6.2-8
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 7,900 kB
  • ctags: 3,875
  • sloc: cpp: 25,209; sh: 10,600; ansic: 1,891; makefile: 119
file content (199 lines) | stat: -rw-r--r-- 13,341 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>paintlib: View.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.2 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a></div>
<h1>View.h</h1><div class="fragment"><pre>00001 <span class="comment">/*</span>
00002 <span class="comment">/--------------------------------------------------------------------</span>
00003 <span class="comment">|</span>
00004 <span class="comment">|      $Id: View_8h-source.html,v 1.2 2004/09/15 15:26:23 uzadow Exp $</span>
00005 <span class="comment">|      view class declaration</span>
00006 <span class="comment">|</span>
00007 <span class="comment">|      Copyright (c) 1998 Bernard Delme</span>
00008 <span class="comment">|</span>
00009 <span class="comment">\--------------------------------------------------------------------</span>
00010 <span class="comment">*/</span>
00011 
00012 <span class="preprocessor">#ifndef INCL_VIEW</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define INCL_VIEW</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "ZoomView.h"</span>
00016 
00017 <span class="preprocessor">#ifdef USES_DRAWDIB</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define CPLVIEW_BASE_CLASS CScrollView</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define CPLVIEW_BASE_CLASS CZoomView</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00022 <span class="preprocessor"></span>
00023 <span class="keyword">class </span>CPLView : <span class="keyword">public</span> CPLVIEW_BASE_CLASS
00024 {
00025 <span class="keyword">protected</span>: <span class="comment">// create from serialization only</span>
00026     CPLView();
00027     DECLARE_DYNCREATE(CPLView)
00028 
00029     <span class="comment">// Attributes</span>
00030 <span class="keyword">public</span>:
00031     CPLViewerDoc* GetDocument()
00032     {
00033         ASSERT(m_pDocument-&gt;IsKindOf(RUNTIME_CLASS(CPLViewerDoc)));
00034         <span class="keywordflow">return</span> (CPLViewerDoc*) m_pDocument;
00035     }
00036 
00037     <span class="comment">// Operations</span>
00038 <span class="keyword">public</span>:
00039 
00040     <span class="comment">// Implementation</span>
00041 <span class="keyword">public</span>:
00042     <span class="keyword">virtual</span> ~CPLView();
00043     <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnDraw(CDC* pDC);  <span class="comment">// overridden to draw this view</span>
00044 
00045     <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnInitialUpdate();
00046     <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnActivateView(<span class="keywordtype">bool</span> bActivate, CView* pActivateView,
00047                                 CView* pDeactiveView);
00048     <span class="keywordtype">void</span> OnConvertTo8BPP();
00049 <span class="comment">//  CString GetInfoString();</span>
00050 
00051     <span class="comment">// Printing support</span>
00052 <span class="keyword">protected</span>:
00053     <span class="keyword">virtual</span> BOOL OnPreparePrinting(CPrintInfo* pInfo);
00054     <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnPrepareDC(CDC* pDC, CPrintInfo* pInfo = NULL);
00055 
00056 <span class="keyword">private</span>:
00057     <span class="keywordtype">void</span> applyFilterAndShow (<a class="code" href="classPLFilter.html">PLFilter</a> * pFilter);
00058 
00059     <span class="keyword">typedef</span> CPLVIEW_BASE_CLASS Super;
00060 
00061     <span class="keywordtype">bool</span>    m_bFit;     <span class="comment">// whether to fit image to view</span>
00062     <span class="keywordtype">bool</span>    m_bDither;  <span class="comment">// whether to use palette dithering;</span>
00063     <span class="keywordtype">bool</span>    m_bZooming;
00064     HCURSOR m_curMove;
00065     HCURSOR m_curPoint;
00066     HCURSOR m_hZoomCursor;
00067     CRect   m_InvalidRect;
00068     <span class="keywordtype">int</span>     m_nDocPosX;
00069     <span class="keywordtype">int</span>     m_nDocPosY;
00070 
00071     <span class="keywordtype">void</span> NotifyRanges();
00072     BOOL IsMovable() <span class="keyword">const</span>;
00073 
00074     <span class="comment">// Generated message map functions</span>
00075 <span class="keyword">protected</span>:
00076     <span class="comment">//{{AFX_MSG(CPLView)</span>
00077     afx_msg BOOL OnEraseBkgnd(CDC* pDC);
00078     afx_msg <span class="keywordtype">void</span> OnSize(UINT nType, <span class="keywordtype">int</span> cx, <span class="keywordtype">int</span> cy);
00079     afx_msg LRESULT OnDoRealize(WPARAM wParam, LPARAM lParam);  <span class="comment">// user message</span>
00080     afx_msg <span class="keywordtype">void</span> OnUpdateFitImage(CCmdUI* pCmdUI);
00081     afx_msg <span class="keywordtype">void</span> OnFitImage();
00082     afx_msg <span class="keywordtype">void</span> OnUpdateDither(CCmdUI* pCmdUI);
00083     afx_msg <span class="keywordtype">void</span> OnDither();
00084     afx_msg <span class="keywordtype">void</span> OnEditCopy();
00085     afx_msg <span class="keywordtype">void</span> OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
00086     afx_msg <span class="keywordtype">void</span> OnFilterBilinear();
00087     afx_msg <span class="keywordtype">void</span> OnFilterBox();
00088     afx_msg <span class="keywordtype">void</span> OnFilterGauss();
00089     afx_msg <span class="keywordtype">void</span> OnFilterHamming();
00090     afx_msg <span class="keywordtype">void</span> OnFilterCrop();
00091     afx_msg <span class="keywordtype">void</span> OnFilterGrayscale();
00092     afx_msg <span class="keywordtype">void</span> OnEditPaste();
00093     afx_msg <span class="keywordtype">void</span> OnLButtonDown(UINT nFlags, CPoint point);
00094     afx_msg <span class="keywordtype">void</span> OnMButtonDown(UINT nFlags, CPoint point);
00095     afx_msg <span class="keywordtype">void</span> OnRButtonDown(UINT nFlags, CPoint point);
00096     afx_msg <span class="keywordtype">void</span> OnSizeToFit();
00097     afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
00098     afx_msg <span class="keywordtype">void</span> OnUpdateZoomMode(CCmdUI* pCmdUI);
00099     afx_msg <span class="keywordtype">void</span> OnZoomMode();
00100     afx_msg <span class="keywordtype">void</span> OnPaint();
00101     afx_msg <span class="keywordtype">void</span> OnMouseMove(UINT nFlags, CPoint point);
00102           afx_msg <span class="keywordtype">void</span> OnFilterThreshold();
00103           afx_msg <span class="keywordtype">void</span> OnUpdateViewShowpalette(CCmdUI* pCmdUI);
00104           afx_msg <span class="keywordtype">void</span> OnViewShowpalette();
00105           afx_msg <span class="keywordtype">void</span> OnFilterContrast();
00106           afx_msg <span class="keywordtype">void</span> OnFilterIntensity();
00107           afx_msg <span class="keywordtype">void</span> OnFilterLightness();
00108           afx_msg <span class="keywordtype">void</span> OnUpdateTrueColFilter(CCmdUI* pCmdUI);
00109           afx_msg <span class="keywordtype">void</span> OnFilterInvert();
00110         <span class="comment">//}}AFX_MSG</span>
00111     afx_msg <span class="keywordtype">void</span> OnUpdateBmpInfo(CCmdUI *);
00112     afx_msg <span class="keywordtype">void</span> OnUpdatePixelXIndicator(CCmdUI *pCmdUI);
00113     afx_msg <span class="keywordtype">void</span> OnUpdatePixelYIndicator(CCmdUI *pCmdUI);
00114     afx_msg <span class="keywordtype">void</span> OnUpdateRatioIndicator(CCmdUI *pCmdUI);
00115 
00116     DECLARE_MESSAGE_MAP()
00117 };
00118 
00119 <span class="preprocessor">#undef CPLVIEW_BASE_CLASS</span>
00120 <span class="preprocessor"></span>
00121 <span class="preprocessor">#endif  // INCL_VIEW</span>
00122 <span class="preprocessor"></span>
00123 <span class="comment">/*</span>
00124 <span class="comment">/--------------------------------------------------------------------</span>
00125 <span class="comment">|</span>
00126 <span class="comment">|      $Log: View_8h-source.html,v $
00126 <span class="comment">|      Revision 1.2  2004/09/15 15:26:23  uzadow
00126 <span class="comment">|      Linux compatibility changes, doc update.
00126 <span class="comment">|</span>
00127 <span class="comment">|      Revision 1.20  2002/02/24 13:00:57  uzadow</span>
00128 <span class="comment">|      Documentation update; removed buggy PLFilterRotate.</span>
00129 <span class="comment">|</span>
00130 <span class="comment">|      Revision 1.19  2001/10/21 17:12:40  uzadow</span>
00131 <span class="comment">|      Added PSD decoder beta, removed BPPWanted from all decoders, added PLFilterPixel.</span>
00132 <span class="comment">|</span>
00133 <span class="comment">|      Revision 1.18  2001/09/16 19:03:23  uzadow</span>
00134 <span class="comment">|      Added global name prefix PL, changed most filenames.</span>
00135 <span class="comment">|</span>
00136 <span class="comment">|      Revision 1.17  2000/11/06 23:22:53  uzadow</span>
00137 <span class="comment">|      Added dialogs for Contrast and Intensity</span>
00138 <span class="comment">|</span>
00139 <span class="comment">|      Revision 1.16  2000/10/23 21:13:29  uzadow</span>
00140 <span class="comment">|      Removed Filter</span>
00141 <span class="comment">|</span>
00142 <span class="comment">|      Revision 1.15  2000/10/12 21:59:34  uzadow</span>
00143 <span class="comment">|      Added CreateFromHDIBBitmap() and CopyPalette() to PLWinBmp</span>
00144 <span class="comment">|      Added CF_DIB support to PLWinBmp::FromClipboard() (Richard Hollis)</span>
00145 <span class="comment">|</span>
00146 <span class="comment">|      Revision 1.14  2000/09/26 14:28:47  Administrator</span>
00147 <span class="comment">|      Added Threshold filter</span>
00148 <span class="comment">|</span>
00149 <span class="comment">|      Revision 1.13  2000/09/26 12:14:50  Administrator</span>
00150 <span class="comment">|      Refactored quantization.</span>
00151 <span class="comment">|</span>
00152 <span class="comment">|      Revision 1.12  2000/03/31 12:20:07  Ulrich von Zadow</span>
00153 <span class="comment">|      Video invert filter (beta)</span>
00154 <span class="comment">|</span>
00155 <span class="comment">|      Revision 1.11  2000/03/31 11:53:32  Ulrich von Zadow</span>
00156 <span class="comment">|      Added quantization support.</span>
00157 <span class="comment">|</span>
00158 <span class="comment">|      Revision 1.10  2000/03/30 21:47:41  Ulrich von Zadow</span>
00159 <span class="comment">|      Added zoom-in mode, PLWinBmpEx, conditional use of DrawDIB</span>
00160 <span class="comment">|      and some other nice stuff by Bernard Delme.</span>
00161 <span class="comment">|</span>
00162 <span class="comment">|      Revision 1.8  2000/01/10 23:53:03  Ulrich von Zadow</span>
00163 <span class="comment">|      Changed formatting &amp; removed tabs.</span>
00164 <span class="comment">|</span>
00165 <span class="comment">|      Revision 1.7  1999/12/30 15:54:48  Ulrich von Zadow</span>
00166 <span class="comment">|      Added PLWinBmp::FromClipBoard() and CreateFromHBitmap().</span>
00167 <span class="comment">|</span>
00168 <span class="comment">|      Revision 1.6  1999/12/02 17:07:36  Ulrich von Zadow</span>
00169 <span class="comment">|      Changes by bdelmee.</span>
00170 <span class="comment">|</span>
00171 <span class="comment">|      Revision 1.5  1999/10/21 18:48:18  Ulrich von Zadow</span>
00172 <span class="comment">|      no message</span>
00173 <span class="comment">|</span>
00174 <span class="comment">|      Revision 1.4  1999/10/21 16:07:06  Ulrich von Zadow</span>
00175 <span class="comment">|      Moved filters to separate directory. Added Crop, Grayscale and</span>
00176 <span class="comment">|      GetAlpha filters.</span>
00177 <span class="comment">|</span>
00178 <span class="comment">|      Revision 1.3  1999/10/19 21:33:49  Ulrich von Zadow</span>
00179 <span class="comment">|      Added filter support.</span>
00180 <span class="comment">|</span>
00181 <span class="comment">|</span>
00182 <span class="comment">\--------------------------------------------------------------------</span>
00183 <span class="comment">*/</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Sep 13 16:16:41 2004 for paintlib by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
</a>1.3.2 </small></address>
</body>
</html>