/// <summary> /// Fills the given geometry. /// </summary> public void FillGeometry(Geometry2DResourceBase geometry, BrushResource brush) { if (m_renderTarget == null) { return; } geometry.EnsureNotNullOrDisposed(nameof(geometry)); brush.EnsureNotNull(nameof(brush)); m_renderTarget.FillGeometry( geometry.GetGeometry(), brush.GetBrush(m_device)); }
/// <summary> /// Fills the given rectangle with the given brush object. /// </summary> /// <param name="rectangle">The rectangle to be filled.</param> /// <param name="brush">The brush to be used.</param> public void FillRectangle(RectangleF rectangle, BrushResource brush) { if (m_renderTarget == null) { return; } rectangle.EnsureNotEmpty(nameof(rectangle)); brush.EnsureNotNull(nameof(brush)); m_renderTarget.FillRectangle( rectangle.ToDXRectangle(), brush.GetBrush(m_device)); }
/// <summary> /// Draws the given line with the given brush. /// </summary> public void DrawLine(Vector2 start, Vector2 end, BrushResource brush, float strokeWidth = 1f) { if (m_renderTarget == null) { return; } brush.EnsureNotNull(nameof(brush)); strokeWidth.EnsurePositiveAndNotZero(nameof(strokeWidth)); m_renderTarget.DrawLine( start.ToDXVector(), end.ToDXVector(), brush.GetBrush(m_device), strokeWidth); }
/// <summary> /// Draws the given rectangle with the given brush. /// </summary> public void DrawRectangle(RectangleF rectangle, BrushResource brush, float strokeWidth = 1f) { if (m_renderTarget == null) { return; } brush.EnsureNotNull(nameof(brush)); rectangle.EnsureNotEmpty(nameof(rectangle)); strokeWidth.EnsurePositive(nameof(strokeWidth)); m_renderTarget.DrawRectangle( rectangle.ToDXRectangle(), brush.GetBrush(m_device), strokeWidth); }
/// <summary> /// Draws the given geometry. /// </summary> public void DrawGeometry(Geometry2DResourceBase geometry, BrushResource brush, float strokeWidth = 1f) { if (m_renderTarget == null) { return; } geometry.EnsureNotNullOrDisposed(nameof(geometry)); brush.EnsureNotNull(nameof(brush)); strokeWidth.EnsurePositive(nameof(strokeWidth)); m_renderTarget.DrawGeometry( geometry.GetGeometry(), brush.GetBrush(m_device), strokeWidth); }
/// <summary> /// Draws the given text on the screen. /// </summary> /// <param name="textToDraw">The text to draw.</param> /// <param name="textFormat">The TextFormat to be used.</param> /// <param name="targetRectangle">The target rectangle.</param> /// <param name="brush">The brush.</param> /// <param name="drawOptions">Some draw options to be passed to Direct2D.</param> /// <param name="measuringMode">Sets the measuring mode to be passed to Direct2D.</param> public void DrawText( string textToDraw, TextFormatResource textFormat, RectangleF targetRectangle, BrushResource brush, DrawTextOptions drawOptions = DrawTextOptions.None, MeasuringMode measuringMode = MeasuringMode.Natural) { if (m_renderTarget == null) { return; } textToDraw.EnsureNotNull(nameof(textToDraw)); targetRectangle.EnsureNotEmpty(nameof(targetRectangle)); brush.EnsureNotNull(nameof(brush)); D2D.DrawTextOptions drawOptionsD2D = (D2D.DrawTextOptions)drawOptions; D2D.MeasuringMode measuringModeD2D = (D2D.MeasuringMode)measuringMode; m_renderTarget.DrawText( textToDraw, textFormat.GetTextFormat(m_device), targetRectangle.ToDXRectangle(), brush.GetBrush(m_device), drawOptionsD2D); }
/// <summary> /// Fills the given rectangle with the given brush object. /// </summary> /// <param name="radiusX">The x radius of the rectangle's corners.</param> /// <param name="radiusY">The y radius of the rectangle's corners.</param> /// <param name="rectangle">The rectangle to be filled.</param> /// <param name="brush">The brush to be used.</param> public void FillRoundedRectangle(RectangleF rectangle, float radiusX, float radiusY, BrushResource brush) { if (m_renderTarget == null) { return; } rectangle.EnsureNotEmpty(nameof(rectangle)); brush.EnsureNotNull(nameof(brush)); radiusX.EnsurePositive(nameof(radiusX)); radiusY.EnsurePositive(nameof(radiusY)); D2D.RoundedRectangle roundedRect = new D2D.RoundedRectangle(); roundedRect.Rect = rectangle.ToDXRectangle(); roundedRect.RadiusX = radiusX; roundedRect.RadiusY = radiusY; m_renderTarget.FillRoundedRectangle( roundedRect, brush.GetBrush(m_device)); }
/// <summary> /// Draws a point at the given location. /// </summary> public void DrawPoint(Vector2 point, BrushResource brush) { this.DrawLine( point, new Vector2(point.X + 1f, point.Y), brush); }