Graphics: setClip(int x, int y, int width, int height) : Graphics « javax.microedition.lcdui « Java by API






Graphics: setClip(int x, int y, int width, int height)

 
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.midlet.MIDlet;

public class J2MEClippingRegion extends MIDlet {
  private Display display;

  private MyCanvas canvas;

  public J2MEClippingRegion() {
    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 J2MEClippingRegion clippingRegion;

    private Image image = null;

    public MyCanvas(J2MEClippingRegion 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();
      }
    }
  }
}

   
  








Related examples in the same category

1.Graphics.BASELINE
2.Graphics.BOTTOM
3.Graphics.DOTTED
4.Graphics.HCENTER
5.Graphics.LEFT
6.Graphics.SOLID
7.Graphics.TOP
8.Graphics.VCENTER
9.Graphics: drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
10.Graphics: drawLine(int x1, int y1, int x2, int y2)
11.Graphics: drawString(String str, int x, int y, int anchor)
12.Graphics: fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
13.Graphics: fillRect(int x, int y, int width, int height)
14.Graphics: fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
15.Graphics: setColor(int RGB)
16.Graphics: setGrayScale(int value)
17.Graphics: setStrokeStyle(int style)
18.Graphics: translate(int x, int y)