Write Modify Draw Area Color

The ooodev.format.draw.modify.area.Color class is used to modify the values seen in Fig. 876 of a style.

Setup

from __future__ import annotations
import uno
from ooodev.draw import Draw, DrawDoc, ZoomKind
from ooodev.format.draw.modify.area.color import Color
from ooodev.loader.lo import Lo
from ooodev.format.draw.modify.area import Color as FillColor
from ooodev.format.draw.modify import FamilyGraphics, DrawStyleFamilyKind
from ooodev.utils.color import StandardColor


def main() -> int:
    with Lo.Loader(connector=Lo.ConnectSocket()):
        doc = DrawDoc(Draw.create_draw_doc())
        doc.set_visible()
        Lo.delay(500)
        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_modify = FillColor(
            color=StandardColor.LIME_LIGHT2,
            style_name=FamilyGraphics.DEFAULT_DRAWING_STYLE,
            style_family=DrawStyleFamilyKind.GRAPHICS,
        )
        doc.apply_styles(style_modify)

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


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

Apply color to a style

Before applying Style

Draw dialog Area Color style default

Fig. 876 Draw dialog Area Color style default

Apply style

# ... other code

style_modify = FillColor(
    color=StandardColor.LIME_LIGHT2,
    style_name=FamilyGraphics.DEFAULT_DRAWING_STYLE,
    style_family=DrawStyleFamilyKind.GRAPHICS,
)
doc.apply_styles(style_modify)

After applying style

Dialog after applying style.

Draw dialog Area Color style changed

Fig. 877 Draw dialog Area Color style changed

Shape after applying style.

Shape after Style applied

Fig. 878 Shape after Style applied

Getting the area image from a style

We can get the area image from the document.

# ... other code

f_style = FillColor.from_style(
    doc=doc.component,
    style_name=FamilyGraphics.DEFAULT_DRAWING_STYLE,
    style_family=DrawStyleFamilyKind.GRAPHICS,
)
assert f_style is not None