--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/lcdui_akn/javalcdui/javasrc.nokialcdui/com/nokia/mid/ui/FullCanvas.java Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,180 @@
+/*
+* Copyright (c) 2006 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: FullCanvas provides totally full screen painting area.
+*
+*/
+
+
+package com.nokia.mid.ui;
+
+import javax.microedition.lcdui.Canvas;
+import javax.microedition.lcdui.Command;
+import javax.microedition.lcdui.CommandListener;
+
+/**
+ * FullCanvas provides totally full screen painting area.
+ * <p>
+ * Implementation need to draw any status indicators overlaid on the FullCanvas.
+ * Implementations should draw these indicators on top left corner, but there
+ * may be reasons to deviate from this rule. Applications must take care that
+ * the display become cluttered if overlaid indicators appear.
+ * <p>
+ * Commands can't be added to FullCanvas. Pressing the keys normally tied to
+ * Commands (e.g. softbuttons or CBA keys) will result direct keystroke events
+ * (see documentation on key events on javax.microedition.Canvas). FullCanvas
+ * defines new constants for these key codes.
+ * <p>
+ * Callback methods of FullCanvas have same semantics as in standard Canvas.
+ * However, the FullGraphics will be passed to the paint method of
+ * com.nokia.mid.ui.FullCanvas.
+ * <p>
+ * Generally in FullCanvas all key presses are reported as normal key press
+ * events through keyPressed(), keyRepeated() and keyReleased() methods. There are
+ * some additional constant key code definitions in FullCanvas. All the normal
+ * key codes reported in Canvas are also reported. The keys tied with Command
+ * area do not report any key events if the are is visible.
+ *
+ * @version 1.1
+ * @since 1.0
+ */
+public abstract class FullCanvas extends Canvas
+{
+
+ /**
+ * Key code constant for left softkey or first CBA key.
+ * @since 1.0
+ */
+ public static final int KEY_SOFTKEY1 = -6;
+
+ /**
+ * Key code constant for right softkey or last CBA key.
+ * @since 1.0
+ */
+ public static final int KEY_SOFTKEY2 = -7;
+
+ /**
+ * Key code constant for Send key.
+ * @since 1.0
+ */
+ public static final int KEY_SEND = -10;
+
+ /**
+ * Key code constant for End key. Note: Pressing end may have some other
+ * effect depending on the system, for example, device UI
+ * may return to idle and may close down the application. The key event
+ * nevertheless is sent to the application before this happens.
+ * @since 1.0
+ */
+ public static final int KEY_END = -11;
+
+ /**
+ * Key code constant for select key, middle softkey or second
+ * CBA key. It is not possible
+ * to set a label for this key in all implementations.
+ * This key is not in all devices.
+ * @since 1.0
+ */
+ public static final int KEY_SOFTKEY3 = -5;
+
+ /**
+ * Key code constant for Up arrow key.
+ * @since 1.0
+ */
+ public static final int KEY_UP_ARROW = -1;
+
+ /**
+ * Key code constant for Down arrow key.
+ * @since 1.0
+ */
+ public static final int KEY_DOWN_ARROW = -2;
+
+ /**
+ * Key code constant for Left arrow key.
+ * This key is not in all devices.
+ * @since 1.0
+ */
+ public static final int KEY_LEFT_ARROW = -3;
+
+ /**
+ * Key code constant for Right arrow key.
+ * This key is not in all devices.
+ * @since 1.0
+ */
+ public static final int KEY_RIGHT_ARROW = -4;
+
+ private static int sFullWidth = 0;
+ private static int sFullHeight = 0;
+
+ /**
+ * Constructs a new FullCanvas object. Applications can't call this
+ * constructor directly, they need to subclass FullCanvas.
+ */
+ protected FullCanvas()
+ {
+ super();
+ super.setFullScreenMode(true);
+ }
+
+ /**
+ * Throws IllegalStateException. Commands are not possible in FullCanvas.
+ * @throws java.lang.IllegalStateException thrown always
+ */
+ public void addCommand(Command aCmd) throws IllegalStateException
+ {
+ throw(new IllegalStateException("This method is not supported in com.nokia.mid.ui.FullCanvas"));
+ }
+
+ /**
+ * Throws IllegalStateException. Commands are not possible in FullCanvas.
+ * @throws java.lang.IllegalStateException thrown always
+ */
+ public void setCommandListener(CommandListener aL) throws IllegalStateException
+ {
+ throw(new IllegalStateException("This method is not supported in com.nokia.mid.ui.FullCanvas"));
+ }
+
+ /**
+ * Throws IllegalArgumentException. Midlet cannot resize the nokia FullCanvas.
+ * @throws java.lang.IllegalArgumentException : Midlet cannot resize the nokia FullCanvas.
+ *
+ */
+ public void setFullScreenMode(boolean aMode)
+ {
+ if (!aMode)
+ { // cannot resize the Nokia Full Canvas
+ throw(new IllegalArgumentException("Not supported in com.nokia.mid.ui.FullCanvas"));
+ }
+ }
+ /*
+ public int getWidth()
+ {
+ if( sFullWidth == 0 )
+ {
+ sFullWidth = _getFullWidth( );
+ }
+ return sFullWidth;
+ }
+
+
+ public int getHeight()
+ {
+ if( sFullHeight == 0 )
+ {
+ sFullHeight = _getFullHeight( );
+ }
+ return sFullHeight;
+ }
+ */
+
+}