/*
* JavaXYQ Source Code
* by kylixs
* at 2010-2-25
* please visit http://javaxyq.googlecode.com
* or mail to kylixs@qq.com
*/
package com.javaxyq.core;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.event.WindowListener;
import java.awt.event.WindowStateListener;
import java.beans.PropertyChangeListener;
import javax.swing.ActionMap;
import javax.swing.InputMap;
import javax.swing.JLayeredPane;
import com.javaxyq.battle.BattleListener;
import com.javaxyq.ui.UIHelper;
import com.javaxyq.widget.Cursor;
/**
* @author dewitt
* @date 2010-2-25 create
*/
public interface GameWindow {
void init(Context context);
Dimension getSize();
int getContentWidth();
int getContentHeight();
void show();
void hide();
void setFullScreen();
void restoreScreen();
boolean isFullScreen();
GameCanvas getCanvas();
void setCanvas(GameCanvas gameCanvas);
void setGameCursor(String cursor);
Cursor getGameCursor();
void addWindowListener(WindowListener handler);
void removeWindowListener(WindowListener handler);
void addWindowStateListener(WindowStateListener handler);
void removeWindowStateListener(WindowStateListener handler);
void addPropertyChangeListener(PropertyChangeListener listener);
void addPropertyChangeListener(String propertyName,PropertyChangeListener listener);
void removePropertyChangeListener(PropertyChangeListener listener);
void removePropertyChangeListener(String propertyName,PropertyChangeListener listener);
/**
* @return
*/
Point getMousePosition();
/**
* @return
*/
JLayeredPane getLayeredPane();
UIHelper getHelper();
public void prepareUI();
public void installUI();
public void installListeners();
public ActionMap getActionMap();
public InputMap getInputMap();
public void addBattleListener(BattleListener listener);
public void removeBattleListener(BattleListener listener);
public void addListener(String type, String className);
public void installWindowListeners();
}