home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / imageviewer / ImageViewer.jar / ImageCanvas.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-05-23  |  1.5 KB  |  73 lines

  1. import javax.microedition.lcdui.Canvas;
  2. import javax.microedition.lcdui.Graphics;
  3. import javax.microedition.lcdui.Image;
  4.  
  5. class ImageCanvas extends Canvas {
  6.    protected int width = ((Canvas)this).getWidth();
  7.    protected int height = ((Canvas)this).getHeight();
  8.    protected int scrollPixels = 5;
  9.    protected int offsetX;
  10.    protected int offsetY;
  11.    protected Image image;
  12.  
  13.    void setImage(Image var1) {
  14.       this.image = var1;
  15.       this.offsetX = 0;
  16.       this.offsetY = 0;
  17.    }
  18.  
  19.    protected void keyPressed(int var1) {
  20.       this.processKey(var1);
  21.    }
  22.  
  23.    protected void keyRepeated(int var1) {
  24.       this.processKey(var1);
  25.    }
  26.  
  27.    protected void processKey(int var1) {
  28.       var1 = ((Canvas)this).getGameAction(var1);
  29.       switch (var1) {
  30.          case 1:
  31.             this.offsetY += this.scrollPixels;
  32.             break;
  33.          case 2:
  34.             this.offsetX += this.scrollPixels;
  35.          case 3:
  36.          case 4:
  37.          default:
  38.             break;
  39.          case 5:
  40.             this.offsetX -= this.scrollPixels;
  41.             break;
  42.          case 6:
  43.             this.offsetY -= this.scrollPixels;
  44.       }
  45.  
  46.       if (this.offsetX < this.width - this.image.getWidth()) {
  47.          this.offsetX = this.width - this.image.getWidth();
  48.       }
  49.  
  50.       if (this.offsetY < this.height - this.image.getHeight()) {
  51.          this.offsetY = this.height - this.image.getHeight();
  52.       }
  53.  
  54.       if (this.offsetX > 0) {
  55.          this.offsetX = 0;
  56.       }
  57.  
  58.       if (this.offsetY > 0) {
  59.          this.offsetY = 0;
  60.       }
  61.  
  62.       ((Canvas)this).repaint();
  63.    }
  64.  
  65.    protected void paint(Graphics var1) {
  66.       var1.fillRect(0, 0, this.width, this.height);
  67.       if (this.image != null) {
  68.          var1.drawImage(this.image, this.offsetX, this.offsetY, 20);
  69.       }
  70.  
  71.    }
  72. }
  73.