MIDP3.0

javax.microedition.lcdui.game
Class Layer

java.lang.Object
  extended by javax.microedition.lcdui.game.Layer
Direct Known Subclasses:
Sprite, TiledLayer

public abstract class Layer
extends java.lang.Object

A Layer is an abstract class representing a visual element of a game. Each Layer has position (in terms of the upper-left corner of its visual bounds), width, height, and can be made visible or invisible. Layer subclasses must implement a paint(Graphics) method so that they can be rendered.

The Layer's (x,y) position is always interpreted relative to the coordinate system of the Graphics object that is passed to the Layer's paint() method. This coordinate system is referred to as the painter's coordinate system. The initial location of a Layer is (0,0).

Since:
MIDP 2.0

Method Summary
 int getHeight()
          Gets the current height of this layer, in pixels.
 int getWidth()
          Gets the current width of this layer, in pixels.
 int getX()
          Gets the horizontal position of this Layer's upper-left corner in the painter's coordinate system.
 int getY()
          Gets the vertical position of this Layer's upper-left corner in the painter's coordinate system.
 boolean isVisible()
          Gets the visibility of this Layer.
 void move(int dx, int dy)
          Moves this Layer by the specified horizontal and vertical distances.
abstract  void paint(Graphics g)
          Paints this Layer if it is visible.
 void setPosition(int x, int y)
          Sets this Layer's position such that its upper-left corner is located at (x,y) in the painter's coordinate system.
 void setVisible(boolean visible)
          Sets the visibility of this Layer.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

setPosition

public void setPosition(int x,
                        int y)
Sets this Layer's position such that its upper-left corner is located at (x,y) in the painter's coordinate system. A Layer is located at (0,0) by default.

Parameters:
x - the horizontal position
y - the vertical position
See Also:
move(int, int), getX(), getY()

move

public void move(int dx,
                 int dy)
Moves this Layer by the specified horizontal and vertical distances.
The Layer's coordinates are subject to wrapping if the passed parameters will cause them to exceed beyond Integer.MAX_VALUE or Integer.MIN_VALUE.

Parameters:
dx - the distance to move along horizontal axis (positive to the right, negative to the left)
dy - the distance to move along vertical axis (positive down, negative up)
See Also:
setPosition(int, int), getX(), getY()

getX

public final int getX()
Gets the horizontal position of this Layer's upper-left corner in the painter's coordinate system.

Returns:
the Layer's horizontal position.
See Also:
getY(), setPosition(int, int), move(int, int)

getY

public final int getY()
Gets the vertical position of this Layer's upper-left corner in the painter's coordinate system.

Returns:
the Layer's vertical position.
See Also:
getX(), setPosition(int, int), move(int, int)

getWidth

public final int getWidth()
Gets the current width of this layer, in pixels.

Returns:
the width in pixels
See Also:
getHeight()

getHeight

public final int getHeight()
Gets the current height of this layer, in pixels.

Returns:
the height in pixels
See Also:
getWidth()

setVisible

public void setVisible(boolean visible)
Sets the visibility of this Layer. A visible Layer is rendered when its paint(Graphics) method is called; an invisible Layer is not rendered.

Parameters:
visible - true to make the Layer visible, false to make it invisible
See Also:
isVisible()

isVisible

public final boolean isVisible()
Gets the visibility of this Layer.

Returns:
true if the Layer is visible, false if it is invisible.
See Also:
setVisible(boolean)

paint

public abstract void paint(Graphics g)
Paints this Layer if it is visible. The upper-left corner of the Layer is rendered at it's current (x,y) position relative to the origin of the provided Graphics object. Applications may make use of Graphics clipping and translation to control where the Layer is rendered and to limit the region that is rendered.

Implementations of this method are responsible for checking if this Layer is visible; this method does nothing if the Layer is not visible.

The attributes of the Graphics object (clip region, translation, drawing color, etc.) are not modified as a result of calling this method.

Parameters:
g - the graphics object for rendering the Layer
Throws:
java.lang.NullPointerException - if g is null

MIDP3.0

Send a comment or suggestionVersion 3.0 of Mobile Information Device Profile Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries. Copyright 2002-2009 Motorola Inc. Portions copyright 1993-2002 Sun Microsystems, Inc. and Motorola, Inc. All Rights Reserved.