示例#1
0
        public RectangleRubberband() : base()
        {
            _erasable     = true;
            _gripSize     = 8;
            _gripsVisible = false;
            _maskVisible  = false;
            _movable      = true;
            _outlineWidth = 1;
            _ratio        = 1;
            _rectangle    = System.Drawing.Rectangle.Empty;
            _resizeMode   = ResizeMode.Arbitrary;

            _postedState = RectangleRubberbandState.Empty;

            ScriptClassName = "Aurigma.GraphicsMill.RectangleRubberband";
        }
示例#2
0
        protected override bool LoadPostData(string postDataKey, System.Collections.Specialized.NameValueCollection postCollection)
        {
            bool baseLoadPostData = base.LoadPostData(postDataKey, postCollection);

            string state = postCollection[GetStateFieldId()];

            if (String.IsNullOrEmpty(state))
            {
                return(false);
            }

            var jss = new System.Web.Script.Serialization.JavaScriptSerializer();

            _postedState = jss.Deserialize <RectangleRubberbandState>(state);

            _autoPostBack            = _postedState.AutoPostBack;
            _erasable                = _postedState.Erasable;
            _gripSize                = _postedState.GripSize;
            _gripsVisible            = _postedState.GripsVisible;
            _maskVisible             = _postedState.MaskVisible;
            _maskOpacity             = _postedState.MaskOpacity;
            _maskColorRedComponent   = _postedState.MaskColorRed;
            _maskColorGreenComponent = _postedState.MaskColorGreen;
            _maskColorBlueComponent  = _postedState.MaskColorBlue;
            _movable = _postedState.Movable;
            _ratio   = _postedState.Ratio;

            if (_postedState.Rectangle.Width < 0 || _postedState.Rectangle.Height < 0)
            {
                _rectangle = Rectangle.Empty;
            }
            else
            {
                _rectangle = _postedState.Rectangle;
            }

            _resizeMode = (ResizeMode)(_postedState.ResizeMode);

            if (_postedState.RectangleChanged)
            {
                return(true);
            }

            return(baseLoadPostData);
        }