Clip region in canvas

/*
J2ME: The Complete Reference

James Keogh

Publisher: McGraw-Hill

ISBN 0072227109

*/
//jad file (please verify the jar size)
/*
MIDlet-Name: ClippingRegion
MIDlet-Version: 1.0
MIDlet-Vendor: MyCompany
MIDlet-Jar-URL: ClippingRegion.jar
MIDlet-1: ClippingRegion, , ClippingRegion
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
MIDlet-JAR-SIZE: 100

*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class ClippingRegion extends MIDlet{

private Display display;
private MyCanvas canvas;

public ClippingRegion()
{
display = Display.getDisplay(this);
canvas = new MyCanvas(this);
}
protected void startApp()
{
display.setCurrent( canvas );
}
protected void pauseApp()
{
}
protected void destroyApp( boolean unconditional )
{
}
public void exitMIDlet()
{
destroyApp(true);
notifyDestroyed();
}
class MyCanvas extends Canvas implements CommandListener
{
private Command exit;
private ClippingRegion clippingRegion;
private Image image = null;
public MyCanvas (ClippingRegion clippingRegion)
{
this. clippingRegion = clippingRegion;
exit = new Command("Exit", Command.EXIT, 1);
addCommand(exit);
setCommandListener(this);
try
{
image = Image.createImage(70, 70);
Graphics graphics = image.getGraphics();
graphics.setColor(255,0,0);
graphics.fillArc(10, 10, 60, 50, 180, 180);
}
catch (Exception error)
{
Alert alert = new Alert("Failure", "Creating Image",
null, null);
alert.setTimeout(Alert.FOREVER);
display.setCurrent(alert);
}
}
protected void paint(Graphics graphics)
{
if (image != null)
{
graphics.setColor(255,255,255);
graphics.fillRect(0, 0, getWidth(), getHeight());
graphics.setClip(35, 35, 40, 40);
graphics.drawImage(image, 30, 30,
Graphics.VCENTER | Graphics.HCENTER);
}
}
public void commandAction(Command command, Displayable display)
{
if (command == exit)
{
clippingRegion.exitMIDlet();
}
}
}
}

0 komentar:

Post a Comment

 

Design by Blogger Buster | Distributed by Blogging Tips