public void Evaluate(int SpreadMax)
		{
			if (FFirstRun)
			{
				FPinOutOutput[0] = FOutput;
				FFirstRun = false;
			}

			if (FPinInProperties.IsChanged)
			{
				FPayload = FPinInProperties[0];
				if (FPayload==null)
				{
					FStatus[0] = "Needs properties";
					FImage.Initialise(new Size(1,1), TColourFormat.L8);
					return;
				}

				FImage.Initialise(FPayload.FrameAttributes);
				FNeedsUpdate = true;
			}

			if (FNeedsUpdate || FPinInFrame.IsChanged)
			{
				Update();
				FNeedsUpdate = false;
			}
		}
        public void Evaluate(int SpreadMax)
        {
            if (FFirstRun)
            {
                FPinOutOutput[0] = FOutput;
                FFirstRun        = false;
            }

            if (FPinInProperties.IsChanged)
            {
                FPayload = FPinInProperties[0];
                if (FPayload == null)
                {
                    FStatus[0] = "Needs properties";
                    FImage.Initialise(new Size(1, 1), TColourFormat.L8);
                    return;
                }

                FImage.Initialise(FPayload.FrameAttributes);
                FNeedsUpdate = true;
            }

            if (FNeedsUpdate || FPinInFrame.IsChanged)
            {
                Update();
                FNeedsUpdate = false;
            }
        }
Example #3
0
        public void Evaluate(int SpreadMax)
        {
            if (FFirstRun)
            {
                FPinOutOutput[0] = FScanSet;
                FFirstRun        = false;
            }

            if (FPinInProperties.IsChanged)
            {
                FPayload = FPinInProperties[0];
                FScanSet.Clear();

                if (FPayload != null)
                {
                    FScanSet.Payload = FPayload;
                }
            }

            if (FPinInInput[0] != FInput)
            {
                FInput = FPinInInput[0];
                if (FInput != null)
                {
                    AddListeners();
                    FInput.ImageAttributesUpdate += new EventHandler <ImageAttributesChangedEventArgs>(FInput_ImageAttributesUpdate);
                    FInput.ImageUpdate           += new EventHandler(FInput_ImageUpdate);

                    if (FInput.Allocated)
                    {
                        Allocate();
                    }
                }
            }

            if (FPinInApply[0])
            {
                Apply();
            }

            if (FPinInReset[0])
            {
                FScanSet.Clear();
            }
        }
		public void Evaluate(int SpreadMax)
		{
			if (FFirstRun)
			{
				FPinOutOutput[0] = FScanSet;
				FFirstRun = false;
			}

			if (FPinInProperties.IsChanged)
			{
				FPayload = FPinInProperties[0];
				FScanSet.Clear();

				if (FPayload != null)
				{
					FScanSet.Payload = FPayload;
				}
			}

			if (FPinInInput[0] != FInput)
			{
				FInput = FPinInInput[0];
				if (FInput != null)
				{
					AddListeners();
					FInput.ImageAttributesUpdate += new EventHandler<ImageAttributesChangedEventArgs>(FInput_ImageAttributesUpdate);
					FInput.ImageUpdate += new EventHandler(FInput_ImageUpdate);

					if (FInput.Allocated)
						Allocate();
				}
			}

			if (FPinInApply[0])
				Apply();

			if (FPinInReset[0])
				FScanSet.Clear();
		}