25
26 package javafx.scene.text;
27
28 import javafx.css.converter.BooleanConverter;
29 import javafx.css.converter.EnumConverter;
30 import javafx.css.converter.SizeConverter;
31 import com.sun.javafx.geom.BaseBounds;
32 import com.sun.javafx.geom.Path2D;
33 import com.sun.javafx.geom.RectBounds;
34 import com.sun.javafx.geom.TransformedShape;
35 import com.sun.javafx.geom.transform.BaseTransform;
36 import com.sun.javafx.scene.DirtyBits;
37 import com.sun.javafx.scene.text.GlyphList;
38 import com.sun.javafx.scene.text.TextLayout;
39 import com.sun.javafx.scene.text.TextLayoutFactory;
40 import com.sun.javafx.scene.text.TextLine;
41 import com.sun.javafx.scene.text.TextSpan;
42 import com.sun.javafx.sg.prism.NGNode;
43 import com.sun.javafx.sg.prism.NGShape;
44 import com.sun.javafx.sg.prism.NGText;
45 import com.sun.javafx.tk.Toolkit;
46 import javafx.beans.DefaultProperty;
47 import javafx.beans.InvalidationListener;
48 import javafx.beans.binding.DoubleBinding;
49 import javafx.beans.binding.ObjectBinding;
50 import javafx.beans.property.*;
51 import javafx.css.*;
52 import javafx.geometry.*;
53 import javafx.scene.AccessibleAttribute;
54 import javafx.scene.AccessibleRole;
55 import javafx.scene.paint.Color;
56 import javafx.scene.paint.Paint;
57 import javafx.scene.shape.LineTo;
58 import javafx.scene.shape.MoveTo;
59 import javafx.scene.shape.PathElement;
60 import javafx.scene.shape.Shape;
61 import javafx.scene.shape.StrokeType;
62 import java.util.ArrayList;
63 import java.util.Collections;
64 import java.util.List;
473 * @defaultValue Font{}
474 */
475 private ObjectProperty<Font> font;
476
477 public final void setFont(Font value) {
478 fontProperty().set(value);
479 }
480
481 public final Font getFont() {
482 return font == null ? Font.getDefault() : font.get();
483 }
484
485 /**
486 * Internally used safe version of getFont which never returns null.
487 *
488 * @return the font
489 */
490 private Object getFontInternal() {
491 Font font = getFont();
492 if (font == null) font = Font.getDefault();
493 return font.impl_getNativeFont();
494 }
495
496 public final ObjectProperty<Font> fontProperty() {
497 if (font == null) {
498 font = new StyleableObjectProperty<Font>(Font.getDefault()) {
499 @Override public Object getBean() { return Text.this; }
500 @Override public String getName() { return "font"; }
501 @Override public CssMetaData<Text,Font> getCssMetaData() {
502 return StyleableProperties.FONT;
503 }
504 @Override public void invalidated() {
505 needsFullTextLayout();
506 impl_markDirty(DirtyBits.TEXT_FONT);
507 }
508 };
509 }
510 return font;
511 }
512
513 public final void setTextOrigin(VPos value) {
|
25
26 package javafx.scene.text;
27
28 import javafx.css.converter.BooleanConverter;
29 import javafx.css.converter.EnumConverter;
30 import javafx.css.converter.SizeConverter;
31 import com.sun.javafx.geom.BaseBounds;
32 import com.sun.javafx.geom.Path2D;
33 import com.sun.javafx.geom.RectBounds;
34 import com.sun.javafx.geom.TransformedShape;
35 import com.sun.javafx.geom.transform.BaseTransform;
36 import com.sun.javafx.scene.DirtyBits;
37 import com.sun.javafx.scene.text.GlyphList;
38 import com.sun.javafx.scene.text.TextLayout;
39 import com.sun.javafx.scene.text.TextLayoutFactory;
40 import com.sun.javafx.scene.text.TextLine;
41 import com.sun.javafx.scene.text.TextSpan;
42 import com.sun.javafx.sg.prism.NGNode;
43 import com.sun.javafx.sg.prism.NGShape;
44 import com.sun.javafx.sg.prism.NGText;
45 import com.sun.javafx.text.FontHelper;
46 import com.sun.javafx.tk.Toolkit;
47 import javafx.beans.DefaultProperty;
48 import javafx.beans.InvalidationListener;
49 import javafx.beans.binding.DoubleBinding;
50 import javafx.beans.binding.ObjectBinding;
51 import javafx.beans.property.*;
52 import javafx.css.*;
53 import javafx.geometry.*;
54 import javafx.scene.AccessibleAttribute;
55 import javafx.scene.AccessibleRole;
56 import javafx.scene.paint.Color;
57 import javafx.scene.paint.Paint;
58 import javafx.scene.shape.LineTo;
59 import javafx.scene.shape.MoveTo;
60 import javafx.scene.shape.PathElement;
61 import javafx.scene.shape.Shape;
62 import javafx.scene.shape.StrokeType;
63 import java.util.ArrayList;
64 import java.util.Collections;
65 import java.util.List;
474 * @defaultValue Font{}
475 */
476 private ObjectProperty<Font> font;
477
478 public final void setFont(Font value) {
479 fontProperty().set(value);
480 }
481
482 public final Font getFont() {
483 return font == null ? Font.getDefault() : font.get();
484 }
485
486 /**
487 * Internally used safe version of getFont which never returns null.
488 *
489 * @return the font
490 */
491 private Object getFontInternal() {
492 Font font = getFont();
493 if (font == null) font = Font.getDefault();
494 return FontHelper.getNativeFont(font);
495 }
496
497 public final ObjectProperty<Font> fontProperty() {
498 if (font == null) {
499 font = new StyleableObjectProperty<Font>(Font.getDefault()) {
500 @Override public Object getBean() { return Text.this; }
501 @Override public String getName() { return "font"; }
502 @Override public CssMetaData<Text,Font> getCssMetaData() {
503 return StyleableProperties.FONT;
504 }
505 @Override public void invalidated() {
506 needsFullTextLayout();
507 impl_markDirty(DirtyBits.TEXT_FONT);
508 }
509 };
510 }
511 return font;
512 }
513
514 public final void setTextOrigin(VPos value) {
|