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

# Class ItemHandler

> **Inheritance:** `System.Object` -> ItemHandler

###### **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 ItemHandler : ICloneable, IDisposable
```

## Implements

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

## Inherited Members

* `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

### ItemHandler

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

## Properties

### Bounds

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

### Item

```csharp
public Item Item { get; }
```

### IsEmpty

```csharp
public virtual bool IsEmpty { get; }
```

### ControlPoints

```csharp
public virtual PointF[] ControlPoints { get; set; }
```

### UniqueId

```csharp
public string UniqueId { get; set; }
```

### Transform

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

### Tag

```csharp
public object Tag { get; set; }
```

### Layer

```csharp
public Layer Layer { get; }
```

### IsUpdating

```csharp
public bool IsUpdating { get; set; }
```

### Index

```csharp
public int Index { get; }
```

### Canvas

```csharp
public ICanvas Canvas { get; }
```

### Name

```csharp
public string Name { get; set; }
```

### BlendMode

```csharp
public BlendMode BlendMode { get; }
```

### Permissions

```csharp
public IPermission Permissions { get; }
```

### Data

```csharp
public string Data { get; set; }
```

### Visible

```csharp
public virtual bool Visible { get; set; }
```

### Locked

```csharp
public virtual bool Locked { get; set; }
```

### SourceColorProfilesOrDefault

```csharp
protected ISourceColorProfiles SourceColorProfilesOrDefault { get; }
```

## Methods

### GetItemHandlerData

```csharp
public abstract ItemHandlerData GetItemHandlerData()
```

##### Returns

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

### GetItemHandlerDataType

```csharp
public abstract string GetItemHandlerDataType()
```

##### Returns

`System.String`

### Draw

```csharp
public void Draw(RenderingContext renderingContext, Bitmap bitmap, IRenderingColorSettings colorSettings, IColorProfilesProvider profilesProvider, bool isPreview = false, bool isSingleColorTargetContainer = false, bool isPdfRenderDeviceProfileEnabled = false)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Canvas.RenderingContext](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas/RenderingContext.md) | *renderingContext* |  |
| `Aurigma.GraphicsMill.Bitmap` | *bitmap* |  |
| [Aurigma.DesignAtoms.ColorManagement.IRenderingColorSettings](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ColorManagement/IRenderingColorSettings.md) | *colorSettings* |  |
| [Aurigma.DesignAtoms.ColorManagement.IColorProfilesProvider](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ColorManagement/IColorProfilesProvider.md) | *profilesProvider* |  |
| `System.Boolean` | *isPreview* |  |
| `System.Boolean` | *isSingleColorTargetContainer* |  |
| `System.Boolean` | *isPdfRenderDeviceProfileEnabled* |  |

### Draw

```csharp
public virtual void Draw(RenderingContext renderingContext, Bitmap bitmap, DrawItemParams drawItemParams, IRenderingColorSettings colorSettings, IColorProfilesProvider profilesProvider, bool isPreview = false, bool isSingleColorTargetContainer = false, bool isPdfRenderDeviceProfileEnabled = false)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Canvas.RenderingContext](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas/RenderingContext.md) | *renderingContext* |  |
| `Aurigma.GraphicsMill.Bitmap` | *bitmap* |  |
| [Aurigma.DesignAtoms.Canvas.ItemHandlers.DrawItemParams](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Canvas.ItemHandlers/DrawItemParams.md) | *drawItemParams* |  |
| [Aurigma.DesignAtoms.ColorManagement.IRenderingColorSettings](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ColorManagement/IRenderingColorSettings.md) | *colorSettings* |  |
| [Aurigma.DesignAtoms.ColorManagement.IColorProfilesProvider](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ColorManagement/IColorProfilesProvider.md) | *profilesProvider* |  |
| `System.Boolean` | *isPreview* |  |
| `System.Boolean` | *isSingleColorTargetContainer* |  |
| `System.Boolean` | *isPdfRenderDeviceProfileEnabled* |  |

### ItemOnPropertyChanged

```csharp
protected virtual void ItemOnPropertyChanged(object sender, PropertyChangedEventArgs propertyChangedEventArgs)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Object` | *sender* |  |
| `System.ComponentModel.PropertyChangedEventArgs` | *propertyChangedEventArgs* |  |

### ItemOnPermissionsChanged

```csharp
protected virtual void ItemOnPermissionsChanged(object sender, EventArgs e)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Object` | *sender* |  |
| `System.EventArgs` | *e* |  |

### Clone

```csharp
public object Clone()
```

##### Returns

`System.Object`

### BeginUpdate

```csharp
public void BeginUpdate()
```

### EndUpdate

```csharp
public void EndUpdate()
```

### Dispose

```csharp
public void Dispose()
```

### OnTransformChanged

```csharp
protected virtual void OnTransformChanged(object sender, EventArgs e)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Object` | *sender* |  |
| `System.EventArgs` | *e* |  |

### OnChanged

```csharp
protected virtual void OnChanged()
```

### GetDestinationColor

```csharp
protected Color GetDestinationColor(Color color, IColorProfilesProvider colorProfilesProvider, IRenderingColorSettings colorSettings, PixelFormat? destinationPixelFormat, float opacity, bool renderOnPdf, bool pdfRenderKeepOriginalColors)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `Aurigma.GraphicsMill.Color` | *color* |  |
| [Aurigma.DesignAtoms.ColorManagement.IColorProfilesProvider](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ColorManagement/IColorProfilesProvider.md) | *colorProfilesProvider* |  |
| [Aurigma.DesignAtoms.ColorManagement.IRenderingColorSettings](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.ColorManagement/IRenderingColorSettings.md) | *colorSettings* |  |
| `System.Nullable<Aurigma.DesignAtoms.Model.Color.PixelFormat>` | *destinationPixelFormat* |  |
| `System.Single` | *opacity* |  |
| `System.Boolean` | *renderOnPdf* |  |
| `System.Boolean` | *pdfRenderKeepOriginalColors* |  |

##### Returns

`Aurigma.GraphicsMill.Color`

### Dispose

```csharp
protected virtual void Dispose(bool disposing)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Boolean` | *disposing* |  |

## Fields

### _stateResourcesRepository

```csharp
protected readonly IStateResourcesRepository _stateResourcesRepository
```

### _configuration

```csharp
protected readonly IConfiguration _configuration
```

### _logger

```csharp
protected readonly ILogger _logger
```

### _colorManagement

```csharp
protected readonly IColorManagement _colorManagement
```

### _gmColorConverter

```csharp
protected readonly IGmColorConverter _gmColorConverter
```

## Events

### Changed

```csharp
public event EventHandler Changed
```
