aacid added a comment.

  You really need to remove all the mentions of page you're adding, this is 
geometry that has nothing to do with pages.
  
  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.

INLINE COMMENTS

> area.h:63
> + *
> + * NormalizedRect provides additional geometric operations recarding 
> rectangles.
> + *

recarding typeo

> davidhurka wrote in area.h:98
> I think in this case it is strictly page //size// related, because it unifies 
> vertical and horizontal distance using Phytagoras.
> 
> Without the page size, the result would be meaningless in many cases.
> 
> 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?
> 
> If you wish to keep the documemtation compatible to future use cases, I could 
> just clarify the scaling. Examle:
> 
>   * @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.
>   *

It is not page size related *at all*

It's just two points, one of them has a scaling. Nothing here is necessarily 
about pages.

> davidhurka wrote in area.h:108
> Is there a reason to make this one function `static`?

i don't know, you may want to ask Peter, but it was 6 years ago, i doubt he 
remembers.

What's your problem with it being static?

> davidhurka wrote in area.h:192
> This is implemented with double == 0. Won’t this always return true?
> 
>   bool NormalizedRect::isNull() const
>   {
>       return left == 0 && top== 0 && right == 0 && bottom == 0;
>   }

Why would it always return true?

When left is 0.5 it will obviously return false, no?

> davidhurka wrote in area.h:229
> What’s the purpose of rounding? The application code looks like it doesn’t 
> matter.

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"?

> davidhurka wrote in area.h:308
> Adjectives like ‘left’ or ‘top’ aren’t very precise. Is the rectangle left of 
> the point or is the point left of the rectangle?
> 
> Additionally, this is inconsistent to ‘isTop’ <-> ‘isTopOrLevel’. I suggest 
> to rename the functions to names like:
> 
> - isAboveOrLevel
> - isLeftOrAmong
> - isLeftOfOrAlong

Breaking API is a big no no just because you don't like the name.

The documentation clearly says what left means.

> davidhurka wrote in area.h:379
> “A reference to an ‘object’” is very broad.
> 
> This is an area on a page (like RegularAreaRect), and links to an Annotation 
> or SourceReference, or something “not owned”.
> 
> Some bad alternative ideas to ‘ObjectRect’: ;)
> 
> - InterestingArea
> - AreaToClick
> - DetailArea
> - ActiveArea
> - IntelligentArea
> - SpeciaArea
> - ReferencingArea

We're not renaming ObjectRect.

> davidhurka wrote in area.h:386
> What does this mean?

No idea, you're the first peson ever that probably reads this line :D

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.

> davidhurka wrote in area.h:412
> What’s the purpose of ‘ellipse’? Currently it’s not used.
> 
> Are any of these parameters used at all?

What do you mean ellipse is not used?

It is used here, isn't it?

https://cgit.kde.org/okular.git/tree/core/area.cpp#n314

> davidhurka wrote in area.h:456
> The base class implementation just ignores the page size and takes the point 
> as normalized.
> 
> This method is not used anywhere. Maybe it should be fixed, ore be pure 
> virtual?

What do you mean it's not used anywhere? Have you tried marking it as pure 
virtual?

REPOSITORY
  R223 Okular

REVISION DETAIL
  https://phabricator.kde.org/D21266

To: davidhurka, #okular
Cc: aacid, okular-devel, joaonetto, tfella, ngraham, darcyshen

Reply via email to