coriolis/hurricane/doc/viewer/html/group__graphicsGroup.html

113 lines
6.3 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0//EN'>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Hurricane Documentation</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="SoC.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head>
<h1 id="pagetop" class="header">Hurricane Design Viewer</h1>
<!--
<center class="header">
<table class="header">
<tr>
<td><a href="customSummary.html">Summary</a></td>
<td><a href="namespaces.html">Namespaces</a></td>
<td><a href="customHierarchy.html">Class Hierarchy</a></td>
<td><a href="annotated.html">Classes</a></td>
<td><a href="functions.html">Member Index</a></td>
</tr>
</table>
</center>
-->
<br>
<body onload="javascript:toggleLevel(1)">
<!-- Generated by Doxygen 1.9.1 -->
Analog integration part II. Analog place & route (slicing tree). * Change: In Hurricane::CellWidget, set the minimal size to 350 pixels to fit my normal DPI secondary screen... * Change: In Hurricane::Error(), reactivate the backtrace generation by default. Seriously slow down the program each time an Error is to be constructed. * Bug: In Analog::Device::preCreate(), check for NULL Technology before attempting to use it. * Change: In Hurricane/Analog, remove all '*Arguments*' classes and their Python interface. It was an obsoleted way of passing devices parameters to the Python layout generators (located in Oroshi). Now we just get them straight from the Device with the getParamter() method. * Change: In CRL::System CTOR, add Python pathes for Oroshi & Karakaze. * Change: In Oroshi/Python/WIP_*.py layout generator scripts, remove all uses of the "Arguments". Directly access the parameters through the device itself. Make the checkCoherency() with identical arguments as of layout(). * New: Bora tool that performs analog place & route. Based on a slicing tree representation. It is the thesis work of Eric Lao. Code beautyfication and some programming cleanup. * New: Karakaze tool, provide the Python base class AnalogDesign used to build an analog design. Create/configure devices and assemble them in a slicing tree. * Change: In Unicorn/cgt.py, display the stack trace in case of an ImportError exception as well as for other exceptions. Add Bora to the set for included tool engines.
2018-10-18 11:10:01 -05:00
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">Graphics</div> </div>
</div><!--header-->
<div class="contents">
<p>Access to Graphical Resources.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHurricane_1_1Graphics.html">Hurricane::Graphics</a></td></tr>
Analog integration part II. Analog place & route (slicing tree). * Change: In Hurricane::CellWidget, set the minimal size to 350 pixels to fit my normal DPI secondary screen... * Change: In Hurricane::Error(), reactivate the backtrace generation by default. Seriously slow down the program each time an Error is to be constructed. * Bug: In Analog::Device::preCreate(), check for NULL Technology before attempting to use it. * Change: In Hurricane/Analog, remove all '*Arguments*' classes and their Python interface. It was an obsoleted way of passing devices parameters to the Python layout generators (located in Oroshi). Now we just get them straight from the Device with the getParamter() method. * Change: In CRL::System CTOR, add Python pathes for Oroshi & Karakaze. * Change: In Oroshi/Python/WIP_*.py layout generator scripts, remove all uses of the "Arguments". Directly access the parameters through the device itself. Make the checkCoherency() with identical arguments as of layout(). * New: Bora tool that performs analog place & route. Based on a slicing tree representation. It is the thesis work of Eric Lao. Code beautyfication and some programming cleanup. * New: Karakaze tool, provide the Python base class AnalogDesign used to build an analog design. Create/configure devices and assemble them in a slicing tree. * Change: In Unicorn/cgt.py, display the stack trace in case of an ImportError exception as well as for other exceptions. Add Bora to the set for included tool engines.
2018-10-18 11:10:01 -05:00
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Manage basic graphical configuration (<b>API</b>) <a href="classHurricane_1_1Graphics.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Access to Graphical Resources. </p>
<h1><a class="anchor" id="secGraphicsStructure"></a>
General Structure of the Graphics Object</h1>
<p>First, the <a class="el" href="classHurricane_1_1Graphics.html" title="Manage basic graphical configuration (API)">Graphics</a> object is a singleton that has to be accessed through the static getGraphics methods.</p>
<p>The <a class="el" href="classHurricane_1_1Graphics.html" title="Manage basic graphical configuration (API)">Graphics</a> object contains a set of DisplayStyles of which one is active at a time and so used to do all drawings. Each <a class="el" href="classHurricane_1_1DisplayStyle.html" title="A complete set of DrawinStyles to uses with the CellWidget.">DisplayStyle</a> is identified though a name and can be selected with the setStyle() method.</p>
<p>The <a class="el" href="classHurricane_1_1DisplayStyle.html" title="A complete set of DrawinStyles to uses with the CellWidget.">DisplayStyle</a> itself is a set of DrawingStyle. Each DrawingStyle is named and provides a QColor, a QPen and a QBrush. QColor, QPen &amp; QBrush are build from the <code></code>(red,green,blue) , <code>BorderWidth</code> and <code>pattern</code> .</p>
<p>Direct access to the DrawingStyle: once a <a class="el" href="classHurricane_1_1DisplayStyle.html" title="A complete set of DrawinStyles to uses with the CellWidget.">DisplayStyle</a> has been selected, the <a class="el" href="classHurricane_1_1Graphics.html" title="Manage basic graphical configuration (API)">Graphics</a> accessors getColor(), getPen() or getBrush() gives you access to the DrawingStyles.</p>
<p>Minimal <a class="el" href="classHurricane_1_1DisplayStyle.html" title="A complete set of DrawinStyles to uses with the CellWidget.">DisplayStyle</a>: any <a class="el" href="classHurricane_1_1DisplayStyle.html" title="A complete set of DrawinStyles to uses with the CellWidget.">DisplayStyle</a> contains at least the following DrawingStyles : </p><ul>
<li>
<b>Fallback</b> : the default DrawingStyle. </li>
<li>
<b>Background</b> </li>
<li>
<b>Foreground</b> </li>
<li>
<b><a class="elRef" href="../hurricane/classHurricane_1_1Rubber.html">Rubber</a></b> </li>
<li>
<b>Phantom</b> </li>
<li>
<b>Boundaries</b> </li>
<li>
<b>Marker</b> </li>
<li>
<b>SelectionDraw</b> </li>
<li>
<b>SelectionFill</b> </li>
<li>
<b>Grid</b> </li>
<li>
<b>Spot</b> </li>
<li>
<b>Ghost</b> </li>
<li>
<b>Text</b> </li>
<li>
<b>Undef</b> </li>
</ul>
<p>Configuration parsers should create a DrawingStyle for each <a class="elRef" href="../hurricane/classHurricane_1_1BasicLayer.html">BasicLayer</a>, with the name of the <a class="elRef" href="../hurricane/classHurricane_1_1BasicLayer.html">BasicLayer</a> as the key. So the following code should be valid : </p><div class="fragment"><div class="line">QBrush layerBrush = <a class="code" href="classHurricane_1_1Graphics.html#ad67a43df460d5c5d5179a81d2a72c9a9">Graphics::getBrush</a> ( layer-&gt;getName() );</div>
<div class="ttc" id="aclassHurricane_1_1Graphics_html_ad67a43df460d5c5d5179a81d2a72c9a9"><div class="ttname"><a href="classHurricane_1_1Graphics.html#ad67a43df460d5c5d5179a81d2a72c9a9">Hurricane::Graphics::getBrush</a></div><div class="ttdeci">static QBrush getBrush(const Name &amp;key, const DisplayStyle::HSVr &amp;darkening=DisplayStyle::HSVr())</div></div>
</div><!-- fragment --><p> If no DrawingStyle of that name is defined, the <b>Fallback</b> will be used. </p>
</div><!-- contents -->
<br>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.9.1 on Thu Aug 11 2022</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>
<table class="footer2">
<tr>
<td class="LFooter">Hurricane Design Viewer</td>
<td class="RFooter"><small>Copyright &#169; 2008-2020 Sorbonne Universite All rights reserved</small></td>
</tr>
</table>
</body>
</html>