---
title: "Class BaseRectangleItemHandler | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/BaseRectangleItemHandler/"
---

# Class BaseRectangleItemHandler

> **Inheritance:** `System.Object` -> [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md) -> BaseRectangleItemHandler

###### **Namespace**: [Aurigma.DesignAtoms.Canvas.ItemHandlers](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers.md)

###### **Assembly**: Aurigma.DesignAtoms.dll

```csharp title="Syntax"
public abstract class BaseRectangleItemHandler : ItemHandler, ICloneable, IDisposable
```

## Implements

* `System.ICloneable`
* `System.IDisposable`

## Inherited Members

* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler._stateResourcesRepository](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#_stateresourcesrepository)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler._configuration](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#_configuration)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler._logger](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#_logger)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler._colorManagement](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#_colormanagement)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler._gmColorConverter](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#_gmcolorconverter)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.GetItemHandlerData()](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#getitemhandlerdata)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.GetItemHandlerDataType()](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#getitemhandlerdatatype)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Draw(Aurigma.DesignAtoms.Canvas.RenderingContext, Aurigma.GraphicsMill.Bitmap, Aurigma.DesignAtoms.ColorManagement.IRenderingColorSettings, Aurigma.DesignAtoms.ColorManagement.IColorProfilesProvider, System.Boolean, System.Boolean, System.Boolean)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#draw)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Draw(Aurigma.DesignAtoms.Canvas.RenderingContext, Aurigma.GraphicsMill.Bitmap, Aurigma.DesignAtoms.Canvas.ItemHandlers.DrawItemParams, Aurigma.DesignAtoms.ColorManagement.IRenderingColorSettings, Aurigma.DesignAtoms.ColorManagement.IColorProfilesProvider, System.Boolean, System.Boolean, System.Boolean)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#draw)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.ItemOnPropertyChanged(System.Object, System.ComponentModel.PropertyChangedEventArgs)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#itemonpropertychanged)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.ItemOnPermissionsChanged(System.Object, System.EventArgs)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#itemonpermissionschanged)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Clone()](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#clone)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.BeginUpdate()](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#beginupdate)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.EndUpdate()](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#endupdate)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Dispose()](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#dispose)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.OnTransformChanged(System.Object, System.EventArgs)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#ontransformchanged)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.OnChanged()](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#onchanged)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.GetDestinationColor(Aurigma.GraphicsMill.Color, Aurigma.DesignAtoms.ColorManagement.IColorProfilesProvider, Aurigma.DesignAtoms.ColorManagement.IRenderingColorSettings, System.Nullable&lt;Aurigma.DesignAtoms.Model.Color.PixelFormat&gt;, System.Single, System.Boolean, System.Boolean)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#getdestinationcolor)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Dispose(System.Boolean)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#dispose)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Item](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#item)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.IsEmpty](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#isempty)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.ControlPoints](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#controlpoints)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.UniqueId](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#uniqueid)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Transform](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#transform)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Tag](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#tag)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Layer](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#layer)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.IsUpdating](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#isupdating)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Index](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#index)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Canvas](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#canvas)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Name](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#name)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.BlendMode](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#blendmode)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Permissions](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#permissions)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Data](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#data)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Visible](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#visible)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Locked](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#locked)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.SourceColorProfilesOrDefault](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#sourcecolorprofilesordefault)
* [Aurigma.DesignAtoms.Canvas.ItemHandlers.ItemHandler.Changed](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/ItemHandler.md#changed)
* `System.Object.ToString`
* `System.Object.Equals(System.Object)`
* `System.Object.Equals(System.Object,System.Object)`
* `System.Object.ReferenceEquals(System.Object,System.Object)`
* `System.Object.GetHashCode`
* `System.Object.GetType`
* `System.Object.MemberwiseClone`

## Constructors

### BaseRectangleItemHandler

```csharp
protected BaseRectangleItemHandler(IConfiguration configuration, IStateResourcesRepository stateResourcesRepository, IColorManagement colorManagement, IGmColorConverter gmColorConverter, float left, float top, float width, float height, Item item)
```

### BaseRectangleItemHandler

```csharp
protected BaseRectangleItemHandler(IConfiguration configuration, IStateResourcesRepository stateResourcesRepository, IColorManagement colorManagement, IGmColorConverter gmColorConverter, RectangleF rectangle, Item item)
```

### BaseRectangleItemHandler

```csharp
protected BaseRectangleItemHandler(IConfiguration configuration, IStateResourcesRepository stateResourcesRepository, IColorManagement colorManagement, IGmColorConverter gmColorConverter, Item item)
```

## Properties

### Rectangle

```csharp
public virtual RotatedRectangleF Rectangle { get; set; }
```

### Angle

```csharp
public double Angle { get; set; }
```

### Height

```csharp
public float Height { get; set; }
```

### Width

```csharp
public float Width { get; set; }
```

### Location

```csharp
public PointF Location { get; set; }
```

### Opacity

```csharp
public float Opacity { get; set; }
```

### Bounds

```csharp
public override RectangleF Bounds { get; }
```

### TextWrappingMode

```csharp
public TextWrappingMode TextWrappingMode { get; set; }
```

## Methods

### GetTransform

```csharp
protected Transform GetTransform(RectangleF source, RotatedRectangleF target)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Drawing.RectangleF` | *source* |  |
| [Aurigma.DesignAtoms.Model.Math.RotatedRectangleF](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Math/RotatedRectangleF.md) | *target* |  |

##### Returns

[Aurigma.DesignAtoms.Model.Math.Transform](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Math/Transform.md)

### DrawClippingPath

```csharp
protected virtual void DrawClippingPath(Graphics graphics, Action drawCallback)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `Aurigma.GraphicsMill.AdvancedDrawing.Graphics` | *graphics* |  |
| `System.Action` | *drawCallback* |  |

### GetClippingPath

```csharp
protected virtual Path GetClippingPath(float dpi = 72F, bool rotate = true)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Single` | *dpi* |  |
| `System.Boolean` | *rotate* |  |

##### Returns

`Aurigma.GraphicsMill.AdvancedDrawing.Path`

### GetTransformedVectorMask

```csharp
protected Path GetTransformedVectorMask(Transform transform, PointF controlCenter, bool rotate)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Math.Transform](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Math/Transform.md) | *transform* |  |
| [Aurigma.DesignAtoms.Model.Math.PointF](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Math/PointF.md) | *controlCenter* |  |
| `System.Boolean` | *rotate* |  |

##### Returns

[Aurigma.DesignAtoms.Model.Math.Path](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Math/Path.md)

### GetPath

```csharp
protected virtual Path GetPath()
```

##### Returns

`Aurigma.GraphicsMill.AdvancedDrawing.Path`

### GetDrawingPath

```csharp
protected virtual Path GetDrawingPath(float dpi = 72F)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Single` | *dpi* |  |

##### Returns

`Aurigma.GraphicsMill.AdvancedDrawing.Path`

### GetActualDash

```csharp
protected float[] GetActualDash(float[] dash, bool fixedBorderWidth, float dpi = 72F)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Single[]` | *dash* |  |
| `System.Boolean` | *fixedBorderWidth* |  |
| `System.Single` | *dpi* |  |

##### Returns

`System.Single[]`

## Fields

### MinDimension

```csharp
protected static readonly float MinDimension
```
