javauis/lcdui_qt/src/javax/microedition/lcdui/game/GameCanvas.java
branchRCL_3
changeset 65 ae942d28ec0e
--- /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());
+    }
+
+}