/*
* Copyright (C) 2012 www.amsoft.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.ab.view.slidingmenu;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.view.View;
// TODO: Auto-generated Javadoc
/**
* The Interface MenuInterface.
*/
public interface MenuInterface {
/**
* Scroll behind to.
*
* @param x the x
* @param y the y
* @param cvb the cvb
* @param scrollScale the scroll scale
*/
public abstract void scrollBehindTo(int x, int y,
CustomViewBehind cvb, float scrollScale);
/**
* Gets the menu left.
*
* @param cvb the cvb
* @param content the content
* @return the menu left
*/
public abstract int getMenuLeft(CustomViewBehind cvb, View content);
/**
* Gets the abs left bound.
*
* @param cvb the cvb
* @param content the content
* @return the abs left bound
*/
public abstract int getAbsLeftBound(CustomViewBehind cvb, View content);
/**
* Gets the abs right bound.
*
* @param cvb the cvb
* @param content the content
* @return the abs right bound
*/
public abstract int getAbsRightBound(CustomViewBehind cvb, View content);
/**
* Margin touch allowed.
*
* @param content the content
* @param x the x
* @param threshold the threshold
* @return true, if successful
*/
public abstract boolean marginTouchAllowed(View content, int x, int threshold);
/**
* Menu open touch allowed.
*
* @param content the content
* @param currPage the curr page
* @param x the x
* @return true, if successful
*/
public abstract boolean menuOpenTouchAllowed(View content, int currPage, int x);
/**
* Menu touch in quick return.
*
* @param content the content
* @param currPage the curr page
* @param x the x
* @return true, if successful
*/
public abstract boolean menuTouchInQuickReturn(View content, int currPage, int x);
/**
* Menu closed slide allowed.
*
* @param x the x
* @return true, if successful
*/
public abstract boolean menuClosedSlideAllowed(int x);
/**
* Menu open slide allowed.
*
* @param x the x
* @return true, if successful
*/
public abstract boolean menuOpenSlideAllowed(int x);
/**
* Draw shadow.
*
* @param canvas the canvas
* @param shadow the shadow
* @param width the width
*/
public abstract void drawShadow(Canvas canvas, Drawable shadow, int width);
/**
* Draw fade.
*
* @param canvas the canvas
* @param alpha the alpha
* @param cvb the cvb
* @param content the content
*/
public abstract void drawFade(Canvas canvas, int alpha,
CustomViewBehind cvb, View content);
/**
* Draw selector.
*
* @param content the content
* @param canvas the canvas
* @param percentOpen the percent open
*/
public abstract void drawSelector(View content, Canvas canvas, float percentOpen);
}