class BasicMonthViewUI extends MonthViewUI {

    protected Rectangle getDayBounds(Date date) {
        if (!isVisible(date))
            return null;
        Point position = getDayGridPosition(date);
        Rectangle monthBounds = getMonthBounds(date);
        monthBounds.y += getMonthHeaderHeight() + (position.y - DAY_HEADER_ROW) * fullBoxHeight;
        if (monthView.isShowingWeekNumber()) {
            position.x++;
        }
        position.x -= FIRST_DAY_COLUMN;
        if (isLeftToRight) {
            monthBounds.x += position.x * fullBoxWidth;
        } else {
            int start = monthBounds.x + monthBounds.width - fullBoxWidth;
            monthBounds.x = start - position.x * fullBoxWidth;
        }
        monthBounds.width = fullBoxWidth;
        monthBounds.height = fullBoxHeight;
        return monthBounds;
    }

}