Esempio n. 1
0
    def test_setting_properties(self):
        desc = FontDescription()

        assert desc.get_family() is None
        desc.set_family('sans-serif')
        assert desc.get_family() == 'sans-serif'

        desc.set_style(Style.NORMAL)
        assert desc.get_style() == Style.NORMAL

        desc.set_variant(Variant.NORMAL)
        assert desc.get_variant() == Variant.NORMAL

        desc.set_weight(700)
        assert desc.get_weight() == 700
        desc.set_weight(Weight.BOOK)
        assert desc.get_weight() == Weight.BOOK.value

        desc.set_stretch(Stretch.NORMAL)
        assert desc.get_stretch() == Stretch.NORMAL

        desc.set_size(123)
        assert desc.get_size() == 123
        assert not desc.get_size_is_absolute()

        desc.set_absolute_size(1.23)
        assert desc.get_size() != 123
        assert desc.get_size_is_absolute()

        desc.set_gravity(Gravity.EAST)
        assert desc.get_gravity() == Gravity.EAST
Esempio n. 2
0
def get_text_height(pctx: pangocffi.Context, style: TextStyle,
                    resolution_scale: float):
    font = FontDescription()
    font.set_family(style.font)
    font.set_absolute_size(to_pango_units(style.size))
    ret = pangocffi.pango.pango_context_get_metrics(pctx.get_pointer(),
                                                    font.get_pointer(),
                                                    pangocffi.ffi.NULL)

    descent = from_pango_units(
        pangocffi.pango.pango_font_metrics_get_descent(ret))
    ascent = from_pango_units(
        pangocffi.pango.pango_font_metrics_get_ascent(ret))
    return (ascent + descent) * resolution_scale
Esempio n. 3
0
    def test_context_properties(self):
        context = Context()

        desc = FontDescription()
        desc.set_family('sans-serif')
        context.set_font_description(desc)
        assert context.get_font_description().get_family() == 'sans-serif'

        context.set_base_gravity(Gravity.EAST)
        assert context.get_base_gravity() == Gravity.EAST
        assert context.get_gravity() == Gravity.EAST

        context.set_gravity_hint(GravityHint.STRONG)
        assert context.get_gravity_hint() == GravityHint.STRONG
Esempio n. 4
0
    def test_layout_setting_font_description():
        context = Context()
        layout = Layout(context)

        # Assert that the font description is not set
        assert layout.get_font_description() is None

        # Creating the font description
        desc = FontDescription()
        desc.set_family('sans-serif')
        layout.set_font_description(desc)

        # Verifying the font description was set
        same_desc = layout.get_font_description()
        assert same_desc.get_family() == desc.get_family()

        # Changing the font description
        desc.set_family('serif')
        assert same_desc.get_family() != desc.get_family()

        # Resetting the font description
        layout.set_font_description(None)
        assert layout.get_font_description() is None