# CircleAnnotation Class

> A circle annotation is an annotation surrounded by a curved and possibly elliptical border.

- Product: Adobe PDF Library 18
- Language: .NET
- Version: APDFL18.0.5PlusP2e
- HTML page: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation
- Version index: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/llms.txt

```csharp
class CircleAnnotation : Annotation
```

**Namespace:** `Datalogics::PDFL`

**Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md)

## Description

A circle annotation is an annotation surrounded by a curved and possibly elliptical border.

The circle is inscribed within the annotation rectangle. Despite the circle name, the width and height of the annotation rectangle need not be equal. So the circle can actually be an ellipse.

**Referenced by:** [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation.md)

**Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AnnotationFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md)

## Constructors

### CircleAnnotation

```csharp
Datalogics.PDFL.CircleAnnotation.CircleAnnotation(Page page, Rect initialRect)
```

*constructor*

**Parameters**

- `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the CircleAnnotation is added.
- `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates.

Create a new CircleAnnotation at the end of a page's annotation array. To create a CircleAnnotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position.

### CircleAnnotation

```csharp
Datalogics.PDFL.CircleAnnotation.CircleAnnotation(Page page, Rect initialRect, int addAfter)
```

*constructor*

**Parameters**

- `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added.
- `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates.
- `addAfter` (`int`): Where to add the annotation in the page's annotation array.

Create a new CircleAnnotation at a specific index in the page's annotation array.

## Properties

### AnnotationFeatureLevel

```csharp
double Datalogics.PDFL.Annotation.AnnotationFeatureLevel { get; set; }
```

### BorderStyle

```csharp
string Datalogics.PDFL.CircleAnnotation.BorderStyle { get; set; }
```

### BorderStyleDashPattern

```csharp
System.Collections.Generic.IList<System.Double> Datalogics.PDFL.CircleAnnotation.BorderStyleDashPattern { get; set; }
```

### BorderStyleWidth

```csharp
double Datalogics.PDFL.CircleAnnotation.BorderStyleWidth { get; set; }
```

### Color

```csharp
Color Datalogics.PDFL.Annotation.Color { get; set; }
```

### Contents

```csharp
string Datalogics.PDFL.Annotation.Contents { get; set; }
```

### Flags

```csharp
AnnotationFlags Datalogics.PDFL.Annotation.Flags { get; set; }
```

### InteriorColor

```csharp
Color Datalogics.PDFL.Annotation.InteriorColor { get; set; }
```

### NormalAppearance

```csharp
Form Datalogics.PDFL.Annotation.NormalAppearance { get; set; }
```

### Opacity

```csharp
double Datalogics.PDFL.Annotation.Opacity { get; set; }
```

### OptionalContentMembershipDict

```csharp
OptionalContentMembershipDict Datalogics.PDFL.Annotation.OptionalContentMembershipDict { get; set; }
```

### PDFDict

```csharp
PDFDict Datalogics.PDFL.Annotation.PDFDict { get; }
```

### Rect

```csharp
Rect Datalogics.PDFL.Annotation.Rect { get; set; }
```

### Subtype

```csharp
string Datalogics.PDFL.Annotation.Subtype { get; }
```

### Title

```csharp
string Datalogics.PDFL.Annotation.Title { get; set; }
```

## Methods

### Dispose

```csharp
void Datalogics.PDFL.Annotation.Dispose()
```

**Returns:** `void`

### Equals

```csharp
override bool Datalogics.PDFL.Annotation.Equals(object obj)
```

**Parameters**

- `obj` (`object`)

**Returns:** `override bool`

### GenerateAppearance

```csharp
override Form Datalogics.PDFL.CircleAnnotation.GenerateAppearance()
```

**Returns:** `override Form`

A Form representing the visual appearance of this annotation, or null if the appearance could not be generated (e.g. due to an invalid border style).

Generate a new appearance stream for this circle annotation.

Creates an appearance based on the current annotation properties, including color, interior color, border style, and bounding rectangle. The circle (or ellipse) is inscribed within the annotation rectangle.

### HasRichTextData

```csharp
bool Datalogics.PDFL.Annotation.HasRichTextData()
```

**Returns:** `bool`

true if the annotation contains Rich Text String content.

Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page.

### IsCurrentlyVisible

```csharp
bool Datalogics.PDFL.Annotation.IsCurrentlyVisible(OptionalContentContext occ)
```

**Parameters**

- `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility.

**Returns:** `bool`

true if the annotation is currently visible.

Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy.

If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation.

This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method.

### ToString

```csharp
override string Datalogics.PDFL.Annotation.ToString()
```

**Returns:** `override string`

A string describing this annotation, including its type and rectangle.

Returns a string representation of this annotation.
