protected override void InitDialogFromToken(EffectConfigToken effectTokenCopy) { ConfigToken token = effectTokenCopy as ConfigToken; GridWidth = token.width; GridHeight = token.height; }
public void Start() { Abort(); aborted = false; if (effectToken != null) { try { effectTokenCopy = (EffectConfigToken)effectToken.Clone(); } catch (Exception ex) { exceptions.Add(ex); effectTokenCopy = null; } } threadShouldStop = false; OnStartingRendering(); thread = new Thread(new ThreadStart(ThreadFunction)); thread.Name = "BackgroundEffectRenderer"; threadInitialized = new ManualResetEvent(false); thread.Start(); threadInitialized.WaitOne(); threadInitialized.Close(); threadInitialized = null; }
public override void Render(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs, Rectangle[] rois, int startIndex, int length) { if (needReRender == false || length == 0) { return; } needReRender = false; PdnRegion selection = EnvironmentParameters.GetSelectionAsPdnRegion(); using (Surface tmp = new Surface(srcArgs.Size)) { tmp.CopySurface(srcArgs.Surface); Effect effect = null; EffectConfigToken token = null; int count = this.effects.Count; for (int i = 0; i < count; i++) { effect = this.effects[i]; token = this.dialogs[i]?.EffectToken; effect.SetRenderInfo(token, dstArgs, new RenderArgs(tmp)); effect.Render(token, dstArgs, new RenderArgs(tmp), selection); tmp.CopySurface(dstArgs.Surface); } dstArgs.Surface.CopySurface(tmp); } }
public RendererContext(BackgroundEffectRenderer ber, EffectConfigToken token, int threadNumber, int startOffset) { BackRenderer = ber; Token = token; ThreadNumber = threadNumber; StartOffset = startOffset; }
public override void Render(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs, Rectangle[] rois, int startIndex, int length) { if (this._bitmap == null) { return; } Rectangle bounds = srcArgs.Bounds; foreach (Rectangle rect in rois) { for (int y = rect.Top; y < rect.Bottom; y++) { int by = y - bounds.Top; if (by < 0 || by >= this._bitmap.Height) { continue; } for (int x = rect.Left; x < rect.Right; x++) { int bx = x - bounds.Left; if (bx < 0 || bx >= this._bitmap.Width) { continue; } dstArgs.Surface[x, y] = this._bitmap[x, y]; } } } }
protected override void InitDialogFromToken(EffectConfigToken effectToken) { SuspendTokenUpdates(); ConfigToken token = (ConfigToken)effectToken; gradientControl.Gradient = token.Gradient; foreach (string s in Enum.GetNames(typeof(Channel))) { if (token.InputChannel.ToString() == s) { modeComboBox.SelectedItem = resourcemanager.GetString(s); } } chkWrapOffset.Checked = token.Wrap; chkLockAlpha.Checked = token.LockAlpha; udOffset.Value = token.Offset; //first set the gradient if (presetDropdown == null) { OnLoad(EventArgs.Empty); } //set the preset name. if there's a preset, it will load it if (!token.Preset.IsNullOrEmpty()) { presetDropdown.SetPresetByName(token.Preset); } ResumeTokenUpdates(); }
protected override void OnSetRenderInfo(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs) { EffectPluginConfigToken token = (EffectPluginConfigToken)parameters; Corners = token.Corners; sCorners = token.sCorners; AlphaTrans = token.AlphaTrans; AaAmount = token.AaLevel; Perspective = token.Perspective; Uvalue = (double)token.UValue / 100; Vvalue = (double)token.VValue / 100; if (src2 == null || src2.Size != sCorners.Size) { src2?.Dispose(); src2 = new Surface(sCorners.Size); src2.CopySurface(srcArgs.Surface, sCorners); } A = new PointD(Corners[0].X, Corners[0].Y); B = new PointD(Corners[1].X, Corners[1].Y); C = new PointD(Corners[2].X, Corners[2].Y); D = new PointD(Corners[3].X, Corners[3].Y); Antialias = (AaAmount > 1) && AlphaTrans; if (Antialias) { SetupForSubpixels(AaAmount, AaAmount); } base.OnSetRenderInfo(parameters, dstArgs, srcArgs); }
/// <summary> /// Gets the render information. /// </summary> /// <param name="parameters"> /// Saved settings used to restore the GUI to the same settings it was /// saved with last time the effect was applied. /// </param> /// <param name="dstArgs">The destination canvas.</param> /// <param name="srcArgs">The source canvas.</param> protected override void OnSetRenderInfo( EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs) { base.OnSetRenderInfo(parameters, dstArgs, srcArgs); }
protected override void InitDialogFromToken(EffectConfigToken effectToken) { BarcodeConfigToken token = (BarcodeConfigToken)effectToken; textBoxText.Text = token.TextToEncode; comboEncoding.SelectedIndex = token.EncodingType; }
public ConfigToken ToToken(Dictionary <string, Type> effects, IServiceProvider services, Surface effectSourceSurface) { ConfigToken token = new ConfigToken(); for (int i = 0; i < Effects.Count; i++) { EffectConfigToken stepToken = null; Type type; if (effects.TryGetValue(Effects[i], out type)) { Effect effect = (Effect)(type.GetConstructor(Type.EmptyTypes).Invoke(new object[0])); effect.Services = services; effect.EnvironmentParameters = new EffectEnvironmentParameters(allcolors[i].First, allcolors[i].Second, 2, new PdnRegion(effectSourceSurface.Bounds), effectSourceSurface); if (effect.Options.Flags.HasFlag(EffectFlags.Configurable)) { try { EffectConfigDialog dialog = effect.CreateConfigDialog(); stepToken = dialog.EffectToken; if (effect is PropertyBasedEffect) { PropertyBasedEffectConfigToken pbect = stepToken as PropertyBasedEffectConfigToken; IEnumerator <Property> enumerator = pbect.Properties.Properties.GetEnumerator(); for (int ii = 0; ii < Properties[i].Length; ii++) { try { enumerator.MoveNext(); enumerator.Current.ReadOnly = false; if (enumerator.Current.Value is FontFamily) { enumerator.Current.Value = new FontFamily((string)Properties[i][ii]); } else { enumerator.Current.Value = Properties[i][ii]; } } catch (ReadOnlyException) { } } } else { Type t = stepToken.GetType(); SetObjectPropertiesAndFields(stepToken, Properties[i], Fields[i], effects, services, effectSourceSurface); } } catch (Exception) { } } token.effects.Add(new ScriptStep(effect.Name, effect.Image, type, stepToken, Colors[i].First, Colors[i].Second)); } else { token.effects.Add(new ScriptStep(Effects[i], null, null, null, Colors[i].First, Colors[i].Second)); } } return(token); }
public EffectBenchmark(string name, int iterations, Effect effect, EffectConfigToken token, Surface image) : base(name + " (" + iterations + "x)") { this.effect = effect; this.token = token; this.image = image; this.iterations = iterations; }
protected override void OnSetRenderInfo(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs) { base.OnSetRenderInfo(parameters, dstArgs, srcArgs); PdnRegion rgn = EnvironmentParameters.GetSelection(EnvironmentParameters.SourceSurface.Bounds); bounds = rgn.GetBoundsInt(); }
/// <summary> /// Gets the render information. /// </summary> /// <param name="parameters"> /// Saved settings used to restore the GUI to the same settings it was /// saved with last time the effect was applied. /// </param> /// <param name="dstArgs">The destination canvas.</param> /// <param name="srcArgs">The source canvas.</param> protected override void OnSetRenderInfo( EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs) { //Copies the render information to the base Effect class. base.OnSetRenderInfo(parameters, dstArgs, srcArgs); }
protected override void InitDialogFromToken(EffectConfigToken effectToken) { ConfigToken token = (ConfigToken)effectToken; theEffectToken = token; lbScript.Items.Clear(); lbScript.Items.AddRange(token.effects.ConvertAll(step => step.Name).ToArray()); }
protected override void OnSetRenderInfo(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs) { IVolt_QuickSizerConfigToken token = (IVolt_QuickSizerConfigToken)parameters; this.amount1 = token.Amount1; base.OnSetRenderInfo(parameters, dstArgs, srcArgs); }
protected override void InitDialogFromToken(EffectConfigToken effectTokenCopy) { this.types = new List <int>(); this.effects = new List <Effect>(); this.dialogs = new List <EffectConfigDialog>(); this.collections = new List <PropertyCollection>(); FinishTokenUpdate(); }
protected override void InitDialogFromToken(EffectConfigToken effectToken) { SuppressEvents = true; DistortionConfigPanel.InitControlFromToken((DistortionEffectConfigToken)EffectToken); SuppressEvents = false; }
protected override void InitDialogFromToken(EffectConfigToken effectTokenCopy) { BarcodeConfigToken token = (BarcodeConfigToken)effectTokenCopy; textBoxText.Text = token.TextToEncode; comboEncoding.SelectedIndex = token.EncodingType; checkBoxBW.Checked = token.ColorsBW; }
protected unsafe override void OnSetRenderInfo(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs) { if (((ConfigToken)parameters).surface != null) { dstArgs.Surface.CopySurface(((ConfigToken)parameters).surface, EnvironmentParameters.GetSelection(srcArgs.Bounds)); } base.OnSetRenderInfo(parameters, dstArgs, srcArgs); }
public void InitControlFromToken(EffectConfigToken effectToken) { DistortionEffectConfigToken token = (DistortionEffectConfigToken)effectToken; ValueX = token.ValueX; ValueY = token.ValueY; ValueR = token.ValueR; UpdatePanControls(); }
public override void Render(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs, Rectangle[] rois, int startIndex, int length) { GmicConfigToken token = (GmicConfigToken)parameters; if (token.Surface != null) { dstArgs.Surface.CopySurface(token.Surface, rois, startIndex, length); } }
/// <summary> /// Sets up the GUI to reflect the previously-used settings; i.e. this /// loads the settings. Called twice by a quirk of Paint.NET. /// </summary> protected override void InitDialogFromToken(EffectConfigToken effectToken) { //Copies GUI values from the settings. PersistentSettings token = (PersistentSettings)effectToken; storedImg = token.StoredImg; chkbxInvertArea.Checked = token.DoInvertArea; chkbxInvertPicture.Checked = token.DoInvertPicture; }
public ScriptStep(string name, Image icon, Type type, EffectConfigToken token, ColorBgra primary, ColorBgra secondary) { Name = name; Icon = icon; EffectType = type; Token = token; PrimaryColor = primary; SecondaryColor = secondary; }
/// <summary> /// /// </summary> /// <param name="effectTokenCopy"></param> protected override void InitDialogFromToken(EffectConfigToken effectTokenCopy) { MaskConfigToken maskConfigToken = effectTokenCopy as MaskConfigToken; _updating = true; this.SetMask(maskConfigToken.Mask); _updating = false; base.InitDialogFromToken(effectTokenCopy); }
public override void Render(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs, Rectangle[] rois, int startIndex, int length) { if (mesh != null) { for (int i = startIndex; i < startIndex + length; ++i) { mesh.Render(dstArgs.Surface, srcArgs.Surface, rois[i]); } } }
/// <summary> /// Sets up the GUI to reflect the previously-used settings; i.e. this /// loads the settings. Called twice by a quirk of Paint.NET. /// </summary> protected override void InitDialogFromToken(EffectConfigToken effectToken) { //Copies GUI values from the settings. PersistentSettings token = (PersistentSettings)effectToken; bmpToReplace = token.BmpToReplace; bmpReplacing = token.BmpReplacing; sliderTolerance.Value = token.Tolerance; lblTolerance.Text = "Tolerance: " + sliderTolerance.Value; }
protected override void OnSetRenderInfo(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs) { PDNPresetsConfigToken token = (PDNPresetsConfigToken)parameters; this.effects = token.effects; this.dialogs = token.dialogs; base.OnSetRenderInfo(parameters, dstArgs, srcArgs); needReRender = true; }
public override void Render(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs, Rectangle[] rois, int startIndex, int length) { if (filterparsed) { ffparse.Render(enviromentDataHandle, rois, startIndex, length, dstArgs.Surface); } else { dstArgs.Surface.CopySurface(srcArgs.Surface, rois, startIndex, length); } }
protected override void OnSetRenderInfo(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs) { if (dialog != null && dialog.DialogResult == System.Windows.Forms.DialogResult.None) { changed = true; dstArgs.Surface.CopySurface(srcArgs.Surface); dialog.ClearProgressBars(); } base.OnSetRenderInfo(parameters, dstArgs, srcArgs); }
public override void Render(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs, Rectangle[] rois, int startIndex, int length) { if (length == 0) { return; } for (int i = startIndex; i < startIndex + length; ++i) { Render(dstArgs.Surface, srcArgs.Surface, rois[i]); } }