Draw Modify Transparency

The ooodev.format.draw.modify.transparency.Transparency, class is used to modify the values seen in Fig. 907 of a style.

Draw dialog Transparency default

Fig. 907 Draw dialog Transparency default

Setting the Transparency

from __future__ import annotations
import uno
from ooodev.draw import Draw, DrawDoc, ZoomKind
from ooodev.format.draw.modify import FamilyGraphics, DrawStyleFamilyKind
from ooodev.format.draw.modify.transparency import Transparency, Intensity
from ooodev.loader.lo import Lo

def main() -> int:
    with Lo.Loader(connector=Lo.ConnectSocket()):
        doc = DrawDoc(Draw.create_draw_doc())
        doc.set_visible()
        Lo.delay(700)
        doc.zoom(ZoomKind.ZOOM_75_PERCENT)

        slide = doc.get_slide()

        width = 100
        height = 50
        x = 10
        y = 10

        rect = slide.draw_rectangle(x=x, y=y, width=width, height=height)
        rect.set_string("Hello World!")
        style = Transparency(
            value=Intensity(88),
            style_name=FamilyGraphics.DEFAULT_DRAWING_STYLE,
            style_family=DrawStyleFamilyKind.GRAPHICS,
        )
        doc.apply_styles(style)

        Lo.delay(1_000)
        doc.close_doc()
    return 0

if __name__ == "__main__":
    raise SystemExit(main())

Running the above code will produce the following results in the Draw dialog.

Draw dialog Transparency style changed

Fig. 908 Draw dialog Transparency style changed

Shape after applying style.

Shape after Style applied

Fig. 909 Shape after Style applied

Getting shadow from a style

# ... other code

f_style = Transparency.from_style(
    doc=doc.component,
    style_name=FamilyGraphics.DEFAULT_DRAWING_STYLE,
    style_family=DrawStyleFamilyKind.GRAPHICS,
)
assert f_style.prop_inner.prop_value == Intensity(88)