示例#1
0
        public void OnDeserialization(object sender)
        {
            if (this.properties.opacity != -1)
            {
                this.PushSuppressPropertyChanged();
                base.Opacity            = (byte)this.properties.opacity;
                this.properties.opacity = -1;
                this.PopSuppressPropertyChanged();
            }

            this.compiledBlendOp = null;
        }
示例#2
0
        private void CompileBlendOp()
        {
            bool isDefaultOp = (properties.blendOp.GetType() == UserBlendOps.GetDefaultBlendOp());

            if (this.Opacity == 255)
            {
                this.compiledBlendOp = properties.blendOp;
            }
            else
            {
                this.compiledBlendOp = properties.blendOp.CreateWithOpacity(this.Opacity);
            }
        }
示例#3
0
        public void SetBlendOp(UserBlendOp blendOp)
        {
            if (disposed)
            {
                throw new ObjectDisposedException("BitmapLayer");
            }

            if (blendOp.GetType() != properties.blendOp.GetType())
            {
                OnPropertyChanging(BitmapLayerProperties.BlendOpName);
                properties.blendOp = blendOp;
                compiledBlendOp    = null;
                Invalidate();
                OnPropertyChanged(BitmapLayerProperties.BlendOpName);
            }
        }
示例#4
0
        public override void LoadProperties(object oldState, bool suppressEvents)
        {
            if (disposed)
            {
                throw new ObjectDisposedException("BitmapLayer");
            }

            List list = (List)oldState;

            // Get the base class' state, and our state
            LayerProperties       baseState = (LayerProperties)list.Tail.Head;
            BitmapLayerProperties blp       = (BitmapLayerProperties)(((List)oldState).Head);

            // Opacity is only couriered for compatibility with PDN v2.0 and v1.1
            // files. It should not be present in v2.1+ files (well, it'll be
            // part of the base class' serialization)
            if (blp.opacity != -1)
            {
                baseState.opacity = (byte)blp.opacity;
                blp.opacity       = -1;
            }

            // Have the base class load its properties
            base.LoadProperties(baseState, suppressEvents);

            // Now load our properties, and announce them to the world
            bool raiseBlendOp = false;

            if (blp.blendOp.GetType() != properties.blendOp.GetType())
            {
                if (!suppressEvents)
                {
                    raiseBlendOp = true;
                    OnPropertyChanging(BitmapLayerProperties.BlendOpName);
                }
            }

            this.properties      = (BitmapLayerProperties)blp.Clone();
            this.compiledBlendOp = null;

            Invalidate();

            if (raiseBlendOp)
            {
                OnPropertyChanged(BitmapLayerProperties.BlendOpName);
            }
        }
示例#5
0
 protected override void OnPropertyChanged(string propertyName)
 {
     compiledBlendOp = null;
     base.OnPropertyChanged(propertyName);
 }
示例#6
0
 public Swap(BinaryPixelOp swapMyArgs)
 {
     this.swapMyArgs = swapMyArgs;
 }
示例#7
0
 public LinearClamped(bool alphaOnly, BinaryPixelOp normalBlendOp)
     : base(alphaOnly, normalBlendOp)
 {
 }
示例#8
0
 protected internal LinearStraight(bool alphaOnly, BinaryPixelOp normalBlendOp)
     : base(alphaOnly, normalBlendOp)
 {
 }
示例#9
0
 public Conical(bool alphaOnly, BinaryPixelOp normalBlendOp)
     : base(alphaOnly, normalBlendOp)
 {
 }
示例#10
0
 public LinearDiamond(bool alphaOnly, BinaryPixelOp normalBlendOp)
     : base(alphaOnly, normalBlendOp)
 {
 }
示例#11
0
 protected internal GradientRenderer(bool alphaOnly, BinaryPixelOp normalBlendOp)
 {
     this.normalBlendOp = normalBlendOp;
     this.alphaOnly     = alphaOnly;
 }