/// <summary> /// Determines whether the entry is visible or not. /// </summary> /// <param name="renderedEntry">The rendered entry.</param> /// <param name="view">The view to check for (BrailleIoViewRange).</param> /// <returns> /// -1 if not visible; 0 if party visible, and 1 if fully visible. /// </returns> public virtual int IsEntryVisible(RenderElement renderedEntry, IViewBoxModel view = null) { if (!renderedEntry.IsEmpty()) { if (view == null) { view = _lastView; } if (view != null && view.ContentBox.Width * view.ContentBox.Height > 0) { int left, top, right, bottom; left = top = 0; if (view is IPannable) { left = ((IPannable)view).GetXOffset(); top = ((IPannable)view).GetYOffset(); } right = view.ContentBox.Width + left; bottom = view.ContentBox.Height + top; if (renderedEntry.IsInArea(left, left + right, top, top + bottom)) { if (renderedEntry.IsCompletelyInArea(left, right, top, bottom)) { return(1); } return(0); } } } return(-1); }