# ExtendedGraphicState Class

> The extended graphic state, to supplement original graphic state.

- Product: Adobe PDF Library 21
- Language: Modern C++
- Version: 21.4.0
- HTML page: https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/ExtendedGraphicState
- Version index: https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/llms.txt

```cpp
class ExtendedGraphicState
```

**Namespace:** `datalogics_interface`

## Description

The extended graphic state, to supplement original graphic state.

The Graphics State is an internal data structure in a PDF file that holds the parameters that describe graphics within that file. These parameters define how individual graphics are presented on the page, including layers and transparencies.

The Extended Graphic State was introduced to expand the original Graphics State data structure, providing space to define and store more data objects within a PDF.

**Uses types:** [`BlendMode`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/enum/BlendMode.md), [`OverprintMode`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/enum/OverprintMode.md)

## Constructors

### ExtendedGraphicState

```cpp
datalogics_interface::ExtendedGraphicState::ExtendedGraphicState()
```

*constructor*

Create a new default ExtendedGraphicState for the document in which this ExtendedGraphicState will be used.

### ExtendedGraphicState

```cpp
datalogics_interface::ExtendedGraphicState::ExtendedGraphicState(ExtendedGraphicState &&) noexcept
```

*constructor*

**Parameters**

- (unnamed) ([`ExtendedGraphicState &&`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/ExtendedGraphicState.md))

### ~ExtendedGraphicState

```cpp
datalogics_interface::ExtendedGraphicState::~ExtendedGraphicState()
```

*destructor*

## Methods

### get_alpha_is_shape

```cpp
bool datalogics_interface::ExtendedGraphicState::get_alpha_is_shape() const
```

**Returns:** `bool`

alphaIsShape - if set true, interpret sources of alpha as shape, else interpret as opacity mask.

Returns if the alpha is to be interpreted as a shape or opacity mask.

### get_apply_auto_stroke

```cpp
bool datalogics_interface::ExtendedGraphicState::get_apply_auto_stroke() const
```

**Returns:** `bool`

true if stroke adjustment is enabled.

Returns whether stroke adjustment is enabled in the graphics state.

### get_apply_overprint_for_other_than_stroking

```cpp
bool datalogics_interface::ExtendedGraphicState::get_apply_overprint_for_other_than_stroking() const
```

**Returns:** `bool`

true if overprint is enabled for non-stroke operations.

Returns whether overprint is enabled for operations other than stroking.

### get_apply_overprint_for_stroking

```cpp
bool datalogics_interface::ExtendedGraphicState::get_apply_overprint_for_stroking() const
```

**Returns:** `bool`

true if overprint is enabled for stroke operations.

Returns whether overprint is enabled for stroke operations.

### get_blend_mode

```cpp
BlendMode datalogics_interface::ExtendedGraphicState::get_blend_mode() const
```

**Returns:** [`BlendMode`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/enum/BlendMode.md)

blendMode - the blend mode used in object painting.

Returns the blend mode for the color composite for each object painted.

### get_opacity_for_other_than_stroking

```cpp
double datalogics_interface::ExtendedGraphicState::get_opacity_for_other_than_stroking() const
```

**Returns:** `double`

opacity, a value between 0.0 and 1.0.

Gets the opacity value for other-than-stroke operations.

### get_opacity_for_stroking

```cpp
double datalogics_interface::ExtendedGraphicState::get_opacity_for_stroking() const
```

**Returns:** `double`

opacity, a value between 0.0 and 1.0.

Gets the opacity value for stroke operations.

### get_overprint_mode

```cpp
OverprintMode datalogics_interface::ExtendedGraphicState::get_overprint_mode() const
```

**Returns:** [`OverprintMode`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/enum/OverprintMode.md)

The overprint mode setting.

Returns the overprint mode setting.

Specifies whether a color component value of 0 in a DeviceCMYK color space should erase that component or leave it unchanged when overprinting.

### get_smoothness_tolerance

```cpp
double datalogics_interface::ExtendedGraphicState::get_smoothness_tolerance() const
```

**Returns:** `double`

tolerance, a value between 0.0 and 1.0.

Gets the smoothness tolerance, the quality of smooth shading.

### get_text_knockout

```cpp
bool datalogics_interface::ExtendedGraphicState::get_text_knockout() const
```

**Returns:** `bool`

enabled - if true, text knockout is enabled.

Returns whether text knockout is enabled in the graphics state.

### operator=

```cpp
ExtendedGraphicState & datalogics_interface::ExtendedGraphicState::operator=(ExtendedGraphicState &&) noexcept
```

**Parameters**

- (unnamed) ([`ExtendedGraphicState &&`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/ExtendedGraphicState.md))

**Returns:** [`ExtendedGraphicState &`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/ExtendedGraphicState.md)

### set_alpha_is_shape

```cpp
void datalogics_interface::ExtendedGraphicState::set_alpha_is_shape(bool alpha_is_shape)
```

**Parameters**

- `alpha_is_shape` (`bool`): - if set true, interpret sources of alpha as shape, else interpret as opacity mask.

**Returns:** `void`

Specifies if the alpha is to be interpreted as a shape or opacity mask.

### set_apply_auto_stroke

```cpp
void datalogics_interface::ExtendedGraphicState::set_apply_auto_stroke(bool apply)
```

**Parameters**

- `apply` (`bool`): Whether stroke adjustment is enabled.

**Returns:** `void`

Specifies whether stroke adjustment is enabled in the graphics state.

### set_apply_overprint_for_other_than_stroking

```cpp
void datalogics_interface::ExtendedGraphicState::set_apply_overprint_for_other_than_stroking(bool apply)
```

**Parameters**

- `apply` (`bool`): Whether to enable overprint for non-stroke operations.

**Returns:** `void`

Specifies if overprint is enabled for operations other than stroking.

### set_apply_overprint_for_stroking

```cpp
void datalogics_interface::ExtendedGraphicState::set_apply_overprint_for_stroking(bool apply)
```

**Parameters**

- `apply` (`bool`): Whether to enable overprint for stroke operations.

**Returns:** `void`

Specifies if overprint is enabled for stroke operations.

### set_blend_mode

```cpp
void datalogics_interface::ExtendedGraphicState::set_blend_mode(BlendMode mode)
```

**Parameters**

- `mode` ([`BlendMode`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/enum/BlendMode.md)): - the blend mode used in object painting.

**Returns:** `void`

Sets the blend mode for the color composites for each object painted.

### set_opacity_for_other_than_stroking

```cpp
void datalogics_interface::ExtendedGraphicState::set_opacity_for_other_than_stroking(double opacity)
```

**Parameters**

- `opacity` (`double`): - the opacity level, from 0.0 to 1.0, inclusive.

**Returns:** `void`

Sets the opacity value for other-than-stroke operations.

### set_opacity_for_stroking

```cpp
void datalogics_interface::ExtendedGraphicState::set_opacity_for_stroking(double opacity)
```

**Parameters**

- `opacity` (`double`): - the opacity level, from 0.0 to 1.0, inclusive.

**Returns:** `void`

Sets the opacity value for stroke operations.

### set_overprint_mode

```cpp
void datalogics_interface::ExtendedGraphicState::set_overprint_mode(OverprintMode mode)
```

**Parameters**

- `mode` ([`OverprintMode`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/enum/OverprintMode.md)): The mode setting.

**Returns:** `void`

The overprint mode setting.

Specifies whether a color component value of 0 in a DeviceCMYK color space should erase that component or leave it unchanged when overprinting.

### set_smoothness_tolerance

```cpp
void datalogics_interface::ExtendedGraphicState::set_smoothness_tolerance(double tolerance)
```

**Parameters**

- `tolerance` (`double`): - the smoothness tolerance, from 0.0 to 1.0, inclusive.

**Returns:** `void`

Sets the smoothness tolerance, the quality of smooth shading.

### set_text_knockout

```cpp
void datalogics_interface::ExtendedGraphicState::set_text_knockout(bool enabled)
```

**Parameters**

- `enabled` (`bool`): - if set true, text knockout will be enabled.

**Returns:** `void`

Specifies whether text knockout is enabled in the graphics state.
