|
14 | 14 | import matplotlib.transforms as mtransforms |
15 | 15 | from matplotlib.testing.decorators import check_figures_equal, image_comparison |
16 | 16 | from matplotlib.testing._markers import needs_usetex |
17 | | -from matplotlib.text import Text |
| 17 | +from matplotlib.text import Text, Annotation |
18 | 18 |
|
19 | 19 |
|
20 | 20 | @image_comparison(['font_styles']) |
@@ -902,3 +902,74 @@ def test_annotate_offset_fontsize(): |
902 | 902 | points_coords, fontsize_coords = [ann.get_window_extent() for ann in anns] |
903 | 903 | fig.canvas.draw() |
904 | 904 | assert str(points_coords) == str(fontsize_coords) |
| 905 | + |
| 906 | + |
| 907 | +def test_set_antialiased(): |
| 908 | + txt = Text(.5, .5, "foo\nbar") |
| 909 | + assert txt._antialiased == mpl.rcParams['text.antialiased'] |
| 910 | + |
| 911 | + txt.set_antialiased(True) |
| 912 | + assert txt._antialiased is True |
| 913 | + |
| 914 | + txt.set_antialiased(False) |
| 915 | + assert txt._antialiased is False |
| 916 | + |
| 917 | + |
| 918 | +def test_get_antialiased(): |
| 919 | + |
| 920 | + txt2 = Text(.5, .5, "foo\nbar", antialiased=True) |
| 921 | + assert txt2._antialiased is True |
| 922 | + assert txt2.get_antialiased() == txt2._antialiased |
| 923 | + |
| 924 | + txt3 = Text(.5, .5, "foo\nbar", antialiased=False) |
| 925 | + assert txt3._antialiased is False |
| 926 | + assert txt3.get_antialiased() == txt3._antialiased |
| 927 | + |
| 928 | + txt4 = Text(.5, .5, "foo\nbar") |
| 929 | + assert txt4.get_antialiased() == mpl.rcParams['text.antialiased'] |
| 930 | + |
| 931 | + |
| 932 | +def test_annotation_antialiased(): |
| 933 | + annot = Annotation("foo\nbar", (.5, .5), antialiased=True) |
| 934 | + assert annot._antialiased is True |
| 935 | + assert annot.get_antialiased() == annot._antialiased |
| 936 | + |
| 937 | + annot2 = Annotation("foo\nbar", (.5, .5), antialiased=False) |
| 938 | + assert annot2._antialiased is False |
| 939 | + assert annot2.get_antialiased() == annot2._antialiased |
| 940 | + |
| 941 | + annot3 = Annotation("foo\nbar", (.5, .5), antialiased=False) |
| 942 | + annot3.set_antialiased(True) |
| 943 | + assert annot3.get_antialiased() is True |
| 944 | + assert annot3._antialiased is True |
| 945 | + |
| 946 | + annot4 = Annotation("foo\nbar", (.5, .5)) |
| 947 | + assert annot4._antialiased == mpl.rcParams['text.antialiased'] |
| 948 | + |
| 949 | + |
| 950 | +@check_figures_equal() |
| 951 | +def test_text_antialiased_off_default_vs_manual(fig_test, fig_ref): |
| 952 | + # note that the field antialiased is for Text object |
| 953 | + # therefore in the test we will make axis antialiasing identical |
| 954 | + # which is determined by rcParams['text.antialiased'] when axis is created |
| 955 | + # also note that there is no way to change this for axis after creating it |
| 956 | + |
| 957 | + mpl.rcParams['text.antialiased'] = False |
| 958 | + # axis: antialiased == rcParams['text.antialiased'] == False |
| 959 | + # text: antialiased == False |
| 960 | + fig_test.subplots().text(0.5, 0.5, '6 inches x 2 inches', |
| 961 | + antialiased=False) |
| 962 | + |
| 963 | + mpl.rcParams['text.antialiased'] = False |
| 964 | + # axis: antialiased == rcParams['text.antialiased'] == False |
| 965 | + # text: antialiased == rcParams['text.antialiased'] == False |
| 966 | + fig_ref.subplots().text(0.5, 0.5, '6 inches x 2 inches') |
| 967 | + |
| 968 | + |
| 969 | +@check_figures_equal() |
| 970 | +def test_text_antialiased_on_default_vs_manual(fig_test, fig_ref): |
| 971 | + mpl.rcParams['text.antialiased'] = True |
| 972 | + fig_test.subplots().text(0.5, 0.5, '6 inches x 2 inches', antialiased=True) |
| 973 | + |
| 974 | + mpl.rcParams['text.antialiased'] = True |
| 975 | + fig_ref.subplots().text(0.5, 0.5, '6 inches x 2 inches') |
0 commit comments