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.DefaultStyledDocument;
- import com.sun.java.swing.text.Element;
- import com.sun.java.swing.text.View;
- import java.awt.Color;
- import java.awt.Image;
- import java.awt.Toolkit;
- import java.awt.image.ImageObserver;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Dictionary;
-
- class ImageView$ImageInfo implements HTMLDefs {
- Element fElement;
- Image fImage;
- int fHeight;
- int fWidth;
- static final String kAttributeName = "$IMGObject";
- static final String IMAGE_CACHE_PROPERTY = "imageCache";
- private static final int DEFAULT_WIDTH = 32;
- private static final int DEFAULT_HEIGHT = 32;
- private static final int DEFAULT_BORDER = 2;
-
- void initialize(ImageView var1, Element var2) {
- if (this.fElement == null) {
- this.fElement = var2;
- var2.getAttributes();
- URL var3 = this.getSourceURL();
- if (var3 != null) {
- Dictionary var4 = (Dictionary)((View)var1).getDocument().getProperty("imageCache");
- if (var4 != null) {
- this.fImage = (Image)var4.get(var3);
- } else {
- this.fImage = Toolkit.getDefaultToolkit().getImage(var3);
- }
- }
-
- this.fHeight = this.getIntAttr("height", -1);
- boolean var6 = this.fHeight > 0;
- if (!var6 && this.fImage != null) {
- this.fHeight = this.fImage.getHeight(var1);
- }
-
- if (this.fHeight <= 0) {
- this.fHeight = 32;
- }
-
- this.fWidth = this.getIntAttr("width", -1);
- boolean var5 = this.fWidth > 0;
- if (!var5 && this.fImage != null) {
- this.fWidth = this.fImage.getWidth(var1);
- }
-
- if (this.fWidth <= 0) {
- this.fWidth = 32;
- }
-
- if (this.fImage != null) {
- if (var5 && var6) {
- Toolkit.getDefaultToolkit().prepareImage(this.fImage, this.fHeight, this.fWidth, var1);
- } else {
- Toolkit.getDefaultToolkit().prepareImage(this.fImage, -1, -1, var1);
- }
- }
-
- if (ImageView.access$0()) {
- if (this.fImage != null) {
- System.out.println("ImageInfo: new on " + var3 + " (" + this.fWidth + "x" + this.fHeight + ")");
- } else {
- System.out.println("ImageInfo: couldn't get image at " + var3);
- }
-
- if (this.isLink()) {
- System.out.println(" It's a link! Border = " + this.getBorder());
- }
- }
-
- }
- }
-
- void changedUpdate(ImageView var1, Element var2) {
- this.fElement = null;
- this.initialize(var1, var2);
- }
-
- boolean isLink() {
- return this.fElement.getAttributes().isDefined("href");
- }
-
- int getBorder() {
- return this.getIntAttr("border", this.isLink() ? 2 : 0);
- }
-
- int getSpace(int var1) {
- return this.getIntAttr(var1 == 0 ? "hspace" : "vspace", 0);
- }
-
- Color getBorderColor() {
- HTMLDocument var1 = (HTMLDocument)this.fElement.getDocument();
- AttributeSet var2 = this.fElement.getAttributes();
- return ((DefaultStyledDocument)var1).getForeground(var2);
- }
-
- float getVerticalAlignment() {
- String var1 = (String)this.fElement.getAttributes().getAttribute("align");
- if (var1 != null) {
- var1 = var1.toLowerCase();
- if (var1.equals("top") || var1.equals("texttop")) {
- return 0.0F;
- }
-
- if (var1.equals("center") || var1.equals("middle") || var1.equals("absmiddle")) {
- return 0.5F;
- }
- }
-
- return 1.0F;
- }
-
- boolean hasPixels(ImageObserver var1) {
- return this.fImage != null && this.fImage.getHeight(var1) > 0 && this.fImage.getWidth(var1) > 0;
- }
-
- private URL getSourceURL() {
- String var1 = (String)this.fElement.getAttributes().getAttribute("src");
- if (var1 == null) {
- return null;
- } else {
- URL var2 = (URL)this.fElement.getDocument().getProperty("stream");
-
- try {
- return new URL(var2, var1);
- } catch (MalformedURLException var3) {
- return null;
- }
- }
- }
-
- private int getIntAttr(String var1, int var2) {
- AttributeSet var3 = this.fElement.getAttributes();
- if (var3.isDefined(var1)) {
- String var5 = (String)var3.getAttribute(var1);
- int var4;
- if (var5 == null) {
- var4 = var2;
- } else {
- try {
- var4 = Math.max(0, Integer.parseInt(var5));
- } catch (NumberFormatException var6) {
- var4 = var2;
- }
- }
-
- return var4;
- } else {
- return var2;
- }
- }
- }
-