Automated Release Preparation

This commit is contained in:
Jan Schuffenhauer
2020-01-16 12:52:25 +01:00
parent d60796ccae
commit b055c0b922
90 changed files with 722 additions and 741 deletions

View File

@@ -418,149 +418,138 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; update();</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;}</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; </div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;<span class="comment">//TODOJ Resize the image to slightly larger then the main window</span></div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;<span class="comment">// to cut down on the need to resize the image</span></div>
<div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="class_painting_area.html#ab57e8ccda60fff7187463a90e65c5335"> 335</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_painting_area.html#ab57e8ccda60fff7187463a90e65c5335">PaintingArea::resizeEvent</a>(QResizeEvent*event){</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="comment">//TODO wait till tool works</span></div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; update();</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;}</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; </div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;<span class="keywordtype">void</span> PaintingArea::resizeLayer(QImage*image_res, <span class="keyword">const</span> QSize &amp;newSize){</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="comment">//TODO implement</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;}</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; </div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;<span class="keywordtype">void</span> PaintingArea::selectLayerUp(){</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; updateTools();</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">if</span>(activeLayer!=-1 &amp;&amp; <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(activeLayer)&lt;layerBundle.size() - 1) {</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; std::swap(layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(activeLayer)], layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(activeLayer + 1)]);</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; activeLayer++;</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; }</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;}</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; </div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;<span class="keywordtype">void</span> PaintingArea::selectLayerDown(){</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; updateTools();</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">if</span>(activeLayer!=-1 &amp;&amp; activeLayer&gt;0) {</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; std::swap(layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(activeLayer)], layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(activeLayer - 1)]);</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; activeLayer--;</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; }</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;}</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; </div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;<span class="keywordtype">void</span> PaintingArea::drawLayers(<span class="keywordtype">bool</span> forSaving){</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">if</span>(forSaving) {</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; Canvas-&gt;fill(Qt::GlobalColor::transparent);</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; }<span class="keywordflow">else</span>{</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; Canvas-&gt;fill(Qt::GlobalColor::black);</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; }</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0; i&lt;layerBundle.size(); i++) {</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="struct_layer_object.html">LayerObject</a> layer = layerBundle[i];</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; QImage cpy = layer.<a class="code" href="struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83">image</a>-&gt;<a class="code" href="class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d">getDisplayable</a>(layer.<a class="code" href="struct_layer_object.html#a402cb1d9f20436032fe080681b80eb56">alpha</a>);</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; QColor clr_0;</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; QColor clr_1;</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> y = 0; y&lt;layer.<a class="code" href="struct_layer_object.html#ae0003fb815e50ed587a9897988befc90">height</a>; y++) {</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">if</span>(layer.<a class="code" href="struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc">heightOffset</a> + y&lt;0) <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">if</span>(layer.<a class="code" href="struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc">heightOffset</a> + y&gt;=maxHeight) <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> x = 0; x&lt;layer.<a class="code" href="struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897">width</a>; x++) {</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span>(layer.<a class="code" href="struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96">widthOffset</a> + x&lt;0) <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">if</span>(layer.<a class="code" href="struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96">widthOffset</a> + x&gt;=maxWidth) <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; clr_0 = Canvas-&gt;pixelColor(layer.<a class="code" href="struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96">widthOffset</a> + x, layer.<a class="code" href="struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc">heightOffset</a> + y);</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; clr_1 = cpy.pixelColor(x,y);</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordtype">float</span> t = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(clr_1.alpha()) / 255.f;</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordtype">int</span> r = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(clr_1.red()) * (t) + <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(clr_0.red()) * (1.f - t) + 0.5f);</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordtype">int</span> g = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(clr_1.green()) * (t) + <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(clr_0.green()) * (1.f - t) + 0.5f);</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordtype">int</span> b = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(clr_1.blue()) * (t) + <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(clr_0.blue() * (1.f - t)) + 0.5f);</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordtype">int</span> a = std::min(clr_0.alpha() + clr_1.alpha(), 255);</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; clr_0.setRed(r);</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; clr_0.setGreen(g);</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; clr_0.setBlue(b);</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; clr_0.setAlpha(a);</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; </div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; Canvas-&gt;setPixelColor(layer.<a class="code" href="struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96">widthOffset</a> + x, layer.<a class="code" href="struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc">heightOffset</a> + y, clr_0);</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; }</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;}</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; </div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;<span class="keywordtype">bool</span> PaintingArea::createTempTopLayer(<span class="keywordtype">int</span> idx){</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">if</span>(idx&gt;=0) {</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <a class="code" href="struct_layer_object.html">LayerObject</a> newLayer;</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; newLayer.<a class="code" href="struct_layer_object.html#a402cb1d9f20436032fe080681b80eb56">alpha</a> = 255;</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; newLayer.<a class="code" href="struct_layer_object.html#ae0003fb815e50ed587a9897988befc90">height</a> = layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(idx)].height;</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; newLayer.<a class="code" href="struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897">width</a> = layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(idx)].width;</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; newLayer.<a class="code" href="struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc">heightOffset</a> = layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(idx)].heightOffset;</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; newLayer.<a class="code" href="struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96">widthOffset</a> = layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(idx)].widthOffset;</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; newLayer.<a class="code" href="struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83">image</a> = layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(idx)].image-&gt;getDeepCopy();</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; layerBundle.insert(layerBundle.begin() + idx + 1,newLayer);</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; }</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;}</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; </div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;<a class="code" href="class_intelli_tool.html">IntelliTool</a>* PaintingArea::copyActiveTool(){</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">switch</span>(Tool-&gt;<a class="code" href="class_intelli_tool.html#aae2a11c5bae4973ed827c60e0c1352b1">getTooltype</a>()) {</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">case</span> <a class="code" href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa0af50777920c1401ab975cab64c4d491">IntelliTool::Tooltype::CIRCLE</a>: <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_intelli_tool_circle.html">IntelliToolCircle</a>(<span class="keyword">this</span>,&amp;<a class="code" href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">colorPicker</a>, &amp;<a class="code" href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">Toolsettings</a>);</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">case</span> <a class="code" href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa526904ea67131c56718f9882518b5d93">IntelliTool::Tooltype::FLOODFILL</a>: <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_intelli_tool_flood_fill.html">IntelliToolFloodFill</a>(<span class="keyword">this</span>,&amp;<a class="code" href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">colorPicker</a>, &amp;<a class="code" href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">Toolsettings</a>);</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">case</span> <a class="code" href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa17b8ef2c330f1430e00c9de5469fc7e7">IntelliTool::Tooltype::LINE</a>: <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_intelli_tool_line.html">IntelliToolLine</a>(<span class="keyword">this</span>,&amp;<a class="code" href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">colorPicker</a>, &amp;<a class="code" href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">Toolsettings</a>);</div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">case</span> <a class="code" href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fad3fa1aa45b9fe56e1fc1b558d8ed6678">IntelliTool::Tooltype::PEN</a>: <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_intelli_tool_pen.html">IntelliToolPen</a>(<span class="keyword">this</span>,&amp;<a class="code" href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">colorPicker</a>, &amp;<a class="code" href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">Toolsettings</a>);</div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">case</span> <a class="code" href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faf62eb0bf5e5c72e80983fbbac1cb70e5">IntelliTool::Tooltype::PLAIN</a>: <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_intelli_tool_plain_tool.html">IntelliToolPlainTool</a>(<span class="keyword">this</span>,&amp;<a class="code" href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">colorPicker</a>, &amp;<a class="code" href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">Toolsettings</a>);</div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">case</span> <a class="code" href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faecdc92bf56d960b73b02ee40125758bc">IntelliTool::Tooltype::POLYGON</a>: <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_intelli_tool_polygon.html">IntelliToolPolygon</a>(<span class="keyword">this</span>,&amp;<a class="code" href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">colorPicker</a>, &amp;<a class="code" href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">Toolsettings</a>);</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">case</span> <a class="code" href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa8e8e58fe94ab307a826e087028a7c01a">IntelliTool::Tooltype::RECTANGLE</a>: <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_intelli_tool_rectangle.html">IntelliToolRectangle</a>(<span class="keyword">this</span>,&amp;<a class="code" href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">colorPicker</a>, &amp;<a class="code" href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">Toolsettings</a>);</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">default</span>: <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; }</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;<span class="keywordtype">void</span> PaintingArea::selectLayerUp(){</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; updateTools();</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">if</span>(activeLayer != -1 &amp;&amp; <span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(activeLayer)&lt;layerBundle.size() - 1) {</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; std::swap(layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(activeLayer)], layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(activeLayer + 1)]);</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; activeLayer++;</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;}</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; </div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;<span class="keywordtype">void</span> PaintingArea::selectLayerDown(){</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; updateTools();</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">if</span>(activeLayer&gt;0) {</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; std::swap(layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(activeLayer)], layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(activeLayer - 1)]);</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; activeLayer--;</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; }</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;}</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; </div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="keywordtype">void</span> PaintingArea::drawLayers(<span class="keywordtype">bool</span> forSaving){</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">if</span>(forSaving) {</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; Canvas-&gt;fill(Qt::GlobalColor::transparent);</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; }<span class="keywordflow">else</span>{</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; Canvas-&gt;fill(Qt::GlobalColor::black);</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; }</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 0; i&lt;layerBundle.size(); i++) {</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <a class="code" href="struct_layer_object.html">LayerObject</a> layer = layerBundle[i];</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; QImage cpy = layer.<a class="code" href="struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83">image</a>-&gt;<a class="code" href="class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d">getDisplayable</a>(layer.<a class="code" href="struct_layer_object.html#a402cb1d9f20436032fe080681b80eb56">alpha</a>);</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; QColor clr_0;</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; QColor clr_1;</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> y = 0; y&lt;layer.<a class="code" href="struct_layer_object.html#ae0003fb815e50ed587a9897988befc90">height</a>; y++) {</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">if</span>(layer.<a class="code" href="struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc">heightOffset</a> + y&lt;0) <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">if</span>(layer.<a class="code" href="struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc">heightOffset</a> + y&gt;=maxHeight) <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> x = 0; x&lt;layer.<a class="code" href="struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897">width</a>; x++) {</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">if</span>(layer.<a class="code" href="struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96">widthOffset</a> + x&lt;0) <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">if</span>(layer.<a class="code" href="struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96">widthOffset</a> + x&gt;=maxWidth) <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; clr_0 = Canvas-&gt;pixelColor(layer.<a class="code" href="struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96">widthOffset</a> + x, layer.<a class="code" href="struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc">heightOffset</a> + y);</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; clr_1 = cpy.pixelColor(x,y);</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordtype">float</span> t = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(clr_1.alpha()) / 255.f;</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordtype">int</span> r = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(clr_1.red()) * (t) + <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(clr_0.red()) * (1.f - t) + 0.5f);</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordtype">int</span> g = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(clr_1.green()) * (t) + <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(clr_0.green()) * (1.f - t) + 0.5f);</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordtype">int</span> b = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(<span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(clr_1.blue()) * (t) + <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(clr_0.blue() * (1.f - t)) + 0.5f);</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordtype">int</span> a = std::min(clr_0.alpha() + clr_1.alpha(), 255);</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; clr_0.setRed(r);</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; clr_0.setGreen(g);</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; clr_0.setBlue(b);</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; clr_0.setAlpha(a);</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; </div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; Canvas-&gt;setPixelColor(layer.<a class="code" href="struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96">widthOffset</a> + x, layer.<a class="code" href="struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc">heightOffset</a> + y, clr_0);</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; }</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;}</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; </div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;<span class="keywordtype">bool</span> PaintingArea::createTempTopLayer(<span class="keywordtype">int</span> idx){</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">if</span>(idx&gt;=0) {</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <a class="code" href="struct_layer_object.html">LayerObject</a> newLayer;</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; newLayer.<a class="code" href="struct_layer_object.html#a402cb1d9f20436032fe080681b80eb56">alpha</a> = 255;</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; newLayer.<a class="code" href="struct_layer_object.html#ae0003fb815e50ed587a9897988befc90">height</a> = layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(idx)].height;</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; newLayer.<a class="code" href="struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897">width</a> = layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(idx)].width;</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; newLayer.<a class="code" href="struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc">heightOffset</a> = layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(idx)].heightOffset;</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; newLayer.<a class="code" href="struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96">widthOffset</a> = layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(idx)].widthOffset;</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; newLayer.<a class="code" href="struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83">image</a> = layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(idx)].image-&gt;getDeepCopy();</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; layerBundle.insert(layerBundle.begin() + idx + 1,newLayer);</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; }</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;}</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; </div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;<a class="code" href="class_intelli_tool.html">IntelliTool</a>* PaintingArea::copyActiveTool(){</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">switch</span>(Tool-&gt;<a class="code" href="class_intelli_tool.html#aae2a11c5bae4973ed827c60e0c1352b1">getTooltype</a>()) {</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">case</span> <a class="code" href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa0af50777920c1401ab975cab64c4d491">IntelliTool::Tooltype::CIRCLE</a>: <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_intelli_tool_circle.html">IntelliToolCircle</a>(<span class="keyword">this</span>,&amp;<a class="code" href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">colorPicker</a>, &amp;<a class="code" href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">Toolsettings</a>);</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">case</span> <a class="code" href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa526904ea67131c56718f9882518b5d93">IntelliTool::Tooltype::FLOODFILL</a>: <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_intelli_tool_flood_fill.html">IntelliToolFloodFill</a>(<span class="keyword">this</span>,&amp;<a class="code" href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">colorPicker</a>, &amp;<a class="code" href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">Toolsettings</a>);</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">case</span> <a class="code" href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa17b8ef2c330f1430e00c9de5469fc7e7">IntelliTool::Tooltype::LINE</a>: <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_intelli_tool_line.html">IntelliToolLine</a>(<span class="keyword">this</span>,&amp;<a class="code" href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">colorPicker</a>, &amp;<a class="code" href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">Toolsettings</a>);</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">case</span> <a class="code" href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fad3fa1aa45b9fe56e1fc1b558d8ed6678">IntelliTool::Tooltype::PEN</a>: <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_intelli_tool_pen.html">IntelliToolPen</a>(<span class="keyword">this</span>,&amp;<a class="code" href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">colorPicker</a>, &amp;<a class="code" href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">Toolsettings</a>);</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">case</span> <a class="code" href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faf62eb0bf5e5c72e80983fbbac1cb70e5">IntelliTool::Tooltype::PLAIN</a>: <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_intelli_tool_plain_tool.html">IntelliToolPlainTool</a>(<span class="keyword">this</span>,&amp;<a class="code" href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">colorPicker</a>, &amp;<a class="code" href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">Toolsettings</a>);</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">case</span> <a class="code" href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faecdc92bf56d960b73b02ee40125758bc">IntelliTool::Tooltype::POLYGON</a>: <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_intelli_tool_polygon.html">IntelliToolPolygon</a>(<span class="keyword">this</span>,&amp;<a class="code" href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">colorPicker</a>, &amp;<a class="code" href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">Toolsettings</a>);</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">case</span> <a class="code" href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa8e8e58fe94ab307a826e087028a7c01a">IntelliTool::Tooltype::RECTANGLE</a>: <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_intelli_tool_rectangle.html">IntelliToolRectangle</a>(<span class="keyword">this</span>,&amp;<a class="code" href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">colorPicker</a>, &amp;<a class="code" href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">Toolsettings</a>);</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">default</span>: <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; }</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;}</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; </div>
<div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="class_painting_area.html#a24280454ebb80db7feba2fd621513353"> 412</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="class_painting_area.html#a24280454ebb80db7feba2fd621513353">PaintingArea::getNumberOfActiveLayer</a>(){</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">return</span> activeLayer;</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;}</div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; </div>
<div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="class_painting_area.html#acab11ad35d07e9081203d8217d2c0855"> 416</a></span>&#160;<a class="code" href="class_intelli_image.html">IntelliImage</a>* <a class="code" href="class_painting_area.html#acab11ad35d07e9081203d8217d2c0855">PaintingArea::getImageOfActiveLayer</a>(){</div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">if</span>(activeLayer&lt;0) {</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; }</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">return</span> layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(activeLayer)].image;</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;}</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; </div>
<div class="line"><a name="l00423"></a><span class="lineno"><a class="line" href="class_painting_area.html#a24280454ebb80db7feba2fd621513353"> 423</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="class_painting_area.html#a24280454ebb80db7feba2fd621513353">PaintingArea::getNumberOfActiveLayer</a>(){</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">return</span> activeLayer;</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;}</div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; </div>
<div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="class_painting_area.html#acab11ad35d07e9081203d8217d2c0855"> 427</a></span>&#160;<a class="code" href="class_intelli_image.html">IntelliImage</a>* <a class="code" href="class_painting_area.html#acab11ad35d07e9081203d8217d2c0855">PaintingArea::getImageOfActiveLayer</a>(){</div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">if</span>(activeLayer&lt;0) {</div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; }</div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">return</span> layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(activeLayer)].image;</div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;}</div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; </div>
<div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="class_painting_area.html#a4f484ff3ca7ae202ab57a00f52551423"> 434</a></span>&#160;QImage <a class="code" href="class_painting_area.html#a4f484ff3ca7ae202ab57a00f52551423">PaintingArea::getImageDataOfActiveLayer</a>(){</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; QImage returnImage;</div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">if</span>(activeLayer&lt;0) {</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; returnImage = QImage(QSize(10,10),QImage::Format_ARGB32);</div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; returnImage.fill(QColor(255,255,255,255));</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; }</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">else</span>{</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; returnImage = layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(activeLayer)].image-&gt;getImageData();</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordflow">if</span>(renderSettings.<a class="code" href="class_intelli_render_settings.html#a5d0eb9a5a3bf788dd87509386dea8dcd">isFastRenderering</a>()) {</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; returnImage = returnImage.convertToFormat(QImage::Format_ARGB32);</div>
<div class="line"><a name="l00423"></a><span class="lineno"><a class="line" href="class_painting_area.html#a4f484ff3ca7ae202ab57a00f52551423"> 423</a></span>&#160;QImage <a class="code" href="class_painting_area.html#a4f484ff3ca7ae202ab57a00f52551423">PaintingArea::getImageDataOfActiveLayer</a>(){</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; QImage returnImage;</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keywordflow">if</span>(activeLayer&lt;0) {</div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; returnImage = QImage(QSize(10,10),QImage::Format_ARGB32);</div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; returnImage.fill(QColor(255,255,255,255));</div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; }</div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">else</span>{</div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; returnImage = layerBundle[<span class="keyword">static_cast&lt;</span><span class="keywordtype">size_t</span><span class="keyword">&gt;</span>(activeLayer)].image-&gt;getImageData();</div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">if</span>(renderSettings.<a class="code" href="class_intelli_render_settings.html#a5d0eb9a5a3bf788dd87509386dea8dcd">isFastRenderering</a>()) {</div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; returnImage = returnImage.convertToFormat(QImage::Format_ARGB32);</div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; }</div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; }</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">return</span> returnImage;</div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;}</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; </div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;<span class="keywordtype">void</span> PaintingArea::updateTools(){</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">if</span>(Tool!=<span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">if</span>(Tool-&gt;<a class="code" href="class_intelli_tool.html#a0020fad2e26315d5c4d96dbc95d1dceb">getIsDrawing</a>()) {</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <a class="code" href="class_intelli_tool.html">IntelliTool</a>* temp = copyActiveTool();</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keyword">delete</span> this-&gt;Tool;</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; this-&gt;Tool = temp;</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; }</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; }</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">return</span> returnImage;</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;}</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; </div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;<span class="keywordtype">void</span> PaintingArea::updateTools(){</div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">if</span>(Tool!=<span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">if</span>(Tool-&gt;<a class="code" href="class_intelli_tool.html#a0020fad2e26315d5c4d96dbc95d1dceb">getIsDrawing</a>()) {</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <a class="code" href="class_intelli_tool.html">IntelliTool</a>* temp = copyActiveTool();</div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keyword">delete</span> this-&gt;Tool;</div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; this-&gt;Tool = temp;</div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; }</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">if</span>(isSettingPolygon) {</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keyword">delete</span> this-&gt;Tool;</div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; this-&gt;Tool = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; isSettingPolygon = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; }</div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; }</div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;}</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordflow">if</span>(isSettingPolygon) {</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keyword">delete</span> this-&gt;Tool;</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; this-&gt;Tool = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; isSettingPolygon = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; }</div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; }</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_painting_area_html_a675ee91b26b1c58be6d833f279d81597"><div class="ttname"><a href="class_painting_area.html#a675ee91b26b1c58be6d833f279d81597">PaintingArea::getWidthOfActive</a></div><div class="ttdeci">int getWidthOfActive()</div><div class="ttdoc">The getWidthOfActive gets the horizontal dimensions of the active layer.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00235">PaintingArea.cpp:235</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a3fbd2584566b3cefcf3c070ae0b69d8fad3fa1aa45b9fe56e1fc1b558d8ed6678"><div class="ttname"><a href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fad3fa1aa45b9fe56e1fc1b558d8ed6678">IntelliTool::Tooltype::PEN</a></div><div class="ttdeci">@ PEN</div></div>
<div class="ttc" id="aclass_painting_area_html_a2d9f4b3585f7dd1acb11f432ca503466"><div class="ttname"><a href="class_painting_area.html#a2d9f4b3585f7dd1acb11f432ca503466">PaintingArea::createCircleTool</a></div><div class="ttdeci">void createCircleTool()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00221">PaintingArea.cpp:221</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a1e6aa68ac5f3c2ca02319e5ef3f0c966"><div class="ttname"><a href="class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966">IntelliTool::onMouseRightPressed</a></div><div class="ttdeci">virtual void onMouseRightPressed(int x, int y)</div><div class="ttdoc">A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00015">IntelliTool.cpp:15</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a906a2575c16c8a33cb2a5197f8d8cc5b"><div class="ttname"><a href="class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b">IntelliTool::onMouseLeftReleased</a></div><div class="ttdeci">virtual void onMouseLeftReleased(int x, int y)</div><div class="ttdoc">A function managing the left click Released of a Mouse. Call this in child classes!</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00033">IntelliTool.cpp:33</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a1e6aa68ac5f3c2ca02319e5ef3f0c966"><div class="ttname"><a href="class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966">IntelliTool::onMouseRightPressed</a></div><div class="ttdeci">virtual void onMouseRightPressed(int x, int y)</div><div class="ttdoc">A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00018">IntelliTool.cpp:18</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a906a2575c16c8a33cb2a5197f8d8cc5b"><div class="ttname"><a href="class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b">IntelliTool::onMouseLeftReleased</a></div><div class="ttdeci">virtual void onMouseLeftReleased(int x, int y)</div><div class="ttdoc">A function managing the left click Released of a Mouse. Call this in child classes!</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00036">IntelliTool.cpp:36</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a63be0831e5b6ceb8cc622d83aa28f0bd"><div class="ttname"><a href="class_painting_area.html#a63be0831e5b6ceb8cc622d83aa28f0bd">PaintingArea::setRenderSettings</a></div><div class="ttdeci">void setRenderSettings(bool isFastRenderingOn)</div><div class="ttdoc">setRenderSettings updates all Images to the new Rendersetting.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00034">PaintingArea.cpp:34</a></div></div>
<div class="ttc" id="aclass_painting_area_html_acab11ad35d07e9081203d8217d2c0855"><div class="ttname"><a href="class_painting_area.html#acab11ad35d07e9081203d8217d2c0855">PaintingArea::getImageOfActiveLayer</a></div><div class="ttdeci">IntelliImage * getImageOfActiveLayer()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00427">PaintingArea.cpp:427</a></div></div>
<div class="ttc" id="aclass_painting_area_html_acab11ad35d07e9081203d8217d2c0855"><div class="ttname"><a href="class_painting_area.html#acab11ad35d07e9081203d8217d2c0855">PaintingArea::getImageOfActiveLayer</a></div><div class="ttdeci">IntelliImage * getImageOfActiveLayer()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00416">PaintingArea.cpp:416</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a35b5df914acb608cc29717659793359c"><div class="ttname"><a href="class_painting_area.html#a35b5df914acb608cc29717659793359c">PaintingArea::mouseReleaseEvent</a></div><div class="ttdeci">void mouseReleaseEvent(QMouseEvent *event) override</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00294">PaintingArea.cpp:294</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a5b04ce62ce024e307f54e0281f7ae4bd"><div class="ttname"><a href="class_painting_area.html#a5b04ce62ce024e307f54e0281f7ae4bd">PaintingArea::createRectangleTool</a></div><div class="ttdeci">void createRectangleTool()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00216">PaintingArea.cpp:216</a></div></div>
<div class="ttc" id="a_intelli_tool_polygon_8h_html"><div class="ttname"><a href="_intelli_tool_polygon_8h.html">IntelliToolPolygon.h</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a34b7ef1dde96b94a0ce450a25ae1778c"><div class="ttname"><a href="class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c">IntelliTool::onMouseLeftPressed</a></div><div class="ttdeci">virtual void onMouseLeftPressed(int x, int y)</div><div class="ttdoc">A function managing the left click Pressed of a Mouse. Resetting the current draw....</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00026">IntelliTool.cpp:26</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a34b7ef1dde96b94a0ce450a25ae1778c"><div class="ttname"><a href="class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c">IntelliTool::onMouseLeftPressed</a></div><div class="ttdeci">virtual void onMouseLeftPressed(int x, int y)</div><div class="ttdoc">A function managing the left click Pressed of a Mouse. Resetting the current draw....</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00029">IntelliTool.cpp:29</a></div></div>
<div class="ttc" id="aclass_painting_area_html_aeb082c1cda3edb6b68d8ee45cf4822f8"><div class="ttname"><a href="class_painting_area.html#aeb082c1cda3edb6b68d8ee45cf4822f8">PaintingArea::getMaxWidth</a></div><div class="ttdeci">int getMaxWidth()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00243">PaintingArea.cpp:243</a></div></div>
<div class="ttc" id="a_intelli_shaped_image_8h_html"><div class="ttname"><a href="_intelli_shaped_image_8h.html">IntelliShapedImage.h</a></div></div>
<div class="ttc" id="aclass_painting_area_html_aa2463d4f403224086acab02903ae407e"><div class="ttname"><a href="class_painting_area.html#aa2463d4f403224086acab02903ae407e">PaintingArea::save</a></div><div class="ttdeci">bool save(const QString &amp;filePath, const char *fileFormat)</div><div class="ttdoc">The save method is used for exporting the current project as one picture.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00141">PaintingArea.cpp:141</a></div></div>
@@ -591,18 +580,18 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
<div class="ttc" id="a_intelli_tool_line_8h_html"><div class="ttname"><a href="_intelli_tool_line_8h.html">IntelliToolLine.h</a></div></div>
<div class="ttc" id="aclass_intelli_tool_pen_html"><div class="ttname"><a href="class_intelli_tool_pen.html">IntelliToolPen</a></div><div class="ttdoc">The IntelliToolPen class represents a tool to draw a line.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_pen_8h_source.html#l00014">IntelliToolPen.h:14</a></div></div>
<div class="ttc" id="aclass_painting_area_html_ae261acaaa346610dfed489dbac17e789"><div class="ttname"><a href="class_painting_area.html#ae261acaaa346610dfed489dbac17e789">PaintingArea::colorPickerSetSecondColor</a></div><div class="ttdeci">void colorPickerSetSecondColor()</div><div class="ttdoc">The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00192">PaintingArea.cpp:192</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a16189b00307c6d7e89f28198f54404b0"><div class="ttname"><a href="class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0">IntelliTool::onMouseRightReleased</a></div><div class="ttdeci">virtual void onMouseRightReleased(int x, int y)</div><div class="ttdoc">A function managing the right click Released of a Mouse. Merging the Canvas to Active....</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00022">IntelliTool.cpp:22</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a16189b00307c6d7e89f28198f54404b0"><div class="ttname"><a href="class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0">IntelliTool::onMouseRightReleased</a></div><div class="ttdeci">virtual void onMouseRightReleased(int x, int y)</div><div class="ttdoc">A function managing the right click Released of a Mouse. Merging the Canvas to Active....</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00025">IntelliTool.cpp:25</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a4735d4cf1dc58a9096d904e74c39c4df"><div class="ttname"><a href="class_painting_area.html#a4735d4cf1dc58a9096d904e74c39c4df">PaintingArea::colorPickerSetFirstColor</a></div><div class="ttdeci">void colorPickerSetFirstColor()</div><div class="ttdoc">The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00187">PaintingArea.cpp:187</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a3fbd2584566b3cefcf3c070ae0b69d8faf62eb0bf5e5c72e80983fbbac1cb70e5"><div class="ttname"><a href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faf62eb0bf5e5c72e80983fbbac1cb70e5">IntelliTool::Tooltype::PLAIN</a></div><div class="ttdeci">@ PLAIN</div></div>
<div class="ttc" id="aclass_intelli_tool_html_a3fbd2584566b3cefcf3c070ae0b69d8faecdc92bf56d960b73b02ee40125758bc"><div class="ttname"><a href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faecdc92bf56d960b73b02ee40125758bc">IntelliTool::Tooltype::POLYGON</a></div><div class="ttdeci">@ POLYGON</div></div>
<div class="ttc" id="aclass_intelli_tool_html_aae2a11c5bae4973ed827c60e0c1352b1"><div class="ttname"><a href="class_intelli_tool.html#aae2a11c5bae4973ed827c60e0c1352b1">IntelliTool::getTooltype</a></div><div class="ttdeci">Tooltype getTooltype()</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00096">IntelliTool.cpp:96</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_aae2a11c5bae4973ed827c60e0c1352b1"><div class="ttname"><a href="class_intelli_tool.html#aae2a11c5bae4973ed827c60e0c1352b1">IntelliTool::getTooltype</a></div><div class="ttdeci">Tooltype getTooltype()</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00099">IntelliTool.cpp:99</a></div></div>
<div class="ttc" id="aclass_painting_area_html_ae92b27dfd09573c224d2ae1958d3bead"><div class="ttname"><a href="class_painting_area.html#ae92b27dfd09573c224d2ae1958d3bead">PaintingArea::getTypeOfImageRealLayer</a></div><div class="ttdeci">IntelliImage::ImageType getTypeOfImageRealLayer()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00251">PaintingArea.cpp:251</a></div></div>
<div class="ttc" id="astruct_layer_object_html_af261813df52ff0b0c82bfa57efeb9897"><div class="ttname"><a href="struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897">LayerObject::width</a></div><div class="ttdeci">int width</div><div class="ttdoc">width - Stores the width of a layer in pixels.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8h_source.html#l00031">PaintingArea.h:31</a></div></div>
<div class="ttc" id="a_intelli_tool_rectangle_8h_html"><div class="ttname"><a href="_intelli_tool_rectangle_8h.html">IntelliToolRectangle.h</a></div></div>
<div class="ttc" id="aclass_intelli_render_settings_html_a5d0eb9a5a3bf788dd87509386dea8dcd"><div class="ttname"><a href="class_intelli_render_settings.html#a5d0eb9a5a3bf788dd87509386dea8dcd">IntelliRenderSettings::isFastRenderering</a></div><div class="ttdeci">bool isFastRenderering()</div><div class="ttdoc">The getfastRenderer gets the value of the flag for the fastRenderer setting.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_render_settings_8cpp_source.html#l00012">IntelliRenderSettings.cpp:12</a></div></div>
<div class="ttc" id="aclass_painting_area_html_aa32adc113f77031945f73e33051931e8"><div class="ttname"><a href="class_painting_area.html#aa32adc113f77031945f73e33051931e8">PaintingArea::~PaintingArea</a></div><div class="ttdeci">~PaintingArea() override</div><div class="ttdoc">This deconstructor is used to clear up the memory and remove the currently active window.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00030">PaintingArea.cpp:30</a></div></div>
<div class="ttc" id="aclass_painting_area_html_aa22e274b6094a9619f196cd7b49526b5"><div class="ttname"><a href="class_painting_area.html#aa22e274b6094a9619f196cd7b49526b5">PaintingArea::mouseMoveEvent</a></div><div class="ttdeci">void mouseMoveEvent(QMouseEvent *event) override</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00281">PaintingArea.cpp:281</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a24280454ebb80db7feba2fd621513353"><div class="ttname"><a href="class_painting_area.html#a24280454ebb80db7feba2fd621513353">PaintingArea::getNumberOfActiveLayer</a></div><div class="ttdeci">int getNumberOfActiveLayer()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00423">PaintingArea.cpp:423</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a24280454ebb80db7feba2fd621513353"><div class="ttname"><a href="class_painting_area.html#a24280454ebb80db7feba2fd621513353">PaintingArea::getNumberOfActiveLayer</a></div><div class="ttdeci">int getNumberOfActiveLayer()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00412">PaintingArea.cpp:412</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a7e2ddbbbfbed383f06b24e5bf6b27ae8"><div class="ttname"><a href="class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8">IntelliColorPicker::setFirstColor</a></div><div class="ttdeci">void setFirstColor(QColor Color)</div><div class="ttdoc">A function to set the primary color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8cpp_source.html#l00024">IntelliColorPicker.cpp:24</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html"><div class="ttname"><a href="class_intelli_tool.html">IntelliTool</a></div><div class="ttdoc">An abstract class that manages the basic events, like mouse clicks or scrolls events.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00017">IntelliTool.h:17</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a5274ce9fcdcb2659c148e7ff916b680eac065b60ec4cf443808263527bdc0df37"><div class="ttname"><a href="class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680eac065b60ec4cf443808263527bdc0df37">IntelliImage::ImageType::SHAPEDIMAGE</a></div><div class="ttdeci">@ SHAPEDIMAGE</div></div>
@@ -613,11 +602,11 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
<div class="ttc" id="aclass_painting_area_html_ae05f6893fb44bfcb34018573a609cd1a"><div class="ttname"><a href="class_painting_area.html#ae05f6893fb44bfcb34018573a609cd1a">PaintingArea::moveActiveLayer</a></div><div class="ttdeci">void moveActiveLayer(int idx)</div><div class="ttdoc">The moveActiveLayer moves the active layer to a specific position in the layer stack.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00170">PaintingArea.cpp:170</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a132535c4e16052c1472cf1b9f3e096ed"><div class="ttname"><a href="class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed">PaintingArea::colorPicker</a></div><div class="ttdeci">IntelliColorPicker colorPicker</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8h_source.html#l00202">PaintingArea.h:202</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a4fa0ec23e78cc59f28c823584c721460"><div class="ttname"><a href="class_painting_area.html#a4fa0ec23e78cc59f28c823584c721460">PaintingArea::PaintingArea</a></div><div class="ttdeci">PaintingArea(int maxWidth=600, int maxHeight=600, QWidget *parent=nullptr)</div><div class="ttdoc">PaintingArea is the constructor of the PaintingArea class, which initiates the working environment.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00022">PaintingArea.cpp:22</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a0020fad2e26315d5c4d96dbc95d1dceb"><div class="ttname"><a href="class_intelli_tool.html#a0020fad2e26315d5c4d96dbc95d1dceb">IntelliTool::getIsDrawing</a></div><div class="ttdeci">bool getIsDrawing()</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00100">IntelliTool.cpp:100</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a0020fad2e26315d5c4d96dbc95d1dceb"><div class="ttname"><a href="class_intelli_tool.html#a0020fad2e26315d5c4d96dbc95d1dceb">IntelliTool::getIsDrawing</a></div><div class="ttdeci">bool getIsDrawing()</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00103">IntelliTool.cpp:103</a></div></div>
<div class="ttc" id="a_painting_area_8h_html"><div class="ttname"><a href="_painting_area_8h.html">PaintingArea.h</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_aae2eb27b928fe9388b9398b0556303b7"><div class="ttname"><a href="class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7">IntelliColorPicker::getFirstColor</a></div><div class="ttdeci">QColor getFirstColor()</div><div class="ttdoc">A function to read the primary selected color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8cpp_source.html#l00016">IntelliColorPicker.cpp:16</a></div></div>
<div class="ttc" id="astruct_layer_object_html_ae0003fb815e50ed587a9897988befc90"><div class="ttname"><a href="struct_layer_object.html#ae0003fb815e50ed587a9897988befc90">LayerObject::height</a></div><div class="ttdeci">int height</div><div class="ttdoc">height - Stores the height of a layer in pixels.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8h_source.html#l00035">PaintingArea.h:35</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a4f484ff3ca7ae202ab57a00f52551423"><div class="ttname"><a href="class_painting_area.html#a4f484ff3ca7ae202ab57a00f52551423">PaintingArea::getImageDataOfActiveLayer</a></div><div class="ttdeci">QImage getImageDataOfActiveLayer()</div><div class="ttdoc">getImageDataOfActiveLayer used to get the currents active imageData (if there isn't any active layer ...</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00434">PaintingArea.cpp:434</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a4f484ff3ca7ae202ab57a00f52551423"><div class="ttname"><a href="class_painting_area.html#a4f484ff3ca7ae202ab57a00f52551423">PaintingArea::getImageDataOfActiveLayer</a></div><div class="ttdeci">QImage getImageDataOfActiveLayer()</div><div class="ttdoc">getImageDataOfActiveLayer used to get the currents active imageData (if there isn't any active layer ...</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00423">PaintingArea.cpp:423</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a0b22e18069b524f3e75857d203baf256"><div class="ttname"><a href="class_painting_area.html#a0b22e18069b524f3e75857d203baf256">PaintingArea::createFloodFillTool</a></div><div class="ttdeci">void createFloodFillTool()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00230">PaintingArea.cpp:230</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a71ac281e0de263208d4a3b9de74258ec"><div class="ttname"><a href="class_painting_area.html#a71ac281e0de263208d4a3b9de74258ec">PaintingArea::slotActivateLayer</a></div><div class="ttdeci">void slotActivateLayer(int a)</div><div class="ttdoc">The slotActivateLayer method handles the event of selecting one layer as active.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00180">PaintingArea.cpp:180</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a4a8138b9508ee4ec87a7fca9160368a7"><div class="ttname"><a href="class_painting_area.html#a4a8138b9508ee4ec87a7fca9160368a7">PaintingArea::paintEvent</a></div><div class="ttdeci">void paintEvent(QPaintEvent *event) override</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00324">PaintingArea.cpp:324</a></div></div>
@@ -629,7 +618,6 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
<div class="ttc" id="aclass_intelli_image_html_ae231800aba38c96074bbe9bb6e341d4e"><div class="ttname"><a href="class_intelli_image.html#ae231800aba38c96074bbe9bb6e341d4e">IntelliImage::loadImage</a></div><div class="ttdeci">virtual bool loadImage(const QString &amp;filePath)</div><div class="ttdoc">A function that loads and sclaes an image to the fitting dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00022">IntelliImage.cpp:22</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a7ae21fd031ee1c04f92e042e86be0a90"><div class="ttname"><a href="class_painting_area.html#a7ae21fd031ee1c04f92e042e86be0a90">PaintingArea::getPolygonDataOfRealLayer</a></div><div class="ttdeci">std::vector&lt; QPoint &gt; getPolygonDataOfRealLayer()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00255">PaintingArea.cpp:255</a></div></div>
<div class="ttc" id="aclass_painting_area_html_abc2f798744f1dc805a651731eb1692ea"><div class="ttname"><a href="class_painting_area.html#abc2f798744f1dc805a651731eb1692ea">PaintingArea::Toolsettings</a></div><div class="ttdeci">IntelliToolsettings Toolsettings</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8h_source.html#l00201">PaintingArea.h:201</a></div></div>
<div class="ttc" id="aclass_painting_area_html_ab57e8ccda60fff7187463a90e65c5335"><div class="ttname"><a href="class_painting_area.html#ab57e8ccda60fff7187463a90e65c5335">PaintingArea::resizeEvent</a></div><div class="ttdeci">void resizeEvent(QResizeEvent *event) override</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00335">PaintingArea.cpp:335</a></div></div>
<div class="ttc" id="aclass_painting_area_html_aa409492ac26483d618bb33616f2e3f81"><div class="ttname"><a href="class_painting_area.html#aa409492ac26483d618bb33616f2e3f81">PaintingArea::setPolygon</a></div><div class="ttdeci">void setPolygon(int idx)</div><div class="ttdoc">setPolygon is used for setting polygondata, it only works on RASTER images</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00117">PaintingArea.cpp:117</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a3fbd2584566b3cefcf3c070ae0b69d8fa17b8ef2c330f1430e00c9de5469fc7e7"><div class="ttname"><a href="class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa17b8ef2c330f1430e00c9de5469fc7e7">IntelliTool::Tooltype::LINE</a></div><div class="ttdeci">@ LINE</div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_aec499265ae28ce1b54be88222e74292e"><div class="ttname"><a href="class_intelli_color_picker.html#aec499265ae28ce1b54be88222e74292e">IntelliColorPicker::swapColors</a></div><div class="ttdeci">void swapColors()</div><div class="ttdoc">A function switching primary and secondary color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8cpp_source.html#l00012">IntelliColorPicker.cpp:12</a></div></div>
@@ -639,10 +627,10 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');
<div class="ttc" id="aclass_intelli_tool_circle_html"><div class="ttname"><a href="class_intelli_tool_circle.html">IntelliToolCircle</a></div><div class="ttdoc">The IntelliToolCircle class represents a tool to draw a circle.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_circle_8h_source.html#l00014">IntelliToolCircle.h:14</a></div></div>
<div class="ttc" id="aclass_painting_area_html_ac6d089f4357b22d9a9906fd4771de3e7"><div class="ttname"><a href="class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7">PaintingArea::movePositionActive</a></div><div class="ttdeci">void movePositionActive(int x, int y)</div><div class="ttdoc">The movePositionActive method moves the active layer to certain position.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00164">PaintingArea.cpp:164</a></div></div>
<div class="ttc" id="aclass_intelli_image_html"><div class="ttname"><a href="class_intelli_image.html">IntelliImage</a></div><div class="ttdoc">An abstract class which manages the basic IntelliImage operations.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00022">IntelliImage.h:22</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_ac10e20414cd8855a2f9b103fb6408639"><div class="ttname"><a href="class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639">IntelliTool::onMouseMoved</a></div><div class="ttdeci">virtual void onMouseMoved(int x, int y)</div><div class="ttdoc">A function managing the mouse moved event. Call this in child classes!</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00043">IntelliTool.cpp:43</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_ac10e20414cd8855a2f9b103fb6408639"><div class="ttname"><a href="class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639">IntelliTool::onMouseMoved</a></div><div class="ttdeci">virtual void onMouseMoved(int x, int y)</div><div class="ttdoc">A function managing the mouse moved event. Call this in child classes!</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00046">IntelliTool.cpp:46</a></div></div>
<div class="ttc" id="aclass_intelli_tool_polygon_html"><div class="ttname"><a href="class_intelli_tool_polygon.html">IntelliToolPolygon</a></div><div class="ttdoc">The IntelliToolPolygon managed the Drawing of Polygonforms.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_polygon_8h_source.html#l00015">IntelliToolPolygon.h:15</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_aebbced93f4744fad81b7f141b21f4ab2"><div class="ttname"><a href="class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2">IntelliImage::calculateVisiblity</a></div><div class="ttdeci">virtual void calculateVisiblity()=0</div><div class="ttdoc">An abstract function that calculates the visiblity of the Image data if needed.</div></div>
<div class="ttc" id="aclass_intelli_tool_html_a4dccfd4460255ccb866f336406a33574"><div class="ttname"><a href="class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574">IntelliTool::onWheelScrolled</a></div><div class="ttdeci">virtual void onWheelScrolled(int value)</div><div class="ttdoc">A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00048">IntelliTool.cpp:48</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a4dccfd4460255ccb866f336406a33574"><div class="ttname"><a href="class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574">IntelliTool::onWheelScrolled</a></div><div class="ttdeci">virtual void onWheelScrolled(int value)</div><div class="ttdoc">A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00051">IntelliTool.cpp:51</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html"><div class="ttname"><a href="class_intelli_raster_image.html">IntelliRasterImage</a></div><div class="ttdoc">The IntelliRasterImage manages a RASTERIMAGE.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8h_source.html#l00012">IntelliRasterImage.h:12</a></div></div>
<div class="ttc" id="a_intelli_tool_circle_8h_html"><div class="ttname"><a href="_intelli_tool_circle_8h.html">IntelliToolCircle.h</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a6e9207612cef104d39013564696fe989"><div class="ttname"><a href="class_painting_area.html#a6e9207612cef104d39013564696fe989">PaintingArea::addLayer</a></div><div class="ttdeci">int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type=IntelliImage::ImageType::RASTERIMAGE)</div><div class="ttdoc">The addLayer adds a layer to the current project/ painting area.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00062">PaintingArea.cpp:62</a></div></div>