public void Draw( Texture2D texture, Rectangle destRectangle, Rectangle? sourceRectangle = null, Color? multiplyColor = null, Color addColor = default(Color), float rotation = 0, float originX = 0, float originY = 0, bool mirrorX = false, bool mirrorY = false, float sortKey = 0, int? layer = null, bool? worldSpace = null, BlendState blendState = null, SamplerState samplerState = null ) { var drawCall = new BitmapDrawCall(texture, new Vector2(destRectangle.X, destRectangle.Y)); if (sourceRectangle.HasValue) { var sr = sourceRectangle.Value; drawCall.TextureRegion = texture.BoundsFromRectangle(ref sr); drawCall.Scale = new Vector2(destRectangle.Width / (float)sr.Width, destRectangle.Height / (float)sr.Height); } else { drawCall.Scale = new Vector2(destRectangle.Width / (float)texture.Width, destRectangle.Height / (float)texture.Height); } drawCall.MultiplyColor = multiplyColor.GetValueOrDefault(Color.White); drawCall.AddColor = addColor; drawCall.Rotation = rotation; drawCall.Origin = new Vector2(originX, originY); if (mirrorX || mirrorY) drawCall.Mirror(mirrorX, mirrorY); drawCall.SortKey = sortKey; Draw(ref drawCall, layer: layer, worldSpace: worldSpace, blendState: blendState, samplerState: samplerState); }
public void Draw( Texture2D texture, Vector2 position, Rectangle? sourceRectangle = null, Color? multiplyColor = null, Color addColor = default(Color), float rotation = 0, Vector2? scale = null, Vector2 origin = default(Vector2), bool mirrorX = false, bool mirrorY = false, float sortKey = 0, int? layer = null, bool? worldSpace = null, BlendState blendState = null, SamplerState samplerState = null ) { var drawCall = new BitmapDrawCall(texture, position); if (sourceRectangle.HasValue) drawCall.TextureRegion = texture.BoundsFromRectangle(sourceRectangle.Value); drawCall.MultiplyColor = multiplyColor.GetValueOrDefault(Color.White); drawCall.AddColor = addColor; drawCall.Rotation = rotation; drawCall.Scale = scale.GetValueOrDefault(Vector2.One); drawCall.Origin = origin; if (mirrorX || mirrorY) drawCall.Mirror(mirrorX, mirrorY); drawCall.SortKey = sortKey; Draw(ref drawCall, layer: layer, worldSpace: worldSpace, blendState: blendState, samplerState: samplerState); }