Пример #1
0
            public override void ApplyState()
            {
                base.ApplyState();

                updateVersion = Source.updateVersion;

                effectColour    = Source.EffectColour;
                effectBlending  = Source.DrawEffectBlending;
                effectPlacement = Source.EffectPlacement;

                drawOriginal = Source.DrawOriginal;
                blurSigma    = Source.BlurSigma;
                blurRadius   = new Vector2I(Blur.KernelSize(blurSigma.X), Blur.KernelSize(blurSigma.Y));
                blurRotation = Source.BlurRotation;

                blurShader = Source.blurShader;
            }
            public override void ApplyState()
            {
                base.ApplyState();

                screenSpaceDrawRectangle = Source.ScreenSpaceDrawQuad.AABBFloat;
                filteringMode            = Source.PixelSnapping ? All.Nearest : All.Linear;

                updateVersion    = Source.updateVersion;
                backgroundColour = Source.BackgroundColour;

                BlendingParameters localEffectBlending = Source.EffectBlending;

                if (localEffectBlending.Mode == BlendingMode.Inherit)
                {
                    localEffectBlending.Mode = Source.Blending.Mode;
                }

                if (localEffectBlending.RGBEquation == BlendingEquation.Inherit)
                {
                    localEffectBlending.RGBEquation = Source.Blending.RGBEquation;
                }

                if (localEffectBlending.AlphaEquation == BlendingEquation.Inherit)
                {
                    localEffectBlending.AlphaEquation = Source.Blending.AlphaEquation;
                }

                effectColour    = Source.EffectColour;
                effectBlending  = localEffectBlending;
                effectPlacement = Source.EffectPlacement;

                drawOriginal = Source.DrawOriginal;
                blurSigma    = Source.BlurSigma;
                blurRadius   = new Vector2I(Blur.KernelSize(blurSigma.X), Blur.KernelSize(blurSigma.Y));
                blurRotation = Source.BlurRotation;

                formats.Clear();
                formats.AddRange(Source.attachedFormats);

                blurShader = Source.blurShader;

                // BufferedContainer overrides DrawColourInfo for children, but needs to be reset to draw ourselves
                DrawColourInfo = Source.baseDrawColourInfo;
            }