void SE_StyleVisitor::VisitText(Text& text) { delete m_primitive; m_primitive = NULL; SE_Text* primitive = new SE_Text(); m_primitive = primitive; ParseStringExpression(text.GetContent(), primitive->content, L""); ParseStringExpression(text.GetFontName(), primitive->fontName, Text::sFontNameDefault); ParseDoubleExpression(text.GetHeight(), primitive->height, 4.0); ParseDoubleExpression(text.GetAngle(), primitive->angleDeg, 0.0); ParseDoubleExpression(text.GetPositionX(), primitive->position[0], 0.0); ParseDoubleExpression(text.GetPositionY(), primitive->position[1], 0.0); ParseDoubleExpression(text.GetLineSpacing(), primitive->lineSpacing, 1.05); ParseBooleanExpression(text.GetHeightScalable(), primitive->heightScalable, true); ParseBooleanExpression(text.GetBold(), primitive->bold, false); ParseBooleanExpression(text.GetItalic(), primitive->italic, false); ParseBooleanExpression(text.GetUnderlined(), primitive->underlined, false); ParseBooleanExpression(text.GetOverlined(), primitive->overlined, false); ParseDoubleExpression(text.GetObliqueAngle(), primitive->obliqueAngle, 0.0); ParseDoubleExpression(text.GetTrackSpacing(), primitive->trackSpacing, 1.0); ParseStringExpression(text.GetHorizontalAlignment(), primitive->hAlignment, Text::sHAlignmentDefault, Text::sHAlignmentValues); ParseStringExpression(text.GetVerticalAlignment(), primitive->vAlignment, Text::sVAlignmentDefault, Text::sVAlignmentValues); ParseStringExpression(text.GetJustification(), primitive->justification, Text::sJustificationDefault, Text::sJustificationValues); ParseColorExpression(text.GetTextColor(), primitive->textColor, 0xff000000); ParseColorExpression(text.GetGhostColor(), primitive->ghostColor, 0); ParseStringExpression(text.GetMarkup(), primitive->markup, Text::sMarkupDefault); ParseStringExpression(text.GetResizeControl(), primitive->resizeControl, GraphicElement::sResizeControlDefault, GraphicElement::sResizeControlValues); TextFrame* frame = text.GetFrame(); if (frame) { ParseColorExpression(frame->GetLineColor(), primitive->frameLineColor, 0); ParseColorExpression(frame->GetFillColor(), primitive->frameFillColor, 0); ParseDoubleExpression(frame->GetOffsetX(), primitive->frameOffset[0], 0.0); ParseDoubleExpression(frame->GetOffsetY(), primitive->frameOffset[1], 0.0); } primitive->cacheable = !(primitive->content.expression || primitive->fontName.expression || primitive->height.expression || primitive->angleDeg.expression || primitive->position[0].expression || primitive->position[1].expression || primitive->lineSpacing.expression || primitive->heightScalable.expression || primitive->bold.expression || primitive->italic.expression || primitive->underlined.expression || primitive->overlined.expression || primitive->obliqueAngle.expression || primitive->trackSpacing.expression || primitive->hAlignment.expression || primitive->vAlignment.expression || primitive->justification.expression || primitive->textColor.expression || primitive->ghostColor.expression || primitive->frameLineColor.expression || primitive->frameFillColor.expression || primitive->frameOffset[0].expression || primitive->frameOffset[1].expression || primitive->markup.expression || primitive->resizeControl.expression); }