--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/lcdui_qt/src/javax/microedition/lcdui/game/GameCanvas.java Tue Aug 31 15:09:22 2010 +0300
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+package javax.microedition.lcdui.game;
+
+import javax.microedition.lcdui.Graphics;
+
+import com.nokia.mj.impl.nokialcdui.LCDUIInvoker;
+
+/**
+ * GameCanvas class.
+ */
+public abstract class GameCanvas extends javax.microedition.lcdui.Canvas
+{
+
+ /**
+ * Bit representing UP key. (1 << Canvas.UP)
+ */
+ public static final int UP_PRESSED = 0x0002;
+
+ /**
+ * Bit representing DOWN key. (1 << Canvas.DOWN)
+ */
+ public static final int DOWN_PRESSED = 0x0040;
+
+ /**
+ * Bit representing LEFT key. (1 << Canvas.LEFT)
+ */
+ public static final int LEFT_PRESSED = 0x0004;
+
+ /**
+ * Bit representing RIGHT key. (1 << Canvas.RIGHT)
+ */
+ public static final int RIGHT_PRESSED = 0x0020;
+
+ /**
+ * Bit representing FIRE key. (1 << Canvas.FIRE)
+ */
+ public static final int FIRE_PRESSED = 0x0100;
+
+ /**
+ * Bit representing GAME_A key. (1 << Canvas.GAME_A)
+ */
+ public static final int GAME_A_PRESSED = 0x0200;
+
+ /**
+ * Bit representing GAME_B key. (1 << Canvas.GAME_B)
+ */
+ public static final int GAME_B_PRESSED = 0x0400;
+
+ /**
+ * Bit representing GAME_C key. (1 << Canvas.GAME_C)
+ */
+ public static final int GAME_C_PRESSED = 0x0800;
+
+ /**
+ * Bit representing GAME_D key. (1 << Canvas.GAME_D)
+ */
+ public static final int GAME_D_PRESSED = 0x1000;
+
+ /**
+ * Constructor.
+ *
+ * @param suppressKeyEvents supress game key events.
+ */
+ protected GameCanvas(boolean suppressKeyEvents)
+ {
+ super();
+ LCDUIInvoker.initGameCanvas(this, suppressKeyEvents);
+ }
+
+ /**
+ * Get frameBuffer's Graphics object.
+ *
+ * @return frameBuffer's Graphics
+ */
+ protected Graphics getGraphics()
+ {
+ return (Graphics) LCDUIInvoker.getGraphics(this);
+ }
+
+ /**
+ * Get game key states.
+ *
+ * @return game key states
+ */
+ public int getKeyStates()
+ {
+ return LCDUIInvoker.getKeyStates(this);
+ }
+
+ /**
+ * By default this renders the frameBuffer at (0,0).
+ *
+ * @param g Graphics object
+ */
+ public void paint(javax.microedition.lcdui.Graphics g)
+ {
+ // If the Graphics doesn't belong to the frame buffer
+ LCDUIInvoker.renderGraphics(this, g);
+ }
+
+ /**
+ * Flushes the frameBuffer's region to the display.
+ *
+ * @param x clip X
+ * @param y clip Y
+ * @param w clip width
+ * @param h clip height
+ */
+ public void flushGraphics(int x, int y, int w, int h)
+ {
+ if(w > 0 && h > 0)
+ {
+ LCDUIInvoker.flushGraphics(this, x, y, w, h);
+ }
+ }
+
+ /**
+ * Flushes the frameBuffer to the display.
+ */
+ public void flushGraphics()
+ {
+ LCDUIInvoker.flushGraphics(this, 0, 0, getWidth(), getHeight());
+ }
+
+}