public static void main(String[] args) { AffineTransform tx1 = new AffineTransform(1, 0, 1, 1, 0, 0); AffineTransform tx2 = new AffineTransform(1, 0, 1, 1, 0, 0); AffineTransform tx3 = new AffineTransform(2, 0, 1, 1, 0, 0); TransformAttribute ta1a = new TransformAttribute(tx1); TransformAttribute ta1b = new TransformAttribute(tx1); TransformAttribute ta2 = new TransformAttribute(tx2); TransformAttribute ta3 = new TransformAttribute(tx3); if (ta1a.equals(null)) { throw new RuntimeException("should not be equal to null."); } if (!ta1a.equals(ta1a)) { throw new RuntimeException("(1) should be equal."); } if (!ta1a.equals(ta1b)) { throw new RuntimeException("(2) should be equal."); } if (!ta1a.equals(ta2)) { throw new RuntimeException("(3) should be equal."); } if (ta2.equals(ta3)) { throw new RuntimeException("should be different."); } }
public AffineTransform getTransform() { Object transform = fRequestedAttributes.get(TextAttribute.TRANSFORM); if (transform != null) { if (transform instanceof TransformAttribute) { return ((TransformAttribute) transform).getTransform(); } if (transform instanceof AffineTransform) { return new AffineTransform((AffineTransform) transform); } } else { transform = new AffineTransform(); } return (AffineTransform) transform; }
public final void testGetAttributes() { Map<TextAttribute, ?> attributes = physicalFont.getAttributes(); // size assertEquals(physicalFont.getSize(), ((Float)attributes.get(TextAttribute.SIZE)).floatValue(), 0F); // style Float posture = (Float)attributes.get(TextAttribute.POSTURE); assertEquals(TextAttribute.POSTURE_REGULAR.doubleValue(), posture.doubleValue(), 0F); Float weight = (Float)attributes.get(TextAttribute.WEIGHT); assertEquals(TextAttribute.WEIGHT_REGULAR.floatValue(), weight.floatValue(), 0F); // family String family = (String)attributes.get(TextAttribute.FAMILY); assertEquals(ARIAL_NAME, family); // transform TransformAttribute trans = (TransformAttribute)attributes.get(TextAttribute.TRANSFORM); assertNotNull(trans); assertTrue(trans.isIdentity()); }
public void setTransform(TransformAttribute f) { this.transform = (f == null || f.isIdentity()) ? DEFAULT.transform : f.getTransform(); updateDerivedTransforms(); update(ETRANSFORM); }
private Object i_get(EAttribute a) { switch (a) { case EFAMILY: return family; case EWEIGHT: return Float.valueOf(weight); case EWIDTH: return Float.valueOf(width); case EPOSTURE: return Float.valueOf(posture); case ESIZE: return Float.valueOf(size); case ETRANSFORM: return transform == null ? TransformAttribute.IDENTITY : new TransformAttribute(transform); case ESUPERSCRIPT: return Integer.valueOf(superscript); case EFONT: return font; case ECHAR_REPLACEMENT: return charReplacement; case EFOREGROUND: return foreground; case EBACKGROUND: return background; case EUNDERLINE: return Integer.valueOf(underline); case ESTRIKETHROUGH: return Boolean.valueOf(strikethrough); case ERUN_DIRECTION: { switch (runDirection) { // todo: figure out a way to indicate this value // case -1: return Integer.valueOf(runDirection); case 0: return TextAttribute.RUN_DIRECTION_LTR; case 1: return TextAttribute.RUN_DIRECTION_RTL; default: return null; } } // not reachable case EBIDI_EMBEDDING: return Integer.valueOf(bidiEmbedding); case EJUSTIFICATION: return Float.valueOf(justification); case EINPUT_METHOD_HIGHLIGHT: return imHighlight; case EINPUT_METHOD_UNDERLINE: return Integer.valueOf(imUnderline); case ESWAP_COLORS: return Boolean.valueOf(swapColors); case ENUMERIC_SHAPING: return numericShaping; case EKERNING: return Integer.valueOf(kerning); case ELIGATURES: return Integer.valueOf(ligatures); case ETRACKING: return Float.valueOf(tracking); default: throw new InternalError(); } }
@SuppressWarnings("unchecked") public Font deriveFont(int style, AffineTransform trans) { if (trans == null) { // awt.94=transform can not be null throw new IllegalArgumentException(Messages.getString("awt.94")); //$NON-NLS-1$ } Hashtable<Attribute, Object> derivefRequestedAttributes = (Hashtable<Attribute, Object>)fRequestedAttributes.clone(); if ((style & BOLD) != 0){ derivefRequestedAttributes.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD); } else if (derivefRequestedAttributes.get(TextAttribute.WEIGHT) != null){ derivefRequestedAttributes.remove(TextAttribute.WEIGHT); } if ((style & ITALIC) != 0){ derivefRequestedAttributes.put(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE); } else if (derivefRequestedAttributes.get(TextAttribute.POSTURE) != null){ derivefRequestedAttributes.remove(TextAttribute.POSTURE); } derivefRequestedAttributes.put(TextAttribute.TRANSFORM, new TransformAttribute(trans)); return new Font(derivefRequestedAttributes); }