⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qsdlwidget.cpp

📁 强大的QT,GTK的学习Demo.包含DSP驱动以及所使用库文件资源。
💻 CPP
📖 第 1 页 / 共 5 页
字号:
 =======================================================================================================================
 */
void QSDLWidget::OsdPosXAllSet(int number)
{
    int temp = SelectPort;
    int port;

    for(port = 0; port < GetTotalChannels(); port++)
    {
        SelectPort = port;
        OsdPosXSet(number);
    }

    SelectPort = temp;
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::OsdPosYSet(int number)
{
    dsdemoclass[SelectPort]->SetOsdPosY(short(number));
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::OsdPosYAllSet(int number)
{
    int temp = SelectPort;
    int port;

    for(port = 0; port < GetTotalChannels(); port++)
    {
        SelectPort = port;
        OsdPosYSet(number);
    }

    SelectPort = temp;
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::LogoEnabledSet(bool on)
{
    DSCLASSDEMO(SelectPort)->logo_flag = int(on);

    if(on)
        dsdemoclass[SelectPort]->SetDsLogo();
    else
        StopLogo(DSCLASSDEMO(SelectPort)->ChannelHandle);
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::LogoEnabledAllSet(bool on)
{
    int temp = SelectPort;
    int port;

    for(port = 0; port < GetTotalChannels(); port++)
    {
        if(on)
        {
            if(!(DSCLASSDEMO(port)->logo_flag))
            {
                SelectPort = port;
                LogoEnabledSet(TRUE);
            }
        }
        else
        {
            if(DSCLASSDEMO(port)->logo_flag)
            {
                SelectPort = port;
                LogoEnabledSet(FALSE);
            }
        }
    }

    SelectPort = temp;
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::LogoTranslucentSet(bool on)
{
    dsdemoclass[SelectPort]->SetLogoTranslucent(short(on));
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::LogoTranslucentAllSet(bool on)
{
    int temp = SelectPort;
    int port;

    for(port = 0; port < GetTotalChannels(); port++)
    {
        SelectPort = port;
        LogoTranslucentSet(on);
    }

    SelectPort = temp;
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::LogoPosXSet(int number)
{
    dsdemoclass[SelectPort]->SetLogoPosX(short(number));
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::LogoPosXAllSet(int number)
{
    int temp = SelectPort;
    int port;

    for(port = 0; port < GetTotalChannels(); port++)
    {
        SelectPort = port;
        LogoPosXSet(number);
    }

    SelectPort = temp;
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::LogoPosYSet(int number)
{
    dsdemoclass[SelectPort]->SetLogoPosY(short(number));
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::LogoPosYAllSet(int number)
{
    int temp = SelectPort;
    int port;

    for(port = 0; port < GetTotalChannels(); port++)
    {
        SelectPort = port;
        LogoPosYSet(number);
    }

    SelectPort = temp;
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
RECT* QSDLWidget::GetMaskinfo(int port)
{
    return(DSCLASSDEMO(port)->maskRect);
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::MaskEnableSet(bool on)
{
    if(on)
        dsdemoclass[SelectPort]->SetMask();
    else
        StopMask(DSCLASSDEMO(SelectPort)->ChannelHandle);
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::MaskEnableAllSet(bool on)
{
    int temp = SelectPort;
    int port;

    for(port = 0; port < GetTotalChannels(); port++)
    {
        SelectPort = port;
        MaskEnableSet(on);
    }

    SelectPort = temp;
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::MaskAddSet(RECT* add)
{
    int     i;
    RECT*   tempmask = DSCLASSDEMO(SelectPort)->maskRect;

    for(i = 0; i < 5; i++)
    {
        if(!(tempmask[i].RectTop || tempmask[i].RectBottom || tempmask[i].RectLeft ||
           tempmask[i].RectRight))
            break;
    }

    if(i == 5)
        return;

    memcpy(&(tempmask[i]), add, sizeof(RECT));

    if(i < 4)
        memset(&(tempmask[i + 1]), 0x0, sizeof(RECT) * (4 - i));

    dsdemoclass[SelectPort]->SetMask();
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::MaskAddAllSet(RECT* add)
{
    int temp = SelectPort;
    int port;

    for(port = 0; port < GetTotalChannels(); port++)
    {
        SelectPort = port;
        MaskAddSet(add);
    }

    SelectPort = temp;
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::MaskDelSet(int index)
{
    int     i;
    RECT*   temp;
    RECT*   tempmask = DSCLASSDEMO(SelectPort)->maskRect;

    for(i = 0; i < 5; i++)
    {
        if(!(tempmask[i].RectTop || tempmask[i].RectBottom || tempmask[i].RectLeft ||
           tempmask[i].RectRight))
            break;
    }

    if(index == (i - 1))
    {
        memset(&(tempmask[index]), 0x0, sizeof(RECT));
        dsdemoclass[SelectPort]->SetMask();
        return;
    }

    temp = (RECT*)malloc((i - 1 - index) * sizeof(RECT));
    memcpy(temp, &(tempmask[index + 1]), (i - 1 - index) * sizeof(RECT));
    memset(&(tempmask[index]), 0x0, (i - index) * sizeof(RECT));
    memcpy(&(tempmask[index]), temp, (i - 1 - index) * sizeof(RECT));
    free(temp);

    dsdemoclass[SelectPort]->SetMask();
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::MaskDelAllSet(int index)
{
    int temp = SelectPort;
    int port;

    for(port = 0; port < GetTotalChannels(); port++)
    {
        SelectPort = port;
        MaskDelSet(index);
    }

    SelectPort = temp;
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::VideoRestoreSet()
{
    video_info*     tempvideo = GetVideoDefault(SelectPort);
    memcpy(&(DSCLASSDEMO(SelectPort)->v_info), tempvideo, sizeof(video_info));
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::VideoRestoreAllSet()
{
    int temp = SelectPort;
    int port;

    for(port = 0; port < GetTotalChannels(); port++)
    {
        SelectPort = port;
        VideoRestoreSet();
    }

    SelectPort = temp;
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::CifQCifAllSet(bool on)
{
    int temp = SelectPort;
    int port;

    for(port = 0; port < GetTotalChannels(); port++)
    {
        SelectPort = port;
        CifQCifSet(on);
    }

    SelectPort = temp;
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::CifQCifSet(bool on)
{
    DSCLASSDEMO(SelectPort)->cifqcif_flag = int(on);
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::IQuantSet(int number)
{
    dsdemoclass[SelectPort]->SetFrameIQuantVal(number);
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::IQuantAllSet(int number)
{
    int temp = SelectPort;
    int port;

    for(port = 0; port < GetTotalChannels(); port++)
    {
        SelectPort = port;
        IQuantSet(number);
    }

    SelectPort = temp;
}

/*
 =======================================================================================================================
 *
 =======================================================================================================================
 */
void QSDLWidget::BQuantSet(int number)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -