# encoding: utf-8

"""
Test data builders for DrawingML XML elements
"""

from ...unitdata import BaseBuilder


class CT_BlipBuilder(BaseBuilder):
    __tag__ = 'a:blip'
    __nspfxs__ = ('a',)
    __attrs__ = ('r:embed', 'r:link', 'cstate')


class CT_BlipFillPropertiesBuilder(BaseBuilder):
    __tag__ = 'pic:blipFill'
    __nspfxs__ = ('pic',)
    __attrs__ = ()


class CT_DrawingBuilder(BaseBuilder):
    __tag__ = 'w:drawing'
    __nspfxs__ = ('w',)
    __attrs__ = ()


class CT_GraphicalObjectBuilder(BaseBuilder):
    __tag__ = 'a:graphic'
    __nspfxs__ = ('a',)
    __attrs__ = ()


class CT_GraphicalObjectDataBuilder(BaseBuilder):
    __tag__ = 'a:graphicData'
    __nspfxs__ = ('a',)
    __attrs__ = ('uri',)


class CT_GraphicalObjectFrameLockingBuilder(BaseBuilder):
    __tag__ = 'a:graphicFrameLocks'
    __nspfxs__ = ('a',)
    __attrs__ = ('noChangeAspect',)


class CT_InlineBuilder(BaseBuilder):
    __tag__ = 'wp:inline'
    __nspfxs__ = ('wp',)
    __attrs__ = ('distT', 'distB', 'distL', 'distR')


class CT_NonVisualDrawingPropsBuilder(BaseBuilder):
    __nspfxs__ = ('wp',)
    __attrs__ = ('id', 'name', 'descr', 'hidden', 'title')

    def __init__(self, tag):
        self.__tag__ = tag
        super(CT_NonVisualDrawingPropsBuilder, self).__init__()


class CT_NonVisualGraphicFramePropertiesBuilder(BaseBuilder):
    __tag__ = 'wp:cNvGraphicFramePr'
    __nspfxs__ = ('wp',)
    __attrs__ = ()


class CT_NonVisualPicturePropertiesBuilder(BaseBuilder):
    __tag__ = 'pic:cNvPicPr'
    __nspfxs__ = ('pic',)
    __attrs__ = ('preferRelativeResize')


class CT_PictureBuilder(BaseBuilder):