home *** CD-ROM | disk | FTP | other *** search
- package com.next.gt;
-
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.MediaTracker;
- import java.awt.Rectangle;
-
- public class DisplayManager {
- private Image background;
- private Image offScreenBuffer;
- private DirtyRectSet dirtyRects = new DirtyRectSet();
- protected Gamelication owner;
-
- public DisplayManager(Gamelication var1) {
- this.owner = var1;
- }
-
- public void refresh() {
- this.dirtyRects.addRect(new Rectangle(0, 0, this.owner.getSize().width, this.owner.getSize().height));
- }
-
- public void setBackground(Image var1) {
- MediaTracker var2 = new MediaTracker(this.owner);
- var2.addImage(var1, 0);
-
- try {
- var2.waitForID(0);
- } catch (InterruptedException var3) {
- }
-
- this.background = var1;
- this.offScreenBuffer = this.owner.createImage(this.owner.getSize().width, this.owner.getSize().height);
- this.offScreenBuffer.getGraphics().drawImage(var1, 0, 0, this.owner);
- this.dirtyRects.addRect(new Rectangle(0, 0, this.owner.getSize().width, this.owner.getSize().height));
- }
-
- public void setBackgroundTile(Image var1) {
- MediaTracker var2 = new MediaTracker(this.owner);
- var2.addImage(var1, 0);
-
- try {
- var2.waitForID(0);
- } catch (InterruptedException var3) {
- }
-
- this.setBackground(TiledImage.createTiledImage(var1, this.owner.getSize().width, this.owner.getSize().height, this.owner));
- }
-
- public void paint(Graphics var1) {
- Graphics var3;
- if (this.offScreenBuffer == null) {
- var3 = null;
- } else {
- var3 = this.offScreenBuffer.getGraphics();
- }
-
- this.dirtyRects.drawImage(var3, this.background, this.owner);
- DirtyRectSet var2 = this.dirtyRects;
- this.dirtyRects = new DirtyRectSet(this.owner.actorManager.actors.size());
-
- for(int var4 = 0; var4 < this.owner.actorManager.actors.size(); ++var4) {
- Actor var5 = (Actor)this.owner.actorManager.actors.elementAt(var4);
- Rectangle var6 = new Rectangle((int)var5.x, (int)var5.y, var5.width, var5.height);
- this.dirtyRects.addRect(var6);
- var2.addRect(var6);
- var5.draw(var3);
- }
-
- var2.drawImage(var1, this.offScreenBuffer, this.owner);
- }
- }
-