home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.text.html;
-
- import com.sun.java.swing.text.Style;
- import com.sun.java.swing.text.StyleConstants;
- import java.util.StringTokenizer;
-
- class StyleSheet implements HTMLDefs {
- public static final int DEFAULT_FONT_SIZE = 3;
- private int baseFontIndex;
- private int baseFontSize;
- private int docPtSize;
- private int docIndex;
- static int[] sizeMap;
-
- public StyleSheet(Style var1) {
- this.docPtSize = StyleConstants.getFontSize(var1);
- this.baseFontIndex = getIndexOfSize(this.docPtSize);
- this.baseFontSize = 3;
- this.setPtSize(this.docPtSize);
- }
-
- public StyleSheet() {
- this.docPtSize = 12;
- this.baseFontIndex = getIndexOfSize(this.docPtSize);
- this.baseFontSize = 3;
- this.setPtSize(this.docPtSize);
- }
-
- public void setFontSizes(String var1) {
- int[] var2 = new int[32];
- StringTokenizer var3 = new StringTokenizer(var1, ". \t\n");
-
- int var4;
- for(var4 = 0; var4 < var2.length && var3.hasMoreTokens(); var2[var4++] = Integer.valueOf(var3.nextToken())) {
- }
-
- sizeMap = new int[var4];
- System.arraycopy(var2, 0, sizeMap, 0, var4);
- this.baseFontIndex = getIndexOfSize(this.docPtSize);
- this.setPtSize(this.docPtSize);
- }
-
- public void setBaseFontSize(int var1) {
- if (var1 < 1) {
- this.baseFontSize = 0;
- } else if (var1 > 7) {
- this.baseFontSize = 7;
- } else {
- this.baseFontSize = var1;
- }
-
- int var2 = this.baseFontSize - 3;
- this.baseFontIndex = this.docIndex + var2;
- if (this.baseFontIndex > sizeMap.length - 1) {
- this.baseFontIndex = sizeMap.length - 1;
- } else {
- if (this.baseFontIndex < 0) {
- this.baseFontIndex = 0;
- }
-
- }
- }
-
- public void setBaseFontSize(String var1) {
- if (var1 != null) {
- if (var1.startsWith("+")) {
- int var2 = Integer.valueOf(var1.substring(1));
- int var3 = 3 - (this.baseFontSize + var2);
- this.baseFontIndex = this.docIndex + var3;
- } else if (var1.startsWith("-")) {
- int var4 = -Integer.valueOf(var1.substring(1));
- int var5 = 3 - (this.baseFontSize + var4);
- this.baseFontIndex = this.docIndex + var5;
- } else {
- this.setBaseFontSize(Integer.valueOf(var1));
- int var6 = this.baseFontSize - 3;
- this.baseFontIndex = this.docIndex + var6;
- }
- }
-
- if (this.baseFontIndex > sizeMap.length - 1) {
- this.baseFontIndex = sizeMap.length - 1;
- } else {
- if (this.baseFontIndex < 0) {
- this.baseFontIndex = 0;
- }
-
- }
- }
-
- public static int getIndexOfSize(int var0) {
- for(int var1 = 0; var1 < sizeMap.length; ++var1) {
- if (var0 <= sizeMap[var1]) {
- return var1;
- }
- }
-
- return sizeMap.length - 1;
- }
-
- public int getPtSize(int var1) {
- if (var1 < 0) {
- return sizeMap[0];
- } else {
- return var1 > sizeMap.length - 1 ? sizeMap[sizeMap.length - 1] : sizeMap[var1];
- }
- }
-
- public int getPtSize(String var1) {
- if (var1 != null) {
- int var5;
- if (var1.startsWith("+")) {
- int var2 = Integer.valueOf(var1.substring(1));
- int var4 = this.baseFontSize + var2 - 3;
- var5 = this.docIndex + var4;
- } else if (var1.startsWith("-")) {
- int var6 = -Integer.valueOf(var1.substring(1));
- int var7 = this.baseFontSize + var6 - 3;
- var5 = this.docIndex + var7;
- } else {
- int var3 = Integer.valueOf(var1);
- int var8 = var3 - 3;
- var5 = this.docIndex + var8;
- }
-
- if (var5 > sizeMap.length - 1) {
- var5 = sizeMap.length - 1;
- } else if (var5 < 0) {
- var5 = 0;
- }
-
- return sizeMap[var5];
- } else {
- return sizeMap[this.baseFontIndex];
- }
- }
-
- public void setPtSize(int var1) {
- this.docPtSize = var1;
- this.docIndex = getIndexOfSize(this.docPtSize);
- int var2 = this.baseFontSize - 3;
- this.baseFontIndex = this.docIndex + var2;
- }
-
- public int getBigger(int var1) {
- int var2 = getIndexOfSize(var1);
- if (var2 + 1 > sizeMap.length - 1) {
- var2 = sizeMap.length - 1;
- } else {
- ++var2;
- }
-
- return sizeMap[var2];
- }
-
- public int getSmaller(int var1) {
- int var2 = getIndexOfSize(var1);
- if (var2 - 1 < 0) {
- var2 = 0;
- } else {
- --var2;
- }
-
- return sizeMap[var2];
- }
-
- public int getRelSize(int var1) {
- int var2 = getIndexOfSize(var1);
- return var2 - this.baseFontIndex;
- }
-
- static {
- int[] var0 = new int[32];
- String var1 = "7,8,9,10,12,14,16,18,20,22,24,26,28";
- StringTokenizer var2 = new StringTokenizer(var1, ", \t\n");
-
- int var3;
- for(var3 = 0; var3 < var0.length && var2.hasMoreTokens(); var0[var3++] = Integer.valueOf(var2.nextToken())) {
- }
-
- sizeMap = new int[var3];
- System.arraycopy(var0, 0, sizeMap, 0, var3);
- }
- }
-