コード例 #1
0
ファイル: LCDColorText.cpp プロジェクト: sa3er/mpc-hc
CLCDColorText::CLCDColorText(void)
{
    m_nTextLength = 0;
    m_hFont = NULL;
    m_sText.erase(m_sText.begin(), m_sText.end());
    SetForegroundColor(RGB(255, 0, 255));
    m_bRecalcExtent = TRUE;
    SecureZeroMemory(&m_dtp, sizeof(DRAWTEXTPARAMS));
    m_dtp.cbSize = sizeof(DRAWTEXTPARAMS);
    m_nTextFormat = m_nTextAlignment = (DT_LEFT | DT_NOPREFIX);
    m_nTextAlignment = DT_LEFT;
    SecureZeroMemory(&m_sizeVExtent, sizeof(m_sizeVExtent));
    SecureZeroMemory(&m_sizeHExtent, sizeof(m_sizeHExtent));

    SetBackgroundMode(TRANSPARENT, RGB(255,255,255));

    //Default font
    LOGFONT lf;
    lf.lfCharSet = 0;
    lf.lfClipPrecision = 2;
    lf.lfEscapement = 0;
    lf.lfHeight = -32;
    lf.lfItalic = 0;
    lf.lfOrientation = 0;
    lf.lfOutPrecision = 3;
    lf.lfPitchAndFamily = 18;
    lf.lfQuality = 1;
    lf.lfStrikeOut = 0;
    lf.lfUnderline = 0;
    lf.lfWeight = 400;
    lf.lfWidth = 0;

    wsprintf(lf.lfFaceName, _T("Times New Roman") );

    m_hFont = CreateFontIndirect(&lf);

    m_StartX = 0;
    m_LoopX = 0;
    m_ScrollRate = 0;
    m_PixelLength = 0;
    m_RunningTime = 0;
    m_ScrollBuffer = 20;
    m_JumpDistance = 0;

    m_bAutoScroll = true;
}
コード例 #2
0
void
AnnotationAttributes::SetFromNode(DataNode *parentNode)
{
    if(parentNode == 0)
        return;

    DataNode *searchNode = parentNode->GetNode("AnnotationAttributes");
    if(searchNode == 0)
        return;

    DataNode *node;
    if((node = searchNode->GetNode("axes2D")) != 0)
        axes2D.SetFromNode(node);
    if((node = searchNode->GetNode("axes3D")) != 0)
        axes3D.SetFromNode(node);
    if((node = searchNode->GetNode("userInfoFlag")) != 0)
        SetUserInfoFlag(node->AsBool());
    if((node = searchNode->GetNode("userInfoFont")) != 0)
        userInfoFont.SetFromNode(node);
    if((node = searchNode->GetNode("databaseInfoFlag")) != 0)
        SetDatabaseInfoFlag(node->AsBool());
    if((node = searchNode->GetNode("timeInfoFlag")) != 0)
        SetTimeInfoFlag(node->AsBool());
    if((node = searchNode->GetNode("databaseInfoFont")) != 0)
        databaseInfoFont.SetFromNode(node);
    if((node = searchNode->GetNode("databaseInfoExpansionMode")) != 0)
    {
        // Allow enums to be int or string in the config file
        if(node->GetNodeType() == INT_NODE)
        {
            int ival = node->AsInt();
            if(ival >= 0 && ival < 5)
                SetDatabaseInfoExpansionMode(PathExpansionMode(ival));
        }
        else if(node->GetNodeType() == STRING_NODE)
        {
            PathExpansionMode value;
            if(PathExpansionMode_FromString(node->AsString(), value))
                SetDatabaseInfoExpansionMode(value);
        }
    }
    if((node = searchNode->GetNode("databaseInfoTimeScale")) != 0)
        SetDatabaseInfoTimeScale(node->AsDouble());
    if((node = searchNode->GetNode("databaseInfoTimeOffset")) != 0)
        SetDatabaseInfoTimeOffset(node->AsDouble());
    if((node = searchNode->GetNode("legendInfoFlag")) != 0)
        SetLegendInfoFlag(node->AsBool());
    if((node = searchNode->GetNode("backgroundColor")) != 0)
        backgroundColor.SetFromNode(node);
    if((node = searchNode->GetNode("foregroundColor")) != 0)
        foregroundColor.SetFromNode(node);
    if((node = searchNode->GetNode("gradientBackgroundStyle")) != 0)
    {
        // Allow enums to be int or string in the config file
        if(node->GetNodeType() == INT_NODE)
        {
            int ival = node->AsInt();
            if(ival >= 0 && ival < 5)
                SetGradientBackgroundStyle(GradientStyle(ival));
        }
        else if(node->GetNodeType() == STRING_NODE)
        {
            GradientStyle value;
            if(GradientStyle_FromString(node->AsString(), value))
                SetGradientBackgroundStyle(value);
        }
    }
    if((node = searchNode->GetNode("gradientColor1")) != 0)
        gradientColor1.SetFromNode(node);
    if((node = searchNode->GetNode("gradientColor2")) != 0)
        gradientColor2.SetFromNode(node);
    if((node = searchNode->GetNode("backgroundMode")) != 0)
    {
        // Allow enums to be int or string in the config file
        if(node->GetNodeType() == INT_NODE)
        {
            int ival = node->AsInt();
            if(ival >= 0 && ival < 4)
                SetBackgroundMode(BackgroundMode(ival));
        }
        else if(node->GetNodeType() == STRING_NODE)
        {
            BackgroundMode value;
            if(BackgroundMode_FromString(node->AsString(), value))
                SetBackgroundMode(value);
        }
    }
    if((node = searchNode->GetNode("backgroundImage")) != 0)
        SetBackgroundImage(node->AsString());
    if((node = searchNode->GetNode("imageRepeatX")) != 0)
        SetImageRepeatX(node->AsInt());
    if((node = searchNode->GetNode("imageRepeatY")) != 0)
        SetImageRepeatY(node->AsInt());
    if((node = searchNode->GetNode("axesArray")) != 0)
        axesArray.SetFromNode(node);
}