class PopUpCoachMarkPresenter {

    protected int getActualTopMargin(int centerTopY, CoachMarkPixelInfo coachMarkDimenInPixel) {
        if (centerTopY + coachMarkDimenInPixel.getPopUpHeightInPixels() +
                coachMarkDimenInPixel.getWidthHeightOffsetForCoachMarkPopUp() +
                coachMarkDimenInPixel.getMarginRectInPixels().top +
                coachMarkDimenInPixel.getMarginRectInPixels().bottom >
                coachMarkDimenInPixel.getScreenHeightInPixels()) {
            return coachMarkDimenInPixel.getScreenHeightInPixels() -
                    coachMarkDimenInPixel.getPopUpHeightInPixels() +
                    coachMarkDimenInPixel.getWidthHeightOffsetForCoachMarkPopUp() +
                    coachMarkDimenInPixel.getMarginRectInPixels().top +
                    coachMarkDimenInPixel.getMarginRectInPixels().bottom;
        }
        return centerTopY + coachMarkDimenInPixel.getMarginRectInPixels().top;
    }

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

}