/// <inheritdoc/> public override void Blit(Surface2D dst, Point2 position, SurfaceFlipDirection direction) { Contract.EnsureNotDisposed(this, Disposed); Contract.Require(dst, nameof(dst)); Ultraviolet.ValidateResource(dst); BlitInternal(this, (SDL2Surface2D)dst, position, direction); }
/// <inheritdoc/> public override void Flip(SurfaceFlipDirection direction) { switch (direction) { case SurfaceFlipDirection.Horizontal: FlipHAndProcessAlpha(premultiply: false, keycolor: null); break; case SurfaceFlipDirection.Vertical: FlipVAndProcessAlpha(premultiply: false, keycolor: null); break; case SurfaceFlipDirection.None: return; } }
/// <inheritdoc/> public override void FlipAndProcessAlpha(SurfaceFlipDirection direction, Boolean premultiply, Color?keycolor) { switch (direction) { case SurfaceFlipDirection.Horizontal: FlipHAndProcessAlpha(premultiply: premultiply, keycolor: keycolor); break; case SurfaceFlipDirection.Vertical: FlipVAndProcessAlpha(premultiply: premultiply, keycolor: keycolor); break; case SurfaceFlipDirection.None: ProcessAlpha(premultiply, keycolor); return; } }
/// <inheritdoc/> public override void FlipAndProcessAlpha(SurfaceFlipDirection direction, Boolean premultiply, Color?keycolor) { Contract.EnsureNotDisposed(this, Disposed); nativesurf.FlipAndProcessAlpha(direction, premultiply, keycolor); }
/// <inheritdoc/> public override void Flip(SurfaceFlipDirection direction) { Contract.EnsureNotDisposed(this, Disposed); nativesurf.Flip(direction); }
/// <summary> /// Blits the surface onto the specified destination surface at the given location relative /// to the destination's top-left corner, optionally flipping this surface in the process. /// </summary> /// <param name="dst">The destination surface.</param> /// <param name="position">The position at which to blit the surface.</param> /// <param name="direction">The direction in which to flip the surface.</param> public abstract void Blit(Surface2D dst, Point2 position, SurfaceFlipDirection direction);
/// <summary> /// Flips the surface in the specified direction and processes its alpha, optionally premultiplying it /// and performing color keying. If the surface is already premultiplied, it will not be premultiplied again. /// </summary> /// <param name="direction">A <see cref="SurfaceFlipDirection"/> value which specifies the /// direction in which to flip the surface.</param> /// <param name="premultiply">A value indicating whether to premultiply the surface's alpha.</param> /// <param name="keycolor">A key color to substitute with a transparent color.</param> public abstract void FlipAndProcessAlpha(SurfaceFlipDirection direction, Boolean premultiply, Color?keycolor = null);
/// <summary> /// Flips the surface in the specified direction. /// </summary> /// <param name="direction">A <see cref="SurfaceFlipDirection"/> value which specifies the /// direction in which to flip the surface.</param> public abstract void Flip(SurfaceFlipDirection direction);