class PopUpCoachMarkPresenter {

    protected boolean checkIfBottomPossible(Point viewCenterPoint,
                                          CoachMarkPixelInfo coachMarkDimenInPixel) {
        int centerY = viewCenterPoint.y;
        return (coachMarkDimenInPixel.getPopUpHeightInPixelsWithOffset() +
                coachMarkDimenInPixel.getMarginRectInPixels().top +
                coachMarkDimenInPixel.getMarginRectInPixels().bottom +
                coachMarkDimenInPixel.getFooterHeightPixels()) <=
                coachMarkDimenInPixel.getScreenHeightInPixels() - centerY &&
                ((coachMarkDimenInPixel.getPopUpWidthInPixelsWithOffset()
                        + coachMarkDimenInPixel.getMarginRectInPixels().left +
                        coachMarkDimenInPixel.getMarginRectInPixels().right) <=
                        coachMarkDimenInPixel.getScreenWidthInPixels());
    }

    public  PopUpCoachMarkPresenter(final IStringResourceProvider stringResourceProvider,
                                   final IDimensionResourceProvider dimensionResourceProvider,
                                   final ITypeFaceProvider typeFaceProvider,
                                   final IScreenInfoProvider screenInfoProvider);

}