Foxit PDF SDK

Public Types | Public Member Functions | Properties | List of all members
foxit.common.GraphState Class Reference

Inherits SystemIDisposable.

## Public Types
enum | LineCapStyle { LineCapStyle.e_LineCapButt = 0, LineCapStyle.e_LineCapRound = 1, LineCapStyle.e_LineCapSquare = 2 }
| Enumeration for line cap style. More...
enum | LineJoinStyle { LineJoinStyle.e_LineJoinMiter = 0, LineJoinStyle.e_LineJoinRound = 1, LineJoinStyle.e_LineJoinBevel = 2 }
| Enumeration for line join style. More...

## Public Member Functions
| GraphState (float line_width, GraphState.LineJoinStyle line_join, float miter_limit, GraphState.LineCapStyle line_cap, float dash_phase, FloatArray dashes)
| Constructor, with parameters. More...
| GraphState ()
| Constructor.
| GraphState (GraphState state)
| Constructor, with another graph state object. More...
void | Set (float line_width, GraphState.LineJoinStyle line_join, float miter_limit, GraphState.LineCapStyle line_cap, float dash_phase, FloatArray dashes)
| Set value. More...

## Properties
float | dash_phase`[get, set]`
| Dash phase for dash pattern.
FloatArray? | dashes`[get, set]`
| A dash array that represents the dash patterns. Value of each element in this array should not be negative.
GraphState.LineCapStyle | line_cap`[get, set]`
| Line cap style. More...
GraphState.LineJoinStyle | line_join`[get, set]`
| Line join style. More...
float | line_width`[get, set]`
| Line width. More...
float | miter_limit`[get, set]`
| The miter limit for line join. More...

## Detailed Description

This class represents PDF graph states.

## Member Enumeration Documentation

## ◆ LineCapStyle

enum foxit.common.GraphState.LineCapStyle
| strong

Enumeration for line cap style.

Values of this enumeration should be used alone. The line cap style specifies the shape to be used at the ends of open sub paths (and dashes, if any) when they are stroked.

Enumerator
e_LineCapButt | Butt cap. The stroke is squared off at the endpoint of a path. There is no projection beyond the end of a path.
e_LineCapRound | Round cap. A semicircular arc with a diameter equal to the line width is drawn around the endpoint and filled in.
e_LineCapSquare | Projecting square cap. The stroke continues beyond the endpoint of the path for a distance equal to half the line width and is squared off.

## ◆ LineJoinStyle

enum foxit.common.GraphState.LineJoinStyle
| strong

Enumeration for line join style.

Values of this enumeration should be used alone. The line join style specifies the shape to be used at the corners of paths that are stroked.

Enumerator
e_LineJoinMiter | Miter line join type. The outer edges of the strokes for the two segments are extended until they meet at an angle.
e_LineJoinRound | Round line join type. An arc of a circle with a diameter equal to the line width is drawn around the point where the two segments meet, connecting the outer edges of the strokes for the two segments.
e_LineJoinBevel | Bevel line join type. The two segments are finished with butt caps and the resulting notch beyond the end of the segments is filled with a triangle.

## Constructor & Destructor Documentation

## ◆ GraphState() [1/2]

foxit.common.GraphState.GraphState | ( | float | line_width,
|  | GraphState.LineJoinStyle | line_join,
|  | float | miter_limit,
|  | GraphState.LineCapStyle | line_cap,
|  | float | dash_phase,
|  | FloatArray | dashes
| ) |  |
| inline

Constructor, with parameters.

Parameters

  [in] | line_width | Line width. If 0 is set to this, it will be treated as 1 by default.
  [in] | line_join | Line join style. Please refer to values starting from foxit.common.GraphState.LineJoinStyle.e_LineJoinMiter and this should be one of these values.
  [in] | miter_limit | The miter limit for line join.
  [in] | line_cap | Line cap style. Please refer to values starting from foxit.common.GraphState.LineCapStyle.e_LineCapButt and this should be one of these values.
  [in] | dash_phase | Dash phase for line dash pattern.
  [in] | dashes | A dash array that represents the dash patterns. The value of each element in this array should not be negative.

## ◆ GraphState() [2/2]

foxit.common.GraphState.GraphState | ( | GraphState | state | ) |
| inline

Constructor, with another graph state object.

Parameters

  [in] | state | Another graph state object.

## Member Function Documentation

## ◆ Set()

void foxit.common.GraphState.Set | ( | float | line_width,
|  | GraphState.LineJoinStyle | line_join,
|  | float | miter_limit,
|  | GraphState.LineCapStyle | line_cap,
|  | float | dash_phase,
|  | FloatArray | dashes
| ) |  |
| inline

Set value.

Parameters

  [in] | line_width | Line width. If 0 is set to this, it will be treated as 1 by default.
  [in] | line_join | Line join style. Please refer to values starting from foxit.common.GraphState.LineJoinStyle.e_LineJoinMiter and this should be one of these values.
  [in] | miter_limit | The miter limit for line join.
  [in] | line_cap | Line cap style. Please refer to values starting from foxit.common.GraphState.LineCapStyle.e_LineCapButt and this should be one of these values.
  [in] | dash_phase | Dash phase for line dash pattern.
  [in] | dashes | A dash array that represents the dash patterns. The value of each element in this array should not be negative.

Returns
  None.

## Property Documentation

## ◆ line_cap

GraphState.LineCapStyle foxit.common.GraphState.line_cap
| get set

Line cap style.

The line cap style specifies the shape to be used at the ends of open sub-paths (and dashes, if any) when they are stroked. Please refer to values starting from foxit.common.GraphState.LineCapStyle.e_LineCapButt and this should be one of these values.

## ◆ line_join

GraphState.LineJoinStyle foxit.common.GraphState.line_join
| get set

Line join style.

The line join style specifies the shape to be used at the corners of paths that are stroked. Please refer to values starting from foxit.common.GraphState.LineJoinStyle.e_LineJoinMiter and this should be one of these values.

## ◆ line_width

float foxit.common.GraphState.line_width
| get set

Line width.

It should be a non-negative number in PDF coordinate system. If 0 is set to this, it will be treated as 1 by default.

## ◆ miter_limit

float foxit.common.GraphState.miter_limit
| get set

The miter limit for line join.

When two line segments meet at a sharp angle and mitered joins have been specified as the line join style, it is possible for the miter to extend far beyond the thickness of the line stroking the path. The miter limit imposes a maximum on the ratio of the miter length to the line width. When the limit is exceeded, the join is converted from a miter to a bevel.
Please refer to <PDF Reference 1.7> P217 "Miter Limit" for more details.