/// <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);
        }
Example #2
0
        /// <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;
            }
        }
Example #3
0
        /// <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);
        }
Example #6
0
 /// <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);
Example #7
0
 /// <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);
Example #8
0
 /// <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);