summaryrefslogtreecommitdiff
path: root/old/dw/html/dw-out-of-flow-positioned.html
diff options
context:
space:
mode:
Diffstat (limited to 'old/dw/html/dw-out-of-flow-positioned.html')
-rw-r--r--old/dw/html/dw-out-of-flow-positioned.html66
1 files changed, 66 insertions, 0 deletions
diff --git a/old/dw/html/dw-out-of-flow-positioned.html b/old/dw/html/dw-out-of-flow-positioned.html
new file mode 100644
index 0000000..441bbbb
--- /dev/null
+++ b/old/dw/html/dw-out-of-flow-positioned.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>Dillo: Handling Elements Out Of Flow: Positioned Elements</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="https://www.dillo.org/dw/html/jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">Dillo
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Handling Elements Out Of Flow: Positioned Elements </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><div style="border: 2px solid #ffff00; margin: 1em 0; padding: 0.5em
+ 1em; background-color: #ffffe0">Positioned elements have been deactivated, during the development of <a class="el" href="dw-size-request-pos.html">Size requisitions depending on positions</a>, to focus on floats. See dw::core::IMPL_POS in file <a class="el" href="core_8hh.html">dw/core.hh</a>.</div><h1>Miscellaneous notes </h1>
+<h2>General </h2>
+<p>(See also <em>relative positions</em> below.)</p>
+<p>What about negative positions?</p>
+<p><a class="el" href="classdw_1_1oof_1_1OutOfFlowMgr.html#a5d252d563e8789b9204b4d202aa8cd16" title="Called before tellPosition2, see there for more. ">dw::oof::OutOfFlowMgr::tellPosition1</a> and <a class="el" href="classdw_1_1oof_1_1OutOfFlowMgr.html#a9610e1f60895d4199a45e7c03ed98116" title="Called after tellPosition1. ">dw::oof::OutOfFlowMgr::tellPosition2</a> could be combined again, and called in the respective circumstance, depending on <a class="el" href="classdw_1_1oof_1_1OutOfFlowMgr.html#a1d4b6dc690a8d9017b681f5930d6bc72">dw::oof::OutOfFlowMgr::mayAffectBordersAtAll</a>.</p>
+<h2>Relative positions </h2>
+<p>General Overview:** At the original position, a space as large as the positioned element is left. This is implemented by assigning a size to the widget <em>reference</em>. For this there are two new methods: <a class="el" href="classdw_1_1oof_1_1OutOfFlowMgr.html#a809c2471c978a069ca81ad79e20b573e">dw::oof::OutOfFlowMgr::calcWidgetRefSize</a> and <a class="el" href="classdw_1_1oof_1_1OOFAwareWidget.html#aa240f4bd7fbe852d68051234b9a45f02">dw::oof::OOFAwareWidget::widgetRefSizeChanged</a>.</p>
+<p>Bug:** Since the size of a relatively positioned element should be calculated as if it was in flow, the available width should be delegated to the <em>generator</em>; however, since <a class="el" href="classdw_1_1oof_1_1OOFPosRelMgr.html#a483c11f44c7ad327749828511947d870">dw::oof::OOFPosRelMgr::dealingWithSizeOfChild</a> returns <em>false</em> in all cases, it is delegated to the <em>container</em>. <b>Idea for fix:</b> <a class="el" href="classdw_1_1oof_1_1OOFPosRelMgr.html#a483c11f44c7ad327749828511947d870">dw::oof::OOFPosRelMgr::dealingWithSizeOfChild</a> should return <em>false</em> if and only if the generator of the child is the container (to prevent an endless recursion). In other cases, <a class="el" href="classdw_1_1oof_1_1OOFPosRelMgr.html#a1f8f31bc930028928d07637407005600">dw::oof::OOFPosRelMgr::getAvailWidthOfChild</a> and <a class="el" href="classdw_1_1oof_1_1OOFPosRelMgr.html#acb206803f288a2c1f66888c4d0668189">dw::oof::OOFPosRelMgr::getAvailHeightOfChild</a> should directly call the respective methods of the <em>generator</em>, which must be made public then.</p>
+<p>Performance:** In many cases, the first call of <a class="el" href="classdw_1_1oof_1_1OOFPositionedMgr.html#a7b1a105d203f328a3b645009381b4009">dw::oof::OOFPosRelMgr::sizeAllocateEnd</a> will queue again the resize idle, since some elements are not considered in <a class="el" href="classdw_1_1oof_1_1OOFPosRelMgr.html#a604a60ddf23d6539312c19d3be0e7768">dw::oof::OOFPosRelMgr::getSize</a>. One case could be removed: if a positioned element has <em>left</em> = <em>top</em> = 0, and its total size (the requisition) is equal to the space left at the original position, the size of the widget <em>reference</em> (<a class="el" href="classdw_1_1oof_1_1OOFAwareWidget.html#a8f0cc8138088d41caba53d69c72ab979">dw::oof::OOFAwareWidget::getRequisitionWithoutOOF</a>, see <a class="el" href="classdw_1_1oof_1_1OOFPosRelMgr.html#a62c4065a83c79b09541732965158c01a">dw::oof::OOFPosRelMgr::calcWidgetRefSize</a>).</p>
+<p>Documentation:** Describe why the latter is not covered by <a class="el" href="classdw_1_1oof_1_1OOFPositionedMgr.html#a7c554b243df193f86f0af2691f80179d">dw::oof::OOFPositionedMgr::doChildrenExceedContainer</a>. (Is this really the case?)</p>
+<p>Open:** Stacking order? Furthermore: a relatively positioned element does not always constitute a containing block (see CSS specification).</p>
+<h2>Fixed positions </h2>
+<p>Currently, fixedly positioned elements are positioned relative to the canvas, not to the viewport. For a complete implementation, see <a class="el" href="dw-fixed-positions.html">Fixed positions</a>. </p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sat May 28 2016 11:47:43 for Dillo by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>