GED 2006 (C++)
File detail
Source code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>GED 2006: docwnd.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.2 -->
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="classes.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>File Members</span></a></li>
</ul>
</div>
<h1>docwnd.h</h1><a href="docwnd_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * File: docwnd.h</span>
<a name="l00003"></a>00003 <span class="comment"> * Project: GED - bitmap editor (ICP)</span>
<a name="l00004"></a>00004 <span class="comment"> * Author: Kamil Dudka, xdudka00</span>
<a name="l00005"></a>00005 <span class="comment"> * Team: xdudka00, xfilak01, xhefka00, xhradi08</span>
<a name="l00006"></a>00006 <span class="comment"> * Created: 2006-04-01</span>
<a name="l00007"></a>00007 <span class="comment"> */</span>
<a name="l00008"></a>00008
<a name="l00009"></a>00009 <span class="preprocessor">#ifndef DOCWND_H</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define DOCWND_H</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include <string></span>
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="preprocessor">#include <FL/Fl_Window.H></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include <FL/Fl_Scroll.H></span>
<a name="l00016"></a>00016 <span class="preprocessor">#include <FL/Fl_Box.H></span>
<a name="l00017"></a>00017 <span class="preprocessor">#include <FL/Fl_Image.H></span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="image_8h.html">image.h</a>"</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="draw_8h.html">draw.h</a>"</span>
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="keyword">class </span><a class="code" href="classDocMenu.html">DocMenu</a>;
<a name="l00023"></a>00023 <span class="keyword">class </span>Fl_Scroll;
<a name="l00024"></a>00024 <span class="keyword">class </span><a class="code" href="classMyFl__Image.html">MyFl_Image</a>;
<a name="l00025"></a>00025 <span class="keyword">class </span><a class="code" href="classPaintArea.html">PaintArea</a>;
<a name="l00026"></a>00026 <span class="keyword">class </span><a class="code" href="classStatusBar.html">StatusBar</a>;
<a name="l00027"></a>00027 <span class="keyword">class </span><a class="code" href="classCmd.html">Cmd</a>;
<a name="l00028"></a>00028
<a name="l00032"></a><a class="code" href="classDocWnd.html">00032</a> <span class="keyword">class </span><a class="code" href="classDocWnd.html">DocWnd</a>: <span class="keyword">public</span> Fl_Window {
<a name="l00033"></a>00033 <span class="keyword">public</span>:
<a name="l00039"></a>00039 <a class="code" href="classDocWnd.html#3fcdee68df26ca12684fc9e4a5f3c00c">DocWnd</a> (<a class="code" href="classImage.html">Image</a> *img);
<a name="l00040"></a>00040
<a name="l00044"></a>00044 <span class="keyword">virtual</span> <a class="code" href="classDocWnd.html#0cafa2f545788609c9a57cf47526fb95">~DocWnd</a> ();
<a name="l00045"></a>00045
<a name="l00051"></a>00051 <span class="keywordtype">bool</span> <a class="code" href="classDocWnd.html#760da280ff1048148fb08391ec337b09">save</a> ();
<a name="l00052"></a>00052
<a name="l00058"></a>00058 <span class="keywordtype">bool</span> <a class="code" href="classDocWnd.html#cc33d77184cec0288018e6e13bdb7f19">saveAs</a> ();
<a name="l00059"></a>00059
<a name="l00066"></a>00066 <span class="keywordtype">bool</span> <a class="code" href="classDocWnd.html#661da6b6921b3a9c89d2ed463e8686de">tryClose</a> ();
<a name="l00067"></a>00067
<a name="l00072"></a>00072 <span class="keywordtype">void</span> <a class="code" href="classDocWnd.html#aa746f5e10586f0c1bb5a0b7f6645477">undo</a> ();
<a name="l00073"></a>00073
<a name="l00078"></a>00078 <span class="keywordtype">void</span> <a class="code" href="classDocWnd.html#381941df1a3ce6ec5ada31e0e2b8e577">redo</a> ();
<a name="l00079"></a>00079
<a name="l00083"></a>00083 <span class="keywordtype">void</span> <a class="code" href="classDocWnd.html#b60bcdc34dd01133ecde3fdedebab867">unSelect</a> ();
<a name="l00084"></a>00084
<a name="l00088"></a>00088 <span class="keywordtype">void</span> <a class="code" href="classDocWnd.html#3fd3fdd95d31287260106f241003e75f">filterGray</a> ();
<a name="l00089"></a>00089
<a name="l00093"></a>00093 <span class="keywordtype">void</span> <a class="code" href="classDocWnd.html#402111d45e81968f3f2b42833ed0bdfc">filterInvert</a> ();
<a name="l00094"></a>00094
<a name="l00100"></a>00100 <span class="keywordtype">void</span> <a class="code" href="classDocWnd.html#338f5cafc4227098b3df875ad9178be2">applyPlugin</a> (std::string plugin, <span class="keyword">const</span> <span class="keywordtype">char</span> *szArgs=0);
<a name="l00101"></a>00101
<a name="l00105"></a>00105 <span class="keywordtype">void</span> <a class="code" href="classDocWnd.html#cbfbaf164b4a8b35d23a4b0f971dc38a">macLoad</a> ();
<a name="l00106"></a>00106
<a name="l00111"></a>00111 <span class="keywordtype">void</span> <a class="code" href="classDocWnd.html#14856cb5973a364e846cb07f03944914">macCreate</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *szName);
<a name="l00112"></a>00112
<a name="l00117"></a>00117 <span class="keywordtype">void</span> <a class="code" href="classDocWnd.html#01bc9c61c1dba6ba2db132d39d9e5675">applyMacro</a> (std::string macroName);
<a name="l00118"></a>00118
<a name="l00123"></a>00123 <span class="keywordtype">void</span> <a class="code" href="classDocWnd.html#be632fe402a77512c6dee367f96b32e2">setStatusMsg</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *szMsg);
<a name="l00124"></a>00124
<a name="l00129"></a><a class="code" href="classDocWnd.html#5b433e039f9d69a91f2989b80547915a">00129</a> <span class="keywordtype">void</span> <a class="code" href="classDocWnd.html#be632fe402a77512c6dee367f96b32e2">setStatusMsg</a> (<span class="keyword">const</span> std::string &msg) { <a class="code" href="classDocWnd.html#be632fe402a77512c6dee367f96b32e2">setStatusMsg</a> (msg.c_str()); }
<a name="l00130"></a>00130
<a name="l00134"></a>00134 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classDocWnd.html#b78c9705987fc37206b21b2c087e13ae">redraw</a> ();
<a name="l00135"></a>00135
<a name="l00139"></a>00139 <span class="keywordtype">void</span> <a class="code" href="classDocWnd.html#fb6699808076e25c81a0ee2f40487f07">drawStatus</a> ();
<a name="l00140"></a>00140
<a name="l00141"></a>00141 <span class="keyword">private</span>:
<a name="l00142"></a>00142 <a class="code" href="classImage.html">Image</a> *_img;
<a name="l00143"></a>00143 <a class="code" href="classDocMenu.html">DocMenu</a> *_menu;
<a name="l00144"></a>00144 Fl_Scroll *_scroll;
<a name="l00145"></a>00145 <a class="code" href="classPaintArea.html">PaintArea</a> *_paint;
<a name="l00146"></a>00146 <a class="code" href="classStatusBar.html">StatusBar</a> *_statusBar;
<a name="l00147"></a>00147 std::string _statusMsg;
<a name="l00148"></a>00148 };
<a name="l00149"></a>00149
<a name="l00153"></a><a class="code" href="classPaintArea.html">00153</a> <span class="keyword">class </span><a class="code" href="classPaintArea.html">PaintArea</a>: <span class="keyword">public</span> Fl_Box {
<a name="l00154"></a>00154 <span class="keyword">public</span>:
<a name="l00160"></a>00160 <a class="code" href="classPaintArea.html#18650e26427f8477b43a73543ef6feab">PaintArea</a> (<a class="code" href="structPoint.html">Point</a> at, <a class="code" href="classImage.html">Image</a> *img);
<a name="l00161"></a>00161 <span class="keyword">virtual</span> <a class="code" href="classPaintArea.html#a0261220c685197acc501d259136dfc2">~PaintArea</a> ();
<a name="l00162"></a>00162
<a name="l00166"></a>00166 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPaintArea.html#73bfb575c7eb17530c1536049c3f2e9e">draw</a> ();
<a name="l00167"></a>00167
<a name="l00171"></a>00171 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPaintArea.html#3ceaeb6e1ad9f27ef3609d32f206d7fa">redraw</a> ();
<a name="l00172"></a>00172
<a name="l00179"></a>00179 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classPaintArea.html#27e6ccff0c8c99f5403d40a30b11ba22">handle</a> (<span class="keywordtype">int</span> event);
<a name="l00180"></a>00180
<a name="l00181"></a>00181 <span class="keyword">private</span>:
<a name="l00182"></a>00182 <span class="keywordtype">void</span> drawStart ();
<a name="l00183"></a>00183 <span class="keywordtype">void</span> drawData ();
<a name="l00184"></a>00184 <span class="keywordtype">void</span> drawEnd ();
<a name="l00185"></a>00185
<a name="l00186"></a>00186 <span class="keywordtype">void</span> feedBackInit ();
<a name="l00187"></a>00187 <span class="keywordtype">void</span> feedBack ();
<a name="l00188"></a>00188
<a name="l00189"></a>00189 <a class="code" href="classImage.html">Image</a> *_img;
<a name="l00190"></a>00190 <a class="code" href="classMyFl__Image.html">MyFl_Image</a> *_flImg;
<a name="l00191"></a>00191 <a class="code" href="structDrawContext.html">DrawContext</a> _dc;
<a name="l00192"></a>00192 <a class="code" href="classCmd.html">Cmd</a> *_currentCmd;
<a name="l00193"></a>00193
<a name="l00194"></a>00194 <span class="keywordtype">int</span> _selX1, _selX2, _selY1, _selY2;
<a name="l00195"></a>00195 <span class="keywordtype">int</span> _iBrushWidth;
<a name="l00196"></a>00196 <span class="keywordtype">int</span> _relX1, _relX2, _relY1, _relY2;
<a name="l00197"></a>00197 <span class="keywordtype">int</span> _absX1, _absX2, _absY1, _absY2;
<a name="l00198"></a>00198 <span class="keywordtype">bool</span> _bInRange;
<a name="l00199"></a>00199 };
<a name="l00200"></a>00200
<a name="l00204"></a><a class="code" href="classStatusBar.html">00204</a> <span class="keyword">class </span><a class="code" href="classStatusBar.html">StatusBar</a>: <span class="keyword">public</span> Fl_Box {
<a name="l00205"></a>00205 <span class="keyword">public</span>:
<a name="l00214"></a>00214 <a class="code" href="classStatusBar.html#8fa01e86590327bef891e76dff1bf6e9">StatusBar</a> (<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, <span class="keyword">const</span> <span class="keywordtype">char</span> *szText);
<a name="l00215"></a>00215
<a name="l00219"></a>00219 <span class="keyword">friend</span> <span class="keywordtype">void</span> <a class="code" href="classDocWnd.html#fb6699808076e25c81a0ee2f40487f07">DocWnd::drawStatus</a> ();
<a name="l00220"></a>00220 };
<a name="l00221"></a>00221
<a name="l00225"></a><a class="code" href="classMyFl__Scroll.html">00225</a> <span class="keyword">class </span><a class="code" href="classMyFl__Scroll.html">MyFl_Scroll</a>: <span class="keyword">public</span> Fl_Scroll {
<a name="l00226"></a>00226 <span class="keyword">public</span>:
<a name="l00234"></a><a class="code" href="classMyFl__Scroll.html#5e1c46c6d1386f65503c00b00ce98416">00234</a> <a class="code" href="classMyFl__Scroll.html#5e1c46c6d1386f65503c00b00ce98416">MyFl_Scroll</a> (<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height):
<a name="l00235"></a>00235 Fl_Scroll (x, y, width, height)
<a name="l00236"></a>00236 {
<a name="l00237"></a>00237 }
<a name="l00238"></a>00238
<a name="l00247"></a><a class="code" href="classMyFl__Scroll.html#902f56d9bbc54747ba9fc871a38c8b4a">00247</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMyFl__Scroll.html#902f56d9bbc54747ba9fc871a38c8b4a">resize</a> (<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height)
<a name="l00248"></a>00248 {
<a name="l00249"></a>00249 <span class="keywordtype">int</span> xPos = xposition();
<a name="l00250"></a>00250 <span class="keywordtype">int</span> yPos = yposition();
<a name="l00251"></a>00251 <span class="keywordtype">int</span> dw = width - w();
<a name="l00252"></a>00252 <span class="keywordtype">int</span> dh = height - h();
<a name="l00253"></a>00253
<a name="l00254"></a>00254 <span class="keywordflow">if</span> (dw>0)
<a name="l00255"></a>00255 xPos -= dw;
<a name="l00256"></a>00256 <span class="keywordflow">if</span> (dh>0)
<a name="l00257"></a>00257 yPos -= dh;
<a name="l00258"></a>00258
<a name="l00259"></a>00259 <span class="keywordflow">if</span> (xPos<0)
<a name="l00260"></a>00260 xPos=0;
<a name="l00261"></a>00261 <span class="keywordflow">if</span> (yPos<0)
<a name="l00262"></a>00262 yPos=0;
<a name="l00263"></a>00263
<a name="l00264"></a>00264 Fl_Scroll::resize (x, y, width, height);
<a name="l00265"></a>00265 position (xPos, yPos);
<a name="l00266"></a>00266 redraw ();
<a name="l00267"></a>00267 }
<a name="l00268"></a>00268 };
<a name="l00269"></a>00269
<a name="l00273"></a><a class="code" href="classMyFl__Image.html">00273</a> <span class="keyword">class </span><a class="code" href="classMyFl__Image.html">MyFl_Image</a>: <span class="keyword">public</span> Fl_RGB_Image {
<a name="l00274"></a>00274 <span class="keyword">public</span>:
<a name="l00279"></a><a class="code" href="classMyFl__Image.html#1aa75619362e6b14a702753d72782fbe">00279</a> <a class="code" href="classMyFl__Image.html#1aa75619362e6b14a702753d72782fbe">MyFl_Image</a> (<a class="code" href="classFrameBuffer.html">FrameBuffer</a> &fb):
<a name="l00280"></a>00280 Fl_RGB_Image (
<a name="l00281"></a>00281 reinterpret_cast<const unsigned char *>(fb.pBuff()),
<a name="l00282"></a>00282 fb.size().width, fb.size().height, sizeof(<a class="code" href="structPixel.html">Pixel</a>)),
<a name="l00283"></a>00283 _fb(fb)
<a name="l00284"></a>00284 {
<a name="l00285"></a>00285 }
<a name="l00286"></a>00286
<a name="l00291"></a><a class="code" href="classMyFl__Image.html#8ce24ee97b0af42cbfe3f1d595927b51">00291</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMyFl__Image.html#8ce24ee97b0af42cbfe3f1d595927b51">uncache</a> ()
<a name="l00292"></a>00292 {
<a name="l00293"></a>00293 w (_fb.<a class="code" href="classFrameBuffer.html#ca5cc2ea29283153451c37104b0daf8b">size</a>().<a class="code" href="structBoxSize.html#0e375184b9d95ee1d2306a95995ef22c" title="Object width.">width</a>);
<a name="l00294"></a>00294 h (_fb.<a class="code" href="classFrameBuffer.html#ca5cc2ea29283153451c37104b0daf8b">size</a>().<a class="code" href="structBoxSize.html#1f1467549b4ba79825cfd64207e24fba" title="Object height.">height</a>);
<a name="l00295"></a>00295 array = <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<span class="keyword">></span>(_fb.<a class="code" href="classFrameBuffer.html#daf24dff1190aa691174381c2e45b0a3">pBuff</a>());
<a name="l00296"></a>00296 data (reinterpret_cast<const char **>(&array), <span class="keyword">sizeof</span>(<a class="code" href="structPixel.html">Pixel</a>));
<a name="l00297"></a>00297 Fl_RGB_Image::uncache ();
<a name="l00298"></a>00298 }
<a name="l00299"></a>00299
<a name="l00300"></a>00300 <span class="keyword">private</span>:
<a name="l00301"></a>00301 <a class="code" href="classFrameBuffer.html">FrameBuffer</a> &_fb;
<a name="l00302"></a>00302 };
<a name="l00303"></a>00303
<a name="l00304"></a>00304 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Wed Aug 29 00:01:04 2007 for GED 2006 by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
</body>
</html>