001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017: /**
018: * @author Ilya S. Okomin
019: * @version $Revision$
020: */package java.awt.font;
021:
022: import org.apache.harmony.awt.internal.nls.Messages;
023:
024: public final class GlyphJustificationInfo {
025:
026: public static final int PRIORITY_KASHIDA = 0;
027:
028: public static final int PRIORITY_WHITESPACE = 1;
029:
030: public static final int PRIORITY_INTERCHAR = 2;
031:
032: public static final int PRIORITY_NONE = 3;
033:
034: public final boolean growAbsorb;
035:
036: public final float growLeftLimit;
037:
038: public final float growRightLimit;
039:
040: public final int growPriority;
041:
042: public final boolean shrinkAbsorb;
043:
044: public final float shrinkLeftLimit;
045:
046: public final float shrinkRightLimit;
047:
048: public final int shrinkPriority;
049:
050: public final float weight;
051:
052: public GlyphJustificationInfo(float weight, boolean growAbsorb,
053: int growPriority, float growLeftLimit,
054: float growRightLimit, boolean shrinkAbsorb,
055: int shrinkPriority, float shrinkLeftLimit,
056: float shrinkRightLimit) {
057:
058: if (weight < 0) {
059: // awt.19C=weight must be a positive number
060: throw new IllegalArgumentException(Messages
061: .getString("awt.19C")); //$NON-NLS-1$
062: }
063: this .weight = weight;
064:
065: if (growLeftLimit < 0) {
066: // awt.19D=growLeftLimit must be a positive number
067: throw new IllegalArgumentException(Messages
068: .getString("awt.19D")); //$NON-NLS-1$
069: }
070: this .growLeftLimit = growLeftLimit;
071:
072: if (growRightLimit < 0) {
073: // awt.19E=growRightLimit must be a positive number
074: throw new IllegalArgumentException(Messages
075: .getString("awt.19E")); //$NON-NLS-1$
076: }
077: this .growRightLimit = growRightLimit;
078:
079: if ((shrinkPriority < 0) || (shrinkPriority > PRIORITY_NONE)) {
080: // awt.19F=incorrect value for shrinkPriority, more than PRIORITY_NONE or less than PRIORITY_KASHIDA value
081: throw new IllegalArgumentException(Messages
082: .getString("awt.19F")); //$NON-NLS-1$
083: }
084: this .shrinkPriority = shrinkPriority;
085:
086: if ((growPriority < 0) || (growPriority > PRIORITY_NONE)) {
087: // awt.200=incorrect value for growPriority, more than PRIORITY_NONE or less than PRIORITY_KASHIDA value
088: throw new IllegalArgumentException(Messages
089: .getString("awt.200")); //$NON-NLS-1$
090: }
091: this .growPriority = growPriority;
092:
093: if (shrinkLeftLimit < 0) {
094: // awt.201=shrinkLeftLimit must be a positive number
095: throw new IllegalArgumentException(Messages
096: .getString("awt.201")); //$NON-NLS-1$
097: }
098: this .shrinkLeftLimit = shrinkLeftLimit;
099:
100: if (shrinkRightLimit < 0) {
101: // awt.202=shrinkRightLimit must be a positive number
102: throw new IllegalArgumentException(Messages
103: .getString("awt.202")); //$NON-NLS-1$
104: }
105: this.shrinkRightLimit = shrinkRightLimit;
106:
107: this.shrinkAbsorb = shrinkAbsorb;
108: this.growAbsorb = growAbsorb;
109: }
110: }
|