示例#1
0
        private void RenderVMLLine(RPLLine line, RPLItemMeasurement measurement, StyleContext styleContext)
        {
            if (!hasSlantedLines)
            {
                html5Renderer.WriteStream("<?XML:NAMESPACE PREFIX=v /><?IMPORT NAMESPACE=\"v\" IMPLEMENTATION=\"#default#VML\" />");
                hasSlantedLines = true;
            }
            html5Renderer.WriteStream(HTMLElements.m_openVGroup);
            html5Renderer.WriteStream(HTMLElements.m_openStyle);
            html5Renderer.WriteStream(HTMLElements.m_styleWidth);
            if (styleContext.InTablix)
            {
                html5Renderer.WriteStream(HTMLElements.m_percent);
                html5Renderer.WriteStream(HTMLElements.m_semiColon);
                html5Renderer.WriteStream(HTMLElements.m_styleHeight);
                html5Renderer.WriteStream(HTMLElements.m_percent);
            }
            else
            {
                html5Renderer.WriteRSStream(measurement.Width);
                html5Renderer.WriteStream(HTMLElements.m_semiColon);
                html5Renderer.WriteStream(HTMLElements.m_styleHeight);
                html5Renderer.WriteRSStream(measurement.Height);
            }
            html5Renderer.WriteStream(HTMLElements.m_closeQuote);
            html5Renderer.WriteStream(HTMLElements.m_openVLine);
            if (((RPLLinePropsDef)line.ElementProps.Definition).Slant)
            {
                html5Renderer.WriteStream(HTMLElements.m_rightSlant);
            }
            else
            {
                html5Renderer.WriteStream(HTMLElements.m_leftSlant);
            }
            IRPLStyle style = line.ElementProps.Style;
            string    text  = (string)style[0];
            string    text2 = (string)style[10];

            if (text != null && text2 != null)
            {
                int value = new RPLReportColor(text).ToColor().ToArgb() & 0xFFFFFF;
                html5Renderer.WriteStream(HTMLElements.m_strokeColor);
                html5Renderer.WriteStream("#");
                html5Renderer.WriteStream(Convert.ToString(value, 16));
                html5Renderer.WriteStream(HTMLElements.m_quote);
                html5Renderer.WriteStream(HTMLElements.m_strokeWeight);
                html5Renderer.WriteStream(text2);
                html5Renderer.WriteStream(HTMLElements.m_closeQuote);
            }
            string theString = "solid";
            string text3     = null;
            object obj       = style[5];

            if (obj != null)
            {
                string value2 = EnumStrings.GetValue((RPLFormat.BorderStyles)obj);
                if (string.CompareOrdinal(value2, "dashed") == 0)
                {
                    theString = "dash";
                }
                else if (string.CompareOrdinal(value2, "dotted") == 0)
                {
                    theString = "dot";
                }
                if (string.CompareOrdinal(value2, "double") == 0)
                {
                    text3 = "thinthin";
                }
            }
            html5Renderer.WriteStream(HTMLElements.m_dashStyle);
            html5Renderer.WriteStream(theString);
            if (text3 != null)
            {
                html5Renderer.WriteStream(HTMLElements.m_quote);
                html5Renderer.WriteStream(HTMLElements.m_slineStyle);
                html5Renderer.WriteStream(text3);
            }
            html5Renderer.WriteStream(HTMLElements.m_quote);
            html5Renderer.WriteStream(HTMLElements.m_closeTag);
            html5Renderer.WriteStreamCR(HTMLElements.m_closeVGroup);
        }