/*
 * Copyright (C) 2005-2006 Kouji Sugisawa. All rights reserved.
 */

package jp.sourceforge.livez;

import java.io.Serializable;

/**
 * 携帯端末のネイティブブラウザ情報のインターフェースです。
 * 
 * @author   杉澤 浩二
 */
public interface Browser extends Serializable {

	/**
	 * ブラウザの表示可能な幅をピクセル単位で返します。
	 * 不明な場合は <code>0</code> 以下の値を返します。
	 * 
	 * @return 表示可能な幅
	 */
	public int getWidth();

	/**
	 * ブラウザの表示可能な高さをピクセル単位で返します。
	 * 不明な場合は <code>0</code> 以下の値を返します。
	 * 
	 * @return 表示可能な高さ
	 */
	public int getHeight();

	/**
	 * 表示可能な文字の桁数(バイト数)を返します。
	 * 不明な場合は <code>0</code> 以下の値を返します。
	 * 
	 * @return 表示可能な文字の桁数(バイト数)
	 */
	public int getColumn();

	/**
	 * 表示可能な文字の行数を返します。
	 * 不明な場合は <code>0</code> 以下の値を返します。
	 * 
	 * @return 表示可能な文字の行数
	 */
	public int getRow();

	/**
	 * ブラウザが一度に受け取れるデータサイズをバイト単位で返します。
	 * 不明な場合は <code>0</code> 以下の値を返します。
	 * 
	 * @return キャッシュサイズ(バイト)
	 */
	public int getCacheSize();

	/**
	 * 対応しているXHTMLのバージョン番号を返します。
	 * 不明な場合は <code>null</code> を返します。
	 * 
	 * @return 対応XHTMLバージョン番号
	 */
	public Float getXhtmlVersion();

}
