Foxit PDF SDK

Public Types | Public Member Functions | List of all members
foxit::pdf::graphics::GraphicsObject Class Reference
Inheritance diagram for foxit::pdf::graphics::GraphicsObject:

## Public Types
enum | BlendMode { e_BlendNormal = 0, e_BlendMultiply = 1, e_BlendScreen = 2, e_BlendOverlay = 3, e_BlendDarken = 4, e_BlendLighten = 5, e_BlendColorDodge = 6, e_BlendColorBurn = 7, e_BlendHardlight = 8, e_BlendSoftlight = 9, e_BlendDifference = 10, e_BlendExclusion = 11, e_BlendHue = 21, e_BlendSaturation = 22, e_BlendColor = 23, e_BlendLuminosity = 24 }
| Enumeration for render blend mode. More...
enum | Type { e_TypeAll = 0, e_TypeText = 1, e_TypePath = 2, e_TypeImage = 3, e_TypeShading = 4, e_TypeFormXObject = 5, e_TypeInlines = 6, e_TypeEmptyMarkedContent = 7 }
| Enumeration for PDF graphics object type. More...

## Public Member Functions
bool | AddClipPath (const common::Path &path, common::FillMode fill_mode)
| Add a path for clipping. More...
bool | AddClipTextObject (TextObject *textobject)
| Add text object for clipping. More...
bool | ClearClips ()
| Clear all clips. More...
GraphicsObject * | Clone ()
| Clone a new graphics object. More...
GraphicsObject * | Clone (foxit::pdf::GraphicsObjects src_graphicsobjects, foxit::pdf::GraphicsObjects dest_graphicsobjects)
| Clone a new graphics object. More...
BlendMode | GetBlendMode () const
| Get the blend mode for transparent imaging model. More...
common::Path | GetClipPath (int index) const
| Get a path clip by index. More...
int | GetClipPathCount () const
| Get the count of path clip. More...
common::FillMode | GetClipPathFillMode (int index) const
| Get the fill mode of a path clip by index. More...
RectF | GetClipRect () const
| Get clip rectangle. More...
TextObject * | GetClipTextObject (int index) const
| Get the text object of a text clip by index. More...
int | GetClipTextObjectCount () const
| Get the count of text clip. More...
ColorState | GetColorState () const
| Get color state. More...
ARGB | GetFillColor () const
| Get the fill color. More...
float | GetFillOpacity () const
| Get the opacity value for painting operations other than stroking. More...
FormXObject * | GetFormXObject () const
| Get the form XObject graphics object if current graphics object represents a form XObject object. More...
common::GraphState | GetGraphState () const
| Get graph state. More...
ImageObject * | GetImageObject () const
| Get the image graphics object if current graphics object represents an image object. More...
LayerNodeArray | GetLayers (const LayerTree &layer_tree)
| Get all the layers which are associated with current graphics object. More...
MarkedContent * | GetMarkedContent () const
| Get marked content object. More...
Matrix | GetMatrix () const
| Get matrix. More...
PathObject * | GetPathObject () const
| Get the path graphics object if current graphics object represents a path object. More...
RectF | GetRect () const
| Get the rectangle of current graphics object. More...
ShadingObject * | GetShadingObject () const
| Get the shading graphics object if current graphics object represents a shading object. More...
ARGB | GetStrokeColor () const
| Get the stroke color. More...
float | GetStrokeOpacity () const
| Get opacity value for stroke painting operations for paths and glyph outlines. More...
TextObject * | GetTextObject () const
| Get the text graphics object if current graphics object represents a text object. More...
Type | GetType () const
| Get the type of current graphics object. More...
bool | HasTransparency ()
| Check whether current graphics object has transparency or not. More...
void | Release ()
| Release a cloned or newly created PDF graphics object which has not been inserted into any PDF page or other object. More...
bool | RemoveClipPath (int index)
| Remove a path clip by index. More...
bool | RemoveClipTextObject (int index)
| Remove a text clip by index for clipping. More...
void | Rotate (int angle)
| Rotate current graphics object from current state with specified angle degree in clockwise. More...
void | SetBlendMode (BlendMode blend_mode)
| Set the blend mode for transparent imaging model. More...
void | SetClipRect (const RectF &clip_rect)
| Set clip rectangle. More...
void | SetColorState (const ColorState &color_state)
| Set color state. More...
void | SetFillColor (ARGB color)
| Set the fill color. More...
void | SetFillOpacity (float opacity)
| Set the opacity value for painting operations other than stroking. More...
void | SetGraphState (const common::GraphState &graph_state)
| Set graph state. More...
void | SetMatrix (const Matrix &matrix)
| Set matrix. More...
void | SetStrokeColor (ARGB color)
| Set the stroke color. More...
void | SetStrokeOpacity (float opacity)
| Set opacity value for stroke painting operations for paths and glyph outlines. More...
bool | Transform (const Matrix &matrix, bool need_transform_clippath)
| Transform current graphics object. More...

## Detailed Description

Content of a PDF page usually consists of a sequence of graphics objects. Each graphics object contains its state information, data and instructions for rendering.
Class GraphicsObject is the base class for all types of PDF graphics objects. It offers the base functions to get/set graphics object's common properties. For concrete graphics object types, please refer to derived classes.
To get or insert/remove a graphics object, please refer to class pdf::GraphicsObjects.
If any change is done to a PDF graphics object, please remember to call function GraphicsObjects::GenerateContent for pdf::GraphicsObjects object (to which current graphics object belongs). Please refer to comment of function GraphicsObjects::GenerateContent for more details.

See also
  pdf::GraphicsObjects

## Member Enumeration Documentation

## ◆ BlendMode

enum foxit::pdf::graphics::GraphicsObject::BlendMode

Enumeration for render blend mode.

Values of this enumeration should be used alone.

Enumerator
e_BlendNormal | Selecting source color and ignoring backdrop color. Here is the formula :
    B(Cb, Cs) = Cs.
e_BlendMultiply | Multiply backdrop by source color values. Here is the formula :
    B(Cb, Cs) = Cb * Cs.
e_BlendScreen | Multiply complements of backdrop by source color values, and then complement the result. Here is the formula :
    B(Cb, Cs) = 1 - [(1 - Cb) * (1 - Cs)] = Cb + Cs - Cb * Cs.
e_BlendOverlay | Multiply or screens colors, depending on backdrop color value. Here is the formula :
    B(Cb, Cs) = HardLight(Cs, Cb).
e_BlendDarken | Select darker one of backdrop and source colors. Here is the formula :
    B(Cb, Cs) = min(Cb, Cs).
e_BlendLighten | Select lighter one of backdrop and source colors. Here is the formula :
    B(Cb, Cs) = max(Cb, Cs).
e_BlendColorDodge | Brightens backdrop color to reflect source colors. Painting with black produces no changes. Here is the formula :
             B(Cb, Cs) =
             -min(1, Cb / (1 - Cs))    if Cs < 1
             -1              if Cs = 1
e_BlendColorBurn | Darkens backdrop color to reflect the source color. Painting with white produces no changes. Here is the formula :
             B(Cb, Cs) =
             -1 - min(1, (1 - Cb) / Cs)  if Cs > 0
             -0              if Cs = 0
e_BlendHardlight | Multiply or screens colors, depending on source color value. Here is the formula :
            B(Cb, Cs) =
            -Multiply(Cb, 2 * Cs)    if Cs <= 0.5
            -Screen(Cb, 2 * Cs - 1)  if Cs > 0.5
e_BlendSoftlight | Darkens or lightens colors, depending on source color value. Here is the formula :
            B(Cb, Cs) =
            -Cb - (1 - 2 * Cs) * Cb * (1 - Cb)    if Cs <= 0.5
            -Cb + (2 * Cs - 1) * (D(Cb) - Cb)    if Cs > 0.5
            where D(x) =
            -((16 * x - 12) * x + 4) * x      if x <= 0.25
            -sqrt(x)                if x > 0.25
e_BlendDifference | Subtracts the darker of the two constituent colors from lighter colors. Here is the formula :
    B(Cb, Cs) = |Cb - Cs|.
e_BlendExclusion | Creates a color with the hue of the source color, and the saturation and luminosity of the backdrop color. Here is the formula :
    B(Cb, Cs) = SetLum(SetSat(Cs, Sat(Cb)), Lum(Cb)).
e_BlendHue | Creates a color with the hue of the source color, and the saturation and luminosity of the backdrop color. Here is the formula :
    B(Cb, Cs) = SetLum(SetSat(Cs, Sat(Cb)), Lum(Cb)).
e_BlendSaturation | Creates a color with the saturation of the source color, and the hue and luminosity of the backdrop color. Here is the formula :
    B(Cb, Cs) = SetLum(SetSat(Cb, Sat(Cs)), Lum(Cb)).
e_BlendColor | Creates a color with the hue and saturation of the source color, and the luminosity of the backdrop color. Here is the formula :
    B(Cb, Cs) = SetLum(Cs, Lum(Cb)).
e_BlendLuminosity | Creates a color with the luminosity of the source color, and the hue and saturation of the backdrop color. Here is the formula :
    B(Cb, Cs) = SetLum(Cb, Lum(Cs)).

## ◆ Type

enum foxit::pdf::graphics::GraphicsObject::Type

Enumeration for PDF graphics object type.

Values of this enumeration should be used alone.

Enumerator
e_TypeAll | Represents all graphics object types, only used as filter.
e_TypeText | Text graphics object.
e_TypePath | Path graphics object.
e_TypeImage | Image graphics object.
e_TypeShading | Shading graphics object.
e_TypeFormXObject | Form XObject graphics object.
e_TypeInlines | Inline graphics object.
e_TypeEmptyMarkedContent | Empty marked-content object.

## Member Function Documentation

## ◆ AddClipPath()

bool foxit::pdf::graphics::GraphicsObject::AddClipPath | ( | const common::Path & | path,
|  | common::FillMode | fill_mode
| ) |  |

Add a path for clipping.

Parameters

  [in] | path | Path data to be added to current graphics object.
  [in] | fill_mode | Fill mode for the input path. Please refer to values starting from common::e_FillModeNone and this should be one of these values.

Returns
  true means success, while false means failure.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ AddClipTextObject()

bool foxit::pdf::graphics::GraphicsObject::AddClipTextObject | ( | TextObject * | textobject | ) |

Add text object for clipping.

Parameters

  [in] | textobject | Text object to be added for clipping.

Returns
  true means success, while false means failure.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ ClearClips()

bool foxit::pdf::graphics::GraphicsObject::ClearClips | ( |  | ) |

Clear all clips.

Returns
  true means success, while false means failure.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ Clone() [1/2]

GraphicsObject* foxit::pdf::graphics::GraphicsObject::Clone | ( |  | ) |

Clone a new graphics object.

Newly cloned graphics object is related to the same page with current graphics object by default. Newly cloned graphics object can only be used inside the PDF file which contains current graphics object. If the cloned graphics object is not inserted to any PDF page or other object, please remember to call function GraphicsObject::Release to release it when not use it any more.

Returns
  Cloned graphics object. If there is any error, this function will return NULL.

## ◆ Clone() [2/2]

GraphicsObject* foxit::pdf::graphics::GraphicsObject::Clone | ( | foxit::pdf::GraphicsObjects | src_graphicsobjects,
|  | foxit::pdf::GraphicsObjects | dest_graphicsobjects
| ) |  |

Clone a new graphics object.

Newly cloned graphics object is related to the page which is dest_graphicsobjects belong to. Newly cloned graphics object can be used inside or outside the PDF file which contains current graphics object. If the cloned graphics object is not inserted to any PDF page or other object, please remember to call function GraphicsObject::Release to release it when not use it any more.

Parameters

  [in] | src_graphicsobjects | A GraphicsObjects object which contains current graphics object.
  [in] | dest_graphicsobjects | A GraphicsObjects object which will contain the cloned graphics object. This can belong to another page in current document or a page in another document.

Returns
  Cloned graphics object. If there is any error, this function will return NULL.

## ◆ GetBlendMode()

BlendMode foxit::pdf::graphics::GraphicsObject::GetBlendMode | ( |  | ) | const

Get the blend mode for transparent imaging model.

Returns
  The Blend mode for transparent imaging model. Please refer to values starting from GraphicsObject::e_BlendNormal and this would be one of these values.

## ◆ GetClipPath()

common::Path foxit::pdf::graphics::GraphicsObject::GetClipPath | ( | int | index | ) | const

Get a path clip by index.

Parameters

  [in] | index | Path clip index. Valid range: from 0 to (count-1). count is returned by function GraphicsObject::GetClipPath.

Returns
  Path data. If the return value of function common::Path::IsEmpty for the returned path object is true, that means there is any error.

## ◆ GetClipPathCount()

int foxit::pdf::graphics::GraphicsObject::GetClipPathCount | ( |  | ) | const

Get the count of path clip.

Returns
  Count of path clip.

## ◆ GetClipPathFillMode()

common::FillMode foxit::pdf::graphics::GraphicsObject::GetClipPathFillMode | ( | int | index | ) | const

Get the fill mode of a path clip by index.

Parameters

  [in] | index | Path clip index. Valid range: from 0 to (count-1). count is returned by function GraphicsObject::GetClipPath.

Returns
  Fill mode. Please refer to values starting from common::e_FillModeNone and this would be one of these values.

## ◆ GetClipRect()

RectF foxit::pdf::graphics::GraphicsObject::GetClipRect | ( |  | ) | const

Get clip rectangle.

Returns
  Clip rectangle. If there is no clip rectangle, a RectF object with all values 0 will be returned.

## ◆ GetClipTextObject()

TextObject* foxit::pdf::graphics::GraphicsObject::GetClipTextObject | ( | int | index | ) | const

Get the text object of a text clip by index.

Parameters

  [in] | index | Text clip index. Valid range: from 0 to (count-1). count is returned by function GraphicsObject::GetClipTextObjectCount.

Returns
  A text graphics object. If there is any error, this function will return NULL.

## ◆ GetClipTextObjectCount()

int foxit::pdf::graphics::GraphicsObject::GetClipTextObjectCount | ( |  | ) | const

Get the count of text clip.

Returns
  Count of text clip.

## ◆ GetColorState()

ColorState foxit::pdf::graphics::GraphicsObject::GetColorState | ( |  | ) | const

Get color state.

Text graphics object, path graphics object, and form XObject graphics object can have color state.

Returns
  Color state.

## ◆ GetFillColor()

ARGB foxit::pdf::graphics::GraphicsObject::GetFillColor | ( |  | ) | const

Get the fill color.

Text graphics object, path graphics object, and form XObject graphics object can have this property. Function GraphicsObject::GetColorState can be used to get fille color in other color space, like CMYK color space.

Returns
  Color value, in format 0xAARRGGBB.

## ◆ GetFillOpacity()

float foxit::pdf::graphics::GraphicsObject::GetFillOpacity | ( |  | ) | const

Get the opacity value for painting operations other than stroking.

Returns
  The opacity value. Valid range: 0.0 to 1.0. 0.0 means full transparency and 1.0 means full opaque. If no opacity value can be found, 1 will be returned as default value.

## ◆ GetFormXObject()

FormXObject* foxit::pdf::graphics::GraphicsObject::GetFormXObject | ( |  | ) | const

Get the form XObject graphics object if current graphics object represents a form XObject object.

Returns
  Form XObject graphics object. If current graphics object does not represent a form XObject object, this function will return NULL.

## ◆ GetGraphState()

common::GraphState foxit::pdf::graphics::GraphicsObject::GetGraphState | ( |  | ) | const

Get graph state.

Form XObjet graphics object, path graphics object and text graphics object can have this property.

Returns
  Graph state.

## ◆ GetImageObject()

ImageObject* foxit::pdf::graphics::GraphicsObject::GetImageObject | ( |  | ) | const

Get the image graphics object if current graphics object represents an image object.

Returns
  Image graphics object. If current graphics object does not represent an image object, this function will return NULL.

## ◆ GetLayers()

LayerNodeArray foxit::pdf::graphics::GraphicsObject::GetLayers | ( | const LayerTree & | layer_tree | ) |

Get all the layers which are associated with current graphics object.

Parameters

  [in] | layer_tree | A valid layer tree. All the layer nodes in this layer tree will be enumerated in order to find which are associated with current graphics object.

Returns
  A layer node array which contains all the matched layer node.

## ◆ GetMarkedContent()

MarkedContent* foxit::pdf::graphics::GraphicsObject::GetMarkedContent | ( |  | ) | const

Get marked content object.

Returns
  A marked content object. If there is any error, this function will return NULL.

## ◆ GetMatrix()

Matrix foxit::pdf::graphics::GraphicsObject::GetMatrix | ( |  | ) | const

Get matrix.

Returns
  Matrix value. If there is any error, this function will return a Matrix with all values 0.

## ◆ GetPathObject()

PathObject* foxit::pdf::graphics::GraphicsObject::GetPathObject | ( |  | ) | const

Get the path graphics object if current graphics object represents a path object.

Returns
  Path graphics object. If current graphics object does not represent a path object, this function will return NULL.

## ◆ GetRect()

RectF foxit::pdf::graphics::GraphicsObject::GetRect | ( |  | ) | const

Get the rectangle of current graphics object.

Returns
  Rectangle of current graphics object. If there is any error, this function will return a RectF object with all values 0.

## ◆ GetShadingObject()

ShadingObject* foxit::pdf::graphics::GraphicsObject::GetShadingObject | ( |  | ) | const

Get the shading graphics object if current graphics object represents a shading object.

Returns
  Shading graphics object. If current graphics object does not represent a shading object, this function will return NULL.

## ◆ GetStrokeColor()

ARGB foxit::pdf::graphics::GraphicsObject::GetStrokeColor | ( |  | ) | const

Get the stroke color.

Text graphics object, path graphics object, and form XObject graphics object can have this property.
Function GraphicsObject::GetColorState can be used to get stroke color in other color space, like CMYK color space.

Returns
  Color value, in format 0xAARRGGBB.

## ◆ GetStrokeOpacity()

float foxit::pdf::graphics::GraphicsObject::GetStrokeOpacity | ( |  | ) | const

Get opacity value for stroke painting operations for paths and glyph outlines.

Returns
  The opacity value. Valid range: 0.0 to 1.0. 0.0 means full transparency and 1.0 means full opaque. If no opacity value can be found, 1 will be returned as default value.

## ◆ GetTextObject()

TextObject* foxit::pdf::graphics::GraphicsObject::GetTextObject | ( |  | ) | const

Get the text graphics object if current graphics object represents a text object.

Returns
  Text graphics object. If current graphics object does not represent a text object, this function will return NULL.

## ◆ GetType()

Type foxit::pdf::graphics::GraphicsObject::GetType | ( |  | ) | const

Get the type of current graphics object.

Returns
  Graphics object type. Please refer to values starting from GraphicsObject::e_TypeText and this would be one of these values except GraphicsObject::e_TypeAll.

## ◆ HasTransparency()

bool foxit::pdf::graphics::GraphicsObject::HasTransparency | ( |  | ) |

Check whether current graphics object has transparency or not.

Returns
  true means current graphics object has transparency, while false means not.

## ◆ Release()

void foxit::pdf::graphics::GraphicsObject::Release | ( |  | ) |

Release a cloned or newly created PDF graphics object which has not been inserted into any PDF page or other object.

Returns
  None.

## ◆ RemoveClipPath()

bool foxit::pdf::graphics::GraphicsObject::RemoveClipPath | ( | int | index | ) |

Remove a path clip by index.

Parameters

  [in] | index | Path clip index. Valid range: from 0 to (count-1). count is returned by function GraphicsObject::GetClipPath.

Returns
  true means success, while false means failure.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ RemoveClipTextObject()

bool foxit::pdf::graphics::GraphicsObject::RemoveClipTextObject | ( | int | index | ) |

Remove a text clip by index for clipping.

Parameters

  [in] | index | Text clip index. Valid range: from 0 to (count-1). count is returned by function GraphicsObject::GetClipTextObjectCount.

Returns
  true means success, while false means failure.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ Rotate()

void foxit::pdf::graphics::GraphicsObject::Rotate | ( | int | angle | ) |

Rotate current graphics object from current state with specified angle degree in clockwise.

Parameters

  [in] | angle | Angle degree value, which is used to rotate current graphics object from current state in clockwise. Value range: from 0 to 360. Specially, if the input value is 0 or 360 (which means not to rotate current graphics object), current function will do nothing.

Returns
  None.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ SetBlendMode()

void foxit::pdf::graphics::GraphicsObject::SetBlendMode | ( | BlendMode | blend_mode | ) |

Set the blend mode for transparent imaging model.

Parameters

  [in] | blend_mode | New blend mode. Please refer to values starting from GraphicsObject::e_BlendNormal and this should be one of these values.

Returns
  None.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ SetClipRect()

void foxit::pdf::graphics::GraphicsObject::SetClipRect | ( | const RectF & | clip_rect | ) |

Set clip rectangle.

New clip rectangle will be set with fill mode common::e_FillModeWinding by default.

Parameters

  [in] | clip_rect | New clip rectangle.

Returns
  None.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ SetColorState()

void foxit::pdf::graphics::GraphicsObject::SetColorState | ( | const ColorState & | color_state | ) |

Set color state.

Text graphics object, path graphics object, and form XObject graphics object can have this property. If try to set color state for rest unsupported types, exception foxit::e_ErrUnsupported will be thrown.

Parameters

  [in] | color_state | A color state object to be set to current graphics object.

Returns
  None.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ SetFillColor()

void foxit::pdf::graphics::GraphicsObject::SetFillColor | ( | ARGB | color | ) |

Set the fill color.

Text graphics object, path graphics object, and form XObject graphics object can have color state. If try to set fill color for rest unsupported types, foxit::e_ErrUnsupported will be thrown.
For path graphics object, please ensure the fill mode is not common::e_FillModeNone; otherwise the fill color will not have any effect on the path graphics object. Please refer to functions PathObject::GetFillMode and PathObject::SetFillMode to check and change the fill mode of a path graphics object.
Function GraphicsObject::SetColorState can be used to set fill color in other color space, like CMYK color space.

Parameters

  [in] | color | New color value, in format 0xAARRGGBB.

Returns
  None.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ SetFillOpacity()

void foxit::pdf::graphics::GraphicsObject::SetFillOpacity | ( | float | opacity | ) |

Set the opacity value for painting operations other than stroking.

Parameters

  [in] | opacity | The new opacity value. Valid range: 0.0 to 1.0. 0.0 means full transparency and 1.0 means full opaque.

Returns
  None.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ SetGraphState()

void foxit::pdf::graphics::GraphicsObject::SetGraphState | ( | const common::GraphState & | graph_state | ) |

Set graph state.

Form XObjet graphics object, path graphics object and text graphics object (whose text mode is TextState::e_ModeStroke, TextState::e_ModeStrokeClip, TextState::e_ModeFillStroke or TextState::e_ModeFillStrokeClip) can have this property. If try to set graph state to rest unsupported types, exception foxit::e_ErrUnsupported will be thrown.

Parameters

  [in] | graph_state | New graph state.

Returns
  None.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ SetMatrix()

void foxit::pdf::graphics::GraphicsObject::SetMatrix | ( | const Matrix & | matrix | ) |

Set matrix.

Parameters

  [in] | matrix | New matrix value.

Returns
  None.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ SetStrokeColor()

void foxit::pdf::graphics::GraphicsObject::SetStrokeColor | ( | ARGB | color | ) |

Set the stroke color.

Text graphics object, path graphics object, and form XObject graphics object can have this property. If current graphics object is a text graphics object and the text mode is TextState::e_ModeFill, the stroke color will not have effect on the text graphics object.
If try to set stroke color for rest unsupported types, exception foxit::e_ErrUnsupported will be thrown.
Function GraphicsObject::SetColorState can be used to set stroke color in other color space, like CMYK color space.

Parameters

  [in] | color | New color value, in format 0xAARRGGBB.

Returns
  None.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ SetStrokeOpacity()

void foxit::pdf::graphics::GraphicsObject::SetStrokeOpacity | ( | float | opacity | ) |

Set opacity value for stroke painting operations for paths and glyph outlines.

Parameters

  [in] | opacity | The new opacity value. Valid range: 0.0 to 1.0. 0.0 means full transparency and 1.0 means full opaque.

Returns
  None.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ Transform()

bool foxit::pdf::graphics::GraphicsObject::Transform | ( | const Matrix & | matrix,
|  | bool | need_transform_clippath
| ) |  |

Transform current graphics object.

Parameters

  [in] | matrix | Transform matrix.
  [in] | need_transform_clippath | true means to transform clip path with current graphics object. false means to transform current graphics object only.

Returns
  true means success, while false means failure.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.