public static CResultAErreur SerializeFont(C2iSerializer serializer, ref Font ft) { CResultAErreur result = CResultAErreur.True; bool bHasFont = ft != null; serializer.TraiteBool(ref bHasFont); if (bHasFont) { if (serializer.Mode == ModeSerialisation.Lecture) { ft = new Font("Arial", 1, FontStyle.Regular); } Byte gdiCharset = ft.GdiCharSet; bool gdiVerticalFont = ft.GdiVerticalFont; int nUnit = (int)ft.Unit; string strName = ft.Name; double fSize = ft.Size; int nStyle = (int)ft.Style; serializer.TraiteByte(ref gdiCharset); serializer.TraiteBool(ref gdiVerticalFont); serializer.TraiteString(ref strName); serializer.TraiteDouble(ref fSize); serializer.TraiteInt(ref nStyle); serializer.TraiteInt(ref nUnit); if (serializer.Mode == ModeSerialisation.Lecture) { ft = new Font(strName, (float)fSize, (FontStyle)nStyle, (GraphicsUnit)nUnit, gdiCharset, gdiVerticalFont); } } return(result); }
//-------------------------------------- public CResultAErreur Serialize(C2iSerializer serializer) { int nVersion = GetNumVersion(); CResultAErreur result = serializer.TraiteVersion(ref nVersion); if (!result) { return(result); } byte nTmp = (byte)TypeDonnee; if (m_valeur == null) { nTmp = byte.MaxValue; } serializer.TraiteByte(ref nTmp); if (nTmp != byte.MaxValue) { ETypeChampBasique typeDonnee = (ETypeChampBasique)nTmp; switch (typeDonnee) { case ETypeChampBasique.String: string strVal = StringValue; serializer.TraiteString(ref strVal); StringValue = strVal; break; case ETypeChampBasique.Int: int nVal = IntValue == null ? 0 : IntValue.Value; serializer.TraiteInt(ref nVal); IntValue = nVal; break; case ETypeChampBasique.Decimal: double fVal = DoubleValue == null ? 0.0 : DoubleValue.Value; serializer.TraiteDouble(ref fVal); DoubleValue = fVal; break; case ETypeChampBasique.Date: DateTime dtValue = DateTimeValue == null ? default(DateTime) : DateTimeValue.Value; serializer.TraiteDate(ref dtValue); DateTimeValue = dtValue; break; case ETypeChampBasique.Bool: bool bVal = BoolValue == null ? default(bool) : BoolValue.Value; serializer.TraiteBool(ref bVal); BoolValue = bVal; break; } } return(result); }