home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.text.html;
-
- import com.sun.java.swing.text.AttributeSet;
- import com.sun.java.swing.text.BoxView;
- import com.sun.java.swing.text.Element;
- import com.sun.java.swing.text.View;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.Rectangle;
- import java.awt.Shape;
- import java.awt.Toolkit;
- import java.awt.image.ImageObserver;
- import java.net.MalformedURLException;
- import java.net.URL;
-
- class HTMLRootView extends BoxView {
- transient Image bgimage;
- transient Color bgcolor;
- transient String colorStr;
- transient String imageStr;
- HTMLRootImageObserver imageObserver;
- boolean bImageLoaded = false;
- boolean bImageLoadFailed = false;
- int imgWidth = -1;
- int imgHeight = -1;
- int drawWidth = -1;
- int drawHeight = -1;
-
- public HTMLRootView(Element var1, int var2) {
- super(var1, var2);
- }
-
- public void loadBackground(AttributeSet var1) {
- this.imageStr = (String)var1.getAttribute("background");
- this.colorStr = (String)var1.getAttribute("bgcolor");
- this.bImageLoaded = false;
- this.bImageLoadFailed = false;
- this.imgWidth = this.imgHeight = this.drawWidth = this.drawHeight = -1;
- this.bgimage = null;
- if (this.colorStr == null) {
- this.bgcolor = Color.lightGray;
- } else {
- try {
- this.bgcolor = HTMLUtils.stringToColor(this.colorStr);
- } catch (HTMLException var2) {
- this.bgcolor = Color.lightGray;
- }
- }
-
- if (this.imageStr != null) {
- this.imageObserver = new HTMLRootImageObserver(this);
- this.bgimage = this.loadImage(this.imageStr);
- this.bImageLoaded = false;
- }
-
- }
-
- private Image loadImage(String var1) {
- if (var1 == null) {
- return null;
- } else {
- URL var2 = null;
- URL var3 = (URL)((View)this).getElement().getDocument().getProperty("stream");
- if (var3 != null) {
- try {
- var2 = new URL(var3, var1);
- } catch (MalformedURLException var4) {
- System.out.println("Malformed URL:" + var3);
- }
- }
-
- return var2 != null ? Toolkit.getDefaultToolkit().getImage(var2) : Toolkit.getDefaultToolkit().getImage(var1);
- }
- }
-
- public void paint(Graphics var1, Shape var2) {
- super.paint(var1, var2);
- }
-
- public void paintBackground(Graphics var1, Shape var2) {
- Element var3 = ((View)this).getElement();
- AttributeSet var4 = var3.getAttributes();
- String var5 = (String)var4.getAttribute("bgcolor");
- String var6 = (String)var4.getAttribute("background");
- if (var5 != null) {
- if (!var5.equals(this.colorStr)) {
- this.loadBackground(var4);
- }
- } else if (this.colorStr != null) {
- this.loadBackground(var4);
- }
-
- if (var6 != null) {
- if (!var6.equals(this.imageStr)) {
- this.loadBackground(var4);
- }
- } else if (this.imageStr != null) {
- this.loadBackground(var4);
- }
-
- Rectangle var7 = var2.getBounds();
- ((BoxView)this).setSize((float)var7.width, (float)var7.height);
- if (this.bgimage != null) {
- if (!this.bImageLoaded) {
- this.paintBGColor(var1, var2);
- if (!this.bImageLoadFailed) {
- var1.drawImage(this.bgimage, 0, 0, this.imageObserver);
- }
- } else {
- for(int var8 = 0; var8 < var7.width; var8 += this.imgWidth) {
- for(int var9 = 0; var9 < var7.height; var9 += this.imgHeight) {
- var1.drawImage(this.bgimage, var8, var9, (ImageObserver)null);
- }
- }
- }
-
- if (!this.bImageLoadFailed) {
- if (this.imgWidth <= 0) {
- this.imgWidth = this.bgimage.getWidth(this.imageObserver);
- }
-
- if (this.imgHeight <= 0) {
- this.imgHeight = this.bgimage.getHeight(this.imageObserver);
- return;
- }
- }
- } else {
- this.paintBGColor(var1, var2);
- }
-
- }
-
- private void paintBGColor(Graphics var1, Shape var2) {
- Rectangle var3 = var2.getBounds();
- var1.setColor(this.bgcolor);
- var1.fillRect(0, 0, var3.width, var3.height);
- }
- }
-