from chiplotle.core.interfaces.interface import _Interface
from chiplotle.plotters.margins.marginssoft import MarginsSoft
from chiplotle.plotters.margins.marginshard import MarginsHard

class MarginsInterface(_Interface):

    def __init__(self, client):
        _Interface.__init__(self, client)
        self._soft = MarginsSoft(client)
        self._hard = None
        ## check if hard margin (OH) is supported by plotter...
        if 'OH' in client.allowedHPGLCommands:
            self._hard = MarginsHard(client)


    @property
    def soft(self):
        '''Read-only reference to MarginsSoft.'''
        return self._soft

    @property
    def hard(self):
        '''Read-only reference to MarginsHard.'''
        return self._hard
