m3g07
Class CompositingSample

java.lang.Object
  extended by javax.microedition.lcdui.Displayable
      extended by javax.microedition.lcdui.Canvas
          extended by javax.microedition.lcdui.game.GameCanvas
              extended by m3g07.CompositingSample
All Implemented Interfaces:
Sample

public class CompositingSample
extends javax.microedition.lcdui.game.GameCanvas
implements Sample

Demonstrates compositing with different blending modes.

Author:
Claus Hoefele

Field Summary
private static int BLENDING_ALPHA
          Identifier representing blending mode ALPHA.
private static int BLENDING_ALPHA_ADD
          Identifier representing blending mode ALPHA_ADD.
private static int BLENDING_MODULATE
          Identifier representing blending mode MODULATE.
private static int BLENDING_MODULATE_X2
          Identifier representing blending mode MODULATE_X2.
private static int BLENDING_REPLACE
          Identifier representing blending mode REPLACE.
private  javax.microedition.m3g.CompositingMode compositingMode
          The second mesh's compositing attributes.
private  int currentBlending
          Current blending mode.
private  javax.microedition.lcdui.Graphics graphics
          2D graphics singleton used for rendering.
private  javax.microedition.m3g.Graphics3D graphics3d
          3D graphics singleton used for rendering.
private  javax.microedition.m3g.Mesh mesh1
          First mesh for display.
private  javax.microedition.m3g.Mesh mesh2
          Second mesh for display.
private  javax.microedition.m3g.Transform meshTransform
          The mesh's transformation.
private static int NUMBER_OF_BLENDINGS
          Number of blending modes.
 
Fields inherited from class javax.microedition.lcdui.game.GameCanvas
DOWN_PRESSED, FIRE_PRESSED, GAME_A_PRESSED, GAME_B_PRESSED, GAME_C_PRESSED, GAME_D_PRESSED, LEFT_PRESSED, RIGHT_PRESSED, UP_PRESSED
 
Fields inherited from class javax.microedition.lcdui.Canvas
DOWN, FIRE, GAME_A, GAME_B, GAME_C, GAME_D, KEY_NUM0, KEY_NUM1, KEY_NUM2, KEY_NUM3, KEY_NUM4, KEY_NUM5, KEY_NUM6, KEY_NUM7, KEY_NUM8, KEY_NUM9, KEY_POUND, KEY_STAR, LEFT, RIGHT, UP
 
Constructor Summary
CompositingSample()
          Constructor.
 
Method Summary
 void destroy()
          Destroys the sample.
private  void drawMenu(javax.microedition.lcdui.Graphics graphics)
          Draws a menu for the current key assignments.
 void init()
          Initializes the sample.
protected  void keyPressed(int keyCode)
          Handles key presses.
private  void render(javax.microedition.lcdui.Graphics graphics)
          Renders the sample.
private  void setBlending(javax.microedition.m3g.CompositingMode compositingMode, int mode)
          Sets the current blending mode.
 
Methods inherited from class javax.microedition.lcdui.game.GameCanvas
flushGraphics, flushGraphics, getGraphics, getKeyStates, paint
 
Methods inherited from class javax.microedition.lcdui.Canvas
getGameAction, getKeyCode, getKeyName, hasPointerEvents, hasPointerMotionEvents, hasRepeatEvents, hideNotify, isDoubleBuffered, keyReleased, keyRepeated, pointerDragged, pointerPressed, pointerReleased, repaint, repaint, serviceRepaints, setCommandListener, setFullScreenMode, showNotify, sizeChanged
 
Methods inherited from class javax.microedition.lcdui.Displayable
addCommand, getHeight, getTicker, getTitle, getWidth, isShown, removeCommand, setTicker, setTitle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mesh1

private javax.microedition.m3g.Mesh mesh1
First mesh for display.


mesh2

private javax.microedition.m3g.Mesh mesh2
Second mesh for display.


meshTransform

private javax.microedition.m3g.Transform meshTransform
The mesh's transformation.


compositingMode

private javax.microedition.m3g.CompositingMode compositingMode
The second mesh's compositing attributes.


BLENDING_ALPHA

private static final int BLENDING_ALPHA
Identifier representing blending mode ALPHA.

See Also:
Constant Field Values

BLENDING_ALPHA_ADD

private static final int BLENDING_ALPHA_ADD
Identifier representing blending mode ALPHA_ADD.

See Also:
Constant Field Values

BLENDING_MODULATE

private static final int BLENDING_MODULATE
Identifier representing blending mode MODULATE.

See Also:
Constant Field Values

BLENDING_MODULATE_X2

private static final int BLENDING_MODULATE_X2
Identifier representing blending mode MODULATE_X2.

See Also:
Constant Field Values

BLENDING_REPLACE

private static final int BLENDING_REPLACE
Identifier representing blending mode REPLACE.

See Also:
Constant Field Values

NUMBER_OF_BLENDINGS

private static final int NUMBER_OF_BLENDINGS
Number of blending modes.

See Also:
Constant Field Values

currentBlending

private int currentBlending
Current blending mode.


graphics3d

private javax.microedition.m3g.Graphics3D graphics3d
3D graphics singleton used for rendering.


graphics

private javax.microedition.lcdui.Graphics graphics
2D graphics singleton used for rendering.

Constructor Detail

CompositingSample

public CompositingSample()
Constructor.

Method Detail

init

public void init()
Initializes the sample.

Specified by:
init in interface Sample

destroy

public void destroy()
Destroys the sample.

Specified by:
destroy in interface Sample

setBlending

private void setBlending(javax.microedition.m3g.CompositingMode compositingMode,
                         int mode)
Sets the current blending mode.

Parameters:
compositingMode - compositing attributes.
mode - blending mode.

render

private void render(javax.microedition.lcdui.Graphics graphics)
Renders the sample.

Parameters:
graphics - graphics context for rendering.

keyPressed

protected void keyPressed(int keyCode)
Handles key presses.

Overrides:
keyPressed in class javax.microedition.lcdui.Canvas
Parameters:
keyCode - key code.

drawMenu

private void drawMenu(javax.microedition.lcdui.Graphics graphics)
Draws a menu for the current key assignments.

Parameters:
graphics - graphics context for drawing.