<table><tr><td style="">aacid added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D21266">View Revision</a></tr></table><br /><div><div><p>You really need to remove all the mentions of page you're adding, this is geometry that has nothing to do with pages.</p>

<p>Yes in Okular in 99.99% of the cases it's used in conjunction with a page, but it is not about pages, it just so happen that most of the needs okular has regarding geometry is about pages and its contents.</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21266#inline-121079">View Inline</a><span style="color: #4b4d51; font-weight: bold;">area.h:63</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span style="color: #74777d"> *</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span style="color: #74777d"> * NormalizedRect provides additional geometric operations recarding rectangles.</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span style="color: #74777d"> *</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">recarding typeo</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21266#inline-119591">View Inline</a><span style="color: #4b4d51; font-weight: bold;">davidhurka</span> wrote in <span style="color: #4b4d51; font-weight: bold;">area.h:98</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">I think in this case it is strictly page <em>size</em> related, because it unifies vertical and horizontal distance using Phytagoras.</p>

<p style="padding: 0; margin: 8px;">Without the page size, the result would be meaningless in many cases.</p>

<p style="padding: 0; margin: 8px;">Besides that, NormalizedPoint classes could be used as abstract coordinate system convenience classes, for anything else with varying absolute sizes. Can we expect anything else than pages?</p>

<p style="padding: 0; margin: 8px;">If you wish to keep the documemtation compatible to future use cases, I could just clarify the scaling. Examle:</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">* @par Scaling
* To convert a NormalizedPoint to a point with absolute coordinates,
* the normalized coordinate system needs to be mapped to the reference area.
* This can be done with two scaling factors, xScale and yScale.
* These will just be equal to the width and height of the reference area.
*</pre></div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">It is not page size related *at all*</p>

<p style="padding: 0; margin: 8px;">It's just two points, one of them has a scaling. Nothing here is necessarily about pages.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21266#inline-119300">View Inline</a><span style="color: #4b4d51; font-weight: bold;">davidhurka</span> wrote in <span style="color: #4b4d51; font-weight: bold;">area.h:108</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">Is there a reason to make this one function <tt style="background: #ebebeb; font-size: 13px;">static</tt>?</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">i don't know, you may want to ask Peter, but it was 6 years ago, i doubt he remembers.</p>

<p style="padding: 0; margin: 8px;">What's your problem with it being static?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21266#inline-119301">View Inline</a><span style="color: #4b4d51; font-weight: bold;">davidhurka</span> wrote in <span style="color: #4b4d51; font-weight: bold;">area.h:192</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">This is implemented with double == 0. Won’t this always return true?</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">bool NormalizedRect::isNull() const
{
    return left == 0 && top== 0 && right == 0 && bottom == 0;
}</pre></div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Why would it always return true?</p>

<p style="padding: 0; margin: 8px;">When left is 0.5 it will obviously return false, no?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21266#inline-119302">View Inline</a><span style="color: #4b4d51; font-weight: bold;">davidhurka</span> wrote in <span style="color: #4b4d51; font-weight: bold;">area.h:229</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">What’s the purpose of rounding? The application code looks like it doesn’t matter.</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">I don't understand the question. The purpose it is "it's rounded and thus potentially more accurate than without rounding because 0.9 will be 1 instead of 0"? i mean it's like you're asking "what is rounding"?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21266#inline-119303">View Inline</a><span style="color: #4b4d51; font-weight: bold;">davidhurka</span> wrote in <span style="color: #4b4d51; font-weight: bold;">area.h:308</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">Adjectives like ‘left’ or ‘top’ aren’t very precise. Is the rectangle left of the point or is the point left of the rectangle?</p>

<p style="padding: 0; margin: 8px;">Additionally, this is inconsistent to ‘isTop’ <-> ‘isTopOrLevel’. I suggest to rename the functions to names like:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">isAboveOrLevel</li>
<li class="remarkup-list-item">isLeftOrAmong</li>
<li class="remarkup-list-item">isLeftOfOrAlong</li>
</ul></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Breaking API is a big no no just because you don't like the name.</p>

<p style="padding: 0; margin: 8px;">The documentation clearly says what left means.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21266#inline-119305">View Inline</a><span style="color: #4b4d51; font-weight: bold;">davidhurka</span> wrote in <span style="color: #4b4d51; font-weight: bold;">area.h:379</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">“A reference to an ‘object’” is very broad.</p>

<p style="padding: 0; margin: 8px;">This is an area on a page (like RegularAreaRect), and links to an Annotation or SourceReference, or something “not owned”.</p>

<p style="padding: 0; margin: 8px;">Some bad alternative ideas to ‘ObjectRect’: ;)</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">InterestingArea</li>
<li class="remarkup-list-item">AreaToClick</li>
<li class="remarkup-list-item">DetailArea</li>
<li class="remarkup-list-item">ActiveArea</li>
<li class="remarkup-list-item">IntelligentArea</li>
<li class="remarkup-list-item">SpeciaArea</li>
<li class="remarkup-list-item">ReferencingArea</li>
</ul></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">We're not renaming ObjectRect.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21266#inline-119306">View Inline</a><span style="color: #4b4d51; font-weight: bold;">davidhurka</span> wrote in <span style="color: #4b4d51; font-weight: bold;">area.h:386</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">What does this mean?</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">No idea, you're the first peson ever that probably reads this line :D</p>

<p style="padding: 0; margin: 8px;">I used the power of git history and i think tab means table and the table tries to explain which kind of object the object() function returns.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21266#inline-119304">View Inline</a><span style="color: #4b4d51; font-weight: bold;">davidhurka</span> wrote in <span style="color: #4b4d51; font-weight: bold;">area.h:412</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">What’s the purpose of ‘ellipse’? Currently it’s not used.</p>

<p style="padding: 0; margin: 8px;">Are any of these parameters used at all?</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">What do you mean ellipse is not used?</p>

<p style="padding: 0; margin: 8px;">It is used here, isn't it?</p>

<p style="padding: 0; margin: 8px;"><a href="https://cgit.kde.org/okular.git/tree/core/area.cpp#n314" class="remarkup-link" target="_blank" rel="noreferrer">https://cgit.kde.org/okular.git/tree/core/area.cpp#n314</a></p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21266#inline-119307">View Inline</a><span style="color: #4b4d51; font-weight: bold;">davidhurka</span> wrote in <span style="color: #4b4d51; font-weight: bold;">area.h:456</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">The base class implementation just ignores the page size and takes the point as normalized.</p>

<p style="padding: 0; margin: 8px;">This method is not used anywhere. Maybe it should be fixed, ore be pure virtual?</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">What do you mean it's not used anywhere? Have you tried marking it as pure virtual?</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R223 Okular</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D21266">https://phabricator.kde.org/D21266</a></div></div><br /><div><strong>To: </strong>davidhurka, Okular<br /><strong>Cc: </strong>aacid, okular-devel, joaonetto, tfella, ngraham, darcyshen<br /></div>