BitMiracle.Tiff2Pdf.T2P.write_pdf_xobject_cs C# (CSharp) Method

write_pdf_xobject_cs() private method

private write_pdf_xobject_cs ( ) : int
return int
        private int write_pdf_xobject_cs()
        {
            if ((m_pdf_colorspace & t2p_cs_t.T2P_CS_ICCBASED) != 0)
                return write_pdf_xobject_icccs();

            int written = 0;
            string buffer = null;

            if ((m_pdf_colorspace & t2p_cs_t.T2P_CS_PALETTE) != 0)
            {
                written += writeToFile("[ /Indexed ");
                m_pdf_colorspace = (t2p_cs_t)(m_pdf_colorspace ^ t2p_cs_t.T2P_CS_PALETTE);
                written += write_pdf_xobject_cs();
                m_pdf_colorspace = (t2p_cs_t)(m_pdf_colorspace | t2p_cs_t.T2P_CS_PALETTE);
                buffer = string.Format(CultureInfo.InvariantCulture, "{0}", (0x0001 << m_tiff_bitspersample) - 1);
                written += writeToFile(buffer);
                written += writeToFile(" ");
                buffer = string.Format(CultureInfo.InvariantCulture, "{0}", m_pdf_palettecs);
                written += writeToFile(buffer);
                written += writeToFile(" 0 R ]\n");
                return written;
            }

            if ((m_pdf_colorspace & t2p_cs_t.T2P_CS_BILEVEL) != 0)
                written += writeToFile("/DeviceGray \n");

            if ((m_pdf_colorspace & t2p_cs_t.T2P_CS_GRAY) != 0)
            {
                if ((m_pdf_colorspace & t2p_cs_t.T2P_CS_CALGRAY) != 0)
                    written += write_pdf_xobject_calcs();
                else
                    written += writeToFile("/DeviceGray \n");
            }

            if ((m_pdf_colorspace & t2p_cs_t.T2P_CS_RGB) != 0)
            {
                if ((m_pdf_colorspace & t2p_cs_t.T2P_CS_CALRGB) != 0)
                    written += write_pdf_xobject_calcs();
                else
                    written += writeToFile("/DeviceRGB \n");
            }

            if ((m_pdf_colorspace & t2p_cs_t.T2P_CS_CMYK) != 0)
                written += writeToFile("/DeviceCMYK \n");

            if ((m_pdf_colorspace & t2p_cs_t.T2P_CS_LAB) != 0)
            {
                written += writeToFile("[/Lab << \n");
                written += writeToFile("/WhitePoint ");

                float X_W = m_tiff_whitechromaticities[0];
                float Y_W = m_tiff_whitechromaticities[1];
                float Z_W = 1.0F - (X_W + Y_W);
                X_W /= Y_W;
                Z_W /= Y_W;
                Y_W = 1.0F;
                buffer = string.Format(CultureInfo.InvariantCulture,
                    "[{0:F4} {1:F4} {2:F4}] \n", X_W, Y_W, Z_W);
                written += writeToFile(buffer);

                written += writeToFile("/BlackPoint ");
                X_W = 0.3457F; /* 0.3127F; */ /* D50, commented D65 */
                Y_W = 0.3585F; /* 0.3290F; */
                Z_W = 1.0F - (X_W + Y_W);
                X_W /= Y_W;
                Z_W /= Y_W;
                Y_W = 1.0F;
                buffer = string.Format(CultureInfo.InvariantCulture,
                    "[{0:F4} {1:F4} {2:F4}] \n", X_W, Y_W, Z_W);
                written += writeToFile(buffer);
                written += writeToFile("/Range ");
                buffer = string.Format(CultureInfo.InvariantCulture,
                    "[{0} {1} {2} {3}] \n", m_pdf_labrange[0], m_pdf_labrange[1], m_pdf_labrange[2], m_pdf_labrange[3]);
                written += writeToFile(buffer);
                written += writeToFile(">>] \n");
            }

            return written;
        }