#!D:/IDE/anaconda3/envs/Microscope_Scan python
# -*- coding: UTF-8 -*-
"""
@FileName：ImageConfigInterface.py
@Description：
@Author：XSH
@Time：2025/11/11 11:54
@Department：研发部
@Copyright：©2025 乐辰生物
"""
from abc import abstractmethod
from AppInterfaces.ConfigInterface import ConfigInterface
class ImageConfigInterface(ConfigInterface):
    ID                  : int #
    VideoStream_W       : int # '实时画面显示宽度'
    VideoStream_H       : int # '实时画面显示宽度'
    PreviewImage_W      : int # '右下小框显示宽度'
    PreviewImage_H      : int # '右下小框显示宽度'
    MVideoStream_W      : int # '实时画面显示宽度'
    MVideoStream_H      : int # '实时画面显示宽度'
    MPreviewImage_W     : int # '右下小框显示宽度'
    MPreviewImage_H     : int # '右下小框显示宽度'
    SlideAreaImage_W    : int # '平扫图像显示宽度'
    SlideAreaImage_H    : int # '平扫图像显示高度'
    ImageList_W         : int # '核型小图显示宽度'
    ImageList_H         : int # '核型小图显示高度'
    DrawImage_W         : int # '调试界面显示宽度'
    DrawImage_H         : int # '调试界面显示宽度'
    CaseImage_W         : int # '核型大图显示宽度'
    CaseImage_H         : int # '核型大图显示宽度'

    @abstractmethod
    def VideoStreamSize(self) -> (int, int):
        raise Exception('Interface Instance error')

    @abstractmethod
    def PreviewImageSize(self) -> (int, int):
        raise Exception('Interface Instance error')

    @abstractmethod
    def MVideoStreamSize(self) -> (int, int):
        raise Exception('Interface Instance error')

    @abstractmethod
    def MPreviewImageSize(self) -> (int, int):
        raise Exception('Interface Instance error')

    @abstractmethod
    def ImageListSize(self) -> (int, int):
        raise Exception('Interface Instance error')

    @abstractmethod
    def SlideAreaImageSize(self) -> (int, int):
        raise Exception('Interface Instance error')

    @abstractmethod
    def DrawImageSize(self) -> (int, int):
        raise Exception('Interface Instance error')

    @abstractmethod
    def CaseImageSize(self) -> (int, int):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setVideoStream_W(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setVideoStream_H(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setPreviewImage_W(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setPreviewImage_H(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setMVideoStream_W(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setMVideoStream_H(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setMPreviewImage_W(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setMPreviewImage_H(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setSlideAreaImage_W(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setSlideAreaImage_H(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setImageList_W(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setImageList_H(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setDrawImage_W(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setDrawImage_H(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setCaseImage_W(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def setCaseImage_H(self, value: (int, float)):
        raise Exception('Interface Instance error')

    @abstractmethod
    def getVideoStream_W(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getVideoStream_H(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getPreviewImage_W(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getPreviewImage_H(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getMVideoStream_W(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getMVideoStream_H(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getMPreviewImage_W(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getMPreviewImage_H(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getSlideAreaImage_W(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getSlideAreaImage_H(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getImageList_W(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getImageList_H(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getDrawImage_W(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getDrawImage_H(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getCaseImage_W(self) -> int:
        raise Exception('Interface Instance error')

    @abstractmethod
    def getCaseImage_H(self) -> int:
        raise Exception('Interface Instance error')

    __slots__ = (
           'ID'                 ,
           'VideoStream_W'      ,
           'VideoStream_H'      ,
           'PreviewImage_W'     ,
           'PreviewImage_H'     ,
           'MVideoStream_W'     ,
           'MVideoStream_H'     ,
           'MPreviewImage_W'    ,
           'MPreviewImage_H'    ,
           'SlideAreaImage_W'   ,
           'SlideAreaImage_H'   ,
           'ImageList_W'        ,
           'ImageList_H'        ,
           'DrawImage_W'        ,
           'DrawImage_H'        ,
           'CaseImage_W'        ,
           'CaseImage_H'        ,
    )
    __types__ = (
        int ,
        int ,
        int ,
        int ,
        int ,
        int ,
        int ,
        int ,
        int ,
        int ,
        int ,
        int ,
        int ,
        int ,
        int ,
        int ,
        int ,
    )

    @property
    def hasID                  (self) -> bool:
        return hasattr(self, 'ID'                 ) and isinstance(self.ID                  , int)

    @property
    def hasVideoStream_W       (self) -> bool:
        return hasattr(self, 'VideoStream_W'      ) and isinstance(self.VideoStream_W       , int)

    @property
    def hasVideoStream_H       (self) -> bool:
        return hasattr(self, 'VideoStream_H'      ) and isinstance(self.VideoStream_H       , int)

    @property
    def hasPreviewImage_W      (self) -> bool:
        return hasattr(self, 'PreviewImage_W'     ) and isinstance(self.PreviewImage_W      , int)

    @property
    def hasPreviewImage_H      (self) -> bool:
        return hasattr(self, 'PreviewImage_H'     ) and isinstance(self.PreviewImage_H      , int)

    @property
    def hasMVideoStream_W      (self) -> bool:
        return hasattr(self, 'MVideoStream_W'     ) and isinstance(self.MVideoStream_W      , int)

    @property
    def hasMVideoStream_H      (self) -> bool:
        return hasattr(self, 'MVideoStream_H'     ) and isinstance(self.MVideoStream_H      , int)

    @property
    def hasMPreviewImage_W     (self) -> bool:
        return hasattr(self, 'MPreviewImage_W'    ) and isinstance(self.MPreviewImage_W     , int)

    @property
    def hasMPreviewImage_H     (self) -> bool:
        return hasattr(self, 'MPreviewImage_H'    ) and isinstance(self.MPreviewImage_H     , int)

    @property
    def hasSlideAreaImage_W    (self) -> bool:
        return hasattr(self, 'SlideAreaImage_W'   ) and isinstance(self.SlideAreaImage_W    , int)

    @property
    def hasSlideAreaImage_H    (self) -> bool:
        return hasattr(self, 'SlideAreaImage_H'   ) and isinstance(self.SlideAreaImage_H    , int)

    @property
    def hasImageList_W         (self) -> bool:
        return hasattr(self, 'ImageList_W'        ) and isinstance(self.ImageList_W         , int)

    @property
    def hasImageList_H         (self) -> bool:
        return hasattr(self, 'ImageList_H'        ) and isinstance(self.ImageList_H         , int)

    @property
    def hasDrawImage_W         (self) -> bool:
        return hasattr(self, 'DrawImage_W'        ) and isinstance(self.DrawImage_W         , int)

    @property
    def hasDrawImage_H         (self) -> bool:
        return hasattr(self, 'DrawImage_H'        ) and isinstance(self.DrawImage_H         , int)

    @property
    def hasCaseImage_W         (self) -> bool:
        return hasattr(self, 'CaseImage_W'        ) and isinstance(self.CaseImage_W         , int)

    @property
    def hasCaseImage_H         (self) -> bool:
        return hasattr(self, 'CaseImage_H'        ) and isinstance(self.CaseImage_H         , int)