Public Member Functions | |
LayerNode (LayerNode other) | |
Constructor, with another LayerNode object. | |
LayerNode | AddChild (int index, string name, bool has_Layer) |
Move current layer node to be child of another layer node. More... | |
bool | AddGraphicsObject (PDFPage page, GraphicsObject graphicsobject) |
Add a graphics object to current layer node. More... | |
LayerNode | GetChild (int index) |
Get a child node. More... | |
int | GetChildrenCount () |
Get the count of children nodes. More... | |
LayerTree.UsageState | GetExportUsage () |
Get the state for exporting usage. More... | |
GraphicsObjectArray | GetGraphicsObjects (PDFPage page) |
Get all graphics objects related to the layer which is associated with current layer node. More... | |
string | GetName () |
Get the name of current layer node. More... | |
LayerPrintData | GetPrintUsage () |
Get the data for printing usage. More... | |
LayerTree.UsageState | GetViewUsage () |
Get the state for viewing usage. More... | |
LayerZoomData | GetZoomUsage () |
Get the data for zooming usage. More... | |
bool | HasIntent (string intent) |
Check if current layer node has a specified intent. More... | |
bool | HasLayer () |
Check if current layer node is associated with a layer. More... | |
bool | IsEmpty () |
Check whether current object is empty or not. More... | |
bool | IsInPage (PDFPage page) |
Check if current layer node is in a specified PDF page. More... | |
bool | MoveTo (LayerNode parent_layer_node, int index) |
Move current layer node to be child of another layer node. More... | |
bool | RemoveChild (int index) |
Remove a child node. More... | |
bool | RemoveGraphicsObject (GraphicsObject graphics_object) |
Remove a graphics object from current layer node. More... | |
bool | RemoveUsage (LayerContext.UsageType usage_type) |
Remove a kind of usage property. More... | |
bool | SetDefaultVisible (bool is_visible) |
Set default visibility. More... | |
bool | SetExportUsage (LayerTree.UsageState state) |
Set state for exporting usage. More... | |
bool | SetName (string name) |
Set the name of current layer node. More... | |
bool | SetPrintUsage (LayerPrintData data) |
Set data for layer printing usage. More... | |
bool | SetViewUsage (LayerTree.UsageState state) |
Set state for viewing usage. More... | |
bool | SetZoomUsage (LayerZoomData data) |
Set data for layer zooming usage. More... | |
A PDF layer (known as "Optional content group" in <PDF reference 1.7>) is a collection of graphics (known as GraphicsObject in Foxit PDF SDK) that can be made visible or invisible. These graphics belonging to the same layer can reside anywhere in the document: they need not be consecutive in drawing order, nor even belong to the same content stream.
In Foxit PDF SDK, a PDF layer is associated with a layer node and Foxit PDF SDK offers class and methods to get/set layer data via layer node. If user wants to retrieve a layer node, user must construct a PDFLayerTree object first and then call function LayerTree::GetRootNode to get the root layer node of the whole layer tree. Here, "root layer node" is an abstract object. "root layer node" can only have some child layer nodes but no parent, or any data (such as name, intent and so on). And "root layer node" cannot be shown on the application UI since it has no data. So, for a root layer node, only functions LayerNode::GetChildrenCount and LayerNode::GetChild are useful.
This class offers functions to get/set layer data and the graphics belonging to it. For example:
To get/set layer data, following functions can be used: LayerNode::GetName, LayerNode::GetViewUsage, LayerNode::GetExportUsage, LayerNode::GetPrintUsage, LayerNode::GetZoomUsage and setting functions for these data.
To get the graphics belonging to it, use function LayerNode::GetGraphicsObjects; function LayerNode::AddGraphicsObject and LayerNode::RemoveGraphicsObject can be used to add/remove a specified graphics object to/from the layer.
|
inline |
Move current layer node to be child of another layer node.
index | Index of the child to be retrieved. Valid range: from 0 to (count-1). count is returned by function LayerNode::GetChildrenCount. |
name | New layer node name. It should not be null or an empty string. |
has_Layer | Whether current layer node is associated or not with a layer. |
|
inline |
Add a graphics object to current layer node.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
page | A valid PDF page, to which the input graphics object belongs. |
graphicsobject | A graphics object to be added to current layer node. |
|
inline |
Get a child node.
index | Index of the child to be retrieved. Valid range: from 0 to (count-1). count is returned by function LayerNode::GetChildrenCount. |
|
inline |
Get the count of children nodes.
|
inline |
Get the state for exporting usage.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
|
inline |
Get all graphics objects related to the layer which is associated with current layer node.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
page | A valid PDF page, to which the input graphics object belongs. |
|
inline |
Get the name of current layer node.
|
inline |
Get the data for printing usage.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
|
inline |
Get the state for viewing usage.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
|
inline |
Get the data for zooming usage.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
|
inline |
Check if current layer node has a specified intent.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
Specially, when this function with input parameter "View" returns false, that means the layer related to current layer node will always be visible, and will not be affected by the changing in visibility.
intent | Intent name to be checked. It should not be an empty string. Pre-defined intent names are "View" and "Design". |
|
inline |
Check if current layer node is associated with a layer.
|
inline |
Check whether current object is empty or not.
When the current object is empty, that means current object is useless.
|
inline |
Check if current layer node is in a specified PDF page.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
page | A valid PDF page. |
|
inline |
Move current layer node to be child of another layer node.
parent_layer_node | The destination layer node. It should not be current layer node itself or any descendant of current layer node. Current layer node will be moved to be child of the destination layer node. |
index | Index of the child to be retrieved. Valid range: from 0 to (count-1). count is returned by function LayerNode::GetChildrenCount. |
|
inline |
Remove a child node.
index | Index of the child to be retrieved. Valid range: from 0 to (count-1). count is returned by function LayerNode::GetChildrenCount. |
|
inline |
Remove a graphics object from current layer node.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
If the input graphics object does not belong to current layer node, this function will return true directly.
graphics_object | A graphics object to be removed from current layer node. |
|
inline |
Remove a kind of usage property.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
If current layer node does not have the specified usage or does not have any usage, this function will return true.
usage_type | Layer usage type to be removed. Please refer to e_UsageXXX values and it should be one of these values. |
|
inline |
Set default visibility.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
is_visible | true means visible, and false means invisible. |
|
inline |
Set state for exporting usage.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
state | Layer usage state. It should be one of following values: e_StateON e_StateOFF e_StateUndefined means to remove this property from current layer node |
|
inline |
Set the name of current layer node.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
name | New layer node name. It should not be an empty string. |
|
inline |
Set data for layer printing usage.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
data | New data for layer printing usage. The value of LayerPrintData::print_state should be one of following values: e_StateON e_StateOFF e_StateUndefined means to remove this property from current layer node |
|
inline |
Set state for viewing usage.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
state | Layer usage state. It should be one of following values: e_StateON e_StateOFF e_StateUndefined means to remove this property from current layer node |
|
inline |
Set data for layer zooming usage.
This function can only be used when function LayerNode::HasLayer returns true. If current layer node does not have layer, this function will throw exception e_ErrUnsupported.
data | New data for layer zooming usage. |