示例#1
0
        public void Write(BinaryReaderWriter bw, int iCodepage)
        {
            bw.Write(Options);
            bw.Write(Options2);
            switch (Polylinetype)
            {
            case PolylineType.Day2:
                BinaryColor.WriteColorTable(bw, colDayColor);
                break;

            case PolylineType.Day2_Night2:
                BinaryColor.WriteColorTable(bw, colDayColor);
                BinaryColor.WriteColorTable(bw, colNightColor);
                break;

            case PolylineType.Day1_Night2:
                BinaryColor.WriteColor(bw, colDayColor[0]);
                BinaryColor.WriteColorTable(bw, colNightColor);
                break;

            case PolylineType.NoBorder_Day2_Night1:
                BinaryColor.WriteColorTable(bw, colDayColor);
                BinaryColor.WriteColor(bw, colNightColor[0]);
                break;

            case PolylineType.NoBorder_Day1:
                BinaryColor.WriteColor(bw, colDayColor[0]);
                break;

            case PolylineType.NoBorder_Day1_Night1:
                BinaryColor.WriteColor(bw, colDayColor[0]);
                BinaryColor.WriteColor(bw, colNightColor[0]);
                break;
            }

            if (BitmapHeight == 0) // Linien- und Randbreite ermitteln
            {
                switch (Polylinetype)
                {
                case PolylineType.Day2:
                case PolylineType.Day2_Night2:
                case PolylineType.Day1_Night2:
                    bw.Write((byte)InnerWidth);
                    if (InnerWidth > 0)
                    {
                        bw.Write((byte)(2 * BorderWidth + InnerWidth));
                    }
                    break;

                case PolylineType.NoBorder_Day2_Night1:
                case PolylineType.NoBorder_Day1:
                case PolylineType.NoBorder_Day1_Night1:
                    bw.Write((byte)InnerWidth);
                    break;
                }
            }
            else
            {
                XBitmapDay.WriteRawdata(bw);
            }

            if (WithString)
            {
                Text.Write(bw, iCodepage);
            }

            if (WithExtendedOptions)   // es folgen weitere (max. 2) Farben
            {
                bw.Write(ExtOptions);
                switch (FontColType)
                {
                case FontColours.Day:
                    BinaryColor.WriteColor(bw, colFontColour[0]);
                    break;

                case FontColours.Night:
                    BinaryColor.WriteColor(bw, colFontColour[1]);
                    break;

                case FontColours.DayAndNight:
                    BinaryColor.WriteColorTable(bw, colFontColour);
                    break;
                }
            }
        }
示例#2
0
        public void Write(BinaryReaderWriter bw, int iCodepage)
        {
            bw.Write(Options);

            switch (Colortype)
            {
            case ColorType.Day1:
                BinaryColor.WriteColor(bw, colDayColor[0]);
                break;

            case ColorType.Day1_Night1:
                BinaryColor.WriteColor(bw, colDayColor[0]);
                BinaryColor.WriteColor(bw, colNightColor[0]);
                break;

            case ColorType.BM_Day2:
                XBitmapDay.WriteColorTable(bw);
                XBitmapDay.WriteRawdata(bw);
                break;

            case ColorType.BM_Day2_Night2:
                BinaryColor.WriteColorTable(bw, colDayColor);
                BinaryColor.WriteColorTable(bw, colNightColor);
                XBitmapDay.WriteRawdata(bw);
                break;

            case ColorType.BM_Day1_Night2:
                BinaryColor.WriteColor(bw, colDayColor[0]);
                BinaryColor.WriteColorTable(bw, colNightColor);
                XBitmapDay.WriteRawdata(bw);
                break;

            case ColorType.BM_Day2_Night1:
                BinaryColor.WriteColorTable(bw, colDayColor);
                BinaryColor.WriteColor(bw, colNightColor[0]);
                XBitmapDay.WriteRawdata(bw);
                break;

            case ColorType.BM_Day1:
                BinaryColor.WriteColor(bw, colDayColor[0]);
                XBitmapDay.WriteRawdata(bw);
                break;

            case ColorType.BM_Day1_Night1:
                BinaryColor.WriteColor(bw, colDayColor[0]);
                BinaryColor.WriteColor(bw, colNightColor[0]);
                XBitmapDay.WriteRawdata(bw);
                break;
            }
            if (WithString)
            {
                Text.Write(bw, iCodepage);
            }
            if (WithExtendedOptions)   // es folgen weitere (max. 2) Farben
            {
                bw.Write(ExtOptions);
                switch (FontColType)
                {
                case FontColours.Day:
                    BinaryColor.WriteColor(bw, colFontColour[0]);
                    break;

                case FontColours.Night:
                    BinaryColor.WriteColor(bw, colFontColour[1]);
                    break;

                case FontColours.DayAndNight:
                    BinaryColor.WriteColorTable(bw, colFontColour);
                    break;
                }
            }
        }