Esempio n. 1
0
            public object Deserialize(object o, Altaxo.Serialization.Xml.IXmlDeserializationInfo info, object parent)
            {
                BrushX s = null != o ? (BrushX)o : new BrushX(Color.Black);

                s._brushType = (BrushType)info.GetValue("Type", s);
                switch (s._brushType)
                {
                case BrushType.SolidBrush:
                    s._foreColor = (Color)info.GetValue("ForeColor", s);
                    break;

                case BrushType.HatchBrush:
                    s._foreColor  = (Color)info.GetValue("ForeColor", s);
                    s._backColor  = (Color)info.GetValue("BackColor", s);
                    s._hatchStyle = (HatchStyle)info.GetEnum("HatchStyle", typeof(HatchStyle));
                    break;

                case BrushType.LinearGradientBrush:
                    s._foreColor = (Color)info.GetValue("ForeColor", s);
                    s._backColor = (Color)info.GetValue("BackColor", s);
                    s._wrapMode  = (WrapMode)info.GetEnum("WrapMode", typeof(WrapMode));
                    LinearGradientModeEx gm = (LinearGradientModeEx)info.GetEnum("GradientMode", typeof(LinearGradientModeEx));
                    string gmname           = Enum.GetName(typeof(LinearGradientModeEx), gm);
                    if (gmname.StartsWith("Rev"))
                    {
                        s._exchangeColors = true;
                        s._gradientMode   = (LinearGradientMode)Enum.Parse(typeof(LinearGradientMode), gmname.Substring(3));
                    }
                    else
                    {
                        s._gradientMode = (LinearGradientMode)Enum.Parse(typeof(LinearGradientMode), gmname);
                    }

                    s._gradientShape = (LinearGradientShape)info.GetEnum("GradientShape", typeof(LinearGradientShape));
                    s._scale         = info.GetSingle("Scale");
                    s._focus         = info.GetSingle("Focus");
                    break;

                case BrushType.PathGradientBrush:
                    s._foreColor = (Color)info.GetValue("ForeColor", s);
                    s._backColor = (Color)info.GetValue("BackColor", s);
                    s._wrapMode  = (WrapMode)info.GetEnum("WrapMode", typeof(WrapMode));
                    break;

                case BrushType.TextureBrush:
                    s.TextureImage = (ImageProxy)info.GetValue("Texture", s);
                    s._wrapMode    = (WrapMode)info.GetEnum("WrapMode", typeof(WrapMode));
                    s._scale       = info.GetSingle("Scale");
                    break;
                }
                return(s);
            }
Esempio n. 2
0
        public static void ToLinearGradientMode(LinearGradientModeEx mode, out LinearGradientMode lgm, out bool reverse)
        {
            switch (mode)
            {
            case LinearGradientModeEx.BackwardDiagonal:
                lgm     = LinearGradientMode.BackwardDiagonal;
                reverse = false;
                break;

            case LinearGradientModeEx.ForwardDiagonal:
                lgm     = LinearGradientMode.ForwardDiagonal;
                reverse = false;
                break;

            default:
            case LinearGradientModeEx.Horizontal:
                lgm     = LinearGradientMode.Horizontal;
                reverse = false;
                break;

            case LinearGradientModeEx.Vertical:
                lgm     = LinearGradientMode.Vertical;
                reverse = false;
                break;

            case LinearGradientModeEx.RevBackwardDiagonal:
                lgm     = LinearGradientMode.BackwardDiagonal;
                reverse = true;
                break;

            case LinearGradientModeEx.RevForwardDiagonal:
                lgm     = LinearGradientMode.ForwardDiagonal;
                reverse = true;
                break;

            case LinearGradientModeEx.RevHorizontal:
                lgm     = LinearGradientMode.Horizontal;
                reverse = true;
                break;

            case LinearGradientModeEx.RevVertical:
                lgm     = LinearGradientMode.Vertical;
                reverse = true;
                break;
            }
        }
Esempio n. 3
0
    public static void ToLinearGradientMode(LinearGradientModeEx mode, out LinearGradientMode lgm, out bool reverse)
    {
      switch (mode)
      {
        case LinearGradientModeEx.BackwardDiagonal:
          lgm = LinearGradientMode.BackwardDiagonal;
          reverse = false;
          break;
        case LinearGradientModeEx.ForwardDiagonal:
          lgm = LinearGradientMode.ForwardDiagonal;
          reverse = false;
          break;
        default:
        case LinearGradientModeEx.Horizontal:
          lgm = LinearGradientMode.Horizontal;
          reverse = false;
          break;
        case LinearGradientModeEx.Vertical:
          lgm = LinearGradientMode.Vertical;
          reverse = false;
          break;

        case LinearGradientModeEx.RevBackwardDiagonal:
          lgm = LinearGradientMode.BackwardDiagonal;
          reverse = true;
          break;
        case LinearGradientModeEx.RevForwardDiagonal:
          lgm = LinearGradientMode.ForwardDiagonal;
          reverse = true;
          break;
        case LinearGradientModeEx.RevHorizontal:
          lgm = LinearGradientMode.Horizontal;
          reverse = true;
          break;
        case LinearGradientModeEx.RevVertical:
          lgm = LinearGradientMode.Vertical;
          reverse = true;
          break;
      }
    }