public BitmapLayer(int width, int height, ColorBgra fillColor) : base(width, height) { this.surface = new Surface(width, height); // clear to see-through white, 0x00ffffff this.Surface.Clear(fillColor); this.properties = new BitmapLayerProperties(UserBlendOps.CreateDefaultBlendOp()); }
/// <summary> /// Creates a new BitmapLayer of the same size as the given Surface, and either /// copies the pixels of the given Surface or takes ownership of it. /// </summary> /// <param name="surface">The Surface.</param> /// <param name="takeOwnership"> /// true to take ownership of the surface (make sure to Dispose() it yourself), or /// false to copy its pixels /// </param> public BitmapLayer(Surface surface, bool takeOwnership) : base(surface.Width, surface.Height) { if (takeOwnership) { this.surface = surface; } else { this.surface = surface.Clone(); } this.properties = new BitmapLayerProperties(UserBlendOps.CreateDefaultBlendOp()); }
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); } }
protected BitmapLayer(BitmapLayer copyMe) : base(copyMe) { this.surface = copyMe.Surface.Clone(); this.properties = (BitmapLayerProperties)copyMe.properties.Clone(); }
public BitmapLayerProperties(BitmapLayerProperties cloneMe) { this.blendOp = cloneMe.blendOp; this.opacity = -1; }