public void Write(BinaryReaderWriter bw, int iCodepage) { bw.Write(Options); XBitmapDay.WriteAsPoi(bw); if (WithNightXpm) { XBitmapNight.WriteAsPoi(bw); } if (WithString) { Text.Write(bw, iCodepage); } if (WithExtendedOptions) { 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; } } }
/// <summary> /// liefert das Bitmap (falls vorhanden) /// </summary> /// <param name="b4Day">für Tag oder Nacht</param> /// <param name="bExt">auch "bitmaplose" Polygone als Bitmap 32 x 32</param> /// <returns></returns> public override Bitmap AsBitmap(bool b4Day, bool bExt) { if (b4Day) { if (XBitmapDay != null) { return(XBitmapDay.AsBitmap()); } else { return(GetDummyXPixMap(BitmapColorMode.POLY1TR, true, null).AsBitmap()); }; } else { if (XBitmapNight != null) { return(XBitmapNight.AsBitmap()); } else { return(GetDummyXPixMap(BitmapColorMode.POLY1TR, false, null).AsBitmap()); }; } }
/// <summary> /// vertauscht (wenn möglich) die Farben bzw. die Transparenz /// </summary> /// <param name="b4Day"></param> public void SwapColors(bool b4Day) { Color tmp; if (b4Day) { switch (Colortype) { case Polygone.ColorType.Day1: case Polygone.ColorType.Day1_Night1: break; case Polygone.ColorType.BM_Day1: case Polygone.ColorType.BM_Day1_Night2: case Polygone.ColorType.BM_Day1_Night1: XBitmapDay.InvertBits(); break; case Polygone.ColorType.BM_Day2_Night1: case Polygone.ColorType.BM_Day2: case Polygone.ColorType.BM_Day2_Night2: tmp = DayColor1; DayColor1 = DayColor2; DayColor2 = tmp; break; } } else { switch (Colortype) { case Polygone.ColorType.Day1: case Polygone.ColorType.BM_Day1: case Polygone.ColorType.BM_Day2: case Polygone.ColorType.Day1_Night1: break; case Polygone.ColorType.BM_Day1_Night1: case Polygone.ColorType.BM_Day2_Night1: XBitmapNight.InvertBits(); break; case Polygone.ColorType.BM_Day1_Night2: case Polygone.ColorType.BM_Day2_Night2: tmp = DayColor1; DayColor1 = DayColor2; DayColor2 = tmp; break; } } }