# Publish

class `Publish`

  The Publish class contains objects and enumerations used for exporting 3D PDF files via Publish.

  Public Types

  typedef std::vector<AnnotationKit, HPS::Allocator<AnnotationKit>> `AnnotationKitArray`
  typedef std::vector<ButtonKit, HPS::Allocator<ButtonKit>> `ButtonKitArray`
  typedef std::vector<CheckBoxKit, HPS::Allocator<CheckBoxKit>> `CheckBoxKitArray`
  typedef std::vector<DataTableKit, HPS::Allocator<DataTableKit>> `DataTableKitArray`
  typedef std::vector<DropDownListKit, HPS::Allocator<DropDownListKit>> `DropDownListKitArray`
  typedef std::vector<Field::Type, Allocator<Field::Type>> `FieldTypeArray`
  typedef std::vector<ImageKit, HPS::Allocator<ImageKit>> `ImageKitArray`
  typedef std::vector<LinkKit, HPS::Allocator<LinkKit>> `LinkKitArray`
  typedef std::vector<ListBoxKit, HPS::Allocator<ListBoxKit>> `ListBoxKitArray`
  typedef std::vector<PageKit, HPS::Allocator<PageKit>> `PageKitArray`
  typedef std::vector<Permission::Type, HPS::Allocator<Permission::Type>> `PermissionTypeArray`
  typedef std::vector<RadioButtonKit, HPS::Allocator<RadioButtonKit>> `RadioButtonKitArray`
  typedef std::vector<SignatureFieldKit, HPS::Allocator<SignatureFieldKit>> `SignatureFieldKitArray`
  typedef std::vector<Source::Type, HPS::Allocator<Source::Type>> `SourceTypeArray`
  typedef std::vector<TextFieldKit, HPS::Allocator<TextFieldKit>> `TextFieldKitArray`
  typedef std::vector<TextKit, HPS::Allocator<TextKit>> `TextKitArray`
  typedef std::vector<ViewKit, HPS::Allocator<ViewKit>> `ViewKitArray`
  class `Activation`

    The Publish::Activation class is a concept class for activation-related enumerations.

    Public Types

    enum class `When`

      Enumerates when an annotation is activated.

      Values:

      enumerator `Explicit`

        Annotation is not activated until a script or the user explicitly activates it, e.g., by clicking on a poster image (kA3DPDFActivExplicitActivation).

      enumerator `Opened`

        Annotation is activated when the page containing it is opened (kA3DPDFActivPageOpened).

      enumerator `Visible`

        Annotation is activated when the page containing it is visible (kA3DPDFActivPageVisible).

  class `Animation`

    The Publish::Animation class is a concept class for animation-related enumerations.

    Public Types

    enum class `Style`

      Enumerates the animation styles for an ArtworkKit.

      Values:

      enumerator `None`

        Reader does not control the animation allowing it to be driven through other means, e.g., JavaScript (kA3DPDFAnimStyleNoAnimation).

      enumerator `Loop`

        Reader loops through the animation continuously (kA3DPDFAnimStyleLoop).

      enumerator `Bounce`

        Reader plays the animation forwards and backward continuously (kA3DPDFAnimStyleBounce).

  class `Annotation`

    The Publish::Annotation class is a concept class for annotation-related enums.

    Public Types

    enum class `Format`

      Enumerates the format of the data to put in an annotation.

      Values:

      enumerator `PRC`

        PRC data will be generated for the annotation.

      enumerator `U3D`

        U3D data will be generated for the annotation.

    enum class `SourceType`

      Values:

      enumerator `CADModel`

        The source was set using a CADModel object.

      enumerator `KeyPath`

        The source was set using a KeyPath array.

      enumerator `CADModelAndKeyPath`

        The source was set using both a CADModel and a KeyPath array.

  class `AnnotationKit` : public HPS::SprocketKit

    The AnnotationKit class is a user space object. It acts as the container for all data that can be on an annotation in a Publish PDF.

    Public Functions

    `AnnotationKit`()

      The default constructor creates an empty AnnotationKit object.

    `AnnotationKit`(AnnotationKit &&in_kit)

      The move constructor creates an AnnotationKit by transferring the underlying object of the rvalue reference to this AnnotationKit.

      Parameters: | in_kit – An rvalue reference to an AnnotationKit to take the underlying object from.

    `AnnotationKit`(AnnotationKit const &in_kit)

      The copy constructor creates a new AnnotationKit object that contains the same settings as the source AnnotationKit.

      Parameters: | in_kit – The source AnnotationKit to copy.

    virtual bool `Empty`() const

      Indicates whether this AnnotationKit has any values set on it.

      Returns: | true if no values are set on this AnnotationKit, false otherwise.

    bool `Equals`(AnnotationKit const &in_kit) const

      Check if the source AnnotationKit is equivalent to this AnnotationKit.

      Parameters: | in_kit – The source AnnotationKit to compare to this AnnotationKit.
      Returns: | true if the objects are equivalent, false otherwise.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(AnnotationKit const &in_kit) const

      Check if the source AnnotationKit is not equivalent to this AnnotationKit.

      Parameters: | in_kit – The source AnnotationKit to compare to this AnnotationKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    AnnotationKit &`operator=`(AnnotationKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this AnnotationKit.

      Parameters: | in_kit – An rvalue reference to an AnnotationKit to take the underlying object from.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`operator=`(AnnotationKit const &in_kit)

      Copies the source AnnotationKit into this AnnotationKit.

      Parameters: | in_kit – The source AnnotationKit to copy.
      Returns: | A reference to this AnnotationKit.

    bool `operator==`(AnnotationKit const &in_kit) const

      Check if the source AnnotationKit is equivalent to this AnnotationKit.

      Parameters: | in_kit – The source AnnotationKit to compare to this AnnotationKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(AnnotationKit const &in_kit)

      Copies the source AnnotationKit into this AnnotationKit.

      Parameters: | in_kit – The source AnnotationKit to copy.

    AnnotationKit &`SetActivation`(Activation::When in_when)

      Sets when the annotation is activated. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_eActivateWhen.

      Parameters: | in_when – When the annotation is activated.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetArtwork`(ArtworkKit const &in_artwork)

      Sets the artwork for the annotation. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_p3DArtwork.

      Parameters: | in_artwork – The artwork for the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetBackgroundColor`(RGBColor const &in_color)

      Sets the background color for the annotation. Unused if there is a transparent background. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_sBackgroundColor.

      Parameters: | in_color – The background color for the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetBorderWidth`(int in_width)

      Sets the border width in points for the annotation. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_iAppearanceBorderWidth.

      Parameters: | in_width – The border width in points for the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetCarouselButtons`(size_t in_count, UTF8 const in_button_names[], char const *in_previous_button_name, char const *in_next_button_name, size_t in_scroll_size)

      Sets the carousel buttons for the annotation. This must be specified for a view carousel to be generated. This corresponds to the button names that will be passed to A3DPDF3DViewCarousel.

      Parameters: | in_count – Size of the following array. in_button_names – UTF8-encoded names for the view buttons in the carousel. in_previous_button_name – UTF8-encoded name for the previous button. in_next_button_name – UTF8-encoded name for the next button. in_scroll_size – Number of buttons to scroll when the previous or next buttons are pressed.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetCarouselButtons`(UTF8Array const &in_button_names, char const *in_previous_button_name, char const *in_next_button_name, size_t in_scroll_size)

      Sets the carousel buttons for the annotation. This must be specified for a view carousel to be generated. This corresponds to the button names that will be passed to A3DPDF3DViewCarousel.

      Parameters: | in_button_names – Names for the view buttons in the carousel. in_previous_button_name – UTF8-encoded name for the previous button. in_next_button_name – UTF8-encoded name for the next button. in_scroll_size – Number of buttons to scroll when the previous or next buttons are pressed.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetCarouselViews`(size_t in_count, size_t const in_indices[], ImageKit const in_images[] = nullptr)

      Sets the carousel views for the annotation. This can be optionally specified for a view carousel. This corresponds to the views and images that will be passed to A3DPDF3DViewCarousel.

      See also

      SetArtwork

      See also

      ArtworkKit::SetViews

      Parameters: | in_count – Size of the following array. in_indices – Indices of the views on the associated ArtworkKit to use for the view carousel. in_images – Images to use for the view carousel buttons. If unspecified, images will be generated from the views themselves.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetCarouselViews`(SizeTArray const &in_indices, ImageKitArray const &in_images = ImageKitArray())

      Sets the carousel views for the annotation. This can be optionally specified for a view carousel. This corresponds to the views and images that will be passed to A3DPDF3DViewCarousel.

      See also

      SetArtwork

      See also

      ArtworkKit::SetViews

      Parameters: | in_indices – Indices of the views on the associated ArtworkKit to use for the view carousel. in_images – Images to use for the view carousel buttons. If unspecified, images will be generated from the views themselves.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetDeactivation`(Deactivation::When in_when)

      Sets when the annotation is deactivated. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_eDesactiveWhen.

      Parameters: | in_when – When the annotation is deactivated.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetFormat`(Annotation::Format in_format)

      Sets the format of the 3D data for the annotation.

      Parameters: | in_format – The format of the 3D data for the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetInteractivity`(bool in_state)

      Sets whether to enable interactivity on the annotation. This corresponds to the (negated) value that will be passed to A3DPDF3DAnnotData::m_bDisableInteractivity.

      Parameters: | in_state – Whether to enable interactivity on the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetLighting`(Lighting::Mode in_mode)

      Sets the lighting mode for the annotation. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_eLighting.

      Parameters: | in_mode – The lighting mode for the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetModelTreeVisibility`(bool in_state)

      Sets whether to display the model tree when the annotation is activated. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_bOpenModelTree.

      Parameters: | in_state – Whether to display the model tree when the annotation is activated.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetName`(char const *in_name)

      Sets the name for the annotation. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_pcName.

      Parameters: | in_name – UTF8-encoded name for the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetPartsList`(size_t in_rows, IntRectangle const &in_location, char const *in_headers[3], float const in_columns[3], TextFieldKit const &in_text_style = TextFieldKit(), TextFieldKit const &in_header_text_style = TextFieldKit())

      Creates a Parts List contained in a scrollable table. The table will have three columns, listing part number, part name and quantity. The Parts List can only be calculated if the Annotation source is a CADModel, and the annotation format is PRC.

      Parameters: | in_rows – The number of rows for the table housing the Parts List (including the header row) in_location – The location of the table housing the Parts List, specified in points relative to bottom left of the page. All fields in the location will be used. in_headers – The strings displayed in the column headers. The first column lists the part numbers. The second column lists the part name. The third column lists the part quantity. Leaving it unspecified will result in a table with no headers. in_columns – An array of three percentages, specifying the width of each of the table’s columns as a percentage of the table width. The total of the values contained in in_columns should total 1.0. For example, if the columns should take up 10%, 80% and 10% of the table width respectively, in_column will contain 0.1, 0.8, 0.1 Leaving in_columns unspecified will use the default column widths. in_text_style – The text style used for the cells of the table. If not specified, default formatting is used. in_header_text_style – The text style used for the header of the table. If not specified, default formatting is used.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetPartsList`(size_t in_rows, IntRectangle const &in_location, UTF8Array const &in_headers = UTF8Array(), FloatArray const &in_columns = FloatArray(), TextFieldKit const &in_text_style = TextFieldKit(), TextFieldKit const &in_header_text_style = TextFieldKit())

      Creates a Parts List contained in a scrollable table. The table will have three columns, listing part number, part name and quantity. The Parts List can only be calculated if the Annotation source is a CADModel, and the annotation format is PRC.

      Parameters: | in_rows – The number of rows for the table housing the Parts List (including the header row) in_location – The location of the table housing the Parts List, specified in points relative to bottom left of the page. All fields in the location will be used. in_headers – The strings displayed in the column headers. The size of this array should be 3. The first column lists the part numbers. The second column lists the part name. The third column lists the part quantity. Leaving it unspecified will result in a table with no headers. in_columns – An array of three percentages, specifying the width of each of the table’s columns as a percentage of the table width. The total of the values contained in in_columns should total 1.0. For example, if the columns should take up 10%, 80% and 10% of the table width respectively, in_column will contain 0.1, 0.8, 0.1 Leaving in_columns unspecified will use the default column widths. in_text_style – The text style used for the cells of the table. If not specified, default formatting is used. in_header_text_style – The text style used for the header of the table. If not specified, default formatting is used.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetPMIList`(IntRectangle const &in_location, HPS::Publish::ListBoxKit const &in_list)

      Creates a PMI List Box which contains a list of the PMI contained in the source file. Clicking on the entries of the list will highlight the associated PMI in the 3D annotation. The PMI List can only be calculated if the Annotation source is a CADModel, and the annotation format is PRC. If a View List or a View Carousel are also set on this annotation kit, the PMI List will only show the PMIs which are visible in the View you currently have selected in the PDF.

      Parameters: | in_location – The location of the PMI List, specified in points relative to bottom left of the page. All fields in the location will be used. in_list – The ListBoxKit used to specify the attributes of the PMI List.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetPMIListByField`(char const *in_field)

      Creates a PMI List Box which contains a list of the PMI contained in the source file. Clicking on the entries of the list will highlight the associated PMI in the 3D annotation. The PMI List can only be calculated if the Annotation source is a CADModel, and the annotation format is PRC. If a View List or a View Carousel are also set on this annotation kit, the PMI List will only show the PMIs which are visible in the View you currently have selected in the PDF.

      Parameters: | in_field – UTF8-encoded form field name for the PMI List.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetPosterImage`(ImageKit const &in_image)

      Sets the poster image for the annotation. If this is not specified a poster image will be generated by Publish. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_pPosterImage.

      Parameters: | in_image – The poster image for the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetPRCAttributeRemoval`(bool in_state)

      Sets whether to remove the attribute information in the PRC data for this annotation. This setting is only relevant if the format of the annotation is Annotation::Format::PRC. This corresponds to the value that will be passed to A3DRWParamsExportPrcData::m_bRemoveAttributes.

      Parameters: | in_state – Whether to remove the attribute information in the PRC data for this annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetPRCBRepCompression`(PRC::BRepCompression in_level)

      Sets the level of compression to apply to BRep data for a PRC annotation. This setting is only relevant if the format of the annotation is Annotation::Format::PRC. This corresponds to the values that will be passed to A3DRWParamsExportPrcData::m_bCompressBrep and A3DRWParamsExportPrcData::m_eCompressBrepType.

      Parameters: | in_level – The level of compression to apply to BRep data for a PRC annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetPRCBRepRemoval`(bool in_state)

      Sets whether to remove the BRep information in the PRC data for this annotation. This setting is only relevant if the format of the annotation is Annotation::Format::PRC. This corresponds to the value that will be passed to A3DRWParamsExportPrcData::m_bRemoveBRep.

      Parameters: | in_state – Whether to remove BRep information in the PRC data for this annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetPRCTessellationCompression`(bool in_state)

      Sets whether to compress tessellation for a PRC annotation. This setting is only relevant if the format of the annotation is Annotation::Format::PRC. This corresponds to the value that will be passed to A3DRWParamsExportPrcData::m_bCompressTessellation.

      Parameters: | in_state – Whether to compress tessellation for a PRC annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetRendering`(Rendering::Mode in_mode)

      Sets the rendering mode for the annotation. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_eRenderingStyle.

      Parameters: | in_mode – The rendering mode for the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetSource`(CADModel const &in_cad_model)

      Sets the source for the annotation to Annotation::SourceType::CADModel. This is the CADModel which contains the 3D data to be exported into the annotation

      Parameters: | in_cad_model – The source CADModel for the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetSource`(CADModel const &in_cad_model, KeyPathArray const &in_additional_sources)

      Sets the source for the annotation to Annotation::SourceType::CADModelAndKeyPaths. These are the CADModel which will be used to export 3D data to the annotation, and the KeyPaths which will be added to the model

      Parameters: | in_cad_model – The source CADModel for the annotation. in_additional_sources – The additional source KeyPaths for the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetSource`(CADModel const &in_cad_model, size_t in_count, KeyPath const in_additional_sources[])

      Sets the source for the annotation to Annotation::SourceType::CADModelAndKeyPaths. These are the CADModel which will be used to export 3D data to the annotation, and the KeyPaths which will be added to the model

      Parameters: | in_cad_model – The source CADModel for the annotation. in_count – The number of elements in in_additional_sources in_additional_sources – The additional source KeyPaths for the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetSource`(KeyPath const &in_source)

      Sets the source for the annotation to Annotation::SourceType::KeyPaths. The Key Path that will be used to locate the 3D data for the annotation.

      Parameters: | in_source – The source KeyPath for the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetSource`(KeyPathArray const &in_sources)

      Sets the source for the annotation to Annotation::SourceType::KeyPaths. These are the KeyPaths that will be used to locate the 3D data for the annotation.

      Parameters: | in_sources – The source KeyPaths for the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetSource`(size_t in_count, KeyPath const in_sources[])

      Sets the source for the annotation to Annotation::SourceType::KeyPaths. These are the KeyPaths that will be used to locate the 3D data for the annotation.

      Parameters: | in_count – The number of elements in in_sources in_sources – The source KeyPaths for the annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetToolbarVisibility`(bool in_state)

      Sets whether to display the toolbar when the annotation is activated. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_bShowToolbar.

      Parameters: | in_state – Whether to display the toolbar when the annotation is activated.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetTransparentBackground`(bool in_state)

      Sets whether the annotation background is transparent. This will render background color irrelevant and has negative ramifications. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_bTransparentBackground.

      Parameters: | in_state – Whether the annotation background is transparent.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetU3DCompression`(unsigned char in_level)

      Sets the level of compression to apply to tessellations for a U3D annotation. If no compression level is set, no compression will be applied. This setting is only relevant if the format of the annotation is Annotation::Format::U3D. This corresponds to the value that will be passed to A3DRWParamsExportU3DData::m_ucMeshQualityValue.

      Parameters: | in_level – The level of compression to apply to tessellations for a U3D annotation. This value should be in the range [0, 100].
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetU3DVersion`(U3D::Version in_version)

      Sets the version of the data for a U3D annotation. This setting is only relevant if the format of the annotation is Annotation::Format::U3D. This corresponds to the value that will be passed to A3DRWParamsExportU3DData::m_eU3DVersion.

      Parameters: | in_version – The version of the data for a U3D annotation.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetViewList`(IntRectangle const &in_location, HPS::Publish::ListBoxKit const &in_list)

      Creates a View List Box which contains a list of the Views contained in the source file. Clicking on the entries of the list will activate the associated View. The View List can only be calculated if the Annotation source is a CADModel, and the annotation format is PRC.

      Parameters: | in_location – The location of the View List, specified in points relative to bottom left of the page. All fields in the location will be used. in_list – The ListBoxKit used to specify the attributes of the View List.
      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`SetViewListByField`(char const *in_field)

      Creates a View List Box which contains a list of the Views contained in the source file. Clicking on the entries of the list will activate the associated View. The View List can only be calculated if the Annotation source is a CADModel, and the annotation format is PRC.

      Parameters: | in_field – UTF8-encoded form field name for the View List.
      Returns: | A reference to this AnnotationKit.

    void `Show`(AnnotationKit &out_kit) const

      Copies this AnnotationKit into the given AnnotationKit.

      Parameters: | out_kit – The AnnotationKit to populate with the contents of this AnnotationKit.

    bool `ShowActivation`(Activation::When &out_when) const

      Shows the activation setting.

      Parameters: | out_when – When the annotation is activated.
      Returns: | true if an activation setting was specified, false otherwise.

    bool `ShowArtwork`(ArtworkKit &out_artwork) const

      Shows the artwork setting.

      Parameters: | out_artwork – The artwork for the annotation.
      Returns: | true if an artwork was specified, false otherwise.

    bool `ShowBackgroundColor`(RGBColor &out_color) const

      Shows the background color setting.

      Parameters: | out_color – The background color for the annotation.
      Returns: | true if a background color was specified, false otherwise.

    bool `ShowBorderWidth`(int &out_width) const

      Shows the border width setting.

      Parameters: | out_width – The border width of the annotation.
      Returns: | true if a border width was specified, false otherwise.

    bool `ShowCarouselButtons`(UTF8Array &out_button_names, UTF8 &out_previous_button_name, UTF8 &out_next_button_name, size_t &out_scroll_size) const

      Shows the carousel buttons setting.

      Parameters: | out_button_names – Names for the view buttons in the carousel. out_previous_button_name – Name for the previous button. out_next_button_name – Name for the next button. out_scroll_size – Numbers of buttons scrolled when the previous or next buttons are pressed.
      Returns: | true if carousel buttons were specified, false otherwise.

    bool `ShowCarouselViews`(SizeTArray &out_indices, ImageKitArray &out_images) const

      Shows the carousel views setting.

      Parameters: | out_indices – Indices of the views on the associated ArtworkKit to use for the view carousel. out_images – Images to use for the view carousel buttons. May be empty, even if out_indices is not.
      Returns: | true if carousel views were specified, false otherwise.

    bool `ShowDeactivation`(Deactivation::When &out_when) const

      Shows the deactivation setting.

      Parameters: | out_when – When the annotation is deactivated.
      Returns: | true if a deactivation setting was specified, false otherwise.

    bool `ShowFormat`(Annotation::Format &out_format) const

      Shows the format setting.

      Parameters: | out_format – The format of the 3D data for the annotation.
      Returns: | true if a format was specified, false otherwise.

    bool `ShowInteractivity`(bool &out_state) const

      Shows the interactivity setting.

      Parameters: | out_state – Whether to enable interactivity on the annotation.
      Returns: | true if an interactivity setting was specified, false otherwise.

    bool `ShowLighting`(Lighting::Mode &out_mode) const

      Shows the lighting mode setting.

      Parameters: | out_mode – The lighting mode for the annotation.
      Returns: | true if a lighting mode was specified, false otherwise.

    bool `ShowModelTreeVisibility`(bool &out_state) const

      Shows the model tree visibility setting.

      Parameters: | out_state – Whether to display the model tree when the annotation is activated.
      Returns: | true if a model tree visibility was specified, false otherwise.

    bool `ShowName`(UTF8 &out_name) const

      Shows the name setting.

      Parameters: | out_name – The name for the annotation.
      Returns: | true if a name was specified, false otherwise.

    bool `ShowPartsList`(size_t &out_rows, IntRectangle &out_location, UTF8Array &out_headers, FloatArray &out_columns, TextFieldKit &out_text_style, TextFieldKit &out_header_text_style) const

      Shows the Parts List setting.

      Parameters: | out_rows – The number of rows making up the Parts List table. out_location – The location of the Parts List table. out_headers – The strings of the column headers. Empty if the table has no header. out_columns – The width of the three columns as percentages of the table width. out_text_style – The text styles used for the cells in the table. out_header_text_style – The text styles used for the header of the table.
      Returns: | true if a Parts List was specified, false otherwise.

    bool `ShowPMIList`(IntRectangle &out_location, Publish::ListBoxKit &out_list) const

      Shows the PMI List setting.

      Parameters: | out_location – The location of the PMI List table. out_list – The options specified for the list box containing the PMI List
      Returns: | true if a PMI List was specified, false otherwise.

    bool `ShowPMIListField`(UTF8 &out_field) const

      Shows the PMI List setting.

      Parameters: | out_field – The list box form field name on the page which will be used for the PMI List.
      Returns: | true if a PMI List was specified by field, false otherwise.

    bool `ShowPosterImage`(ImageKit &out_image) const

      Shows the poster image setting.

      Parameters: | out_image – The poster image for the annotation.
      Returns: | true if a poster image was specified, false otherwise.

    bool `ShowPRCAttributeRemoval`(bool &out_state) const

      Shows the attribute removal for PRC data setting.

      Parameters: | out_state – Whether to remove attribute information in the PRC data for this annotation.
      Returns: | true if an attribute removal setting was specified, false otherwise.

    bool `ShowPRCBRepCompression`(PRC::BRepCompression &out_level) const

      Shows the BRep compression level for PRC data setting.

      Parameters: | out_level – The level of compression to apply to BRep data for a PRC annotation.
      Returns: | true if a PRC BRep compression level setting was specified, false otherwise.

    bool `ShowPRCBRepRemoval`(bool &out_state) const

      Shows the BRep removal for PRC data setting.

      Parameters: | out_state – Whether to remove BRep information in the PRC data for this annotation.
      Returns: | true if a BRep removal setting was specified, false otherwise.

    bool `ShowPRCTessellationCompression`(bool &out_state) const

      Shows the tessellation compression for PRC data setting.

      Parameters: | out_state – Whether to compress tessellation for a PRC annotation.
      Returns: | true if a PRC tessellation compression setting was specified, false otherwise.

    bool `ShowRendering`(Rendering::Mode &out_mode) const

      Shows the rendering mode setting.

      Parameters: | out_mode – The rendering mode for the annotation.
      Returns: | true if a rendering mode was specified, false otherwise.

    bool `ShowSource`(Annotation::SourceType &out_source_type, CADModel &out_cad_model, KeyPathArray &out_key_paths) const

      Shows the source setting.

      Parameters: | out_source_type – Specifies which one of the previous arguments is valid out_cad_model – The source CADModel for the annotation. Only valid if out_source_type is CADModel or CADModelAndKeyPath out_key_paths – The source KeyPath array for the annotation. Only valid if out_source_type is KeyPath or CADModelAndKeyPath
      Returns: | true if a source was specified, false otherwise.

    bool `ShowToolbarVisibility`(bool &out_state) const

      Shows the toolbar visibility setting.

      Parameters: | out_state – Whether to display the toolbar when the annotation is activated.
      Returns: | true if a toolbar visibility was specified, false otherwise.

    bool `ShowTransparentBackground`(bool &out_state) const

      Shows the transparent background setting.

      Parameters: | out_state – Whether the annotation has a transparent background.
      Returns: | true if a transparent background setting specified, false otherwise.

    bool `ShowU3DCompression`(unsigned char &out_level) const

      Shows the compression level for U3D data for the annotation.

      Parameters: | out_level – The level of compression to apply to tessellations for a U3D annotation.
      Returns: | true if a U3D compression setting was specified, false otherwise.

    bool `ShowU3DVersion`(U3D::Version &out_version) const

      Shows the version for U3D data setting.

      Parameters: | out_version – The version of the data for a U3D annotation.
      Returns: | true if a U3D version setting was specified, false otherwise.

    bool `ShowViewList`(IntRectangle &out_location, Publish::ListBoxKit &out_list) const

      Shows the View List setting.

      Parameters: | out_location – The location of the View List table. out_list – The options specified for the list box containing the View List
      Returns: | true if a View List was specified, false otherwise.

    bool `ShowViewListField`(UTF8 &out_field) const

      Shows the View List setting.

      Parameters: | out_field – The list box form field name on the page which will be used for the View List.
      Returns: | true if a View List was specified by field, false otherwise.

    AnnotationKit &`UnsetActivation`()

      Removes the activation setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetArtwork`()

      Removes the artwork setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetBackgroundColor`()

      Removes the background color setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetBorderWidth`()

      Removes the border width setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetCarouselButtons`()

      Removes the carousel buttons setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetCarouselViews`()

      Removes the carousel views setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetDeactivation`()

      Removes the deactivation setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetEverything`()

      Removes all data on the annotation.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetFormat`()

      Removes the format setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetInteractivity`()

      Removes the interactivity setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetLighting`()

      Removes the lighting mode setting.a

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetModelTreeVisibility`()

      Removes the model tree visibility setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetName`()

      Removes the name setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetPartsList`()

      Removes the Parts List setting.

      Returns: | A reference to this AnnotationKit

    AnnotationKit &`UnsetPMIList`()

      Removes the PMI List setting.

      Returns: | A reference to this AnnotationKit

    AnnotationKit &`UnsetPosterImage`()

      Removes the poster image setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetPRCAttributeRemoval`()

      Removes the attribute removal for PRC data setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetPRCBRepCompression`()

      Removes the BRep compression level for PRC data setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetPRCBRepRemoval`()

      Removes the BRep removal for PRC data setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetPRCTessellationCompression`()

      Removes the tessellation compression for PRC data setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetRendering`()

      Removes the rendering mode setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetSource`()

      Removes the source setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetToolbarVisibility`()

      Removes the toolbar visibility setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetTransparentBackground`()

      Removes the transparent background setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetU3DCompression`()

      Removes the compression level for U3D data setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetU3DVersion`()

      Removes the version for U3D data setting.

      Returns: | A reference to this AnnotationKit.

    AnnotationKit &`UnsetViewList`()

      Removes the View List setting.

      Returns: | A reference to this AnnotationKit

    virtual `~AnnotationKit`()

    Public Static Functions

    static AnnotationKit `GetDefault`()

      Creates a AnnotationKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for export unless a setting is overridden by the AnnotationKit passed to File::Export.

      Returns: | A AnnotationKit with the default settings.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishAnnotationKit
  class `Artwork`

    The Publish::Artwork class is a concept class for artwork-related enumerations.

    class `Display`

      The Publish::Artwork::Display class is a concept class for display-related artwork enumerations.

      Public Types

      enum class `Preference`

        Enumerates the preferences for the display of views in ArtworkKit objects.

        Values:

        enumerator `Defined`

          Prefer the display settings (rendering mode, lighting mode, and background color) set in a view when activating it.

        enumerator `Runtime`

          Prefer the runtime display settings (rendering mode, lighting mode, and background color) in the application when activating a view (except for the default view).

    class `View`

      The Publish::Artwork::View class is a concept class for view-related artwork enumerations.

      Public Types

      enum class `Preference`

        Enumerates the preferences for default views in ArtworkKit objects.

        Values:

        enumerator `Native`

          Prefer the native default view in the PRC data (if one is present).

        enumerator `PDF`

          Prefer the default view defined in the PDF (if one is present).

  class `ArtworkKit` : public HPS::SprocketKit

    The ArtworkKit class is a user space object. It acts as the container for all data that can be on an artwork in a Publish PDF.

    Public Functions

    ArtworkKit &`AddView`(ViewKit const &in_view)

      Adds a view to the artwork. This will append the view to any existing views on the artwork. These correspond to values that will be passed to A3DPDF3DArtworkAddView.

      Parameters: | in_view – The view to add to the artwork.
      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`AddViews`(size_t in_count, ViewKit const in_views[])

      Adds views to the artwork. This will append the views to any existing views on the artwork. These correspond to values that will be passed to A3DPDF3DArtworkAddView.

      Parameters: | in_count – Size of the following array. in_views – The views to add to the artwork.
      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`AddViews`(ViewKitArray const &in_views)

      Adds views to the artwork. This will append the views to any existing views on the artwork. These correspond to values that will be passed to A3DPDF3DArtworkAddView.

      Parameters: | in_views – The views to add to the artwork.
      Returns: | A reference to this ArtworkKit.

    `ArtworkKit`()

      The default constructor creates an empty ArtworkKit object.

    `ArtworkKit`(ArtworkKit &&in_kit)

      The move constructor creates an ArtworkKit by transferring the underlying object of the rvalue reference to this ArtworkKit.

      Parameters: | in_kit – An rvalue reference to an ArtworkKit to take the underlying object from.

    `ArtworkKit`(ArtworkKit const &in_kit)

      The copy constructor creates a new ArtworkKit object that contains the same settings as the source ArtworkKit.

      Parameters: | in_kit – The source ArtworkKit to copy.

    virtual bool `Empty`() const

      Indicates whether this ArtworkKit has any values set on it.

      Returns: | true if no values are set on this ArtworkKit, false otherwise.

    bool `Equals`(ArtworkKit const &in_kit) const

      Check if the source ArtworkKit is equivalent to this ArtworkKit.

      Parameters: | in_kit – The source ArtworkKit to compare to this ArtworkKit.
      Returns: | true if the objects are equivalent, false otherwise.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(ArtworkKit const &in_kit) const

      Check if the source ArtworkKit is not equivalent to this ArtworkKit.

      Parameters: | in_kit – The source ArtworkKit to compare to this ArtworkKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    ArtworkKit &`operator=`(ArtworkKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this ArtworkKit.

      Parameters: | in_kit – An rvalue reference to an ArtworkKit to take the underlying object from.
      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`operator=`(ArtworkKit const &in_kit)

      Copies the source ArtworkKit into this ArtworkKit.

      Parameters: | in_kit – The source ArtworkKit to copy.
      Returns: | A reference to this ArtworkKit.

    bool `operator==`(ArtworkKit const &in_kit) const

      Check if the source ArtworkKit is equivalent to this ArtworkKit.

      Parameters: | in_kit – The source ArtworkKit to compare to this ArtworkKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(ArtworkKit const &in_kit)

      Copies the source ArtworkKit into this ArtworkKit.

      Parameters: | in_kit – The source ArtworkKit to copy.

    ArtworkKit &`SetAnimationStyle`(Animation::Style in_style)

      Sets the animation style for the artwork. This corresponds to the value that will be passed to A3DPDF3DArtworkData2::m_eAnimationStyle.

      Parameters: | in_style – The animation style for the artwork.
      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`SetDefaultViewPreference`(Artwork::View::Preference in_preference)

      Sets the default view preference for the artwork. This corresponds to the value that will be passed to A3DPDF3DArtworkData2::m_bKeepNativeDefaultView.

      Parameters: | in_preference – The default view preference for the artwork.
      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`SetDisplayPreference`(Artwork::Display::Preference in_preference)

      Sets the display preference for the artwork. This corresponds to the value that will be passed to A3DPDF3DArtworkData2::m_bUseRuntimeDisplaySettings.

      Parameters: | in_preference – The display preference for the artwork.
      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`SetJavaScript`(char const *in_source, Source::Type in_type = Source::Type::Code)

      Sets the JavaScript source or file for the artwork. This corresponds to the value that will be passed to A3DPDF3DArtworkData2::m_pcJavaScriptFileName.

      Parameters: | in_source – The JavaScript source or file (depending on the next argument) for the artwork. in_type – The type of the preceding argument. Defaults to Source::Type::Code.
      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`SetPMIColor`(HPS::RGBColor const &in_pmi_color)

      Sets the PMI color for this artwork. This correspond to value that will be passed to A3DPDF3DArtworkData2::m_sPMIColor .

      Parameters: | in_pmi_color – The color to apply to PMIs for this artwork.
      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`SetPMICrossHighlighting`(bool in_state)

      Sets the whether to enable PMI cross-highlighting for the artwork. This corresponds to the value that will be passed to A3DPDF3DArtworkData2::m_bActivatePMICrossHighlight.

      Parameters: | in_state – Whether to highlight the geometry associated with a piece of PMI when that PMI is selected.
      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`SetPMISemanticInformation`(bool in_state)

      Sets the whether to include semantic PMI information in the artwork. This corresponds to the value that will be passed to A3DPDF3DArtworkData2::m_bAddPMISemanticInformation.

      Parameters: | in_state – Whether to include semantic PMI information in the artwork.
      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`SetView`(ViewKit const &in_view)

      Adds a view to the artwork. This will replace all views (if any) on the artwork. This corresponds to the value that will be passed to A3DPDF3DArtworkAddView.

      Parameters: | in_view – The view to add to the artwork.
      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`SetViews`(size_t in_count, ViewKit const in_views[])

      Adds views to the artwork. This will replace all views (if any) on the artwork. These correspond to values that will be passed to A3DPDF3DArtworkAddView.

      Parameters: | in_count – Size of the following array. in_views – The views to add to the artwork.
      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`SetViews`(ViewKitArray const &in_views)

      Adds views to the artwork. This will replace all views (if any) on the artwork. These correspond to values that will be passed to A3DPDF3DArtworkAddView.

      Parameters: | in_views – The views to add to the artwork.
      Returns: | A reference to this ArtworkKit.

    void `Show`(ArtworkKit &out_kit) const

      Copies this ArtworkKit into the given ArtworkKit.

      Parameters: | out_kit – The ArtworkKit to populate with the contents of this ArtworkKit.

    bool `ShowAnimationStyle`(Animation::Style &out_style) const

      Shows the animation style setting.

      Parameters: | out_style – The animation style of the artwork.
      Returns: | true if an animation style was specified, false otherwise.

    bool `ShowDefaultViewPreference`(Artwork::View::Preference &out_preference) const

      Shows the default view preference setting.

      Parameters: | out_preference – The default view preference for the artwork.
      Returns: | true if a default view preference was specified, false otherwise.

    bool `ShowDisplayPreference`(Artwork::Display::Preference &out_preference) const

      Shows the display preference setting.

      Parameters: | out_preference – The display preference for the artwork.
      Returns: | true if a display preference was specified, false otherwise.

    bool `ShowJavaScript`(UTF8 &out_source, Source::Type &out_type) const

      Shows the JavaScript setting.

      Parameters: | out_source – The JavaScript source or file (depending on the next argument) for the artwork. out_type – The type of the preceding argument.
      Returns: | true if a JavaScript source or file was specified, false otherwise.

    bool `ShowPMIColor`(HPS::RGBColor &out_pmi_color) const

      Shows the PMI color for the artwork.

      Parameters: | out_pmi_color – The PMI color for the artwork.
      Returns: | true if a PMI color was specified, false otherwise.

    bool `ShowPMICrossHighlighting`(bool &out_state) const

      Shows the PMI cross-highlighting setting.

      Parameters: | out_state – Whether to highlight the geometry associated with a piece of PMI when that PMI is selected.
      Returns: | true if a PMI cross-highlighting setting was specified, false otherwise.

    bool `ShowPMISemanticInformation`(bool &out_state) const

      Shows the semantic PMI information setting.

      Parameters: | out_state – Whether to include semantic PMI information in the artwork.
      Returns: | true if a semantic PMI information setting was specified, false otherwise.

    bool `ShowViews`(ViewKitArray &out_views) const

      Shows the views for the artwork.

      Parameters: | out_views – The views for the artwork.
      Returns: | true if views were specified, false otherwise.

    ArtworkKit &`UnsetAnimationStyle`()

      Removes the animation style setting.

      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`UnsetDefaultViewPreference`()

      Removes the default view preference setting.

      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`UnsetDisplayPreference`()

      Removes the display preference setting.

      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`UnsetEverything`()

      Removes all data from the artwork.

      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`UnsetJavaScript`()

      Removes the JavaScript setting.

      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`UnsetPMIColor`()

      Removes the PMI color setting from the artwork.

      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`UnsetPMICrossHighlighting`()

      Removes the PMI cross-highlighting setting.

      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`UnsetPMISemanticInformation`()

      Removes the PMI semantic information setting.

      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`UnsetView`(size_t in_index)

      Removes the view at the given index from the artwork.

      Parameters: | in_index – Index of the view to remove from the artwork.
      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`UnsetViews`()

      Removes all views from the artwork.

      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`UnsetViews`(size_t in_count, size_t const in_indices[])

      Removes the views at the given indices from the artwork.

      Parameters: | in_count – Size of the following array. in_indices – Indices of the views to remove from the artwork.
      Returns: | A reference to this ArtworkKit.

    ArtworkKit &`UnsetViews`(SizeTArray const &in_indices)

      Removes the views at the given indices from the artwork.

      Parameters: | in_indices – Indices of the views to remove from the artwork.
      Returns: | A reference to this ArtworkKit.

    virtual `~ArtworkKit`()

    Public Static Functions

    static ArtworkKit `GetDefault`()

      Creates a ArtworkKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for export unless a setting is overridden by the ArtworkKit passed to File::Export.

      Returns: | A ArtworkKit with the default settings.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishArtworkKit
  class `Border`

    The Publish::Border class is a concept class for border-related enumerations.

    Public Types

    enum class `Style`

      Enumerates the border styles.

      Values:

      enumerator `Solid`

        Solid (kA3DPDFSolid)

      enumerator `Dashed`

        Dashed (kA3DPDFDashed)

      enumerator `Beveled`

        Beveled (kA3DPDFBeveled)

      enumerator `Inset`

        Inset (kA3DPDFInset)

      enumerator `Underlined`

        Underlined (kA3DPDFUnderlined)

    enum class `Thickness`

      Enumerates the thicknesses for borders.

      Values:

      enumerator `Thin`

        Thin border (kA3DPDFThin)

      enumerator `Medium`

        Medium border (kA3DPDFMedium)

      enumerator `Wide`

        Wide border (kA3DPDFThick)

  class `ButtonKit` : public HPS::SprocketKit

    The ButtonKit class is a user space object. It acts as the container for all data that can be used to specify a button for a Publish PDF.

    Public Functions

    `ButtonKit`()

      The default constructor creates an empty ButtonKit object.

    `ButtonKit`(ButtonKit &&in_kit)

      The move constructor creates a ButtonKit by transferring the underlying object of the rvalue reference to this ButtonKit.

      Parameters: | in_kit – An rvalue reference to a ButtonKit to take the underlying object from.

    `ButtonKit`(ButtonKit const &in_kit)

      The copy constructor creates a new ButtonKit object that contains the same settings as the source ButtonKit.

      Parameters: | in_kit – The source ButtonKit to copy.

    virtual bool `Empty`() const

      Indicates whether this ButtonKit has any values set on it.

      Returns: | true if no values are set on this ButtonKit, false otherwise.

    bool `Equals`(ButtonKit const &in_kit) const

      Check if the source ButtonKit is equivalent to this ButtonKit.

      Parameters: | in_kit – The source ButtonKit to compare to this ButtonKit.
      Returns: | true if the objects are equivalent, false otherwise.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(ButtonKit const &in_kit) const

      Check if the source ButtonKit is not equivalent to this ButtonKit.

      Parameters: | in_kit – The source ButtonKit to compare to this ButtonKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    ButtonKit &`operator=`(ButtonKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this ButtonKit.

      Parameters: | in_kit – An rvalue reference to a ButtonKit to take the underlying object from.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`operator=`(ButtonKit const &in_kit)

      Copies the source ButtonKit into this ButtonKit.

      Parameters: | in_kit – The source ButtonKit to copy.
      Returns: | A reference to this ButtonKit.

    bool `operator==`(ButtonKit const &in_kit) const

      Check if the source ButtonKit is equivalent to this ButtonKit.

      Parameters: | in_kit – The source ButtonKit to compare to this ButtonKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(ButtonKit const &in_kit)

      Copies the source ButtonKit into this ButtonKit.

      Parameters: | in_kit – The source ButtonKit to copy.

    ButtonKit &`SetBorder`(bool in_state)

      Sets whether the button has a border. This corresponds to the value that will be passed to A3DPDFButtonData::m_bHasBorder.

      Parameters: | in_state – Whether the button has a border.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetBorderColor`(RGBColor const &in_color)

      Sets the border color for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_sBorderColor.

      Parameters: | in_color – The border color of the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetBorderStyle`(Border::Style in_style)

      Sets the border style for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_eLineStyleBorder.

      Parameters: | in_style – The border style for the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetBorderThickness`(Border::Thickness in_thickness)

      Sets the border thickness for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_eThicknessBorder.

      Parameters: | in_thickness – The border thickness for the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetFillColor`(RGBColor const &in_color)

      Sets the fill color for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_sFillColor and implicitly sets A3DPDFButtonData::m_bHasFillColor to true.

      Parameters: | in_color – The fill color for the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetFont`(char const *in_name, Text::Font::Style in_style = Text::Font::Style::Regular)

      Sets a specific font for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_pcFontName.

      Parameters: | in_name – UTF8-encoded font name for the button. in_style – The style of font to use for the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetFont`(Text::Font::Name in_name)

      Sets a builtin font for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_pcFontName.

      Parameters: | in_name – The builtin font for the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetFontSize`(int in_size)

      Sets the font size for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_iFontSize.

      Parameters: | in_size – The font size for the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetHighlighting`(Highlighting::Mode in_mode)

      Sets the highlighting mode for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_eHighlightingMode.

      Parameters: | in_mode – The highlighting mode for the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetIconImage`(ImageKit const &in_image)

      Sets the icon image for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_pImage.

      Parameters: | in_image – The icon image for the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetLabel`(char const *in_label)

      Sets the label for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_pcLabel.

      Parameters: | in_label – UTF8-encoded label for the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetLabelPosition`(Label::Position in_position)

      Sets the label position for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_eLayoutTextIcon.

      Parameters: | in_position – The label position for the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetLock`(bool in_state)

      Sets whether the button is locked. This corresponds to the value that will be passed to A3DPDFButtonData::m_bIsLocked.

      Parameters: | in_state – Whether the button is locked.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetName`(char const *in_name)

      Sets the name of the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_pcName.

      Parameters: | in_name – UTF8-encoded name of the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetPrintability`(bool in_state)

      Sets the printability for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_eFormField.

      Parameters: | in_state – The printability for the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetTextColor`(RGBColor const &in_color)

      Sets the text color for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_sTextColor.

      Parameters: | in_color – The text color for the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetTextRotation`(Text::Rotation in_rotation)

      Sets the text rotation for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_eTextOrientation.

      Parameters: | in_rotation – The text rotation for the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetTooltip`(char const *in_tooltip)

      Sets the tooltip for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_pcTooltip.

      Parameters: | in_tooltip – UTF8-encoded tooltip text for the button.
      Returns: | A reference to this ButtonKit.

    ButtonKit &`SetVisibility`(bool in_state)

      Sets the visibility for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_eFormField.

      Parameters: | in_state – The visibility for the button.
      Returns: | A reference to this ButtonKit.

    void `Show`(ButtonKit &out_kit) const

      Copies this ButtonKit into the given ButtonKit.

      Parameters: | out_kit – The ButtonKit to populate with the contents of this ButtonKit.

    bool `ShowBorder`(bool &out_state) const

      Shows the border setting for the button.

      Parameters: | out_state – Whether the button has a border.
      Returns: | true if a border setting was specified, false otherwise.

    bool `ShowBorderColor`(RGBColor &out_color) const

      Shows the border color for the button.

      Parameters: | out_color – The border color of the button.
      Returns: | true if a border color was specified, false otherwise.

    bool `ShowBorderStyle`(Border::Style &out_style) const

      Shows the border style for the button.

      Parameters: | out_style – The border style for the button.
      Returns: | true if a border style was specified, false otherwise.

    bool `ShowBorderThickness`(Border::Thickness &out_thickness) const

      Shows the border thickness for the button.

      Parameters: | out_thickness – The border thickness for the button.
      Returns: | true if a border thickness was specified, false otherwise.

    bool `ShowFillColor`(RGBColor &out_color) const

      Shows the fill color for the button.

      Parameters: | out_color – The fill color for the button.
      Returns: | true if a fill color was specified, false otherwise.

    bool `ShowFont`(Text::Font::Type &out_type, Text::Font::Name &out_font, UTF8 &out_font_name, Text::Font::Style &out_style) const

      Shows the font for the button.

      Parameters: | out_type – The type of font for the button. out_font – The built-in font for the button. This is only valid if out_type is Text::Font::Type::BuiltIn. out_font_name – The explicit font name for the button. This is only valid if out_type is Text::Font::Type::Explicit. out_style – The font style for the button. This is only valid if out_type is Text::Font::Type::Explicit.
      Returns: | true if a font was specified, false otherwise.

    bool `ShowFontSize`(int &out_size) const

      Shows the font size for the button.

      Parameters: | out_size – The font size for the button.
      Returns: | true if a font size was specified, false otherwise.

    bool `ShowHighlighting`(Highlighting::Mode &out_mode) const

      Shows the highlighting mode for the button.

      Parameters: | out_mode – The highlighting mode for the button.
      Returns: | true if a highlighting mode was specified, false otherwise.

    bool `ShowIconImage`(ImageKit &out_image) const

      Shows the icon image for the button.

      Parameters: | out_image – The icon image for the button.
      Returns: | true if an icon image was specified, false otherwise.

    bool `ShowLabel`(UTF8 &out_label) const

      Shows the label for the button.

      Parameters: | out_label – The label for the button.
      Returns: | true if a label was specified, false otherwise.

    bool `ShowLabelPosition`(Label::Position &out_position) const

      Shows the label position for the button.

      Parameters: | out_position – The label position for the button.
      Returns: | true if a label position was specified, false otherwise.

    bool `ShowLock`(bool &out_state) const

      Shows the lock setting for the button.

      Parameters: | in_state – Whether the button is locked.
      Returns: | true if a lock setting was specified, false otherwise.

    bool `ShowName`(UTF8 &out_name) const

      Shows the name for the button.

      Parameters: | out_name – The name of the button.
      Returns: | true if a name was specified, false otherwise.

    bool `ShowPrintability`(bool &out_state) const

      Shows the printability for the button.

      Parameters: | out_state – The printability for the button.
      Returns: | true if a printability was specified, false otherwise.

    bool `ShowTextColor`(RGBColor &out_color) const

      Shows the text color for the button.

      Parameters: | out_color – The text color for the button.
      Returns: | true if a text color was specified, false otherwise.

    bool `ShowTextRotation`(Text::Rotation &out_rotation) const

      Shows the text rotation for the button.

      Parameters: | out_rotation – The text rotation for the button.r
      Returns: | true if a rotation was specified, false otherwise.

    bool `ShowTooltip`(UTF8 &out_tooltip) const

      Shows the tooltip for the button.

      Parameters: | out_tooltip – The tooltip text for the button.
      Returns: | true if a tooltip was specified, false otherwise.

    bool `ShowVisibility`(bool &out_state) const

      Shows the visibility for the button.

      Parameters: | out_state – The visibility for the button.
      Returns: | true if a visibility was specified, false otherwise.

    ButtonKit &`UnsetBorder`()

      Removes the border setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetBorderColor`()

      Removes the border color setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetBorderStyle`()

      Removes the border style setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetBorderThickness`()

      Removes the border thickness setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetEverything`()

      Removes all data from the button.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetFillColor`()

      Removes the fill color setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetFont`()

      Removes the font setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetFontSize`()

      Removes the font size setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetHighlighting`()

      Removes the highlighting mode setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetIconImage`()

      Removes the icon image setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetLabel`()

      Removes the label setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetLabelPosition`()

      Removes the label position setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetLock`()

      Removes the lock setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetName`()

      Removes the name setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetPrintability`()

      Removes the printability setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetTextColor`()

      Removes the text color setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetTextRotation`()

      Removes the text rotation setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetTooltip`()

      Removes the tooltip setting.

      Returns: | A reference to this ButtonKit.

    ButtonKit &`UnsetVisibility`()

      Removes the visibility setting.

      Returns: | A reference to this ButtonKit.

    virtual `~ButtonKit`()

    Public Static Functions

    static ButtonKit `GetDefault`()

      Creates a ButtonKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for a button unless a setting is overridden by the ButtonKit passed to a function.

      Returns: | A ButtonKit with the default settings.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishButtonKit
  class `CheckBoxKit` : public HPS::SprocketKit

    The CheckBoxKit class is a user space object. It acts as the container for all data that can be used to specify a check box for a Publish PDF.

    Public Functions

    `CheckBoxKit`()

      The default constructor creates an empty CheckBoxKit object.

    `CheckBoxKit`(CheckBoxKit &&in_kit)

      The move constructor creates a CheckBoxKit by transferring the underlying object of the rvalue reference to this CheckBoxKit.

      Parameters: | in_kit – An rvalue reference to a CheckBoxKit to take the underlying object from.

    `CheckBoxKit`(CheckBoxKit const &in_kit)

      The copy constructor creates a new CheckBoxKit object that contains the same settings as the source CheckBoxKit.

      Parameters: | in_kit – The source CheckBoxKit to copy.

    virtual bool `Empty`() const

      Indicates whether this CheckBoxKit has any values set on it.

      Returns: | true if no values are set on this CheckBoxKit, false otherwise.

    bool `Equals`(CheckBoxKit const &in_kit) const

      Check if the source CheckBoxKit is equivalent to this CheckBoxKit.

      Parameters: | in_kit – The source CheckBoxKit to compare to this CheckBoxKit.
      Returns: | true if the objects are equivalent, false otherwise.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(CheckBoxKit const &in_kit) const

      Check if the source CheckBoxKit is not equivalent to this CheckBoxKit.

      Parameters: | in_kit – The source CheckBoxKit to compare to this CheckBoxKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    CheckBoxKit &`operator=`(CheckBoxKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this CheckBoxKit.

      Parameters: | in_kit – An rvalue reference to a CheckBoxKit to take the underlying object from.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`operator=`(CheckBoxKit const &in_kit)

      Copies the source CheckBoxKit into this CheckBoxKit.

      Parameters: | in_kit – The source CheckBoxKit to copy.
      Returns: | A reference to this CheckBoxKit.

    bool `operator==`(CheckBoxKit const &in_kit) const

      Check if the source CheckBoxKit is equivalent to this CheckBoxKit.

      Parameters: | in_kit – The source CheckBoxKit to compare to this CheckBoxKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(CheckBoxKit const &in_kit)

      Copies the source CheckBoxKit into this CheckBoxKit.

      Parameters: | in_kit – The source CheckBoxKit to copy.

    CheckBoxKit &`SetBorder`(bool in_state)

      Sets whether the check box has a border. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_bHasBorder.

      Parameters: | in_state – Whether the check box has a border.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetBorderColor`(RGBColor const &in_color)

      Sets the border color for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_sBorderColor.

      Parameters: | in_color – The border color of the check box.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetBorderStyle`(Border::Style in_style)

      Sets the border style for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_eLineStyleBorder.

      Parameters: | in_style – The border style for the check box.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetBorderThickness`(Border::Thickness in_thickness)

      Sets the border thickness for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_eThicknessBorder.

      Parameters: | in_thickness – The border thickness for the check box.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetDefaultState`(bool in_state)

      Sets whether the check box is checked by default. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_bIsCheckedByDefault.

      Parameters: | in_state – Whether the check box is checked by default.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetExportValue`(char const *in_export_value)

      Sets the export value used when field data is exported by Acrobat functions. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_pcExportValue.

      Parameters: | in_export_value – UTF8-encoded export value of the check box.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetFillColor`(RGBColor const &in_color)

      Sets the fill color for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_sFillColor and implicitly sets A3DPDFCheckBoxData::m_bHasFillColor to true.

      Parameters: | in_color – The fill color for the check box.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetFont`(char const *in_name, Text::Font::Style in_style = Text::Font::Style::Regular)

      Sets a specific font for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_pcFontName.

      Parameters: | in_name – UTF8-encoded font name for the check box. in_style – The style of font to use for the check box.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetFont`(Text::Font::Name in_name)

      Sets a builtin font for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_pcFontName.

      Parameters: | in_name – The builtin font for the check box.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetFontSize`(int in_size)

      Sets the font size for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_iFontSize.

      Parameters: | in_size – The font size for the check box.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetLock`(bool in_state)

      Sets whether the check box is locked. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_bIsLocked.

      Parameters: | in_state – Whether the check box is locked.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetName`(char const *in_name)

      Sets the name of the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_pcName.

      Parameters: | in_name – UTF8-encoded name of the check box.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetPrintability`(bool in_state)

      Sets the printability for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_eFormField.

      Parameters: | in_state – The printability for the check box.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetTextColor`(RGBColor const &in_color)

      Sets the text color for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_sTextColor.

      Parameters: | in_color – The text color for the check box.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetTextRotation`(Text::Rotation in_rotation)

      Sets the text rotation for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_eTextOrientation.

      Parameters: | in_rotation – The text rotation for the check box.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetTooltip`(char const *in_tooltip)

      Sets the tooltip for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_pcTooltip.

      Parameters: | in_tooltip – UTF8-encoded tooltip text for the check box.
      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`SetVisibility`(bool in_state)

      Sets the visibility for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_eFormField.

      Parameters: | in_state – The visibility for the check box.
      Returns: | A reference to this CheckBoxKit.

    void `Show`(CheckBoxKit &out_kit) const

      Copies this CheckBoxKit into the given CheckBoxKit.

      Parameters: | out_kit – The CheckBoxKit to populate with the contents of this CheckBoxKit.

    bool `ShowBorder`(bool &out_state) const

      Shows the border setting for the check box.

      Parameters: | out_state – Whether the check box has a border.
      Returns: | true if a border setting was specified, false otherwise.

    bool `ShowBorderColor`(RGBColor &out_color) const

      Shows the border color for the check box.

      Parameters: | out_color – The border color of the check box.
      Returns: | true if a border color was specified, false otherwise.

    bool `ShowBorderStyle`(Border::Style &out_style) const

      Shows the border style for the check box.

      Parameters: | out_style – The border style for the check box.
      Returns: | true if a border style was specified, false otherwise.

    bool `ShowBorderThickness`(Border::Thickness &out_thickness) const

      Shows the border thickness for the check box.

      Parameters: | out_thickness – The border thickness for the check box.
      Returns: | true if a border thickness was specified, false otherwise.

    bool `ShowDefaultState`(bool &out_default_state) const

      Shows the default state for the check box.

      Parameters: | out_default_state – The default state for the check box.
      Returns: | true if a default state was specified, false otherwise.

    bool `ShowExportValue`(UTF8 &out_export_value) const

      Shows the export value for the check box.

      Parameters: | out_export_value – The export value for the check box.
      Returns: | true if an export value was specified, false otherwise.

    bool `ShowFillColor`(RGBColor &out_color) const

      Shows the fill color for the check box.

      Parameters: | out_color – The fill color for the check box.
      Returns: | true if a fill color was specified, false otherwise.

    bool `ShowFont`(Text::Font::Type &out_type, Text::Font::Name &out_font, UTF8 &out_font_name, Text::Font::Style &out_style) const

      Shows the font for the check box.

      Parameters: | out_type – The type of font for the check box. out_font – The built-in font for the check box. This is only valid if out_type is Text::Font::Type::BuiltIn. out_font_name – The explicit font name for the check box. This is only valid if out_type is Text::Font::Type::Explicit. out_style – The font style for the check box. This is only valid if out_type is Text::Font::Type::Explicit.
      Returns: | true if a font was specified, false otherwise.

    bool `ShowFontSize`(int &out_size) const

      Shows the font size for the check box.

      Parameters: | out_size – The font size for the check box.
      Returns: | true if a font size was specified, false otherwise.

    bool `ShowLock`(bool &out_state) const

      Shows the lock setting for the check box.

      Parameters: | in_state – Whether the check box is locked.
      Returns: | true if a lock setting was specified, false otherwise.

    bool `ShowName`(UTF8 &out_name) const

      Shows the name for the check box.

      Parameters: | out_name – The name of the check box.
      Returns: | true if a name was specified, false otherwise.

    bool `ShowPrintability`(bool &out_state) const

      Shows the printability for the check box.

      Parameters: | out_state – The printability for the check box.
      Returns: | true if a printability was specified, false otherwise.

    bool `ShowTextColor`(RGBColor &out_color) const

      Shows the text color for the check box.

      Parameters: | out_color – The text color for the check box.
      Returns: | true if a text color was specified, false otherwise.

    bool `ShowTextRotation`(Text::Rotation &out_rotation) const

      Shows the text rotation for the check box.

      Parameters: | out_rotation – The text rotation for the check box.
      Returns: | true if a rotation was specified, false otherwise.

    bool `ShowTooltip`(UTF8 &out_tooltip) const

      Shows the tooltip for the check box.

      Parameters: | out_tooltip – The tooltip text for the check box.
      Returns: | true if a tooltip was specified, false otherwise.

    bool `ShowVisibility`(bool &out_state) const

      Shows the visibility for the check box.

      Parameters: | out_state – The visibility for the check box.
      Returns: | true if a visibility was specified, false otherwise.

    CheckBoxKit &`UnsetBorder`()

      Removes the border setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetBorderColor`()

      Removes the border color setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetBorderStyle`()

      Removes the border style setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetBorderThickness`()

      Removes the border thickness setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetDefaultState`()

      Removes the default state setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetEverything`()

      Removes all data from the check box.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetExportValue`()

      Removes the export value setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetFillColor`()

      Removes the fill color setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetFont`()

      Removes the font setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetFontSize`()

      Removes the font size setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetLock`()

      Removes the lock setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetName`()

      Removes the name setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetPrintability`()

      Removes the printability setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetTextColor`()

      Removes the text color setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetTextRotation`()

      Removes the text rotation setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetTooltip`()

      Removes the tooltip setting.

      Returns: | A reference to this CheckBoxKit.

    CheckBoxKit &`UnsetVisibility`()

      Removes the visibility setting.

      Returns: | A reference to this CheckBoxKit.

    virtual `~CheckBoxKit`()

    Public Static Functions

    static CheckBoxKit `GetDefault`()

      Creates a CheckBoxKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for a button unless a setting is overridden by the CheckBoxKit passed to a function.

      Returns: | A CheckBoxKit with the default settings.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishCheckBoxKit
  class `DataTableKit` : public HPS::SprocketKit

    The DataTableKit class is a user space object. It acts as the container for all data that can be used to specify a Data Table for a Publish PDF.

    Public Functions

    `DataTableKit`()

      The default constructor creates an empty DataTableKit object.

    `DataTableKit`(DataTableKit &&in_kit)

      The move constructor creates a DataTableKit by transferring the underlying object of the rvalue reference to this DataTableKit.

      Parameters: | in_kit – An rvalue reference to a DataTableKit to take the underlying object from.

    `DataTableKit`(DataTableKit const &in_kit)

      The copy constructor creates a new DataTableKit object that contains the same settings as the source DataTableKit.

      Parameters: | in_kit – The source DataTableKit to copy.

    virtual bool `Empty`() const

      Indicates whether this DataTableKit has any values set on it.

      Returns: | true if no values are set on this DataTableKit, false otherwise.

    bool `Equals`(DataTableKit const &in_kit) const

      Check if the source DataTableKit is equivalent to this DataTableKit.

      Parameters: | in_kit – The source DataTableKit to compare to this DataTableKit.
      Returns: | true if the objects are equivalent, false otherwise.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(DataTableKit const &in_kit) const

      Check if the source DataTableKit is not equivalent to this DataTableKit.

      Parameters: | in_kit – The source DataTableKit to compare to this DataTableKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    DataTableKit &`operator=`(DataTableKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this DataTableKit.

      Parameters: | in_kit – An rvalue reference to a DataTableKit to take the underlying object from.
      Returns: | A reference to this DataTableKit.

    DataTableKit &`operator=`(DataTableKit const &in_kit)

      Copies the source DataTableKit into this DataTableKit.

      Parameters: | in_kit – The source DataTableKit to copy.
      Returns: | A reference to this DataTableKit.

    bool `operator==`(DataTableKit const &in_kit) const

      Check if the source DataTableKit is equivalent to this DataTableKit.

      Parameters: | in_kit – The source DataTableKit to compare to this DataTableKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(DataTableKit const &in_kit)

      Copies the source DataTableKit into this DataTableKit.

      Parameters: | in_kit – The source DataTableKit to copy.

    DataTableKit &`SetColumns`(unsigned int in_value)

      Sets the number of columns for the DataTable. This corresponds to the value that will be passed to 3DPDFDataTableData::m_iNbCols.

      Parameters: | in_value – The number of columns of theData Table.
      Returns: | A reference to this DataTableKit.

    DataTableKit &`SetData`(UTF8ArrayArray in_value)

      Sets the data for the DataTable. This corresponds to the value that will be passed to 3DPDFDataTableData::m_ppcTexts.

      Parameters: | in_value – The array of UTF8Array of data (string forms) to be put in the DataTable.
      Returns: | A reference to this DataTableKit.

    DataTableKit &`SetRows`(unsigned int in_value)

      Sets the number of rows for the DataTable. This corresponds to the value that will be passed to 3DPDFDataTableData::m_iNbRows.

      Parameters: | in_value – The number of rows of theData Table.
      Returns: | A reference to this DataTableKit.

    void `Show`(DataTableKit &out_kit) const

      Copies this DataTableKit into the given DataTableKit.

      Parameters: | out_kit – The DataTableKit to populate with the contents of this DataTableKit.

    bool `ShowColumns`(unsigned int &out_number) const

      Shows the number of columns of the DataTable.

      Parameters: | out_number – The number of columns of the DataTable.
      Returns: | true if a number of columns was specified, false otherwise.

    bool `ShowData`(UTF8ArrayArray &out_data) const

      Shows the data stored inside the DataTable.

      Parameters: | out_data – The data stored inside the DataTable.
      Returns: | true if the DataTable contains any data, false otherwise.

    bool `ShowRows`(unsigned int &out_number) const

      Shows the number of rows of the DataTable.

      Parameters: | out_number – The number of rows of the DataTable.
      Returns: | true if a number of rows was specified, false otherwise.

    DataTableKit &`UnsetColumns`()

      Removes the columns setting.

      Returns: | A reference to this DataTableKit.

    DataTableKit &`UnsetData`()

      Removes the Data setting.

      Returns: | A reference to this DataTableKit.

    DataTableKit &`UnsetRows`()

      Removes the rows setting.

      Returns: | A reference to this DataTableKit.

    virtual `~DataTableKit`()

    Public Static Functions

    static DataTableKit `GetDefault`()

      Creates a DataTableKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for a text field unless a setting is overridden by the DataTableKit passed to a function.

      Returns: | A DataTableKit with the default settings.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishDataTableKit
  class `Deactivation`

    The Publish::Deactivation class is a concept class for deactivation-related enumeration.

    Public Types

    enum class `When`

      Enumerates when an annotation is deactivated.

      Values:

      enumerator `Explicit`

        Annotation is not deactivated until a script or the user explcitly deactivate it (kA3DPDFActivExplicitDesactivation).

      enumerator `Closed`

        Annotation is deactivated as soon as the page containing it is closed (kA3DPDFActivPageClosed).

      enumerator `NotVisible`

        Annotation is deactivated as soon as the page containing it is no longer visible (kA3DPDFActivPageNotVisible).

  class `DocumentKey` : public HPS::Sprocket

    The DocumentKey class is a smart pointer to a Publish PDF document. It allows direct interaction with a PDF document.

    Public Functions

    DocumentKey &`AddAttachment`(char const *in_filename, char const *in_description)

      Adds an attachment to the document. If there is an existing attachment on the document with the given filename, it will get overwritten. This corresponds to the value that will be passed to A3DPDFDocumentAddFileAttachment.

      Parameters: | in_filename – UTF8-encoded filename of the file to be attached. in_description – UTF8-encoded description of the file to be attached.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`AddAttachments`(size_t in_count, UTF8 const in_filenames[], UTF8 const in_descriptions[])

      Adds a list of attachments to the document. If there is an existing attachment on the document with a filename which is in the given list, it will get overwritten. These correspond to values that will be passed to A3DPDFDocumentAddFileAttachment.

      Parameters: | in_count – Size of the following arrays. in_filenames – Filenames of the files to be attached. in_descriptions – Descriptions of the files to be attached.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`AddAttachments`(UTF8Array const &in_filenames, UTF8Array const &in_descriptions)

      Adds a list of attachments to the document. If there is an existing attachment on the document with a filename which is in the given list, it will get overwritten. These correspond to values that will be passed to A3DPDFDocumentAddFileAttachment.

      Parameters: | in_filenames – Filenames of the files to be attached. in_descriptions – Descriptions of the files to be attached.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`AddIconImage`(char const *in_name, ImageKit const &in_image)

      Adds an icon image to the document. If there is an existing icon image on the document with the given name, it will get overwritten. This corresponds to the value that will be passed to A3DPDFDocumentAddImageAsIcon2.

      Parameters: | in_name – UTF8-encoded name of the icon image to be attached. in_image – Image to be attached as an icon.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`AddIconImages`(size_t in_count, UTF8 const in_names[], ImageKit const in_images[])

      Adds icon images to the document. If there is an existing icon image on the document with a name which is in the given list, it will get overwritten. These correspond to the values that will be passed to A3DPDFDocumentAddImageAsIcon2.

      Parameters: | in_count – Size of the following arrays. in_names – Names of the icon images to be attached. in_images – Images to be attached as icons.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`AddIconImages`(UTF8Array const &in_names, ImageKitArray const &in_images)

      Adds icon images to the document. If there is an existing icon image on the document with a name which is in the given list, it will get overwritten. These correspond to the values that will be passed to A3DPDFDocumentAddImageAsIcon2.

      Parameters: | in_names – Names of the icon images to be attached. in_images – Images to be attached as icons.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`AddJavaScript`(char const *in_script_name, char const *in_source, Source::Type in_type = Source::Type::Code)

      Adds a named JavaScript source or file to the document. If there is an existing script on the document with the given name, it will get overwritten. This corresponds to the value that will be passed to A3DPDFDocumentAddJavascriptFromString.

      Parameters: | in_script_name – UTF8-encoded script name to be added to the document. in_source – UTF8-encoded JavaScript source or file (depending on the following argument) to be added to the document. in_type – The types of the preceding argument. Defaults to Source::Type::Code.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`AddJavaScript`(size_t in_count, UTF8 const in_script_names[], UTF8 const in_sources[], Source::Type const in_types[])

      Adds a list of named JavaScript sources or files to the document. If there is an existing script on the document with a name which is in the given list, it will get overwritten. These correspond to values that will be passed to A3DPDFDocumentAddJavascriptFromString.

      Parameters: | in_count – Size of the following arrays. in_script_names – Script names to be added to the document. in_sources – JavaScript sources and/or files (depending on the corresponding entry in the following argument) to be added to the document. in_types – Types for each item in the preceding argument array.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`AddJavaScript`(UTF8Array const &in_script_names, UTF8Array const &in_sources, SourceTypeArray const &in_types)

      Adds a list of named JavaScript sources or files to the document. If there is an existing script on the document with a name which is in the given list, it will get overwritten. These correspond to values that will be passed to A3DPDFDocumentAddJavascriptFromString.

      Parameters: | in_script_names – Script names to be added to the document. in_sources – JavaScript sources and/or files (depending on the corresponding entry in the following argument) to be added to the document. in_types – Types for each item in the preceding argument array.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`AddPage`(PageKit const &in_page)

      Adds the given page to the document. This will append the page after any existing pages on the document. This corresponds to the value that will be passed to A3DPDFDocumentAppendNewPage2 or A3DPDFDocumentAppendPageFromPDFFileEx.

      Parameters: | in_page – Page to add to the document.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`AddPages`(PageKitArray const &in_pages)

      Adds the given pages to the document. This will append the pages after any existing pages on the document. These correspond to values that will be passed to A3DPDFDocumentAppendNewPage2 or A3DPDFDocumentAppendPageFromPDFFileEx.

      Parameters: | in_pages – Pages to add to the document.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`AddPages`(size_t in_count, PageKit const in_pages[])

      Adds the given pages to the document. This will append the pages after any existing pages on the document. These correspond to values that will be passed to A3DPDFDocumentAppendNewPage2 or A3DPDFDocumentAppendPageFromPDFFileEx.

      Parameters: | in_count – Size of the Following array. in_pages – Pages to add to the document.
      Returns: | A reference to this DocumentKey.

    virtual void `Assign`(DocumentKey const &in_that)

      Share the underlying smart-pointer of the DocumentKey source.

      Parameters: | in_that – The DocumentKey source of the assignment.
      Returns: | A reference to this DocumentKey.

    void `Delete`()

      Closes the PDF document underlying this DocumentKey and frees the associated memory in Publish. This will effectively invalidate all references to the underlying PDF document (including other DocumentKey or PageControl objects which refer to the same document). This will not write the underlying PDF document out to disk.

    `DocumentKey`()

      The default constructor creates an uninitialized DocumentKey object. The Type() function will return Type::None.

    `DocumentKey`(DocumentKey &&in_that)

      The move constructor creates a DocumentKey by transferring the underlying object of the rvalue reference to this DocumentKey.

      Parameters: | in_kit – An rvalue reference to a DocumentKey to take the underlying object from.

    `DocumentKey`(DocumentKey const &in_that)

      The copy constructor creates a DocumentKey object that shares the underlying smart-pointer of the source DocumentKey.

      Parameters: | in_that – The source DocumentKey to copy.

    bool `Equals`(DocumentKey const &in_that) const

      Check if the source DocumentKey points to the same underlying impl as this DocumentKey.

      Parameters: | in_that – The source DocumentKey to compare to this DocumentKey.
      Returns: | true if the objects reference the same impl, false otherwise.

    PageControl `GetPageControl`(size_t in_index)

      Returns a control that allows the user to manipulate and query details of a page at the given index in the underlying PDF document.

      Parameters: | in_index – The index of the page for which to create a PageControl. The index of the first page is 0.
      Returns: | A PageControl object for the specified page.

    PageControl const `GetPageControl`(size_t in_index) const

      Returns a control that allows the user to manipulate and query details of a page at the given index in the underlying PDF document.

      Parameters: | in_index – The index of the page for which to create a PageControl. The index of the first page is 0.
      Returns: | A PageControl object for the specified page.

    size_t `GetPageCount`() const

      Gets the number of pages in the underlying PDF document.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(DocumentKey const &in_that) const

      Check if the source DocumentKey points to a different impl than this DocumentKey.

      Parameters: | in_that – The source DocumentKey to compare to this DocumentKey.
      Returns: | true if the objects reference different impls, false otherwise.

    DocumentKey &`operator=`(DocumentKey &&in_that)

      The move assignment operator transfers the underlying object of the rvalue reference to this DocumentKey.

      Parameters: | in_kit – An rvalue reference to a DocumentKey to take the underlying object from.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`operator=`(DocumentKey const &in_that)

      Share the underlying smart-pointer of the DocumentKey source.

      Parameters: | in_that – The DocumentKey source of the assignment.
      Returns: | A reference to this DocumentKey.

    bool `operator==`(DocumentKey const &in_that) const

      Check if the source DocumentKey points to the same underlying impl as this DocumentKey.

      Parameters: | in_that – The source DocumentKey to compare to this DocumentKey.
      Returns: | true if the objects reference the same impl, false otherwise.

    DocumentKey &`RemoveAllPages`()

      Removes all pages from the underlying PDF document.

      Returns: | A reference to this DocumentKey.

    DocumentKey &`RemovePage`(size_t in_index)

      Removes the page at the given index from the underlying PDF document.

      Parameters: | in_index – The index of the page to remove from the underlying PDF document. The index of the first page is 0.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`RemovePages`(size_t in_count, size_t const in_indices[])

      Removes the pages at the given indices from the underlying PDF document.

      Parameters: | in_count – Size of the following array. in_indices – The indices of pages to remove from the underlying PDF document. The index of the first page is 0.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`RemovePages`(size_t in_start, size_t in_count)

      Removes the specified number of pages starting at the given index from the underlying PDF document.

      Parameters: | in_start – The first index at which to start to removing pages from the underlying PDF document. The index of the first page is 0. in_count – The number of pages to remove from the underlying PDF document.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`RemovePages`(SizeTArray const &in_indices)

      Removes the pages at the given indices from the underlying PDF document.

      Parameters: | in_indices – The indices of pages to remove from the underlying PDF document. The index of the first page is 0.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`SetInformation`(char const *in_title, char const *in_author, char const *in_subject, char const *in_creator)

      Sets the title, author, subject and creator for this document. These corresponds to the values that will be passed to A3DPDFDocumentInformationData::m_pcTitle, A3DPDFDocumentInformationData::m_pcAuthor, A3DPDFDocumentInformationData::m_pcSubject, and A3DPDFDocumentInformationData::m_pcCreator (respectively).

      Parameters: | in_title – UTF8-encoded title string to set on the document. in_author – UTF8-encoded author string to set on the document. in_subject – UTF8-encoded subject string to set on the document. in_creator – UTF8-encoded creator string to set on the document.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`SetPasswordSecurity`(char const *in_user_password, char const *in_owner_password, PermissionTypeArray const &in_permissions)

      Sets document permissions. This correspond to the values that will be passed to A3DPDFDocumentSetPasswordSecurity.

      Parameters: | in_user_password – UTF8-encoded password string required when opening, modifying or printing the document. If an empty string is specified, no password will be required. in_owner_password – UTF8-encoded password string required when changing security features of document. If an empty string is specified, no password will be required. in_permissions – The permissions to be set on the document.
      Returns: | A reference to this DocumentKey.

    DocumentKey &`SetPasswordSecurity`(char const *in_user_password, char const *in_owner_password, size_t in_permissions_count, HPS::Publish::Permission::Type const in_permissions[])

      Sets document permissions. This correspond to the values that will be passed to A3DPDFDocumentSetPasswordSecurity.

      Parameters: | in_user_password – UTF8-encoded password string required when opening, modifying or printing the document. If an empty string is specified, no password will be required. in_owner_password – UTF8-encoded password string required when changing security features of document. If an empty string is specified, no password will be required. in_permissions_count – Size of the following array in_permissions – The permissions to be set on the document.
      Returns: | A reference to this DocumentKey.

    virtual `~DocumentKey`()

      Releases a reference to this DocumentKey. When the last reference goes out of scope, the underlying PDF document will be closed and any associated memory will be released by Publish if necessary. This will not write the underlying PDF document out to disk.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishDocumentKey
  class `DocumentKit` : public HPS::SprocketKit

    The DocumentKit class is a user space object. It acts as the root container for all pages in a Publish PDF.

    Public Functions

    DocumentKit &`AddAttachment`(char const *in_filename, char const *in_description)

      Adds an attachment to the document. If there is an existing attachment on the document with the given filename, it will get overwritten. This corresponds to the value that will be passed to A3DPDFDocumentAddFileAttachment.

      Parameters: | in_filename – UTF8-encoded filename of the file to be attached. in_description – UTF8-encoded description of the file to be attached.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`AddAttachments`(size_t in_count, UTF8 const in_filenames[], UTF8 const in_descriptions[])

      Adds a list of attachments to the document. If there is an existing attachment on the document with a filename which is in the given list, it will get overwritten. These correspond to values that will be passed to A3DPDFDocumentAddFileAttachment.

      Parameters: | in_count – Size of the following arrays. in_filenames – Filenames of the files to be attached. in_descriptions – Descriptions of the files to be attached.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`AddAttachments`(UTF8Array const &in_filenames, UTF8Array const &in_descriptions)

      Adds a list of attachments to the document. If there is an existing attachment on the document with a filename which is in the given list, it will get overwritten. These correspond to values that will be passed to A3DPDFDocumentAddFileAttachment.

      Parameters: | in_filenames – Filenames of the files to be attached. in_descriptions – Descriptions of the files to be attached.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`AddDataTable`(DataTableKit const &in_data_table)

      Adds an data table to the document.

      Parameters: | in_data_table – Data Table to be added into the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`AddDataTables`(DataTableKitArray const in_data_table)

      Adds data tables to the document.

      Parameters: | in_data_table – Data Tables to be added into the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`AddIconImage`(char const *in_name, ImageKit const &in_image)

      Adds an icon image to the document. If there is an existing icon image on the document with the given name, it will get overwritten. This corresponds to the value that will be passed to A3DPDFDocumentAddImageAsIcon2.

      Parameters: | in_name – UTF8-encoded name of the icon image to be attached. in_image – Image to be attached as an icon.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`AddIconImages`(size_t in_count, UTF8 const in_names[], ImageKit const in_images[])

      Adds icon images to the document. If there is an existing icon image on the document with a name which is in the given list, it will get overwritten. These correspond to the values that will be passed to A3DPDFDocumentAddImageAsIcon2.

      Parameters: | in_count – Size of the following arrays. in_names – Names of the icon images to be attached. in_images – Images to be attached as icons.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`AddIconImages`(UTF8Array const &in_names, ImageKitArray const &in_images)

      Adds icon images to the document. If there is an existing icon image on the document with a name which is in the given list, it will get overwritten. These correspond to the values that will be passed to A3DPDFDocumentAddImageAsIcon2.

      Parameters: | in_names – Names of the icon images to be attached. in_images – Images to be attached as icons.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`AddJavaScript`(char const *in_script_name, char const *in_source, Source::Type in_type = Source::Type::Code)

      Adds a named JavaScript source or file to the document. If there is an existing script on the document with the given name, it will get overwritten. This corresponds to the value that will be passed to A3DPDFDocumentAddJavascriptFromString.

      Parameters: | in_script_name – UTF8-encoded script name to be added to the document. in_source – UTF8-encoded JavaScript source or file (depending on the following argument) to be added to the document. in_type – The types of the preceding argument. Defaults to Source::Type::Code.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`AddJavaScript`(size_t in_count, UTF8 const in_script_names[], UTF8 const in_sources[], Source::Type const in_types[])

      Adds a list of named JavaScript sources or files to the document. If there is an existing script on the document with a name which is in the given list, it will get overwritten. These correspond to values that will be passed to A3DPDFDocumentAddJavascriptFromString.

      Parameters: | in_count – Size of the following arrays. in_script_names – Script names to be added to the document. in_sources – JavaScript sources and/or files (depending on the corresponding entry in the following argument) to be added to the document. in_types – Types for each item in the preceding argument array.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`AddJavaScript`(UTF8Array const &in_script_names, UTF8Array const &in_sources, SourceTypeArray const &in_types)

      Adds a list of named JavaScript sources or files to the document. If there is an existing script on the document with a name which is in the given list, it will get overwritten. These correspond to values that will be passed to A3DPDFDocumentAddJavascriptFromString.

      Parameters: | in_script_names – Script names to be added to the document. in_sources – JavaScript sources and/or files (depending on the corresponding entry in the following argument) to be added to the document. in_types – Types for each item in the preceding argument array.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`AddPage`(PageKit const &in_page)

      Adds the given page to the document. This will append the page after any existing pages on the document. This corresponds to the value that will be passed to A3DPDFDocumentAppendNewPage2 or A3DPDFDocumentAppendPageFromPDFFileEx.

      Parameters: | in_page – Page to add to the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`AddPages`(PageKitArray const &in_pages)

      Adds the given pages to the document. This will append the pages after any existing pages on the document. These correspond to values that will be passed to A3DPDFDocumentAppendNewPage2 or A3DPDFDocumentAppendPageFromPDFFileEx.

      Parameters: | in_pages – Pages to add to the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`AddPages`(size_t in_count, PageKit const in_pages[])

      Adds the given pages to the document. This will append the pages after any existing pages on the document. These correspond to values that will be passed to A3DPDFDocumentAppendNewPage2 or A3DPDFDocumentAppendPageFromPDFFileEx.

      Parameters: | in_count – Size of the following array. in_pages – Pages to add to the document.
      Returns: | A reference to this DocumentKit.

    `DocumentKit`()

      The default constructor creates an empty DocumentKit object.

    `DocumentKit`(DocumentKit &&in_kit)

      The move constructor creates a DocumentKit by transferring the underlying object of the rvalue reference to this DocumentKit.

      Parameters: | in_kit – An rvalue reference to a DocumentKit to take the underlying object from.

    `DocumentKit`(DocumentKit const &in_kit)

      The copy constructor creates a new DocumentKit object that contains the same settings as the source DocumentKit.

      Parameters: | in_kit – The source DocumentKit to copy.

    virtual bool `Empty`() const

      Indicates whether this DocumentKit has any values set on it.

      Returns: | true if no values are set on this DocumentKit, false otherwise.

    bool `Equals`(DocumentKit const &in_kit) const

      Check if the source DocumentKit is equivalent to this DocumentKit.

      Parameters: | in_kit – The source DocumentKit to compare to this DocumentKit.
      Returns: | true if the objects are equivalent, false otherwise.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(DocumentKit const &in_kit) const

      Check if the source DocumentKit is not equivalent to this DocumentKit.

      Parameters: | in_kit – The source DocumentKit to compare to this DocumentKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    DocumentKit &`operator=`(DocumentKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this DocumentKit.

      Parameters: | in_kit – An rvalue reference to a DocumentKit to take the underlying object from.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`operator=`(DocumentKit const &in_kit)

      Copies the source DocumentKit into this DocumentKit.

      Parameters: | in_kit – The source DocumentKit to copy.
      Returns: | A reference to this DocumentKit.

    bool `operator==`(DocumentKit const &in_kit) const

      Check if the source DocumentKit is equivalent to this DocumentKit.

      Parameters: | in_kit – The source DocumentKit to compare to this DocumentKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(DocumentKit const &in_kit)

      Copies the source DocumentKit into this DocumentKit.

      Parameters: | in_kit – The source DocumentKit to copy.

    DocumentKit &`SetInformation`(char const *in_title, char const *in_author, char const *in_subject, char const *in_creator)

      Sets the title, author, subject and creator for this document. These corresponds to the values that will be passed to A3DPDFDocumentInformationData::m_pcTitle, A3DPDFDocumentInformationData::m_pcAuthor, A3DPDFDocumentInformationData::m_pcSubject, and A3DPDFDocumentInformationData::m_pcCreator (respectively).

      Parameters: | in_title – UTF8-encoded title string to set on the document. in_author – UTF8-encoded author string to set on the document. in_subject – UTF8-encoded subject string to set on the document. in_creator – UTF8-encoded creator string to set on the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`SetPage`(PageKit const &in_page)

      Adds the given page to the document. This will replace all pages (if any) which are already on the document. This corresponds to the value that will be passed to A3DPDFDocumentAppendNewPage2 or A3DPDFDocumentAppendPageFromPDFFileEx.

      Parameters: | in_page – Page to add to the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`SetPages`(PageKitArray const &in_pages)

      Adds the given pages to the document. This will replace all pages (if any) which are already on the document. These correspond to values that will be passed to A3DPDFDocumentAppendNewPage2 or A3DPDFDocumentAppendPageFromPDFFileEx.

      Parameters: | in_pages – Pages to add to the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`SetPages`(size_t in_count, PageKit const in_pages[])

      Adds the given pages to the document. This will replace all pages (if any) which are already on the document. These correspond to values that will be passed to A3DPDFDocumentAppendNewPage2 or A3DPDFDocumentAppendPageFromPDFFileEx.

      Parameters: | in_count – Size of the following array. in_pages – Pages to add to the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`SetPasswordSecurity`(char const *in_user_password, char const *in_owner_password, PermissionTypeArray const &in_permissions)

      Sets document password and permissions. This correspond to the values that will be passed to A3DPDFDocumentSetPasswordSecurity.

      Parameters: | in_user_password – UTF8-encoded password string required when opening, modifying or printing the document. If an empty string is specified, no password will be required. in_owner_password – UTF8-encoded password string required when changing security features of document. If an empty string is specified, no password will be required. in_permissions – The permissions to be set on the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`SetPasswordSecurity`(char const *in_user_password, char const *in_owner_password, size_t in_permissions_count, HPS::Publish::Permission::Type const in_permissions[])

      Sets document permissions. This correspond to the values that will be passed to A3DPDFDocumentSetPasswordSecurity.

      Parameters: | in_user_password – UTF8-encoded password string required when opening, modifying or printing the document. If an empty string is specified, no password will be required. in_owner_password – UTF8-encoded password string required when changing security features of document. If an empty string is specified, no password will be required. in_permissions_count – Size of the following array. in_permissions – The permissions to be set on the document.
      Returns: | A reference to this DocumentKit.

    void `Show`(DocumentKit &out_kit) const

      Copies this DocumentKit into the given DocumentKit.

      Parameters: | out_kit – The DocumentKit to populate with the contents of this DocumentKit.

    bool `ShowAttachments`(UTF8Array &out_filenames, UTF8Array &out_descriptions) const

      Shows the attachments on the document.

      Parameters: | out_filenames – Filenames of the attachments on the document. out_descriptions – Descriptions of the attachments on the document.
      Returns: | true if attachments were specified, false otherwise.

    bool `ShowDataTables`(DataTableKitArray &out_data_tables) const

      Shows data tables on the document

      Parameters: | out_data_tables – Data tables on the document.
      Returns: | true if data tables were set, false otherwise.

    bool `ShowIconImages`(UTF8Array &out_names, ImageKitArray &out_images) const

      Shows the icon images on the document.

      Parameters: | out_names – Names of the icon images on the document. out_images – Icon images on the document.
      Returns: | true if icon images were specified, false otherwise.

    bool `ShowInformation`(UTF8 &out_title, UTF8 &out_author, UTF8 &out_subject, UTF8 &out_creator) const

      Shows the document title, author, subject and creator.

      Parameters: | out_title – Title of the document out_author – Author of the document out_subject – Subject of the document out_creator – Creator of the document
      Returns: | true if a title, author, subject and creator were specified, false otherwise.

    bool `ShowJavaScript`(UTF8Array &out_script_names, UTF8Array &out_sources, SourceTypeArray &out_types) const

      Shows the JavaScript sources and/or files on the document.

      Parameters: | out_script_names – Script names on the document. out_sources – JavaScript sources and/or files on the document. out_types – Types for each item in the preceding array.
      Returns: | True if this setting was specified, otherwise false.
      Returns: | true if scripts were specified, false otherwise.

    bool `ShowPages`(PageKitArray &out_pages) const

      Shows the pages on the document.

      Parameters: | out_pages – Pages on the document.
      Returns: | true if pages were specified, false otherwise.

    bool `ShowPasswordSecurity`(UTF8 &out_user_password, UTF8 &out_owner_password, PermissionTypeArray &out_permissions) const

      Shows the document passwords and permissions.

      Parameters: | out_user_password – User password of the document. out_owner_password – Owner password of the document. out_permissions – Permissions on the document.
      Returns: | true if passwords or permissions were specified, false otherwise.

    DocumentKit &`UnsetAttachment`(char const *in_filename)

      Removes the attachment with a given filename from the document.

      Parameters: | in_filename – UTF8-encoded filename of attachment to remove from the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetAttachments`()

      Removes all attachments from the document.

      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetAttachments`(size_t in_count, UTF8 const in_filenames[])

      Removes the attachments with the given filenames from the document.

      Parameters: | in_count – Size of the following array. in_filenames – Filenames of attachments to remove from the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetAttachments`(UTF8Array const &in_filenames)

      Removes the attachments with the given filenames from the document.

      Parameters: | in_filenames – Filenames of attachments to remove from the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetDatatables`()

      Removes Data Table settings from the document.

      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetEverything`()

      Removes all data from the document.

      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetIconImage`(char const *in_name)

      Removes the icon image with a given name from the document.

      Parameters: | in_name – UTF8-encoded name of icon image to remove from the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetIconImages`()

      Removes all icon images from the document.

      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetIconImages`(size_t in_count, UTF8 const in_names[])

      Removes the icon images with the given names from the document.

      Parameters: | in_count – Size of the following array. in_names – Names of icon images to remove from the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetIconImages`(UTF8Array const &in_names)

      Removes the icon images with the given names from the document.

      Parameters: | in_names – Names of icon images to remove from the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetInformation`()

      Removes the document title, author, subject and creator.

      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetJavaScript`()

      Removes all scripts from the document.

      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetJavaScript`(char const *in_script_name)

      Removes the script with a given name from the document.

      Parameters: | in_script_name – UTF8-encoded script name to remove from the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetJavaScript`(size_t in_count, UTF8 const in_script_names[])

      Removes the scripts with the given names from the document.

      Parameters: | in_count – Size of the following array. in_script_names – Script names to remove from the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetJavaScript`(UTF8Array const &in_script_names)

      Removes the scripts with the given names from the document.

      Parameters: | in_script_names – Script names to remove from the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetPage`(size_t in_index)

      Removes the page at the given index from the document.

      Parameters: | in_index – Index of the page to remove from the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetPages`()

      Removes all pages from the document.

      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetPages`(size_t in_count, size_t const in_indices[])

      Removes the pages at the given indices from the document.

      Parameters: | in_count – Size of the following array. in_indices – Indices of the pages to remove from the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetPages`(SizeTArray const &in_indices)

      Removes the pages at the given indices from the document.

      Parameters: | in_indices – Indices of the pages to remove from the document.
      Returns: | A reference to this DocumentKit.

    DocumentKit &`UnsetPasswordSecurity`()

      Removes the document password and permissions.

      Returns: | A reference to this DocumentKit.

    virtual `~DocumentKit`()

    Public Static Functions

    static DocumentKit `GetDefault`()

      Creates a DocumentKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for export unless a setting is overridden by the DocumentKit passed to File::Export.

      Returns: | A DocumentKit with the default settings.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishDocumentKit
  class `DropDownListKit` : public HPS::SprocketKit

    The DropDownListKit class is a user space object. It acts as the container for all data that can be used to specify a drop down list for a Publish PDF.

    Public Functions

    `DropDownListKit`()

      The default constructor creates an empty DropDownListKit object.

    `DropDownListKit`(DropDownListKit &&in_kit)

      The move constructor creates a DropDownListKit by transferring the underlying object of the rvalue reference to this DropDownListKit.

      Parameters: | in_kit – An rvalue reference to a DropDownListKit to take the underlying object from.

    `DropDownListKit`(DropDownListKit const &in_kit)

      The copy constructor creates a new DropDownListKit object that contains the same settings as the source DropDownListKit.

      Parameters: | in_kit – The source DropDownListKit to copy.

    virtual bool `Empty`() const

      Indicates whether this DropDownListKit has any values set on it.

      Returns: | true if no values are set on this DropDownListKit, false otherwise.

    bool `Equals`(DropDownListKit const &in_kit) const

      Check if the source DropDownListKit is equivalent to this DropDownListKit.

      Parameters: | in_kit – The source DropDownListKit to compare to this DropDownListKit.
      Returns: | true if the objects are equivalent, false otherwise.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(DropDownListKit const &in_kit) const

      Check if the source DropDownListKit is not equivalent to this DropDownListKit.

      Parameters: | in_kit – The source DropDownListKit to compare to this DropDownListKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    DropDownListKit &`operator=`(DropDownListKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this DropDownListKit.

      Parameters: | in_kit – An rvalue reference to a DropDownListKit to take the underlying object from.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`operator=`(DropDownListKit const &in_kit)

      Copies the source DropDownListKit into this DropDownListKit.

      Parameters: | in_kit – The source DropDownListKit to copy.
      Returns: | A reference to this DropDownListKit.

    bool `operator==`(DropDownListKit const &in_kit) const

      Check if the source DropDownListKit is equivalent to this DropDownListKit.

      Parameters: | in_kit – The source DropDownListKit to compare to this DropDownListKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(DropDownListKit const &in_kit)

      Copies the source DropDownListKit into this DropDownListKit.

      Parameters: | in_kit – The source DropDownListKit to copy.

    DropDownListKit &`SetBorder`(bool in_state)

      Sets whether the drop down list has a border. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_bHasBorder.

      Parameters: | in_state – Whether the drop down list has a border.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetBorderColor`(RGBColor const &in_color)

      Sets the border color for the drop down list. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_sBorderColor.

      Parameters: | in_color – The border color of the drop down list.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetBorderStyle`(Border::Style in_style)

      Sets the border style for the drop down list. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_eLineStyleBorder.

      Parameters: | in_style – The border style for the drop down list.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetBorderThickness`(Border::Thickness in_thickness)

      Sets the border thickness for the drop down list. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_eThicknessBorder.

      Parameters: | in_thickness – The border thickness for the drop down list.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetContents`(size_t in_count, UTF8 const in_displayed_values[], UTF8 const in_export_values[])

      Sets the contents of the drop down list. This corresponds to the value that will be passed to A3DPDFPageFieldListAddItem.

      Parameters: | in_count – The size of the arrays passed in. in_displayed_values – The values displayed in the drop down list in_export_values – The export values associated with the values displayed
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetContents`(UTF8Array const &in_displayed_values, UTF8Array const &in_export_values)

      Sets the contents of the drop down list. This corresponds to the value that will be passed to A3DPDFPageFieldListAddItem. The two arrays need to have the same size.

      Parameters: | in_displayed_values – The values displayed in the drop down list in_export_values – The export values associated with the values displayed
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetCustomText`(bool in_state)

      Sets whether the user can enter custom text. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_bAllowUserToEnterCustomText.

      Parameters: | in_state – Whether the user can enter custom text.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetFillColor`(RGBColor const &in_color)

      Sets the fill color for the drop down list. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_sFillColor and implicitly sets A3DPDFDropDownListData::m_bHasFillColor to true.

      Parameters: | in_color – The fill color for the drop down list.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetFont`(char const *in_name, Text::Font::Style in_style = Text::Font::Style::Regular)

      Sets a specific font for the drop down list. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_pcFontName.

      Parameters: | in_name – UTF8-encoded font name for the drop down list. in_style – The style of font to use for the drop down list.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetFont`(Text::Font::Name in_name)

      Sets a builtin font for the drop down list. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_pcFontName.

      Parameters: | in_name – The builtin font for the drop down list.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetFontSize`(int in_size)

      Sets the font size for the drop down list. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_iFontSize.

      Parameters: | in_size – The font size for the drop down list.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetImmediateCommit`(bool in_state)

      Sets whether selected values are committed immediately. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_bCommitImmediate.

      Parameters: | in_state – Whether selected values are committed immediately.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetLock`(bool in_state)

      Sets whether the drop down list is locked. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_bIsLocked.

      Parameters: | in_state – Whether the drop down list is locked.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetName`(char const *in_name)

      Sets the name of the drop down list. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_pcName.

      Parameters: | in_name – UTF8-encoded name of the drop down list.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetPrintability`(bool in_state)

      Sets the printability for the drop down list. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_eFormField.

      Parameters: | in_state – The printability for the drop down list.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetSpellChecking`(bool in_state)

      Sets whether spell checking is enabled. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_bCheckSpelling.

      Parameters: | in_state – Whether spell checking is enabled.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetTextColor`(RGBColor const &in_color)

      Sets the text color for the drop down list. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_sTextColor.

      Parameters: | in_color – The text color for the drop down list.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetTextRotation`(Text::Rotation in_rotation)

      Sets the text rotation for the drop down list. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_eTextOrientation.

      Parameters: | in_rotation – The text rotation for the drop down list.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetTooltip`(char const *in_tooltip)

      Sets the tooltip for the drop down list. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_pcTooltip.

      Parameters: | in_tooltip – UTF8-encoded tooltip text for the drop down list.
      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`SetVisibility`(bool in_state)

      Sets the visibility for the drop down list. This corresponds to the value that will be passed to A3DPDFDropDownListData::m_eFormField.

      Parameters: | in_state – The visibility for the drop down list.
      Returns: | A reference to this DropDownListKit.

    void `Show`(DropDownListKit &out_kit) const

      Copies this DropDownListKit into the given DropDownListKit.

      Parameters: | out_kit – The DropDownListKit to populate with the contents of this DropDownListKit.

    bool `ShowBorder`(bool &out_state) const

      Shows the border setting for the drop down list.

      Parameters: | out_state – Whether the drop down list has a border.
      Returns: | true if a border setting was specified, false otherwise.

    bool `ShowBorderColor`(RGBColor &out_color) const

      Shows the border color for the drop down list.

      Parameters: | out_color – The border color of the drop down list.
      Returns: | true if a border color was specified, false otherwise.

    bool `ShowBorderStyle`(Border::Style &out_style) const

      Shows the border style for the drop down list.

      Parameters: | out_style – The border style for the drop down list.
      Returns: | true if a border style was specified, false otherwise.

    bool `ShowBorderThickness`(Border::Thickness &out_thickness) const

      Shows the border thickness for the drop down list.

      Parameters: | out_thickness – The border thickness for the drop down list.
      Returns: | true if a border thickness was specified, false otherwise.

    bool `ShowContents`(UTF8Array &out_displayed_values, UTF8Array &out_export_values) const

      Shows the content setting for the drop down list

      Parameters: | out_displayed_values – The values displayed by the drop down list out_export_values – The export values associated with the displayed values.
      Returns: | true if a content setting was specified, false otherwise.

    bool `ShowCustomText`(bool &out_state) const

      Shows the custom text setting for the drop down list.

      Parameters: | out_state – Whether the user can enter custom text.
      Returns: | true if a custom text setting was specified, false otherwise.

    bool `ShowFillColor`(RGBColor &out_color) const

      Shows the fill color for the drop down list.

      Parameters: | out_color – The fill color for the drop down list.
      Returns: | true if a fill color was specified, false otherwise.

    bool `ShowFont`(Text::Font::Type &out_type, Text::Font::Name &out_font, UTF8 &out_font_name, Text::Font::Style &out_style) const

      Shows the font for the drop down list.

      Parameters: | out_type – The type of font for the drop down list. out_font – The built-in font for the drop down list. This is only valid if out_type is Text::Font::Type::BuiltIn. out_font_name – The explicit font name for the drop down list. This is only valid if out_type is Text::Font::Type::Explicit. out_style – The font style for the drop down list. This is only valid if out_type is Text::Font::Type::Explicit.
      Returns: | true if a font was specified, false otherwise.

    bool `ShowFontSize`(int &out_size) const

      Shows the font size for the drop down list.

      Parameters: | out_size – The font size for the drop down list.
      Returns: | true if a font size was specified, false otherwise.

    bool `ShowImmediateCommit`(bool &out_state) const

      Shows the immediate commit setting for the drop down list.

      Parameters: | out_state – Whether selected values are committed immediately.
      Returns: | true if an immediate commit setting was specified, false otherwise.

    bool `ShowLock`(bool &out_state) const

      Shows the lock setting for the drop down list.

      Parameters: | in_state – Whether the drop down list is locked.
      Returns: | true if a lock setting was specified, false otherwise.

    bool `ShowName`(UTF8 &out_name) const

      Shows the name for the drop down list.

      Parameters: | out_name – The name of the drop down list.
      Returns: | true if a name was specified, false otherwise.

    bool `ShowPrintability`(bool &out_state) const

      Shows the printability for the drop down list.

      Parameters: | out_state – The printability for the drop down list.
      Returns: | true if a printability was specified, false otherwise.

    bool `ShowSpellChecking`(bool &out_state) const

      Shows the spell checking setting for the drop down list.

      Parameters: | out_state – Whether spell checking is enabled.
      Returns: | true if a spell checking setting was specified, false otherwise.

    bool `ShowTextColor`(RGBColor &out_color) const

      Shows the text color for the drop down list.

      Parameters: | out_color – The text color for the drop down list.
      Returns: | true if a text color was specified, false otherwise.

    bool `ShowTextRotation`(Text::Rotation &out_rotation) const

      Shows the text rotation for the drop down list.

      Parameters: | out_rotation – The text rotation for the drop down list.
      Returns: | true if a rotation was specified, false otherwise.

    bool `ShowTooltip`(UTF8 &out_tooltip) const

      Shows the tooltip for the drop down list.

      Parameters: | out_tooltip – The tooltip text for the drop down list.
      Returns: | true if a tooltip was specified, false otherwise.

    bool `ShowVisibility`(bool &out_state) const

      Shows the visibility for the drop down list.

      Parameters: | out_state – The visibility for the drop down list.
      Returns: | true if a visibility was specified, false otherwise.

    DropDownListKit &`UnsetBorder`()

      Removes the border setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetBorderColor`()

      Removes the border color setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetBorderStyle`()

      Removes the border style setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetBorderThickness`()

      Removes the border thickness setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetContents`()

      Removes the content setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetCustomText`()

      Removes the custom text setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetEverything`()

      Removes all data from the drop down list.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetFillColor`()

      Removes the fill color setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetFont`()

      Removes the font setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetFontSize`()

      Removes the font size setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetImmediateCommit`()

      Removes the immediate commit setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetLock`()

      Removes the lock setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetName`()

      Removes the name setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetPrintability`()

      Removes the printability setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetSpellChecking`()

      Removes the spell checking setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetTextColor`()

      Removes the text color setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetTextRotation`()

      Removes the text rotation setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetTooltip`()

      Removes the tooltip setting.

      Returns: | A reference to this DropDownListKit.

    DropDownListKit &`UnsetVisibility`()

      Removes the visibility setting.

      Returns: | A reference to this DropDownListKit.

    virtual `~DropDownListKit`()

    Public Static Functions

    static DropDownListKit `GetDefault`()

      Creates a DropDownListKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for a button unless a setting is overridden by the DropDownListKit passed to a function.

      Returns: | A DropDownListKit with the default settings.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishDropDownListKit
  class `ExportOptionsKit` : public HPS::SprocketKit

    The ExportOptionsKit class is a user space object. It contains settings controlling how 3D PDF data is exported via Publish.

    Public Functions

    virtual bool `Empty`() const

      Indicates whether this ExportOptionsKit has any values set on it.

      Returns: | true if no values are set on this ExportOptionsKit, false otherwise.

    bool `Equals`(ExportOptionsKit const &in_kit) const

      Check if the source ExportOptionsKit is equivalent to this ExportOptionsKit.

      Parameters: | in_kit – The source ExportOptionsKit to compare to this ExportOptionsKit.
      Returns: | true if the objects are equivalent, false otherwise.

    `ExportOptionsKit`()

      The default constructor creates an empty ExportOptionsKit object.

    `ExportOptionsKit`(ExportOptionsKit &&in_kit)

      The move constructor creates an ExportOptionsKit by transferring the underlying object of the rvalue reference to this ExportOptionsKit.

      Parameters: | in_kit – An rvalue reference to an ExportOptionsKit to take the underlying object from.

    `ExportOptionsKit`(ExportOptionsKit const &in_kit)

      The copy constructor creates a new ExportOptionsKit object that contains the same settings as the source ExportOptionsKit.

      Parameters: | in_kit – The source ExportOptionsKit to copy.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(ExportOptionsKit const &in_kit) const

      Check if the source ExportOptionsKit is not equivalent to this ExportOptionsKit.

      Parameters: | in_kit – The source ExportOptionsKit to compare to this ExportOptionsKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    ExportOptionsKit &`operator=`(ExportOptionsKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this ExportOptionsKit.

      Parameters: | in_kit – An rvalue reference to an ExportOptionsKit to take the underlying object from.
      Returns: | A reference to this ExportOptionsKit.

    ExportOptionsKit &`operator=`(ExportOptionsKit const &in_kit)

      Copies the source ExportOptionsKit into this ExportOptionsKit.

      Parameters: | in_kit – The source ExportOptionsKit to copy.
      Returns: | A reference to this ExportOptionsKit.

    bool `operator==`(ExportOptionsKit const &in_kit) const

      Check if the source ExportOptionsKit is equivalent to this ExportOptionsKit.

      Parameters: | in_kit – The source ExportOptionsKit to compare to this ExportOptionsKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(ExportOptionsKit const &in_kit)

      Copies the source ExportOptionsKit into this ExportOptionsKit.

      Parameters: | in_kit – The source ExportOptionsKit to copy.

    ExportOptionsKit &`SetDocumentToAppendTo`(char const *in_filename)

      Sets the PDF document to append to.

      Parameters: | in_filename – UTF8-encoded filename of the PDF document to append to.
      Returns: | A reference to this ExportOptionsKit.

    void `Show`(ExportOptionsKit &out_kit) const

      Copies this ExportOptionsKit into the given ExportOptionsKit.

      Parameters: | out_kit – The ExportOptionsKit to populate with the contents of this ExportOptionsKit.

    bool `ShowDocumentToAppendTo`(UTF8 &out_filename) const

      Shows the PDF document to append to setting.

      Parameters: | out_filename – Filename of the PDF document to append to.
      Returns: | true if a PDF document to append to setting was specified, false otherwise.

    ExportOptionsKit &`UnsetDocumentToAppendTo`()

      Removes the PDF document to append to setting.

      Returns: | A reference to this ExportOptionsKit.

    ExportOptionsKit &`UnsetEverything`()

      Removes all data from the options kit.

      Returns: | A reference to this ExportOptionsKit.

    virtual `~ExportOptionsKit`()

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishExportOptionsKit
  class `Field`

    The Publish::Field class is a concept class for field-related enumerations.

  class `File`

    The File class provides functions to export Model objects to 3D PDFs via Publish.

    Public Static Functions

    static DocumentKey `CreateDocument`(char const *in_file_name = nullptr)

      Creates a DocumentKey based on the given PDF file. The returned object will allow direct interaction with the underlying in-memory copy of that PDF document and any pages in it. If no filename is specified, an empty PDF document will be created. The in-memory PDF document can be written to disk via the File::Export function.

      Parameters: | in_file_name – The name of the PDF file from which to create an in-memory copy. Defaults to nullptr, which results in an empty in-memory PDF document.
      Returns: | A DocumentKey handle for the in-memory PDF document.

    static void `ExportHTML`(CADModel const &in_cad_model, char const *in_file_name, char const *in_template_name, bool in_include_measurement_information)

      Performs a synchronous Publish export of the given CAD Model with the provided options to a given filename.

      Warning

      This feature is only supported on 64bit builds of HOOPS Visualize. An InvalidOperationException will be thrown if this function is used on 32bit builds. This will create an HTML page using the provided template. An exception will be thrown if a problem is encountered during export.

      Parameters: | in_cad_model – The CADModel containing the data to export. in_file_name – The name of the file to write the HTML data to. This filename should be a fully-qualified path, otherwise the export may fail. in_template_name – The name of HTML template to use during export. in_include_measurement_information – Whether to retain information which will allow accurate measurements to be performed on the HTML data if the input CADModel was imported with BRep data.

    static void `ExportHTML`(CADModel const &in_cad_model, KeyPathArray const &in_additional_key_paths, char const *in_file_name, char const *in_template_name, bool in_include_measurement_information)

      Performs a synchronous Publish export of the given CAD Model with the provided options to a given filename

      Warning

      This feature is only supported on 64bit builds of HOOPS Visualize. An InvalidOperationException will be thrown if this function is used on 32bit builds. This will create an HTML page using the provided template. An exception will be thrown if a problem is encountered during export.

      Parameters: | in_cad_model – The CADModel containing the data to export. in_additional_key_paths – An array of KeyPaths for which PRC data will be created and which will be added to in_cad_model during export. Use this parameter to specify non-Exchange data you have added to the scene which you want to export. in_file_name – The name of the file to write the HTML data to. This filename should be a fully-qualified path, otherwise the export may fail. in_template_name – The name of HTML template to use during export. in_include_measurement_information – Whether to retain information which will allow accurate measurements to be performed on the HTML data if the input CADModel was imported with BRep data.

    static void `ExportHTML`(CADModel const &in_cad_model, size_t in_count, KeyPath const in_additional_key_paths[], char const *in_file_name, char const *in_template_name, bool in_include_measurement_information)

      Performs a synchronous Publish export of the given CAD Model with the provided options to a given filename.

      Warning

      This feature is only supported on 64bit builds of HOOPS Visualize. An InvalidOperationException will be thrown if this function is used on 32bit builds. This will create an HTML page using the provided template. An exception will be thrown if a problem is encountered during export.

      Parameters: | in_cad_model – The CADModel containing the data to export. in_count – The size of in_additional_key_paths. in_additional_key_paths – An array of KeyPaths for which PRC data will be created and which will be added to in_cad_model during export. Use this parameter to specify non-Exchange data you have added to the scene which you want to export. in_file_name – The name of the file to write the HTML data to. This filename should be a fully-qualified path, otherwise the export may fail. in_template_name – The name of HTML template to use during export. in_include_measurement_information – Whether to retain information which will allow accurate measurements to be performed on the HTML data if the input CADModel was imported with BRep data.

    static void `ExportHTML`(KeyPath const &in_key_path, char const *in_file_name, char const *in_template_name)

      Performs a synchronous Publish export of the given KeyPath with the provided options to a given filename.

      Warning

      This feature is only supported on 64bit builds of HOOPS Visualize. An InvalidOperationException will be thrown if this function is used on 32bit builds. This will create an HTML page using the provided template. An exception will be thrown if a problem is encountered during export.

      Parameters: | in_key_path – The KeyPath containing the data to export. in_file_name – The name of the file to write the HTML data to. This filename should be a fully-qualified path, otherwise the export may fail. in_template_name – The name of HTML template to use during export.

    static void `ExportHTML`(KeyPathArray const &in_key_paths, char const *in_file_name, char const *in_template_name)

      Performs a synchronous Publish export of the given KeyPathArray with the provided options to a given filename.

      Warning

      This feature is only supported on 64bit builds of HOOPS Visualize. An InvalidOperationException will be thrown if this function is used on 32bit builds. This will create an HTML page using the provided template. An exception will be thrown if a problem is encountered during export.

      Parameters: | in_key_paths – The KeyPaths containing the data to export. in_file_name – The name of the file to write the HTML data to. This filename should be a fully-qualified path, otherwise the export may fail. in_template_name – The name of HTML template to use during export.

    static void `ExportHTML`(size_t in_count, KeyPath const in_key_paths[], char const *in_file_name, char const *in_template_name)

      Performs a synchronous Publish export of the given KeyPathArray with the provided options to a given filename.

      Warning

      This feature is only supported on 64bit builds of HOOPS Visualize. An InvalidOperationException will be thrown if this function is used on 32bit builds. This will create an HTML page using the provided template. An exception will be thrown if a problem is encountered during export.

      Parameters: | in_count – The number of key paths in in_key_paths. in_key_paths – The KeyPaths containing the data to export. in_file_name – The name of the file to write the HTML data to. This filename should be a fully-qualified path, otherwise the export may fail. in_template_name – The name of HTML template to use during export.

    static void `ExportPDF`(AnnotationKit const &in_annotation, char const *in_file_name, ExportOptionsKit const &in_options)

      Performs a synchronous Publish export of the given AnnotationKit with the provided options to a given filename. This will create a single page PDF document with a single 3D annotation. An exception will be thrown if a problem is encountered during export.

      Parameters: | in_annotation – The AnnotationKit containing the data to export. If the Model in the source SprocketPath for the AnnotationKit corresponds to a CADModel which was imported via Exchange, the underlying Exchange data for the CADModel will be embedded in the PDF, otherwise, the 3D data will be generated from the tessellation in the Visualize scene graph for the Model. in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail. in_options – The options controlling the export of the 3D PDF data.

    static void `ExportPDF`(CADModel const &in_cad_model, char const *in_file_name, ExportOptionsKit const &in_options)

      Performs a synchronous Publish export of the given CAD Model with the provided options to a given filename. This will create a single page PDF document with a single 3D annotation. An exception will be thrown if a problem is encountered during export.

      Parameters: | in_cad_model – The CADModel containing the data to export. in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail. in_options – The options controlling the export of the 3D PDF data.

    static void `ExportPDF`(CADModel const &in_cad_model, KeyPathArray const &in_additional_key_paths, char const *in_file_name, ExportOptionsKit const &in_options)

      Performs a synchronous Publish export of the given CAD Model with the provided options to a given filename. This will create a single page PDF document with a single 3D annotation. An exception will be thrown if a problem is encountered during export.

      Parameters: | in_cad_model – The CADModel containing the data to export. in_additional_key_paths – An array of KeyPaths for which PRC data will be created and which will be added to in_cad_model during export. Use this parameter to specify non-Exchange data you have added to the scene which you want to export. in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail. in_options – The options controlling the export of the 3D PDF data.

    static void `ExportPDF`(CADModel const &in_cad_model, size_t in_count, KeyPath const in_additional_key_paths[], char const *in_file_name, ExportOptionsKit const &in_options)

      Performs a synchronous Publish export of the given CAD Model with the provided options to a given filename. This will create a single page PDF document with a single 3D annotation. An exception will be thrown if a problem is encountered during export.

      Parameters: | in_cad_model – The CADModel containing the data to export. in_count – The size of in_additional_key_paths. in_additional_key_paths – An array of KeyPaths for which PRC data will be created and which will be added to in_cad_model during export. Use this parameter to specify non-Exchange data you have added to the scene which you want to export. in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail. in_options – The options controlling the export of the 3D PDF data.

    static void `ExportPDF`(DocumentKey const &in_document, char const *in_file_name)

      Performs a synchronous Publish export of the given DocumentKey to a given filename. This will not close the PDF document underlying the DocumentKey, rather it will just create a copy of it on disk. The DocumentKey can still be used after this call to interact with the in-memory PDF document.

      Parameters: | in_document – The DocumentKey from which to create a PDF file on disk. in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail.

    static void `ExportPDF`(DocumentKit const &in_document, char const *in_file_name, ExportOptionsKit const &in_options)

      Performs a synchronous Publish export of the given DocumentKit with the provided options to a given filename. This will create a PDF document based on the DocumentKit. An exception will be thrown if a problem is encountered during export.

      Parameters: | in_document – The DocumentKit containing the data to export. If any Model in the source SprocketPath for any AnnotationKit in the DocumentKit corresponds to a CADModel which was imported via Exchange, the underlying Exchange data for the CADModel will be embedded in the PDF, otherwise, the 3D data will be generated from the tessellation in the Visualize scene graph for the Model. in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail. in_options – The options controlling the export of the 3D PDF data.

    static void `ExportPDF`(KeyPath const &in_key_path, char const *in_file_name, ExportOptionsKit const &in_options)

      Performs a synchronous Publish export of the given KeyPath with the provided options to a given filename. This will create a single page PDF document with a single 3D annotation. An exception will be thrown if a problem is encountered during export.

      Parameters: | in_key_path – The KeyPath containing the data to export. in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail. in_options – The options controlling the export of the 3D PDF data.

    static void `ExportPDF`(KeyPathArray const &in_key_paths, char const *in_file_name, ExportOptionsKit const &in_options)

      Performs a synchronous Publish export of the given KeyPathArray with the provided options to a given filename. This will create a single page PDF document with a single 3D annotation. An exception will be thrown if a problem is encountered during export.

      Parameters: | in_key_paths – The KeyPaths containing the data to export. in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail. in_options – The options controlling the export of the 3D PDF data.

    static void `ExportPDF`(size_t in_count, KeyPath const in_key_paths[], char const *in_file_name, ExportOptionsKit const &in_options)

      Performs a synchronous Publish export of the given KeyPathArray with the provided options to a given filename. This will create a single page PDF document with a single 3D annotation. An exception will be thrown if a problem is encountered during export.

      Parameters: | in_count – The number of key paths in in_key_paths. in_key_paths – The KeyPaths containing the data to export. in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail. in_options – The options controlling the export of the 3D PDF data.

  class `Highlighting`

    The Publish::Highlighting class is a concept class for highlighting-related enumerations.

    Public Types

    enum class `Mode`

      Enumerates the highlighting modes for LinkKit objects.

      Values:

      enumerator `None`

        No highlighting (kA3DPDFLinkHighlightNone)

      enumerator `Invert`

        Invert the colors in the content area (kA3DPDFLinkHighlightInvert)

      enumerator `Outline`

        Invert the color of the outline of the content area (kA3DPDFLinkHighlightOutline)

      enumerator `Push`

        Content area will appear to depress into the page (kA3DPDFLinkHighlightPush)

  class `Image`

    The Publish::Image class is a concept class for image-related enumerations.

    Public Types

    enum class `Format`

      Enumerates the image formats that Publish can insert into a PDF.

      Values:

      enumerator `Unknown`

        Unknown format (kA3DPDFImageFormatUnknown).

      enumerator `BMP`

        Bitmap format (kA3DPDFImageFormatBmp).

      enumerator `PNG`

        PNG format (kA3DPDFImageFormatPng).

      enumerator `JPEG`

        JPEG format (kA3DPDFImageFormatJpg).

      enumerator `RawRGB`

        RGB format, 3 bytes per pixel (kA3DPDFImageFormatBitmapRgbByte).

      enumerator `RawRGBA`

        RGBA format, 4 bytes per pixel (kA3DPDFImageFormatBitmapRgbaByte).

      enumerator `RawGrey`

        Greyscale format, 1 byte per pixel (kA3DPDFImageFormatBitmapGreyByte).

      enumerator `RawGreyA`

        Greyscale + alpha format, 2 bytes per pixel (kA3DPDFImageFormatBitmapGreyaByte).

      enumerator `EMF`

        EMF format (kA3DPDFImageFormatEmf).

      enumerator `URL`

        URL format (kA3DPDFImageFormatUrl).

      enumerator `GIF`

        GIF format (kA3DPDFImageFormatGif).

      enumerator `TIFF`

        TIFF format (kA3DPDFImageFormatTif).

      enumerator `PCX`

        PCX format (kA3DPDFImageFormatPcx).

      enumerator `Targa`

        Targa format (kA3DPDFImageFormatTga).

      enumerator `PPM`

        PPM format (kA3DPDFImageFormatPpm).

      enumerator `ILBM`

        ILBM format (kA3DPDFImageFormatIlbm).

      enumerator `CEL`

        Cel format (kA3DPDFImageFormatCel).

      enumerator `RGB`

        RGB format (kA3DPDFImageFormatRgb).

      enumerator `PSD`

        Photoshop PSD format (kA3DPDFImageFormatPsd).

      enumerator `PIC`

        Softimage PIC format (kA3DPDFImageFormatSoftimagepic).

  class `ImageKit` : public HPS::SprocketKit

    The ImageKit class is a user space object. It acts as the container for all data that can be used to specify an image for a Publish PDF.

    Public Functions

    virtual bool `Empty`() const

      Indicates whether this ImageKit has any values set on it.

      Returns: | true if no values are set on this ImageKit, false otherwise.

    bool `Equals`(ImageKit const &in_kit) const

      Check if the source ImageKit is equivalent to this ImageKit.

      Parameters: | in_kit – The source ImageKit to compare to this ImageKit.
      Returns: | true if the objects are equivalent, false otherwise.

    `ImageKit`()

      The default constructor creates an empty ImageKit object.

    `ImageKit`(ImageKit &&in_kit)

      The move constructor creates an ImageKit by transferring the underlying object of the rvalue reference to this ImageKit.

      Parameters: | in_kit – An rvalue reference to an ImageKit to take the underlying object from.

    `ImageKit`(ImageKit const &in_kit)

      The copy constructor creates a new ImageKit object that contains the same settings as the source ImageKit.

      Parameters: | in_kit – The source ImageKit to copy.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(ImageKit const &in_kit) const

      Check if the source ImageKit is not equivalent to this ImageKit.

      Parameters: | in_kit – The source ImageKit to compare to this ImageKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    ImageKit &`operator=`(ImageKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this ImageKit.

      Parameters: | in_kit – An rvalue reference to an ImageKit to take the underlying object from.
      Returns: | A reference to this ImageKit.

    ImageKit &`operator=`(ImageKit const &in_kit)

      Copies the source ImageKit into this ImageKit.

      Parameters: | in_kit – The source ImageKit to copy.
      Returns: | A reference to this ImageKit.

    bool `operator==`(ImageKit const &in_kit) const

      Check if the source ImageKit is equivalent to this ImageKit.

      Parameters: | in_kit – The source ImageKit to compare to this ImageKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(ImageKit const &in_kit)

      Copies the source ImageKit into this ImageKit.

      Parameters: | in_kit – The source ImageKit to copy.

    ImageKit &`SetFile`(char const *in_filename)

      Sets the file for the image. This corresponds to the value that will be passed to A3DPDFImageData::m_pcFileName.

      Parameters: | in_filename – UTF8-encoded filename for the image.
      Returns: | A reference to this ImageKit.

    ImageKit &`SetFormat`(Image::Format in_format)

      Sets the format of the image. This corresponds to the value that will be passed to A3DPDFImageData::m_eFormat.

      Parameters: | in_format – The format of the image.
      Returns: | A reference to this ImageKit.

    ImageKit &`SetSize`(int in_width, int in_height)

      Sets the size of the image in pixels. This corresponds to the value that will be passed to A3DPDFImageData::m_iWidth and A3DPDFImageData::m_iHeight.

      Parameters: | in_width – The width of the image in pixels. in_height – The height of the image in pixels.
      Returns: | A reference to this ImageKit.

    void `Show`(ImageKit &out_kit) const

      Copies this ImageKit into the given ImageKit.

      Parameters: | out_kit – The ImageKit to populate with the contents of this ImageKit.

    bool `ShowFile`(UTF8 &out_filename) const

      Shows the file setting.

      Parameters: | out_filename – The filename for the image.
      Returns: | true if a color was specified, false otherwise.

    bool `ShowFormat`(Image::Format &out_format) const

      Shows the format setting.

      Parameters: | out_format – The format of the image.
      Returns: | true if a format was specified, false otherwise.

    bool `ShowSize`(int &out_width, int &out_height) const

      Shows the size setting.

      Parameters: | out_width – The width of the image in pixels. out_height – The height of the image in pixels.
      Returns: | true if a width and height were specified, false otherwise.

    ImageKit &`UnsetEverything`()

      Removes all data from the image.

      Returns: | A reference to this ImageKit.

    ImageKit &`UnsetFile`()

      Removes the file from the image.

      Returns: | A reference to this ImageKit.

    ImageKit &`UnsetFormat`()

      Removes the format from the image.

      Returns: | A reference to this ImageKit.

    ImageKit &`UnsetSize`()

      Removes the size from the image.

      Returns: | A reference to this ImageKit.

    virtual `~ImageKit`()

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishImageKit
  class `Label`

    The Publish::Label class is a concept class for label-related enumerations.

    Public Types

    enum class `Position`

      Enumerates the label positions.

      Values:

      enumerator `LabelOnly`

        Only the label will be displayed (kA3DPDFLabelOnly)

      enumerator `IconOnly`

        Only the icon will be displayed (kA3DPDFIconOnly)

      enumerator `Top`

        The label will be displayed above the icon (kA3DPDFLabelTopIconBottom)

      enumerator `Bottom`

        The label will be displayed below the icon (kA3DPDFIconTopLabelBottom)

      enumerator `Left`

        The label will be displayed to the left of the icon (kA3DPDFLabelLeftIconRight)

      enumerator `Right`

        The label will be displayed to the right of the icon (kA3DPDFIconTopLabelBottom)

      enumerator `OnTop`

        The label will be displayed on top of the icon (kA3DPDFLabelOverIcon)

  class `Lighting`

    The Publish::Lighting class is a concept class for lighting-related enumerations.

    Public Types

    enum class `Mode`

      /enum Mode Enumerates the lighting modes for ViewKit and AnnotationKit objects.

      Values:

      enumerator `Artwork`

        Inerhit the light from the annotation (kA3DPDFLightArtworkCurrent).

      enumerator `None`

        No light (kA3DPDFLightNone).

      enumerator `White`

        White light (kA3DPDFLightWhite).

      enumerator `Day`

        Day light (kA3DPDFLightDay).

      enumerator `Bright`

        Bright light (kA3DPDFLightBright).

      enumerator `PrimaryColor`

        Primary color light (kA3DPDFLightPrimaryColor).

      enumerator `Night`

        Night light (kA3DPDFLightNight).

      enumerator `Blue`

        Blue light (kA3DPDFLightBlue).

      enumerator `Red`

        Red light (kA3DPDFLightRed).

      enumerator `Cube`

        Cube light (kA3DPDFLightCube).

      enumerator `CADOptimized`

        CAD Optimized light (kA3DPDFLightCADOptimized).

      enumerator `Headlamp`

        Headlamp light (kA3DPDFLightHeadlamp).

  class `LinkKit` : public HPS::SprocketKit

    The LinkKit class is a user space object. It acts as the container for all data that can be used to specify a link for a Publish PDF.

    Public Functions

    virtual bool `Empty`() const

      Indicates whether this LinkKit has any values set on it.

      Returns: | true if no values are set on this LinkKit, false otherwise.

    bool `Equals`(LinkKit const &in_kit) const

      Check if the source LinkKit is equivalent to this LinkKit.

      Parameters: | in_kit – The source LinkKit to compare to this LinkKit.
      Returns: | true if the objects are equivalent, false otherwise.

    `LinkKit`()

      The default constructor creates an empty LinkKit object.

    `LinkKit`(LinkKit &&in_kit)

      The move constructor creates a LinkKit by transferring the underlying object of the rvalue reference to this LinkKit.

      Parameters: | in_kit – An rvalue reference to a LinkKit to take the underlying object from.

    `LinkKit`(LinkKit const &in_kit)

      The copy constructor creates a new LinkKit object that contains the same settings as the source LinkKit.

      Parameters: | in_kit – The source LinkKit to copy.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(LinkKit const &in_kit) const

      Check if the source LinkKit is not equivalent to this LinkKit.

      Parameters: | in_kit – The source LinkKit to compare to this LinkKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    LinkKit &`operator=`(LinkKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this LinkKit.

      Parameters: | in_kit – An rvalue reference to a LinkKit to take the underlying object from.
      Returns: | A reference to this LinkKit.

    LinkKit &`operator=`(LinkKit const &in_kit)

      Copies the source LinkKit into this LinkKit.

      Parameters: | in_kit – The source LinkKit to copy.
      Returns: | A reference to this LinkKit.

    bool `operator==`(LinkKit const &in_kit) const

      Check if the source LinkKit is equivalent to this LinkKit.

      Parameters: | in_kit – The source LinkKit to compare to this LinkKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(LinkKit const &in_kit)

      Copies the source LinkKit into this LinkKit.

      Parameters: | in_kit – The source LinkKit to copy.

    LinkKit &`SetBorderColor`(RGBColor const &in_color)

      Sets the color of the border for the link. This corresponds to the value that will be passed to A3DPDFLinkData::m_sColor.

      Parameters: | in_color – The color of the border for the link.
      Returns: | A reference to this LinkKit.

    LinkKit &`SetBorderWidth`(int in_width)

      Sets the border width in points for the link. This corresponds to the value that will be passed to A3DPDFLinkData::m_iBorderWidth.

      Parameters: | in_width – The border width in points for the link.
      Returns: | A reference to this LinkKit.

    LinkKit &`SetHighlighting`(Highlighting::Mode in_mode)

      Sets the highlighting mode for the link. This corresponds to the value that will be passed to A3DPDFLinkData::m_eHighlightingMode.

      Parameters: | in_mode – The highlighting mode for the link.
      Returns: | A reference to this LinkKit.

    LinkKit &`SetJavaScript`(char const *in_source, Source::Type in_type = Source::Type::Code)

      Sets the JavaScript source or file for the link. This corresponds to the value that will be passed to A3DPDFLinkData::m_pcJavascriptString.

      Parameters: | in_source – The JavaScript source or file (depending on the next argument) for the link. in_type – The type of the preceding argument. Defaults to Source::Type::Code.
      Returns: | A reference to this LinkKit.

    void `Show`(LinkKit &out_kit) const

      Copies this LinkKit into the given LinkKit.

      Parameters: | out_kit – The LinkKit to populate with the contents of this LinkKit.

    bool `ShowBorderColor`(RGBColor &out_color) const

      Shows the border color setting.

      Parameters: | out_color – The border color of the link.
      Returns: | true if a border color was specified, false otherwise.

    bool `ShowBorderWidth`(int &out_width) const

      Shows the border width setting.

      Parameters: | out_width – The border width of the link.
      Returns: | true if a border width was specified, false otherwise.

    bool `ShowHighlighting`(Highlighting::Mode &out_mode) const

      Shows the highlighting mode setting.

      Parameters: | out_mode – The highlighting mode of the link.
      Returns: | true if a highlighting mode was specified, false otherwise.

    bool `ShowJavaScript`(UTF8 &out_source, Source::Type &out_type) const

      Shows the JavaScript setting.

      Parameters: | out_source – The JavaScript source or file (depending on the next argument) for the link. out_type – The type of the preceding argument.
      Returns: | true if a JavaScript source or file was specified, false otherwise.

    LinkKit &`UnsetBorderColor`()

      Removes the border color setting.

      Returns: | A reference to this LinkKit.

    LinkKit &`UnsetBorderWidth`()

      Removes the border width setting.

      Returns: | A reference to this LinkKit.

    LinkKit &`UnsetEverything`()

      Removes all data from the link.

      Returns: | A reference to this LinkKit.

    LinkKit &`UnsetHighlighting`()

      Removes the highlighting mode setting.

      Returns: | A reference to this LinkKit.

    LinkKit &`UnsetJavaScript`()

      Removes the JavaScript setting.

      Returns: | A reference to this LinkKit.

    virtual `~LinkKit`()

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishLinkKit
  class `ListBoxKit` : public HPS::SprocketKit

    The ListBoxKit class is a user space object. It acts as the container for all data that can be used to specify a list box for a Publish PDF.

    Public Functions

    virtual bool `Empty`() const

      Indicates whether this ListBoxKit has any values set on it.

      Returns: | true if no values are set on this ListBoxKit, false otherwise.

    bool `Equals`(ListBoxKit const &in_kit) const

      Check if the source ListBoxKit is equivalent to this ListBoxKit.

      Parameters: | in_kit – The source ListBoxKit to compare to this ListBoxKit.
      Returns: | true if the objects are equivalent, false otherwise.

    `ListBoxKit`()

      The default constructor creates an empty ListBoxKit object.

    `ListBoxKit`(ListBoxKit &&in_kit)

      The move constructor creates a ListBoxKit by transferring the underlying object of the rvalue reference to this ListBoxKit.

      Parameters: | in_kit – An rvalue reference to a ListBoxKit to take the underlying object from.

    `ListBoxKit`(ListBoxKit const &in_kit)

      The copy constructor creates a new ListBoxKit object that contains the same settings as the source ListBoxKit.

      Parameters: | in_kit – The source ListBoxKit to copy.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(ListBoxKit const &in_kit) const

      Check if the source ListBoxKit is not equivalent to this ListBoxKit.

      Parameters: | in_kit – The source ListBoxKit to compare to this ListBoxKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    ListBoxKit &`operator=`(ListBoxKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this ListBoxKit.

      Parameters: | in_kit – An rvalue reference to a ListBoxKit to take the underlying object from.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`operator=`(ListBoxKit const &in_kit)

      Copies the source ListBoxKit into this ListBoxKit.

      Parameters: | in_kit – The source ListBoxKit to copy.
      Returns: | A reference to this ListBoxKit.

    bool `operator==`(ListBoxKit const &in_kit) const

      Check if the source ListBoxKit is equivalent to this ListBoxKit.

      Parameters: | in_kit – The source ListBoxKit to compare to this ListBoxKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(ListBoxKit const &in_kit)

      Copies the source ListBoxKit into this ListBoxKit.

      Parameters: | in_kit – The source ListBoxKit to copy.

    ListBoxKit &`SetBorder`(bool in_state)

      Sets whether the list box has a border. This corresponds to the value that will be passed to A3DPDFListBoxData::m_bHasBorder.

      Parameters: | in_state – Whether the list box has a border.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetBorderColor`(RGBColor const &in_color)

      Sets the border color for the list box. This corresponds to the value that will be passed to A3DPDFListBoxData::m_sBorderColor.

      Parameters: | in_color – The border color of the list box.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetBorderStyle`(Border::Style in_style)

      Sets the border style for the list box. This corresponds to the value that will be passed to A3DPDFListBoxData::m_eLineStyleBorder.

      Parameters: | in_style – The border style for the list box.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetBorderThickness`(Border::Thickness in_thickness)

      Sets the border thickness for the list box. This corresponds to the value that will be passed to A3DPDFListBoxData::m_eThicknessBorder.

      Parameters: | in_thickness – The border thickness for the list box.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetContents`(size_t in_count, UTF8 const in_displayed_values[], UTF8 const in_export_values[])

      Sets the contents of the list box. This corresponds to the value that will be passed to A3DPDFPageFieldListAddItem.

      Parameters: | in_count – The size of the arrays passed in. in_displayed_values – The values displayed in the list box in_export_values – The export values associated with the values displayed
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetContents`(UTF8Array const &in_displayed_values, UTF8Array const &in_export_values)

      Sets the contents of the list box. This corresponds to the value that will be passed to A3DPDFPageFieldListAddItem. The two arrays need to have the same size.

      Parameters: | in_displayed_values – The values displayed in the list box in_export_values – The export values associated with the values displayed
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetFillColor`(RGBColor const &in_color)

      Sets the fill color for the list box. This corresponds to the value that will be passed to A3DPDFListBoxData::m_sFillColor and implicitly sets A3DPDFListBoxData::m_bHasFillColor to true.

      Parameters: | in_color – The fill color for the list box.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetFont`(char const *in_name, Text::Font::Style in_style = Text::Font::Style::Regular)

      Sets a specific font for the list box. This corresponds to the value that will be passed to A3DPDFListBoxData::m_pcFontName.

      Parameters: | in_name – UTF8-encoded font name for the list box. in_style – The style of font to use for the list box.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetFont`(Text::Font::Name in_name)

      Sets a builtin font for the list box. This corresponds to the value that will be passed to A3DPDFListBoxData::m_pcFontName.

      Parameters: | in_name – The builtin font for the list box.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetFontSize`(int in_size)

      Sets the font size for the list box. This corresponds to the value that will be passed to A3DPDFListBoxData::m_iFontSize.

      Parameters: | in_size – The font size for the list box.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetLock`(bool in_state)

      Sets whether the list box is locked. This corresponds to the value that will be passed to A3DPDFListBoxData::m_bIsLocked.

      Parameters: | in_state – Whether the list box is locked.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetMultipleSelection`(bool in_state)

      Sets whether multiple selection is allowed. This corresponds to the value that will be passed to A3DPDFListBoxData::m_bMultipleSelection.

      Parameters: | in_state – Whether multiple selection is allowed
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetName`(char const *in_name)

      Sets the name of the list box. This corresponds to the value that will be passed to A3DPDFListBoxData::m_pcName.

      Parameters: | in_name – UTF8-encoded name of the list box.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetPrintability`(bool in_state)

      Sets the printability for the list box. This corresponds to the value that will be passed to A3DPDFListBoxData::m_eFormField.

      Parameters: | in_state – The printability for the list box.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetTextColor`(RGBColor const &in_color)

      Sets the text color for the list box. This corresponds to the value that will be passed to A3DPDFListBoxData::m_sTextColor.

      Parameters: | in_color – The text color for the list box.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetTextRotation`(Text::Rotation in_rotation)

      Sets the text rotation for the list box. This corresponds to the value that will be passed to A3DPDFListBoxData::m_eTextOrientation.

      Parameters: | in_rotation – The text rotation for the list box.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetTooltip`(char const *in_tooltip)

      Sets the tooltip for the list box. This corresponds to the value that will be passed to A3DPDFListBoxData::m_pcTooltip.

      Parameters: | in_tooltip – UTF8-encoded tooltip text for the list box.
      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`SetVisibility`(bool in_state)

      Sets the visibility for the list box. This corresponds to the value that will be passed to A3DPDFListBoxData::m_eFormField.

      Parameters: | in_state – The visibility for the list box.
      Returns: | A reference to this ListBoxKit.

    void `Show`(ListBoxKit &out_kit) const

      Copies this ListBoxKit into the given ListBoxKit.

      Parameters: | out_kit – The ListBoxKit to populate with the contents of this ListBoxKit.

    bool `ShowBorder`(bool &out_state) const

      Shows the border setting for the list box.

      Parameters: | out_state – Whether the list box has a border.
      Returns: | true if a border setting was specified, false otherwise.

    bool `ShowBorderColor`(RGBColor &out_color) const

      Shows the border color for the list box.

      Parameters: | out_color – The border color of the list box.
      Returns: | true if a border color was specified, false otherwise.

    bool `ShowBorderStyle`(Border::Style &out_style) const

      Shows the border style for the list box.

      Parameters: | out_style – The border style for the list box.
      Returns: | true if a border style was specified, false otherwise.

    bool `ShowBorderThickness`(Border::Thickness &out_thickness) const

      Shows the border thickness for the list box.

      Parameters: | out_thickness – The border thickness for the list box.
      Returns: | true if a border thickness was specified, false otherwise.

    bool `ShowContents`(UTF8Array &out_displayed_values, UTF8Array &out_export_values) const

      Shows the content setting for the list box.

      Parameters: | out_displayed_values – The values displayed by the list box. out_export_values – The export values associated with the displayed values.
      Returns: | true if a content setting was specified, false otherwise.

    bool `ShowFillColor`(RGBColor &out_color) const

      Shows the fill color for the list box.

      Parameters: | out_color – The fill color for the list box.
      Returns: | true if a fill color was specified, false otherwise.

    bool `ShowFont`(Text::Font::Type &out_type, Text::Font::Name &out_font, UTF8 &out_font_name, Text::Font::Style &out_style) const

      Shows the font for the list box.

      Parameters: | out_type – The type of font for the list box. out_font – The built-in font for the list box. This is only valid if out_type is Text::Font::Type::BuiltIn. out_font_name – The explicit font name for the list box. This is only valid if out_type is Text::Font::Type::Explicit. out_style – The font style for the list box. This is only valid if out_type is Text::Font::Type::Explicit.
      Returns: | true if a font was specified, false otherwise.

    bool `ShowFontSize`(int &out_size) const

      Shows the font size for the list box.

      Parameters: | out_size – The font size for the list box.
      Returns: | true if a font size was specified, false otherwise.

    bool `ShowLock`(bool &out_state) const

      Shows the lock setting for the list box.

      Parameters: | in_state – Whether the list box is locked.
      Returns: | true if a lock setting was specified, false otherwise.

    bool `ShowMultipleSelection`(bool &out_state) const

      Shows the multiple selection setting for the list box.

      Parameters: | out_state – Whether multiple selection is enabled.
      Returns: | true if a multiple selection setting was specified, false otherwise.

    bool `ShowName`(UTF8 &out_name) const

      Shows the name for the list box.

      Parameters: | out_name – The name of the list box.
      Returns: | true if a name was specified, false otherwise.

    bool `ShowPrintability`(bool &out_state) const

      Shows the printability for the list box.

      Parameters: | out_state – The printability for the list box.
      Returns: | true if a printability was specified, false otherwise.

    bool `ShowTextColor`(RGBColor &out_color) const

      Shows the text color for the list box.

      Parameters: | out_color – The text color for the list box.
      Returns: | true if a text color was specified, false otherwise.

    bool `ShowTextRotation`(Text::Rotation &out_rotation) const

      Shows the text rotation for the list box.

      Parameters: | out_rotation – The text rotation for the list box.
      Returns: | true if a rotation was specified, false otherwise.

    bool `ShowTooltip`(UTF8 &out_tooltip) const

      Shows the tooltip for the list box.

      Parameters: | out_tooltip – The tooltip text for the list box.
      Returns: | true if a tooltip was specified, false otherwise.

    bool `ShowVisibility`(bool &out_state) const

      Shows the visibility for the list box.

      Parameters: | out_state – The visibility for the list box.
      Returns: | true if a visibility was specified, false otherwise.

    ListBoxKit &`UnsetBorder`()

      Removes the border setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetBorderColor`()

      Removes the border color setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetBorderStyle`()

      Removes the border style setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetBorderThickness`()

      Removes the border thickness setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetContents`()

      Removes the content setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetEverything`()

      Removes all data from the list box.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetFillColor`()

      Removes the fill color setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetFont`()

      Removes the font setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetFontSize`()

      Removes the font size setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetLock`()

      Removes the lock setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetMultipleSelection`()

      Removes the multiple selection setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetName`()

      Removes the name setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetPrintability`()

      Removes the printability setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetTextColor`()

      Removes the text color setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetTextRotation`()

      Removes the text rotation setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetTooltip`()

      Removes the tooltip setting.

      Returns: | A reference to this ListBoxKit.

    ListBoxKit &`UnsetVisibility`()

      Removes the visibility setting.

      Returns: | A reference to this ListBoxKit.

    virtual `~ListBoxKit`()

    Public Static Functions

    static ListBoxKit `GetDefault`()

      Creates a ListBoxKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for a button unless a setting is overridden by the ListBoxKit passed to a function.

      Returns: | A ListBoxKit with the default settings.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishListBoxKit
  class `Page`

    The Publish::Page class is a concept class for page-related enums.

    Public Types

    enum class `Format`

      Enumerates the page formats to use when generating a PDF via Publish.

      Values:

      enumerator `P11x17`

        Standard 11” x 17” format, 792 x 1124 points (kA3DPDFPage11x17).

      enumerator `A3`

        Standard A3 format, 842 x 1190 points (kA3DPDFPageA3).

      enumerator `A4`

        Standard A4 format, 595 x 842 points (kA3DPDFPageA4).

      enumerator `A5`

        Standard A5 format, 420 x 595 points (kA3DPDFPageA5).

      enumerator `B4JIS`

        Standard B4 JIS format, 728 x 1031 points (kA3DPDFPageB4JIS).

      enumerator `B5JIS`

        Standard B5 JIS format, 515 x 728 points (kA3DPDFPageB5JIS).

      enumerator `Executive`

        Standard Executive format, 522 x 756 points (kA3DPDFPageExecutive).

      enumerator `Legal`

        Standard Legal format, 612 x 1008 points (kA3DPDFPageLegal).

      enumerator `Letter`

        Standard Letter format, 612 x 792 points (kA3DPDFPageLetter).

      enumerator `Tabloid`

        Standard Tabloid format, 792 x 1224 points (kA3DPDFPageTabloid).

      enumerator `B4ISO`

        Standard B4 ISO format, 709 x 1001 points (kA3DPDFPageB4ISO).

      enumerator `B5ISO`

        Standard B5 ISO format, 499 x 709 points (kA3DPDFPageB5ISO).

    enum class `Orientation`

      Enumerates the page orientations to use when generating a PDF via Publish.

      Values:

      enumerator `Portrait`

        Self-explanatory (kA3DPDFPagePortrait).

      enumerator `Landscape`

        Self-explanatory (kA3DPDFPageLandscape).

  class `PageControl` : public HPS::Sprocket

    The PageControl class is a smart pointer to a page within a Publish PDF document. It allows direct interaction with a PDF page.

    Public Functions

    PageControl &`AddAnnotation`(AnnotationKit const &in_annotation, IntRectangle const &in_location)

      Adds an annotation to the page. This will not replace any existing annotations on the page. This corresponds to the value that will be passed to A3DPDFPageInsert3DAnnot.

      Parameters: | in_annotation – Annotation to add to the page. in_location – Annotation location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddAnnotations`(AnnotationKitArray const &in_annotations, IntRectangleArray const &in_locations)

      Adds a list of annotations to the page. This will not replace any existing annotations on the page. These correspond to the values that will be passed to A3DPDFPageInsert3DAnnot.

      Parameters: | in_annotations – Annotations to add to the page. in_locations – Annotation locations in points relative to bottom left of the page.
      Returns: | A reference to this PageControl.

    PageControl &`AddAnnotations`(size_t in_count, AnnotationKit const in_annotations[], IntRectangle const in_locations[])

      Adds a list of annotations to the page. This will not replace any existing annotations on the page. These correspond to the values that will be passed to A3DPDFPageInsert3DAnnot.

      Parameters: | in_count – Size of the following arrays. in_annotations – Annotations to add to the page. in_locations – Annotation locations in points relative to bottom left of the page.
      Returns: | A reference to this PageControl.

    PageControl &`AddButton`(ButtonKit const &in_button, IntRectangle const &in_location)

      Adds a button to the page. This will not replace any buttons on the page. This corresponds to the value that will be passed to A3DPDFPageInsertButton.

      Parameters: | in_button – Button to add to the page. in_location – Button location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddButtons`(ButtonKitArray const &in_buttons, IntRectangleArray const &in_locations)

      Adds a list of buttons to the page. This will not replace any buttons on the page. These correspond to values that will be passed to A3DPDFPageInsertButton.

      Parameters: | in_buttons – Buttons to add to the page. in_locations – Button locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddButtons`(size_t in_count, ButtonKit const in_buttons[], IntRectangle const in_locations[])

      Adds a list of buttons to the page. This will not replace any buttons on the page. These correspond to values that will be passed to A3DPDFPageInsertButton.

      Parameters: | in_count – Size of the following arrays. in_buttons – Buttons to add to the page. in_locations – Button locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddCheckBox`(CheckBoxKit const &in_check_box, IntRectangle const &in_location)

      Adds a check box to the page. This will not replace any check boxes on the page. This corresponds to the value that will be passed to A3DPDFPageInsertCheckBox.

      Parameters: | in_check_box – Check box to add to the page. in_location – Check box location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddCheckBoxes`(CheckBoxKitArray const &in_check_boxes, IntRectangleArray const &in_locations)

      Adds a list of check boxes to the page. This will not replace any check boxes on the page. These correspond to values that will be passed to A3DPDFPageInsertCheckBox.

      Parameters: | in_check_boxes – Check boxes to add to the page. in_locations – Check box locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddCheckBoxes`(size_t in_count, CheckBoxKit const in_check_boxes[], IntRectangle const in_locations[])

      Adds a list of check boxes to the page. This will not replace any check boxes on the page. These correspond to values that will be passed to A3DPDFPageInsertCheckBox.

      Parameters: | in_count – Size of the following arrays. in_check_boxes – Check boxes to add to the page. in_locations – Check box locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddDropDownList`(DropDownListKit const &in_drop_down_list, IntRectangle const &in_location)

      Adds a drop down list to the page. This will not replace any drop down lists on the page. This corresponds to the value that will be passed to A3DPDFPageInsertDropDownList.

      Parameters: | in_drop_down_list – Drop down list to add to the page. in_location – Drop down list location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddDropDownLists`(DropDownListKitArray const &in_drop_down_lists, IntRectangleArray const &in_locations)

      Adds a list of drop down lists to the page. This will not replace any drop down lists on the page. These correspond to values that will be passed to A3DPDFPageInsertDropDownList.

      Parameters: | in_drop_down_lists – Drop down lists to add to the page. in_locations – Drop down list locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddDropDownLists`(size_t in_count, DropDownListKit const in_drop_down_lists[], IntRectangle const in_locations[])

      Adds a list of drop down lists to the page. This will not replace any drop down lists on the page. These correspond to values that will be passed to A3DPDFPageInsertDropDownList.

      Parameters: | in_count – Size of the following arrays. in_drop_down_lists – Drop down lists to add to the page. in_locations – Drop down list locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddImage`(ImageKit const &in_image, IntRectangle const &in_location)

      Adds an image to the page. This will not replace any images on the page. This corresponds to the value that will be passed to A3DPDFPageInsertImage2.

      Parameters: | in_image – Image to add to the page. in_location – Image location in points relative to bottom left of the page. Only the left and bottom fields in the location will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddImages`(ImageKitArray const &in_images, IntRectangleArray const &in_locations)

      Adds a list of images to the page. This will not replace any images on the page. These correspond to values that will be passed to A3DPDFPageInsertImage2.

      Parameters: | in_images – Images to add to the page. in_locations – Image locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddImages`(size_t in_count, ImageKit const in_images[], IntRectangle const in_locations[])

      Adds a list of images to the page. This will not replace any images on the page. These correspond to values that will be passed to A3DPDFPageInsertImage2.

      Parameters: | in_count – Size of the following arrays. in_images – Images to add to the page. in_locations – Image locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddLink`(LinkKit const &in_link, IntRectangle const &in_location)

      Adds a link to the page. This will not replace any links on the page. This corresponds to the value that will be passed to A3DPDFPageInsertLink.

      Parameters: | in_link – Link to add to the page. in_location – Link location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddLinks`(LinkKitArray const &in_links, IntRectangleArray const &in_locations)

      Adds a list of links to the page. This will not replace any links on the page. These correspond to values that will be passed to A3DPDFPageInsertLink.

      Parameters: | in_links – Links to add to the page. in_locations – Link locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddLinks`(size_t in_count, LinkKit const in_links[], IntRectangle const in_locations[])

      Adds a list of links to the page. This will not replace any links on the page. These correspond to values that will be passed to A3DPDFPageInsertLink.

      Parameters: | in_count – Size of the following arrays. in_links – Links to add to the page. in_locations – Link locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddListBox`(ListBoxKit const &in_list_box, IntRectangle const &in_location)

      Adds a list box to the page. This will not replace any list boxes on the page. This corresponds to the value that will be passed to A3DPDFPageInsertListBox.

      Parameters: | in_list_box – List box to add to the page. in_location – List box location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddListBoxes`(ListBoxKitArray const &in_list_boxes, IntRectangleArray const &in_locations)

      Adds a list of list boxes to the page. This will not replace any list boxes on the page. These correspond to values that will be passed to A3DPDFPageInsertListBox.

      Parameters: | in_list_boxes – List boxes to add to the page. in_locations – List box locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddListBoxes`(size_t in_count, ListBoxKit const in_list_boxes[], IntRectangle const in_locations[])

      Adds a list of list boxes to the page. This will not replace any list boxes on the page. These correspond to values that will be passed to A3DPDFPageInsertListBox.

      Parameters: | in_count – Size of the following arrays. in_list_boxes – List boxes to add to the page. in_locations – List box locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddListItemByField`(char const *in_field, char const *in_value, char const *in_export_value)

      Adds an item to the list at the given form field. The item to will be appended to any existing items in the list at the given form field. This corresponds to the value that will be passed to A3DPDFPageFieldListAddItem. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_field – UTF8-encoded form field name for the list. in_value – UTF8-encoded value for the item to be added to the list at the given form field. in_export_value – UTF8-encoded export value for the item to be added to the list at the given form field.
      Returns: | A reference to this PageControl.

    PageControl &`AddListItemsByField`(char const *in_field, size_t in_count, UTF8 const in_values[], UTF8 const in_export_values[])

      Adds items to the list at the given form field. The items to will be appended to any existing items in the list at the given form field. These correspond to values that will be passed to A3DPDFPageFieldListAddItem. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_field – UTF8-encoded form field name for the list. in_count – Size of the following arrays. in_values – The values for the items to be added to the list at the given form field. in_export_values – The export values for the items to be added to the list at the given form field.
      Returns: | A reference to this PageControl.

    PageControl &`AddListItemsByField`(char const *in_field, UTF8Array const &in_values, UTF8Array const &in_export_values)

      Adds items to the list at the given form field. The items to will be appended to any existing items in the list at the given form field. These correspond to values that will be passed to A3DPDFPageFieldListAddItem. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_field – UTF8-encoded form field name for the list. in_values – The values for the items to be added to the list at the given form field. in_export_values – The export values for the items to be added to the list at the given form field.
      Returns: | A reference to this PageControl.

    PageControl &`AddRadioButton`(RadioButtonKit const &in_radio_button, IntRectangle const &in_location)

      Adds a radio button to the page. This will not replace any radio buttons on the page. This corresponds to the value that will be passed to A3DPDFPageInsertRadioButton.

      Parameters: | in_radio_button – Radio button to add to the page. in_location – Radio button location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddRadioButtons`(RadioButtonKitArray const &in_radio_buttons, IntRectangleArray const &in_locations)

      Adds a list of radio buttons to the page. This will not replace any radio buttons on the page. These correspond to values that will be passed to A3DPDFPageInsertRadioButton.

      Parameters: | in_radio_buttons – Radio buttons to add to the page. in_locations – Radio button locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddRadioButtons`(size_t in_count, RadioButtonKit const in_radio_buttons[], IntRectangle const in_locations[])

      Adds a list of radio buttons to the page. This will not replace any radio buttons on the page. These correspond to values that will be passed to A3DPDFPageInsertRadioButton.

      Parameters: | in_count – Size of the following arrays. in_radio_buttons – Radio buttons to add to the page. in_locations – Radio button locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddSignatureField`(SignatureFieldKit const &in_signature_field, IntRectangle const &in_location)

      Adds a signature field to the page. This will not replace any signature fields on the page. This corresponds to the value that will be passed to A3DPDFPageInsertSignatureField.

      Parameters: | in_signature_field – Signature field to add to the page. in_location – Signature field location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddSignatureFields`(SignatureFieldKitArray const &in_signature_fields, IntRectangleArray const &in_locations)

      Adds a list of signature fields to the page. This will not replace any signature fields on the page. These correspond to values that will be passed to A3DPDFPageInsertSignatureField.

      Parameters: | in_signature_fields – Signature fields to add to the page. in_locations – Signature field locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddSignatureFields`(size_t in_count, SignatureFieldKit const in_signature_fields[], IntRectangle const in_locations[])

      Adds a list of signature fields to the page. This will not replace any signature fields on the page. These correspond to values that will be passed to A3DPDFPageInsertSignatureField.

      Parameters: | in_count – Size of the following arrays. in_signature_fields – Signature fields to add to the page. in_locations – Signature field locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddText`(size_t in_count, TextKit const in_text[], IntRectangle const in_locations[])

      Adds text strings to the page. This will not replace any text on the page. These correspond to values that will be passed to A3DPDFPageInsertText.

      Parameters: | in_count – Size of the following arrays. in_text – Text to add to the page. in_locations – Text locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddText`(TextKit const &in_text, IntRectangle const &in_location)

      Adds a text string to the page. This will not replace any text on the page. This corresponds to the value that will be passed to A3DPDFPageInsertText.

      Parameters: | in_text – Text to add to the page. in_location – Text location in points relative to bottom left of the page. Only the left and bottom fields in the location will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddText`(TextKitArray const &in_text, IntRectangleArray const &in_locations)

      Adds text strings to the page. This will not replace any text on the page. These correspond to values that will be passed to A3DPDFPageInsertText.

      Parameters: | in_text – Text to add to the page. in_locations – Text locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddTextField`(TextFieldKit const &in_text_field, IntRectangle const &in_location)

      Adds a text field to the page. This will not replace any text fields on the page. This corresponds to the value that will be passed to A3DPDFPageInsertTextField.

      Parameters: | in_text_field – Text field to add to the page. in_location – Text field location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddTextFields`(size_t in_count, TextFieldKit const in_text_fields[], IntRectangle const in_locations[])

      Adds a list of text fields to the page. This will not replace any text fields on the page. These correspond to values that will be passed to A3DPDFPageInsertTextField.

      Parameters: | in_count – Size of the following arrays. in_text_fields – Text fields to add to the page. in_locations – Text field locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    PageControl &`AddTextFields`(TextFieldKitArray const &in_text_fields, IntRectangleArray const &in_locations)

      Adds a list of text fields to the page. This will not replace any text fields on the page. These correspond to values that will be passed to A3DPDFPageInsertTextField.

      Parameters: | in_text_fields – Text fields to add to the page. in_locations – Text field locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageControl.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    PageControl &`operator=`(PageControl &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this PageControl.

      Parameters: | in_kit – An rvalue reference to a PageControl to take the underlying object from.
      Returns: | A reference to this PageControl.

    PageControl &`operator=`(PageControl const &in_that)

      Share the underlying smart-pointer of the PageControl source.

      Parameters: | in_that – The PageControl source of the assignment.
      Returns: | A reference to this PageControl.

    `PageControl`()

      The default constructor creates an uninitialized PageControl object. The Type() function will return Type::None.

    `PageControl`(PageControl &&in_that)

      The move constructor creates a PageControl by transferring the underlying object of the rvalue reference to this PageControl.

      Parameters: | in_kit – An rvalue reference to a PageControl to take the underlying object from.

    `PageControl`(PageControl const &in_that)

      The copy constructor creates a PageControl object that shares the underlying smart-pointer of the source PageControl.

      Parameters: | in_that – The source PageControl to copy.

    PageControl &`SetAnnotationByField`(char const *in_field, AnnotationKit const &in_annotation)

      Sets an annotation on the given form field. If there is an existing annotation on the given form field, it will get overwritten. This corresponds to the value that will be passed to A3DPDFPageFieldSet3DAnnot. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_field – UTF8-encoded form field name for the annotation. in_annotation – The annotation to be set on the given form field.
      Returns: | A reference to this PageControl.

    PageControl &`SetAnnotationsByField`(size_t in_count, UTF8 const in_fields[], AnnotationKit const in_annotations[])

      Sets annotations on the given form fields. If there is an existing annotation on a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldSet3DAnnot. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_count – Size of the following arrays. in_fields – The form field names for the annotations. in_annotations – The annotations to be set on the corresponding form fields.
      Returns: | A reference to this PageControl.

    PageControl &`SetAnnotationsByField`(UTF8Array const &in_fields, AnnotationKitArray const &in_annotations)

      Sets annotations on the given form fields. If there is an existing annotation on a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldSet3DAnnot. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_fields – The form field names for the annotations. in_annotations – The annotations to be set on the corresponding form fields.
      Returns: | A reference to this PageControl.

    PageControl &`SetButtonIconByField`(char const *in_field, ImageKit const &in_image)

      Sets an image on the icon at the given form field. If there is an existing image on an icon at the given form field, it will get overwritten. This corresponds to the value that will be passed to A3DPDFPageFieldButtonSetIcon. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_field – UTF8-encoded form field name for the icon. in_image – The image to be set on the icon at the given form field.
      Returns: | A reference to this PageControl.

    PageControl &`SetButtonIconsByField`(size_t in_count, UTF8 const in_fields[], ImageKit const in_images[])

      Sets images on the icons at the given form fields. If there is an existing image on an icon at a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldButtonSetIcon. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_count – Size of the following arrays. in_fields – The form field names for the icons. in_images – The images to be set on the icons at the corresponding form fields.
      Returns: | A reference to this PageControl.

    PageControl &`SetButtonIconsByField`(UTF8Array const &in_fields, ImageKitArray const &in_images)

      Sets images on the icons at the given form fields. If there is an existing image on an icon at a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldButtonSetIcon. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_fields – The form field names for the icons. in_images – The images to be set on the icons at the corresponding form fields.
      Returns: | A reference to this PageControl.

    PageControl &`SetButtonLabelByField`(char const *in_field, char const *in_label)

      Sets a label on the given form field. If there is an existing label on the given form field, it will get overwritten. This corresponds to the value that will be passed to A3DPDFPageFieldButtonSetLabel. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_field – UTF8-encoded form field name for the label. in_label – UTF8-encoded label to be set on the given form field.
      Returns: | A reference to this PageControl.

    PageControl &`SetButtonLabelsByField`(size_t in_count, UTF8 const in_fields[], UTF8 const in_labels[])

      Sets labels on the given form fields. If there is an existing label on a given form field, it will get overwritten. These correspond to the values that will be passed to A3DPDFPageFieldButtonSetLabel. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_count – Size of the following arrays. in_fields – The form field names for the labels. in_labels – The labels to be set on the corresponding form fields.
      Returns: | A reference to this PageControl.

    PageControl &`SetButtonLabelsByField`(UTF8Array const &in_fields, UTF8Array const &in_labels)

      Sets labels on the given form fields. If there is an existing label on a given form field, it will get overwritten. These correspond to the values that will be passed to A3DPDFPageFieldButtonSetLabel. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_fields – The form field names for the labels. in_labels – The labels to be set on the corresponding form fields.
      Returns: | A reference to this PageControl.

    PageControl &`SetJavaScriptActionByField`(char const *in_field, char const *in_source, Source::Type in_type = Source::Type::Code)

      Sets a JavaScript source or file on the given form field. If there is any existing JavaScript source or file at the given form field, it will be overwritten. This corresponds to the value that will be passed to A3DPDFPageFieldSetActionJavascriptFromString or A3DPDFPageFieldSetActionJavascriptFromFile. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_field – UTF8-encoded form field name for the JavaScript action. in_source – UTF8-encoded JavaScript source or file (depending on the following argument) to be set on the given form field. in_type – The type of the preceding argument. Defaults to Source::Type::Code.
      Returns: | A reference to this PageControl.

    PageControl &`SetJavaScriptActionsByField`(size_t in_count, UTF8 const in_fields[], UTF8 const in_sources[], Source::Type const in_types[])

      Sets JavaScript sources and/or files on the given form fields. If there is any existing JavaScript source or file at a given form field, it will be overwritten. These correspond to values that will be passed to A3DPDFPageFieldSetActionJavascriptFromString or A3DPDFPageFieldSetActionJavascriptFromFile. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_count – Size of the following arrays. in_fields – The form field names for the JavaScript actions. in_sources – The JavaScript sources and/or files (depending on the corresponding entry in the following argument) to be set on the corresponding form fields. in_types – The types for each item in the preceding argument array.
      Returns: | A reference to this PageControl.

    PageControl &`SetJavaScriptActionsByField`(UTF8Array const &in_fields, UTF8Array const &in_sources, SourceTypeArray const &in_types)

      Sets JavaScript sources and/or files on the given form fields. If there is any existing JavaScript source or file at a given form field, it will be overwritten. These correspond to values that will be passed to A3DPDFPageFieldSetActionJavascriptFromString or A3DPDFPageFieldSetActionJavascriptFromFile. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_fields – The form field names for the JavaScript actions. in_sources – The JavaScript sources and/or files (depending on the corresponding entry in the following argument) to be set on the corresponding form fields. in_types – The types for each item in the preceding argument array.
      Returns: | A reference to this PageControl.

    PageControl &`SetTextValueByField`(char const *in_field, char const *in_value)

      Sets a text value on the given form field. If there is an existing text value on the given form field, it will get overwritten. This corresponds to the value that will be passed to A3DPDFPageFieldTextSetValue. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_field – UTF8-encoded form field name for the text value. in_value – UTF8-encoded text value to be set on the given form field.
      Returns: | A reference to this PageControl.

    PageControl &`SetTextValuesByField`(size_t in_count, UTF8 const in_fields[], UTF8 const in_values[])

      Sets text values on the given form fields. If there is an existing text value on a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldTextSetValue. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_count – Size of the following arrays. in_fields – The form field names for the text values. in_values – The text values to be set on the corresponding form fields.
      Returns: | A reference to this PageControl.

    PageControl &`SetTextValuesByField`(UTF8Array const &in_fields, UTF8Array const &in_values)

      Sets text values on the given form fields. If there is an existing text value on a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldTextSetValue. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_fields – The form field names for the text values. in_values – The text values to be set on the corresponding form fields.
      Returns: | A reference to this PageControl.

    PageControl &`SetVisibilitiesByField`(size_t in_count, UTF8 const in_fields[], bool const in_states[])

      Sets whether the objects at the given form fields should be visible. If there is an existing visibility on a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldSetVisibility. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_count – Size of the following arrays. in_fields – The form field names on which to set visibility. in_states – Whether the objects at the at the corresponding form fields should be visible.
      Returns: | A reference to this PageControl.

    PageControl &`SetVisibilitiesByField`(UTF8Array const &in_fields, BoolArray const &in_states)

      Sets whether the objects at the given form fields should be visible. If there is an existing visibility on a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldSetVisibility. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_fields – The form field names on which to set visibility. in_states – Whether the objects at the at the corresponding form fields should be visible.
      Returns: | A reference to this PageControl.

    PageControl &`SetVisibilityByField`(char const *in_field, bool in_state)

      Sets whether the object at the given form field should be visible. If there is an existing visibility on the given form field, it will get overwritten. This corresponds to the value that will be passed to A3DPDFPageFieldSetVisibility. This will only have an effect if the underlying page has a form field with the given name and is of the appropriate type.

      Parameters: | in_field – UTF8-encoded form field name on which to set visibility. in_state – Whether the object at the at the given form field should be visible.
      Returns: | A reference to this PageControl.

    bool `ShowFields`(UTF8Array &out_names, IntRectangleArray &out_locations, FieldTypeArray &out_types) const

      Shows the PDF form fields on the page associated with this PageControl.

      Parameters: | out_names – The names of the PDF form fields on the associated page. out_locations – The locations of the PDF form fields on the associated page. out_types – The types of the PDF form fields on the associated page.
      Returns: | true if there are any PDF form fields on the associated page, false otherwise.

    virtual `~PageControl`()

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishPageControl
  class `PageKit` : public HPS::SprocketKit

    The PageKit class is a user space object. It acts as the container for all data that can be on a page in a Publish PDF.

    Public Functions

    PageKit &`AddAnnotation`(AnnotationKit const &in_annotation, IntRectangle const &in_location)

      Adds an annotation to the page. This will not replace any existing annotations on the page. This corresponds to the value that will be passed to A3DPDFPageInsert3DAnnot.

      Parameters: | in_annotation – Annotation to add to the page. in_location – Annotation location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddAnnotations`(AnnotationKitArray const &in_annotations, IntRectangleArray const &in_locations)

      Adds a list of annotations to the page. This will not replace any existing annotations on the page. These correspond to the values that will be passed to A3DPDFPageInsert3DAnnot.

      Parameters: | in_annotations – Annotations to add to the page. in_locations – Annotation locations in points relative to bottom left of the page.
      Returns: | A reference to this PageKit.

    PageKit &`AddAnnotations`(size_t in_count, AnnotationKit const in_annotations[], IntRectangle const in_locations[])

      Adds a list of annotations to the page. This will not replace any existing annotations on the page. These correspond to the values that will be passed to A3DPDFPageInsert3DAnnot.

      Parameters: | in_count – Size of the following arrays. in_annotations – Annotations to add to the page. in_locations – Annotation locations in points relative to bottom left of the page.
      Returns: | A reference to this PageKit.

    PageKit &`AddButton`(ButtonKit const &in_button, IntRectangle const &in_location)

      Adds a button to the page. This will not replace any buttons on the page. This corresponds to the value that will be passed to A3DPDFPageInsertButton.

      Parameters: | in_button – Button to add to the page. in_location – Button location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddButtons`(ButtonKitArray const &in_buttons, IntRectangleArray const &in_locations)

      Adds a list of buttons to the page. This will not replace any buttons on the page. These correspond to values that will be passed to A3DPDFPageInsertButton.

      Parameters: | in_buttons – Buttons to add to the page. in_locations – Button locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddButtons`(size_t in_count, ButtonKit const in_buttons[], IntRectangle const in_locations[])

      Adds a list of buttons to the page. This will not replace any buttons on the page. These correspond to values that will be passed to A3DPDFPageInsertButton.

      Parameters: | in_count – Size of the following arrays. in_buttons – Buttons to add to the page. in_locations – Button locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddCheckBox`(CheckBoxKit const &in_checkbox, IntRectangle const &in_location)

      Adds a check box to the page. This will not replace any check boxes on the page. This corresponds to the value that will be passed to A3DPDFPageInsertCheckBox.

      Parameters: | in_checkbox – Check Box to add to the page. in_location – Check Box location in points relative to bottom left of the page. Only the left and bottom fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddCheckBoxes`(CheckBoxKitArray const &in_checkbox, IntRectangleArray const &in_locations)

      Adds check boxes to the page. This will not replace any check boxes on the page. These correspond to values that will be passed to A3DPDFPageInsertCheckBox.

      Parameters: | in_checkbox – Check Box to add to the page. in_locations – Check Box locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddCheckBoxes`(size_t in_count, CheckBoxKit const in_checkbox[], IntRectangle const in_locations[])

      Adds check boxes to the page. This will not replace any check boxes on the page. These correspond to values that will be passed to A3DPDFPageInsertCheckBox.

      Parameters: | in_count – Size of the following arrays. in_checkbox – Check Box to add to the page. in_locations – Check Box locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddDropDownList`(DropDownListKit const &in_drop_down_list, IntRectangle const &in_location)

      Adds a drop down list to the page. This will not replace any drop down lists on the page. This corresponds to the value that will be passed to A3DPDFPageInsertDropDownList.

      Parameters: | in_drop_down_list – Drop Down List to add to the page. in_location – Drop Down List location in points relative to bottom left of the page. Only the left and bottom fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddDropDownLists`(DropDownListKitArray const &in_drop_down_list, IntRectangleArray const &in_locations)

      Adds drop down lists to the page. This will not replace any drop down lists on the page. These correspond to values that will be passed to A3DPDFPageInsertDropDownList.

      Parameters: | in_drop_down_list – Drop Down List to add to the page. in_locations – Drop Down List locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddDropDownLists`(size_t in_count, DropDownListKit const in_drop_down_list[], IntRectangle const in_locations[])

      Adds drop down lists to the page. This will not replace any drop down lists on the page. These correspond to values that will be passed to A3DPDFPageInsertDropDownList.

      Parameters: | in_count – Size of the following arrays. in_drop_down_list – Drop Down List to add to the page. in_locations – Drop Down List locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddImage`(ImageKit const &in_image, IntRectangle const &in_location)

      Adds an image to the page. This will not replace any images on the page. This corresponds to the value that will be passed to A3DPDFPageInsertImage2.

      Parameters: | in_image – Image to add to the page. in_location – Image location in points relative to bottom left of the page. Only the left and bottom fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddImages`(ImageKitArray const &in_images, IntRectangleArray const &in_locations)

      Adds a list of images to the page. This will not replace any images on the page. These correspond to values that will be passed to A3DPDFPageInsertImage2.

      Parameters: | in_images – Images to add to the page. in_locations – Image locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddImages`(size_t in_count, ImageKit const in_images[], IntRectangle const in_locations[])

      Adds a list of images to the page. This will not replace any images on the page. These correspond to values that will be passed to A3DPDFPageInsertImage2.

      Parameters: | in_count – Size of the following arrays. in_images – Images to add to the page. in_locations – Image locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddLink`(LinkKit const &in_link, IntRectangle const &in_location)

      Adds a link to the page. This will not replace any links on the page. This corresponds to the value that will be passed to A3DPDFPageInsertLink.

      Parameters: | in_link – Link to add to the page. in_location – Link location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddLinks`(LinkKitArray const &in_links, IntRectangleArray const &in_locations)

      Adds a list of links to the page. This will not replace any links on the page. These correspond to values that will be passed to A3DPDFPageInsertLink.

      Parameters: | in_links – Links to add to the page. in_locations – Link locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddLinks`(size_t in_count, LinkKit const in_links[], IntRectangle const in_locations[])

      Adds a list of links to the page. This will not replace any links on the page. These correspond to values that will be passed to A3DPDFPageInsertLink.

      Parameters: | in_count – Size of the following arrays. in_links – Links to add to the page. in_locations – Link locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddListBox`(ListBoxKit const &in_list_box, IntRectangle const &in_location)

      Adds a list box to the page. This will not replace any list boxes on the page. This corresponds to the value that will be passed to A3DPDFPageInsertListBox.

      Parameters: | in_list_box – List Box to add to the page. in_location – List Box location in points relative to bottom left of the page. Only the left and bottom fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddListBoxes`(ListBoxKitArray const &in_list_box, IntRectangleArray const &in_locations)

      Adds list boxes to the page. This will not replace any list boxes on the page. These correspond to values that will be passed to A3DPDFPageInsertListBox.

      Parameters: | in_list_box – List Box to add to the page. in_locations – List Box locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddListBoxes`(size_t in_count, ListBoxKit const in_list_box[], IntRectangle const in_locations[])

      Adds list boxes to the page. This will not replace any list boxes on the page. These correspond to values that will be passed to A3DPDFPageInsertListBox.

      Parameters: | in_count – Size of the following arrays. in_list_box – List Box to add to the page. in_locations – List Box locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddListItemByField`(char const *in_field, char const *in_value, char const *in_export_value)

      Adds an item to the list at the given form field. The item to will be appended to any existing items in the list at the given form field. This corresponds to the value that will be passed to A3DPDFPageFieldListAddItem. This will only have an effect if the page has a template file.

      Parameters: | in_field – UTF8-encoded form field name for the list. in_value – UTF8-encoded value for the item to be added to the list at the given form field. in_export_value – UTF8-encoded export value for the item to be added to the list at the given form field.
      Returns: | A reference to this PageKit.

    PageKit &`AddListItemsByField`(char const *in_field, size_t in_count, UTF8 const in_values[], UTF8 const in_export_values[])

      Adds items to the list at the given form field. The items to will be appended to any existing items in the list at the given form field. These correspond to values that will be passed to A3DPDFPageFieldListAddItem. This will only have an effect if the page has a template file.

      Parameters: | in_field – UTF8-encoded form field name for the list. in_count – Size of the following arrays. in_values – The values for the items to be added to the list at the given form field. in_export_values – The export values for the items to be added to the list at the given form field.
      Returns: | A reference to this PageKit.

    PageKit &`AddListItemsByField`(char const *in_field, UTF8Array const &in_values, UTF8Array const &in_export_values)

      Adds items to the list at the given form field. The items to will be appended to any existing items in the list at the given form field. These correspond to values that will be passed to A3DPDFPageFieldListAddItem. This will only have an effect if the page has a template file.

      Parameters: | in_field – UTF8-encoded form field name for the list. in_values – The values for the items to be added to the list at the given form field. in_export_values – The export values for the items to be added to the list at the given form field.
      Returns: | A reference to this PageKit.

    PageKit &`AddRadioButton`(RadioButtonKit const &in_radio_button, IntRectangle const &in_location)

      Adds a radio button to the page. This will not replace any radio buttons on the page. This corresponds to the value that will be passed to A3DPDFPageInsertRadioButton.

      Parameters: | in_radio_button – Radio button to add to the page. in_location – Button location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddRadioButtons`(RadioButtonKitArray const &in_radio_buttons, IntRectangleArray const &in_locations)

      Adds a list of buttons to the page. This will not replace any radio buttons on the page. These correspond to values that will be passed to A3DPDFPageInsertRadioButton.

      Parameters: | in_radio_buttons – Radio buttons to add to the page. in_locations – Button locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddRadioButtons`(size_t in_count, RadioButtonKit const in_radio_buttons[], IntRectangle const in_locations[])

      Adds a list of buttons to the page. This will not replace any radio buttons on the page. These correspond to values that will be passed to A3DPDFPageInsertRadioButton.

      Parameters: | in_count – Size of the following arrays. in_radio_buttons – Radio buttons to add to the page. in_locations – Button locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddSignatureField`(SignatureFieldKit const &in_signature_field, IntRectangle const &in_location)

      Adds a signature field to the page. This will not replace any signature fields on the page. This corresponds to the value that will be passed to A3DPDFPageInsertSignatureField.

      Parameters: | in_signature_field – Signature Field to add to the page. in_location – Signature Field location in points relative to bottom left of the page. Only the left and bottom fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddSignatureFields`(SignatureFieldKitArray const &in_signature_field, IntRectangleArray const &in_locations)

      Adds signature fields to the page. This will not replace any signature fields on the page. These correspond to values that will be passed to A3DPDFPageInsertSignatureField.

      Parameters: | in_signature_field – Signature Field to add to the page. in_locations – Signature Field locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddSignatureFields`(size_t in_count, SignatureFieldKit const in_signature_field[], IntRectangle const in_locations[])

      Adds signature fields to the page. This will not replace any signature fields on the page. These correspond to values that will be passed to A3DPDFPageInsertSignatureField.

      Parameters: | in_count – Size of the following arrays. in_signature_field – Signature Field to add to the page. in_locations – Signature Field locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddText`(size_t in_count, TextKit const in_text[], IntRectangle const in_locations[])

      Adds text strings to the page. This will not replace any text on the page. These correspond to values that will be passed to A3DPDFPageInsertText.

      Parameters: | in_count – Size of the following arrays. in_text – Text to add to the page. in_locations – Text locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddText`(TextKit const &in_text, IntRectangle const &in_location)

      Adds a text string to the page. This will not replace any text on the page. This corresponds to the value that will be passed to A3DPDFPageInsertText.

      Parameters: | in_text – Text to add to the page. in_location – Text location in points relative to bottom left of the page. Only the left and bottom fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddText`(TextKitArray const &in_text, IntRectangleArray const &in_locations)

      Adds text strings to the page. This will not replace any text on the page. These correspond to values that will be passed to A3DPDFPageInsertText.

      Parameters: | in_text – Text to add to the page. in_locations – Text locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddTextField`(TextFieldKit const &in_text_field, IntRectangle const &in_location)

      Adds a text field to the page. This will not replace any text fields on the page. This corresponds to the value that will be passed to A3DPDFPageInsertTextField.

      Parameters: | in_text_field – Text field to add to the page. in_location – Text field location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddTextFields`(size_t in_count, TextFieldKit const in_text_fields[], IntRectangle const in_locations[])

      Adds a list of text fields to the page. This will not replace any text fields on the page. These correspond to values that will be passed to A3DPDFPageInsertTextField.

      Parameters: | in_count – Size of the following arrays. in_text_fields – Text fields to add to the page. in_locations – Text field locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`AddTextFields`(TextFieldKitArray const &in_text_fields, IntRectangleArray const &in_locations)

      Adds a list of text fields to the page. This will not replace any text fields on the page. These correspond to values that will be passed to A3DPDFPageInsertTextField.

      Parameters: | in_text_fields – Text fields to add to the page. in_locations – Text field locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    virtual bool `Empty`() const

      Indicates whether this PageKit has any values set on it.

      Returns: | true if no values are set on this PageKit, false otherwise.

    bool `Equals`(PageKit const &in_kit) const

      Check if the source PageKit is equivalent to this PageKit.

      Parameters: | in_kit – The source PageKit to compare to this PageKit.
      Returns: | true if the objects are equivalent, false otherwise.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(PageKit const &in_kit) const

      Check if the source PageKit is not equivalent to this PageKit.

      Parameters: | in_kit – The source PageKit to compare to this PageKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    PageKit &`operator=`(PageKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this PageKit.

      Parameters: | in_kit – An rvalue reference to a PageKit to take the underlying object from.
      Returns: | A reference to this PageKit.

    PageKit &`operator=`(PageKit const &in_kit)

      Copies the source PageKit into this PageKit.

      Parameters: | in_kit – The source PageKit to copy.
      Returns: | A reference to this PageKit.

    bool `operator==`(PageKit const &in_kit) const

      Check if the source PageKit is equivalent to this PageKit.

      Parameters: | in_kit – The source PageKit to compare to this PageKit.
      Returns: | true if the objects are equivalent, false otherwise.

    `PageKit`()

      The default constructor creates an empty PageKit object.

    `PageKit`(char const *in_filename)

      This constructor creates a PageKit from the given PDF template file.

      Parameters: | in_filename – UTF8-encoded filename for the PDF file to act as a template.

    `PageKit`(Page::Format in_format, Page::Orientation in_orientation)

      This constructor creates a PageKit with the given format and orientation.

      Parameters: | in_format – Format of the page. in_orientation – Orientation of the page.

    `PageKit`(PageKit &&in_kit)

      The move constructor creates a PageKit by transferring the underlying object of the rvalue reference to this PageKit.

      Parameters: | in_kit – An rvalue reference to a PageKit to take the underlying object from.

    `PageKit`(PageKit const &in_kit)

      The copy constructor creates a new PageKit object that contains the same settings as the source PageKit.

      Parameters: | in_kit – The source PageKit to copy.

    void `Set`(PageKit const &in_kit)

      Copies the source PageKit into this PageKit.

      Parameters: | in_kit – The source PageKit to copy.

    PageKit &`SetAnnotation`(AnnotationKit const &in_annotation, IntRectangle const &in_location)

      Adds an annotation to the page. This will replace all annotations (if any) on the page. This corresponds to the value that will be passed to A3DPDFPageInsert3DAnnot.

      Parameters: | in_annotation – Annotation to add to the page. in_location – Annotation location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetAnnotationByField`(char const *in_field, AnnotationKit const &in_annotation)

      Sets an annotation on the given form field. If there is an existing annotation on the given form field, it will get overwritten. This corresponds to the value that will be passed to A3DPDFPageFieldSet3DAnnot. This will only have an effect if the page has a template file.

      Parameters: | in_field – UTF8-encoded form field name for the annotation. in_annotation – The annotation to be set on the given form field.
      Returns: | A reference to this PageKit.

    PageKit &`SetAnnotations`(AnnotationKitArray const &in_annotations, IntRectangleArray const &in_locations)

      Adds a list of annotations to the page. This will replace all annotations (if any) on the page. These correspond to the values that will be passed to A3DPDFPageInsert3DAnnot.

      Parameters: | in_annotations – Annotations to add to the page. in_locations – Annotation locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetAnnotations`(size_t in_count, AnnotationKit const in_annotations[], IntRectangle const in_locations[])

      Adds a list of annotations to the page. This will replace all annotations (if any) on the page. These correspond to the values that will be passed to A3DPDFPageInsert3DAnnot.

      Parameters: | in_count – Size of the following arrays. in_annotations – Annotations to add to the page. in_locations – Annotation locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetAnnotationsByField`(size_t in_count, UTF8 const in_fields[], AnnotationKit const in_annotations[])

      Sets annotations on the given form fields. If there is an existing annotation on a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldSet3DAnnot. This will only have an effect if the page has a template file.

      Parameters: | in_count – Size of the following arrays. in_fields – The form field names for the annotations. in_annotations – The annotations to be set on the corresponding form fields.
      Returns: | A reference to this PageKit.

    PageKit &`SetAnnotationsByField`(UTF8Array const &in_fields, AnnotationKitArray const &in_annotations)

      Sets annotations on the given form fields. If there is an existing annotation on a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldSet3DAnnot. This will only have an effect if the page has a template file.

      Parameters: | in_fields – The form field names for the annotations. in_annotations – The annotations to be set on the corresponding form fields.
      Returns: | A reference to this PageKit.

    PageKit &`SetButton`(ButtonKit const &in_button, IntRectangle const &in_location)

      Adds a button to the page. This will replace all buttons (if any) on the page. This corresponds to the value that will be passed to A3DPDFPageInsertButton.

      Parameters: | in_button – Button to add to the page. in_location – Button location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetButtonIconByField`(char const *in_field, ImageKit const &in_image)

      Sets an image on the icon at the given form field. If there is an existing image on an icon at the given form field, it will get overwritten. This corresponds to the value that will be passed to A3DPDFPageFieldButtonSetIcon. This will only have an effect if the page has a template file.

      Parameters: | in_field – UTF8-encoded form field name for the icon. in_image – The image to be set on the icon at the given form field.
      Returns: | A reference to this PageKit.

    PageKit &`SetButtonIconsByField`(size_t in_count, UTF8 const in_fields[], ImageKit const in_images[])

      Sets images on the icons at the given form fields. If there is an existing image on an icon at a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldButtonSetIcon. This will only have an effect if the page has a template file.

      Parameters: | in_count – Size of the following arrays. in_fields – The form field names for the icons. in_images – The images to be set on the icons at the corresponding form fields.
      Returns: | A reference to this PageKit.

    PageKit &`SetButtonIconsByField`(UTF8Array const &in_fields, ImageKitArray const &in_images)

      Sets images on the icons at the given form fields. If there is an existing image on an icon at a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldButtonSetIcon. This will only have an effect if the page has a template file.

      Parameters: | in_fields – The form field names for the icons. in_images – The images to be set on the icons at the corresponding form fields.
      Returns: | A reference to this PageKit.

    PageKit &`SetButtonLabelByField`(char const *in_field, char const *in_label)

      Sets a label on the given form field. If there is an existing label on the given form field, it will get overwritten. This corresponds to the value that will be passed to A3DPDFPageFieldButtonSetLabel. This will only have an effect if the page has a template file.

      Parameters: | in_field – UTF8-encoded form field name for the label. in_label – UTF8-encoded label to be set on the given form field.
      Returns: | A reference to this PageKit.

    PageKit &`SetButtonLabelsByField`(size_t in_count, UTF8 const in_fields[], UTF8 const in_labels[])

      Sets labels on the given form fields. If there is an existing label on a given form field, it will get overwritten. These correspond to the values that will be passed to A3DPDFPageFieldButtonSetLabel. This will only have an effect if the page has a template file.

      Parameters: | in_count – Size of the following arrays. in_fields – The form field names for the labels. in_labels – The labels to be set on the corresponding form fields.
      Returns: | A reference to this PageKit.

    PageKit &`SetButtonLabelsByField`(UTF8Array const &in_fields, UTF8Array const &in_labels)

      Sets labels on the given form fields. If there is an existing label on a given form field, it will get overwritten. These correspond to the values that will be passed to A3DPDFPageFieldButtonSetLabel. This will only have an effect if the page has a template file.

      Parameters: | in_fields – The form field names for the labels. in_labels – The labels to be set on the corresponding form fields.
      Returns: | A reference to this PageKit.

    PageKit &`SetButtons`(ButtonKitArray const &in_buttons, IntRectangleArray const &in_locations)

      Adds a list of buttons to the page. This will replace all buttons (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertButton.

      Parameters: | in_buttons – Buttons to add to the page. in_locations – Button locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetButtons`(size_t in_count, ButtonKit const in_buttons[], IntRectangle const in_locations[])

      Adds a list of buttons to the page. This will replace all buttons (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertButton.

      Parameters: | in_count – Size of the following arrays. in_buttons – Buttons to add to the page. in_locations – Button locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetCheckBox`(CheckBoxKit const &in_checkbox, IntRectangle const &in_location)

      Adds a check box to the page. This will replace all check box (if any) on the page. This corresponds to the value that will be passed to A3DPDFPageInsertCheckBox.

      Parameters: | in_checkbox – Check Box to add to the page. in_location – Check Box location in points relative to bottom left of the page. Only the left and bottom fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetCheckBoxes`(CheckBoxKitArray const &in_checkbox, IntRectangleArray const &in_locations)

      Adds check boxes to the page. This will replace all check boxes (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertCheckBox.

      Parameters: | in_checkbox – Check Box to add to the page. in_locations – Check Box locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetCheckBoxes`(size_t in_count, CheckBoxKit const in_checkbox[], IntRectangle const in_locations[])

      Adds check boxes to the page. This will replace all check boxes (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertCheckBox.

      Parameters: | in_count – Size of the following arrays. in_checkbox – Check Box to add to the page. in_locations – Check Box locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetDropDownList`(DropDownListKit const &in_drop_down_list, IntRectangle const &in_location)

      Adds a drop down list to the page. This will replace all drop down list (if any) on the page. This corresponds to the value that will be passed to A3DPDFPageInsertDropDownList.

      Parameters: | in_drop_down_list – Drop Down List to add to the page. in_location – Drop Down List location in points relative to bottom left of the page. Only the left and bottom fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetDropDownLists`(DropDownListKitArray const &in_drop_down_list, IntRectangleArray const &in_locations)

      Adds drop down lists to the page. This will replace all drop down lists (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertDropDownList.

      Parameters: | in_drop_down_list – Drop Down List to add to the page. in_locations – Drop Down List locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetDropDownLists`(size_t in_count, DropDownListKit const in_drop_down_list[], IntRectangle const in_locations[])

      Adds drop down lists to the page. This will replace all drop down lists (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertDropDownList.

      Parameters: | in_count – Size of the following arrays. in_drop_down_list – Drop Down List to add to the page. in_locations – Drop Down List locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetFormat`(Page::Format in_format)

      Sets the format of the page. This corresponds to the value that will be passed to A3DPDFPageData2::m_ePageSize. This has no effect if this page has a template file.

      Parameters: | in_format – Format of the page.
      Returns: | A reference to this PageKit.

    PageKit &`SetImage`(ImageKit const &in_image, IntRectangle const &in_location)

      Adds an image to the page. This will replace all images (if any) on the page. This corresponds to the value that will be passed to A3DPDFPageInsertImage2.

      Parameters: | in_image – Image to add to the page. in_location – Image location in points relative to bottom left of the page. Only the left and bottom fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetImages`(ImageKitArray const &in_images, IntRectangleArray const &in_locations)

      Adds a list of images to the page. This will replace all images (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertImage2.

      Parameters: | in_images – Images to add to the page. in_locations – Image locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetImages`(size_t in_count, ImageKit const in_images[], IntRectangle const in_locations[])

      Adds a list of images to the page. This will replace all images (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertImage2.

      Parameters: | in_count – Size of the following arrays. in_images – Images to add to the page. in_locations – Image locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetJavaScriptActionByField`(char const *in_field, char const *in_source, Source::Type in_type = Source::Type::Code)

      Sets a JavaScript source or file on the given form field. If there is any existing JavaScript source or file at the given form field, it will be overwritten. This corresponds to the value that will be passed to A3DPDFPageFieldSetActionJavascriptFromString or A3DPDFPageFieldSetActionJavascriptFromFile. This will only have an effect if the page has a template file.

      Parameters: | in_field – UTF8-encoded form field name for the JavaScript action. in_source – UTF8-encoded JavaScript source or file (depending on the following argument) to be set on the given form field. in_type – The type of the preceding argument. Defaults to Source::Type::Code.
      Returns: | A reference to this PageKit.

    PageKit &`SetJavaScriptActionsByField`(size_t in_count, UTF8 const in_fields[], UTF8 const in_sources[], Source::Type const in_types[])

      Sets JavaScript sources and/or files on the given form fields. If there is any existing JavaScript source or file at a given form field, it will be overwritten. These correspond to values that will be passed to A3DPDFPageFieldSetActionJavascriptFromString or A3DPDFPageFieldSetActionJavascriptFromFile. This will only have an effect if the page has a template file.

      Parameters: | in_count – Size of the following arrays. in_fields – The form field names for the JavaScript actions. in_sources – The JavaScript sources and/or files (depending on the corresponding entry in the following argument) to be set on the corresponding form fields. in_types – The types for each item in the preceding argument array.
      Returns: | A reference to this PageKit.

    PageKit &`SetJavaScriptActionsByField`(UTF8Array const &in_fields, UTF8Array const &in_sources, SourceTypeArray const &in_types)

      Sets JavaScript sources and/or files on the given form fields. If there is any existing JavaScript source or file at a given form field, it will be overwritten. These correspond to values that will be passed to A3DPDFPageFieldSetActionJavascriptFromString or A3DPDFPageFieldSetActionJavascriptFromFile. This will only have an effect if the page has a template file.

      Parameters: | in_fields – The form field names for the JavaScript actions. in_sources – The JavaScript sources and/or files (depending on the corresponding entry in the following argument) to be set on the corresponding form fields. in_types – The types for each item in the preceding argument array.
      Returns: | A reference to this PageKit.

    PageKit &`SetLink`(LinkKit const &in_link, IntRectangle const &in_location)

      Adds a link to the page. This will replace all links (if any) on the page. This corresponds to the value that will be passed to A3DPDFPageInsertLink.

      Parameters: | in_link – Link to add to the page. in_location – Link location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetLinks`(LinkKitArray const &in_links, IntRectangleArray const &in_locations)

      Adds a list of links to the page. This will replace all links (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertLink.

      Parameters: | in_links – Links to add to the page. in_locations – Link locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetLinks`(size_t in_count, LinkKit const in_links[], IntRectangle const in_locations[])

      Adds a list of links to the page. This will replace all links (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertLink.

      Parameters: | in_count – Size of the following arrays. in_links – Links to add to the page. in_locations – Link locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetListBox`(ListBoxKit const &in_list_box, IntRectangle const &in_location)

      Adds a list box to the page. This will replace all list box (if any) on the page. This corresponds to the value that will be passed to A3DPDFPageInsertListBox.

      Parameters: | in_list_box – List Box to add to the page. in_location – List Box location in points relative to bottom left of the page. Only the left and bottom fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetListBoxes`(ListBoxKitArray const &in_list_box, IntRectangleArray const &in_locations)

      Adds list boxes to the page. This will replace all list boxes (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertListBox.

      Parameters: | in_list_box – List Box to add to the page. in_locations – List Box locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetListBoxes`(size_t in_count, ListBoxKit const in_list_box[], IntRectangle const in_locations[])

      Adds list boxes to the page. This will replace all list boxes (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertListBox.

      Parameters: | in_count – Size of the following arrays. in_list_box – List Box to add to the page. in_locations – List Box locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetListItemByField`(char const *in_field, char const *in_value, char const *in_export_value)

      Adds an item to the list at the given form field. If there are any existing items in the list at the given form field, they will be overwritten. This corresponds to the value that will be passed to A3DPDFPageFieldListAddItem. This will only have an effect if the page has a template file.

      Parameters: | in_field – UTF8-encoded form field name for the list. in_value – UTF8-encoded value for the item to be added to the list at the given form field. in_export_value – UTF8-encoded export value for the item to be added to the list at the given form field.
      Returns: | A reference to this PageKit.

    PageKit &`SetListItemsByField`(char const *in_field, size_t in_count, UTF8 const in_values[], UTF8 const in_export_values[])

      Adds items to the list at the given form field. If there are any existing items in the list at the given form field, they will be overwritten. These correspond to values that will be passed to A3DPDFPageFieldListAddItem. This will only have an effect if the page has a template file.

      Parameters: | in_field – UTF8-encoded form field name for the list. in_count – Size of the following arrays. in_values – The values for the items to be added to the list at the given form field. in_export_values – The export values for the items to be added to the list at the given form field.
      Returns: | A reference to this PageKit.

    PageKit &`SetListItemsByField`(char const *in_field, UTF8Array const &in_values, UTF8Array const &in_export_values)

      Adds items to the list at the given form field. If there are any existing items in the list at the given form field, they will be overwritten. These correspond to values that will be passed to A3DPDFPageFieldListAddItem. This will only have an effect if the page has a template file.

      Parameters: | in_field – UTF8-encoded form field name for the list. in_values – The values for the items to be added to the list at the given form field. in_export_values – The export values for the items to be added to the list at the given form field.
      Returns: | A reference to this PageKit.

    PageKit &`SetOrientation`(Page::Orientation in_orientation)

      Sets the orientation of the page. This corresponds to the value that will be passed to A3DPDFPageData2::m_ePageOrientation. This has no effect if this page has a template file.

      Parameters: | in_orientation – Orientation of the page.
      Returns: | A reference to this PageKit.

    PageKit &`SetRadioButton`(RadioButtonKit const &in_radio_button, IntRectangle const &in_location)

      Adds a radio button to the page. This will replace all radio buttons (if any) on the page. This corresponds to the value that will be passed to A3DPDFPageInsertRadioButton.

      Parameters: | in_radio_button – Radio button to add to the page. in_location – Button location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetRadioButtons`(RadioButtonKitArray const &in_radio_buttons, IntRectangleArray const &in_locations)

      Adds a list of buttons to the page. This will replace all radio buttons (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertRadioButton.

      Parameters: | in_radio_buttons – Radio buttons to add to the page. in_locations – Button locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetRadioButtons`(size_t in_count, RadioButtonKit const in_radio_buttons[], IntRectangle const in_locations[])

      Adds a list of buttons to the page. This will replace all radio buttons (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertRadioButton.

      Parameters: | in_count – Size of the following arrays. in_radio_buttons – Radio buttons to add to the page. in_locations – Button locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetSignatureField`(SignatureFieldKit const &in_signature_field, IntRectangle const &in_location)

      Adds a signature field to the page. This will replace all signature field (if any) on the page. This corresponds to the value that will be passed to A3DPDFPageInsertSignatureField.

      Parameters: | in_signature_field – Signature Field to add to the page. in_location – Signature Field location in points relative to bottom left of the page. Only the left and bottom fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetSignatureFields`(SignatureFieldKitArray const &in_signature_field, IntRectangleArray const &in_locations)

      Adds signature fields to the page. This will replace all signature fields (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertSignatureField.

      Parameters: | in_signature_field – Signature Field to add to the page. in_locations – Signature Field locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetSignatureFields`(size_t in_count, SignatureFieldKit const in_signature_field[], IntRectangle const in_locations[])

      Adds signature fields to the page. This will replace all signature fields (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertSignatureField.

      Parameters: | in_count – Size of the following arrays. in_signature_field – Signature Field to add to the page. in_locations – Signature Field locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetTemplateFile`(char const *in_filename)

      Sets the PDF file which will act as a template.

      Parameters: | in_filename – UTF8-encoded filename for the PDF file to act as a template.
      Returns: | A reference to this PageKit.

    PageKit &`SetText`(size_t in_count, TextKit const in_text[], IntRectangle const in_locations[])

      Adds text strings to the page. This will replace all text (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertText.

      Parameters: | in_count – Size of the following arrays. in_text – Text to add to the page. in_locations – Text locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetText`(TextKit const &in_text, IntRectangle const &in_location)

      Adds a text string to the page. This will replace all text (if any) on the page. This corresponds to the value that will be passed to A3DPDFPageInsertText.

      Parameters: | in_text – Text to add to the page. in_location – Text location in points relative to bottom left of the page. Only the left and bottom fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetText`(TextKitArray const &in_text, IntRectangleArray const &in_locations)

      Adds text strings to the page. This will replace all text (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertText.

      Parameters: | in_text – Text to add to the page. in_locations – Text locations in points relative to bottom left of the page. Only the left and bottom fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetTextField`(TextFieldKit const &in_text_field, IntRectangle const &in_location)

      Adds a text field to the page. This will replace all text fields (if any) on the page. This corresponds to the value that will be passed to A3DPDFPageInsertTextField.

      Parameters: | in_text_field – Text field to add to the page. in_location – Text field location in points relative to bottom left of the page. All fields in the location will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetTextFields`(size_t in_count, TextFieldKit const in_text_fields[], IntRectangle const in_locations[])

      Adds a list of text fields to the page. This will replace all text fields (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertTextField.

      Parameters: | in_count – Size of the following arrays. in_text_fields – Text fields to add to the page. in_locations – Text field locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetTextFields`(TextFieldKitArray const &in_text_fields, IntRectangleArray const &in_locations)

      Adds a list of text fields to the page. This will replace all text fields (if any) on the page. These correspond to values that will be passed to A3DPDFPageInsertTextField.

      Parameters: | in_text_fields – Text fields to add to the page. in_locations – Text field locations in points relative to bottom left of the page. All fields in the locations will be used.
      Returns: | A reference to this PageKit.

    PageKit &`SetTextValueByField`(char const *in_field, char const *in_value)

      Sets a text value on the given form field. If there is an existing text value on the given form field, it will get overwritten. This corresponds to the value that will be passed to A3DPDFPageFieldTextSetValue. This will only have an effect if the page has a template file.

      Parameters: | in_field – UTF8-encoded form field name for the text value. in_value – UTF8-encoded text value to be set on the given form field.
      Returns: | A reference to this PageKit.

    PageKit &`SetTextValuesByField`(size_t in_count, UTF8 const in_fields[], UTF8 const in_values[])

      Sets text values on the given form fields. If there is an existing text value on a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldTextSetValue. This will only have an effect if the page has a template file.

      Parameters: | in_count – Size of the following arrays. in_fields – The form field names for the text values. in_values – The text values to be set on the corresponding form fields.
      Returns: | A reference to this PageKit.

    PageKit &`SetTextValuesByField`(UTF8Array const &in_fields, UTF8Array const &in_values)

      Sets text values on the given form fields. If there is an existing text value on a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldTextSetValue. This will only have an effect if the page has a template file.

      Parameters: | in_fields – The form field names for the text values. in_values – The text values to be set on the corresponding form fields.
      Returns: | A reference to this PageKit.

    PageKit &`SetVisibilitiesByField`(size_t in_count, UTF8 const in_fields[], bool const in_states[])

      Sets whether the objects at the given form fields should be visible. If there is an existing visibility on a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldSetVisibility. This will only have an effect if the page has a template file.

      Parameters: | in_count – Size of the following arrays. in_fields – The form field names on which to set visibility. in_states – Whether the objects at the at the corresponding form fields should be visible.
      Returns: | A reference to this PageKit.

    PageKit &`SetVisibilitiesByField`(UTF8Array const &in_fields, BoolArray const &in_states)

      Sets whether the objects at the given form fields should be visible. If there is an existing visibility on a given form field, it will get overwritten. These correspond to values that will be passed to A3DPDFPageFieldSetVisibility. This will only have an effect if the page has a template file.

      Parameters: | in_fields – The form field names on which to set visibility. in_states – Whether the objects at the at the corresponding form fields should be visible.
      Returns: | A reference to this PageKit.

    PageKit &`SetVisibilityByField`(char const *in_field, bool in_state)

      Sets whether the object at the given form field should be visible. If there is an existing visibility on the given form field, it will get overwritten. This corresponds to the value that will be passed to A3DPDFPageFieldSetVisibility. This will only have an effect if the page has a template file.

      Parameters: | in_field – UTF8-encoded form field name on which to set visibility. in_state – Whether the object at the at the given form field should be visible.
      Returns: | A reference to this PageKit.

    void `Show`(PageKit &out_kit) const

      Copies this PageKit into the given PageKit.

      Parameters: | out_kit – The PageKit to populate with the contents of this PageKit.

    bool `ShowAnnotations`(AnnotationKitArray &out_annotations, IntRectangleArray &out_locations) const

      Shows the annotations on the page.

      Parameters: | out_annotations – Annotations on the page. out_locations – Annotation locations on the page.
      Returns: | true if annotations were specified, false otherwise.

    bool `ShowAnnotationsByField`(UTF8Array &out_fields, AnnotationKitArray &out_annotations) const

      Shows the annotations on form fields on the page.

      Parameters: | out_fields – The annotation form field names on the page. out_annotations – The annotations on the corresponding form fields.
      Returns: | true if form field annotations were specified, false otherwise.

    bool `ShowButtonIconsByField`(UTF8Array &out_fields, ImageKitArray &out_images) const

      Shows the images on icons on form fields on the page.

      Parameters: | out_fields – The button icon form field names on the page. out_images – The images on the icons at the corresponding form fields.
      Returns: | true if form field icons were specified, false otherwise.

    bool `ShowButtonLabelsByField`(UTF8Array &out_fields, UTF8Array &out_labels) const

      Shows the labels on form fields on the page.

      Parameters: | out_fields – The button label form field names on the page. out_labels – The labels on the corresponding form fields.
      Returns: | true if form field labels were specified, false otherwise.

    bool `ShowButtons`(ButtonKitArray &out_buttons, IntRectangleArray &out_locations) const

      Shows the buttons on the page.

      Parameters: | out_buttons – Buttons on the page. out_locations – Button locations on the page.
      Returns: | true if buttons were specified, false otherwise.

    bool `ShowCheckBoxes`(CheckBoxKitArray &out_check_boxes, IntRectangleArray &out_locations) const

      Shows the check boxes on the page.

      Parameters: | out_check_boxes – Check boxes on the page. out_locations – Check box locations on the page.
      Returns: | true if check boxes were specified, false otherwise.

    bool `ShowDropDownLists`(DropDownListKitArray &out_drop_down_lists, IntRectangleArray &out_locations) const

      Shows the drop down lists on the page.

      Parameters: | out_drop_down_lists – Drop down lists on the page. out_locations – Drop drown list locations on the page.
      Returns: | true if drop down lists were specified, false otherwise.

    bool `ShowFormat`(Page::Format &out_format) const

      Shows the format of the page.

      Parameters: | out_format – Format of the page.
      Returns: | true if a format was specified, false otherwise.

    bool `ShowImages`(ImageKitArray &out_images, IntRectangleArray &out_locations) const

      Shows the images on the page.

      Parameters: | out_images – Images on the page. out_locations – Image locations on the page.
      Returns: | true if images were specified, false otherwise.

    bool `ShowJavaScriptActionsByField`(UTF8Array &out_fields, UTF8Array &out_sources, SourceTypeArray &out_types) const

      Shows the JavaScript actions on form fields on the page.

      Parameters: | out_fields – The form field names with JavaScript actions on the page. out_sources – The JavaScript sources and/or files (depending on the corresponding entry in the following argument) on the corresponding form fields. out_types – The types for each item in the preceding argument array.
      Returns: | true if form field JavaScript actions were specified, false otherwise.

    bool `ShowLinks`(LinkKitArray &out_links, IntRectangleArray &out_locations) const

      Shows the links on the page.

      Parameters: | out_links – Links on the page. out_locations – Link locations on the page.
      Returns: | true if links were specified, false otherwise.

    bool `ShowListBoxes`(ListBoxKitArray &out_list_boxes, IntRectangleArray &out_locations) const

      Shows the list boxes on the page.

      Parameters: | out_list_boxes – List boxes on the page. out_locations – List boxes locations on the page.
      Returns: | true if list boxes were specified, false otherwise.

    bool `ShowListItemFields`(UTF8Array &out_fields) const

      Shows the list item form fields on the page.

      Parameters: | out_fields – The list form field names on the page.
      Returns: | true if any form field lists were specified, false otherwise.

    bool `ShowListItemsByField`(char const *in_field, UTF8Array &out_values, UTF8Array &out_export_values) const

      Shows the items in the list on the given field on the page.

      Parameters: | in_field – UTF8-encoded form field name of the list with the items to be shown. out_values – The values for the items in the list at the given form field. out_export_values – The export values for the items in the list at the given form field.
      Returns: | true if list items on the given form field were specified, false otherwise.

    bool `ShowOrientation`(Page::Orientation &out_orientation) const

      Shows the orientation of the page.

      Parameters: | out_orientation – Orientation of the page.
      Returns: | true if an orientation was specified, false otherwise.

    bool `ShowRadioButtons`(RadioButtonKitArray &out_radio_buttons, IntRectangleArray &out_locations) const

      Shows the radio buttons on the page.

      Parameters: | out_radio_buttons – Radio buttons on the page. out_locations – Radio buttons locations on the page.
      Returns: | true if radio buttons were specified, false otherwise.

    bool `ShowSignatureFields`(SignatureFieldKitArray &out_signature_fields, IntRectangleArray &out_locations) const

      Shows the signature fields on the page.

      Parameters: | out_signature_fields – Signature fields on the page. out_locations – Signature field locations on the page.
      Returns: | true if signature fields were specified, false otherwise.

    bool `ShowTemplateFile`(UTF8 &out_filename) const

      Shows the template file.

      Parameters: | out_filename – The filename for the PDF file to act as a template.
      Returns: | true if a template file was specified, false otherwise.

    bool `ShowText`(TextKitArray &out_text, IntRectangleArray &out_locations) const

      Shows the text on the page.

      Parameters: | out_text – Text on the page. out_locations – Text locations on the page.
      Returns: | true if text strings were specified, false otherwise.

    bool `ShowTextFields`(TextFieldKitArray &out_text_fields, IntRectangleArray &out_locations) const

      Shows the text fields on the page.

      Parameters: | out_text_fields – Text fields on the page. out_locations – Text field locations on the page.
      Returns: | true if text fields were specified, false otherwise.

    bool `ShowTextValuesByField`(UTF8Array &out_fields, UTF8Array &out_values) const

      Shows the text values on form fields on the page.

      Parameters: | out_fields – The form field names with the text values on the template. out_values – The text values on the corresponding form fields.
      Returns: | true if form field text values were specified, false otherwise.

    bool `ShowVisibilitiesByField`(UTF8Array &out_fields, BoolArray &out_states) const

      Shows the visibility settings on form fields on the page.

      Parameters: | out_fields – The form field names with visibility settings on the page. out_states – Whether the objects at the at the corresponding form fields should be visible.
      Returns: | true if form field visibilities were specified, false otherwise.

    PageKit &`UnsetAnnotation`(size_t in_index)

      Removes the annotation at the given index from the page.

      Parameters: | in_index – Index of the annotation to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetAnnotationByField`(char const *in_field)

      Removes the annotation at the given form field from the page.

      Parameters: | in_field – UTF8-encoded form field name with the annotation to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetAnnotations`()

      Removes all annotations from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetAnnotations`(size_t in_count, size_t const in_indices[])

      Removes the annotations at the given indices from the page.

      Parameters: | in_count – Size of the following array. in_indices – Indices of the annotations to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetAnnotations`(SizeTArray const &in_indices)

      Removes the annotations at the given indices from the page.

      Parameters: | in_indices – Indices of the annotations to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetAnnotationsByField`()

      Removes all annotation form fields from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetAnnotationsByField`(size_t in_count, UTF8 const in_fields[])

      Removes the annotations at the given form fields from the page.

      Parameters: | in_count – Size of the following array. in_fields – Form field names with the annotations to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetAnnotationsByField`(UTF8Array const &in_fields)

      Removes the annotations at the given form fields from the page.

      Parameters: | in_fields – Form field names with the annotations to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetButton`(size_t in_index)

      Removes the button at the given index from the page.

      Parameters: | in_index – Index of the button to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetButtonIconByField`(char const *in_field)

      Removes the image on the icon at the given form field from the page.

      Parameters: | in_field – UTF8-encoded form field name of the icon with the image to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetButtonIconsByField`()

      Removes all button icon form fields from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetButtonIconsByField`(size_t in_count, UTF8 const in_fields[])

      Removes the images on the icons at the given form fields from the page.

      Parameters: | in_count – Size of the following array. in_fields – Form field names of icons with the images to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetButtonIconsByField`(UTF8Array const &in_fields)

      Removes the images on the icons at the given form fields from the page.

      Parameters: | in_fields – Form field names of icons with the images to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetButtonLabelByField`(char const *in_field)

      Removes the label at the given form field from the page.

      Parameters: | in_field – UTF8-encoded form field name of the label to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetButtonLabelsByField`()

      Removes all button label form fields from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetButtonLabelsByField`(size_t in_count, UTF8 const in_fields[])

      Removes the labels at the given form fields from the page.

      Parameters: | in_count – Size of the following array. in_fields – Form field names of the labels to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetButtonLabelsByField`(UTF8Array const &in_fields)

      Removes the labels at the given form fields from the page.

      Parameters: | in_fields – Form field names of the labels to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetButtons`()

      Removes all buttons from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetButtons`(size_t in_count, size_t const in_indices[])

      Removes the buttons at the given indices from the page.

      Parameters: | in_count – Size of the following array. in_indices – Indices of the buttons to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetButtons`(SizeTArray const &in_indices)

      Removes the buttons at the given indices from the page.

      Parameters: | in_indices – Indices of the buttons to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetCheckBox`(size_t in_index)

      Removes the check box at the given index from the page.

      Parameters: | in_index – Index of the check box to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetCheckBoxes`()

      Removes all check boxes from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetCheckBoxes`(size_t in_count, size_t const in_indices[])

      Removes the check box at the given indices from the page.

      Parameters: | in_count – Size of the following array. in_indices – Indices of the check box to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetCheckBoxes`(SizeTArray const &in_indices)

      Removes the check box at the given indices from the page.

      Parameters: | in_indices – Indices of the check box to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetDropDownList`(size_t in_index)

      Removes the drop down list at the given index from the page.

      Parameters: | in_index – Index of the drop down list to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetDropDownLists`()

      Removes all drop down lists from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetDropDownLists`(size_t in_count, size_t const in_indices[])

      Removes the drop down list at the given indices from the page.

      Parameters: | in_count – Size of the following array. in_indices – Indices of the drop down list to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetDropDownLists`(SizeTArray const &in_indices)

      Removes the drop down list at the given indices from the page.

      Parameters: | in_indices – Indices of the drop down list to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetEverything`()

      Removes all data from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetFormat`()

      Removes the format from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetImage`(size_t in_index)

      Removes the image at the given index from the page.

      Parameters: | in_index – Index of the image to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetImages`()

      Removes all images from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetImages`(size_t in_count, size_t const in_indices[])

      Removes the images at the given indices from the page.

      Parameters: | in_count – Size of the following array. in_indices – Indices of the images to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetImages`(SizeTArray const &in_indices)

      Removes the images at the given indices from the page.

      Parameters: | in_indices – Indices of the images to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetJavaScriptActionByField`(char const *in_field)

      Removes the JavaScript action at the given form field from the page.

      Parameters: | in_field – UTF8-encoded form field name of the action to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetJavaScriptActionsByField`()

      Removes all JavaScript action form fields from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetJavaScriptActionsByField`(size_t in_count, UTF8 const in_fields[])

      Removes the JavaScript actions at the given form fields from the page.

      Parameters: | in_count – Size of the following array. in_fields – Form field names of the actions to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetJavaScriptActionsByField`(UTF8Array const &in_fields)

      Removes the JavaScript actions at the given form fields from the page.

      Parameters: | in_fields – Form field names of the actions to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetLink`(size_t in_index)

      Removes the link at the given index from the page.

      Parameters: | in_index – Index of the link to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetLinks`()

      Removes all links from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetLinks`(size_t in_count, size_t const in_indices[])

      Removes the links at the given indices from the page.

      Parameters: | in_count – Size of the following array. in_indices – Indices of the links to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetLinks`(SizeTArray const &in_indices)

      Removes the links at the given indices from the page.

      Parameters: | in_indices – Indices of the links to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetListBox`(size_t in_index)

      Removes the list box at the given index from the page.

      Parameters: | in_index – Index of the list box to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetListBoxes`()

      Removes all list boxes from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetListBoxes`(size_t in_count, size_t const in_indices[])

      Removes the list box at the given indices from the page.

      Parameters: | in_count – Size of the following array. in_indices – Indices of the list box to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetListBoxes`(SizeTArray const &in_indices)

      Removes the list box at the given indices from the page.

      Parameters: | in_indices – Indices of the list box to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetListItemByField`(char const *in_field, size_t in_index)

      Removes the item at the given index from the list at the given form field from the page.

      Parameters: | in_field – UTF8-encoded form field name of the list with the item to be removed. in_index – Index of the item in the list at the given form field to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetListItemsByField`()

      Removes all list item form fields from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetListItemsByField`(char const *in_field)

      Removes all items from the list at the given form field from the page.

      Parameters: | in_field – UTF8-encoded form field name of the list with the items to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetListItemsByField`(char const *in_field, size_t in_count, size_t const in_indices[])

      Removes the items at the given indices from the list at the given form field from the page.

      Parameters: | in_field – UTF8-encoded form field name of the list with the items to be removed. in_count – Size of the following array. in_indices – Indices of the items in the list at the form field to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetListItemsByField`(char const *in_field, SizeTArray const &in_indices)

      Removes the items at the given indices from the list at the given form field from the page.

      Parameters: | in_field – UTF8-encoded form field name of the list with the items to be removed. in_indices – Indices of the items in the list at the form field to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetListItemsByField`(size_t in_count, UTF8 const in_fields[])

      Removes all items from the lists at the given form fields from the page.

      Parameters: | in_count – Size of the following array. in_fields – Form field names of the lists with the items to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetListItemsByField`(UTF8Array const &in_fields)

      Removes all items from the lists at the given form fields from the page.

      Parameters: | in_fields – Form field names of the lists with the items to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetOrientation`()

      Removes the orientation from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetRadioButton`(size_t in_index)

      Removes the radio button at the given index from the page.

      Parameters: | in_index – Index of the radio button to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetRadioButtons`()

      Removes all radio buttons from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetRadioButtons`(size_t in_count, size_t const in_indices[])

      Removes the radio button at the given indices from the page.

      Parameters: | in_count – Size of the following array. in_indices – Indices of the radio button to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetRadioButtons`(SizeTArray const &in_indices)

      Removes the radio button at the given indices from the page.

      Parameters: | in_indices – Indices of the radio button to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetSignatureField`(size_t in_index)

      Removes the signature field at the given index from the page.

      Parameters: | in_index – Index of the signature field to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetSignatureFields`()

      Removes all signature fields from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetSignatureFields`(size_t in_count, size_t const in_indices[])

      Removes the signature field at the given indices from the page.

      Parameters: | in_count – Size of the following array. in_indices – Indices of the signature field to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetSignatureFields`(SizeTArray const &in_indices)

      Removes the signature field at the given indices from the page.

      Parameters: | in_indices – Indices of the signature field to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetTemplateFile`()

      Removes the template file from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetText`()

      Removes all text from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetText`(size_t in_count, size_t const in_indices[])

      Removes the text at the given indices from the page.

      Parameters: | in_count – Size of the following array. in_indices – Indices of the text to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetText`(size_t in_index)

      Removes the text at the given index from the page.

      Parameters: | in_index – Index of the text to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetText`(SizeTArray const &in_indices)

      Removes the text at the given indices from the page.

      Parameters: | in_indices – Indices of the text to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetTextField`(size_t in_index)

      Removes the text field at the given index from the page.

      Parameters: | in_index – Index of the text field to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetTextFields`()

      Removes all text fields from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetTextFields`(size_t in_count, size_t const in_indices[])

      Removes the text fields at the given indices from the page.

      Parameters: | in_count – Size of the following array. in_indices – Indices of the text fields to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetTextFields`(SizeTArray const &in_indices)

      Removes the text fields at the given indices from the page.

      Parameters: | in_indices – Indices of the text fields to remove from the page.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetTextValueByField`(char const *in_field)

      Removes the text value at the given form field from the page.

      Parameters: | in_field – UTF8-encoded form field name with the text value to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetTextValuesByField`()

      Removes all text value form fields from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetTextValuesByField`(size_t in_count, UTF8 const in_fields[])

      Removes the text values at the given form fields from the page.

      Parameters: | in_count – Size of the following array. in_fields – Form field names with the text values to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetTextValuesByField`(UTF8Array const &in_fields)

      Removes the text values at the given form fields from the page.

      Parameters: | in_fields – Form field names with the text values to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetVisibilitiesByField`()

      Removes all visibility settings on form fields from the page.

      Returns: | A reference to this PageKit.

    PageKit &`UnsetVisibilitiesByField`(size_t in_count, UTF8 const in_fields[])

      Removes the visibility settings at the given form fields from the page.

      Parameters: | in_count – Size of the following array. in_fields – Form field names with the visibility settings to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetVisibilitiesByField`(UTF8Array const &in_fields)

      Removes the visibility settings at the given form fields from the page.

      Parameters: | in_fields – Form field names with the visibility settings to be removed.
      Returns: | A reference to this PageKit.

    PageKit &`UnsetVisibilityByField`(char const *in_field)

      Removes the visibility setting at the given form field from the page.

      Parameters: | in_field – UTF8-encoded form field name with the visibility setting to be removed.
      Returns: | A reference to this PageKit.

    virtual `~PageKit`()

    Public Static Functions

    static PageKit `GetDefault`()

      Creates a PageKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for export unless a setting is overridden by the PageKit passed to File::Export.

      Returns: | A PageKit with the default settings.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishPageKit
  class `Permission`

    The Publish::Permission class is a concept class for permission-related enumerations.

  class `PRC`

    The Publish::PRC class is a concept class for PRC-related enums.

    Public Types

    enum class `BRepCompression`

      Enumerates the compression to apply to BRep data when exporting a PRC file.

      Values:

      enumerator `None`

        No compression (A3DRWParamsExportPrcData::m_bCompressBrep = false).

      enumerator `Low`

        Low compression, high accurracy (kA3DCompressionLow).

      enumerator `Medium`

        Medium compression, medium accurracy (kA3DCompressionMedium).

      enumerator `High`

        High compression, low accurracy (kA3DCompressionHigh).

  class `RadioButtonKit` : public HPS::SprocketKit

    The RadioButtonKit class is a user space object. It acts as the container for all data that can be used to specify a radio button for a Publish PDF.

    Public Functions

    virtual bool `Empty`() const

      Indicates whether this RadioButtonKit has any values set on it.

      Returns: | true if no values are set on this RadioButtonKit, false otherwise.

    bool `Equals`(RadioButtonKit const &in_kit) const

      Check if the source RadioButtonKit is equivalent to this RadioButtonKit.

      Parameters: | in_kit – The source RadioButtonKit to compare to this RadioButtonKit.
      Returns: | true if the objects are equivalent, false otherwise.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(RadioButtonKit const &in_kit) const

      Check if the source RadioButtonKit is not equivalent to this RadioButtonKit.

      Parameters: | in_kit – The source RadioButtonKit to compare to this RadioButtonKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    RadioButtonKit &`operator=`(RadioButtonKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this RadioButtonKit.

      Parameters: | in_kit – An rvalue reference to a RadioButtonKit to take the underlying object from.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`operator=`(RadioButtonKit const &in_kit)

      Copies the source RadioButtonKit into this RadioButtonKit.

      Parameters: | in_kit – The source RadioButtonKit to copy.
      Returns: | A reference to this RadioButtonKit.

    bool `operator==`(RadioButtonKit const &in_kit) const

      Check if the source RadioButtonKit is equivalent to this RadioButtonKit.

      Parameters: | in_kit – The source RadioButtonKit to compare to this RadioButtonKit.
      Returns: | true if the objects are equivalent, false otherwise.

    `RadioButtonKit`()

      The default constructor creates an empty RadioButtonKit object.

    `RadioButtonKit`(RadioButtonKit &&in_kit)

      The move constructor creates a RadioButtonKit by transferring the underlying object of the rvalue reference to this RadioButtonKit.

      Parameters: | in_kit – An rvalue reference to a RadioButtonKit to take the underlying object from.

    `RadioButtonKit`(RadioButtonKit const &in_kit)

      The copy constructor creates a new RadioButtonKit object that contains the same settings as the source RadioButtonKit.

      Parameters: | in_kit – The source RadioButtonKit to copy.

    void `Set`(RadioButtonKit const &in_kit)

      Copies the source RadioButtonKit into this RadioButtonKit.

      Parameters: | in_kit – The source RadioButtonKit to copy.

    RadioButtonKit &`SetBorder`(bool in_state)

      Sets whether the radio button has a border. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_bHasBorder.

      Parameters: | in_state – Whether the radio button has a border.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetBorderColor`(RGBColor const &in_color)

      Sets the border color for the radio button. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_sBorderColor.

      Parameters: | in_color – The border color of the radio button.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetBorderStyle`(Border::Style in_style)

      Sets the border style for the radio button. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_eLineStyleBorder.

      Parameters: | in_style – The border style for the radio button.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetBorderThickness`(Border::Thickness in_thickness)

      Sets the border thickness for the radio button. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_eThicknessBorder.

      Parameters: | in_thickness – The border thickness for the radio button.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetDefaultState`(bool in_state)

      Sets whether the radio button is checked by default. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_bIsCheckedByDefault.

      Parameters: | in_state – Whether the radio button is checked by default.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetExportValue`(char const *in_export_value)

      Sets the export value used when field data is exported by Acrobat functions. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_pcExportValue.

      Parameters: | in_export_value – UTF8-encoded export value of the radio button.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetFillColor`(RGBColor const &in_color)

      Sets the fill color for the radio button. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_sFillColor and implicitly sets A3DPDFRadioButtonData::m_bHasFillColor to true.

      Parameters: | in_color – The fill color for the radio button.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetFont`(char const *in_name, Text::Font::Style in_style = Text::Font::Style::Regular)

      Sets a specific font for the radio button. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_pcFontName.

      Parameters: | in_name – UTF8-encoded font name for the radio button. in_style – The style of font to use for the radio button.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetFont`(Text::Font::Name in_name)

      Sets a builtin font for the radio button. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_pcFontName.

      Parameters: | in_name – The builtin font for the radio button.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetFontSize`(int in_size)

      Sets the font size for the radio button. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_iFontSize.

      Parameters: | in_size – The font size for the radio button.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetGrouping`(bool in_state)

      Sets whether the radio buttons with the same names are grouped, and therefore mutually exclusive. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_bRadiosInUnison.

      Parameters: | in_state – Whether the radio button is part of a group.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetLock`(bool in_state)

      Sets whether the radio button is locked. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_bIsLocked.

      Parameters: | in_state – Whether the radio button is locked.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetName`(char const *in_name)

      Sets the name of the radio button. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_pcName.

      Parameters: | in_name – UTF8-encoded name of the radio button.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetPrintability`(bool in_state)

      Sets the printability for the radio button. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_eFormField.

      Parameters: | in_state – The printability for the radio button.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetTextColor`(RGBColor const &in_color)

      Sets the text color for the radio button. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_sTextColor.

      Parameters: | in_color – The text color for the radio button.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetTextRotation`(Text::Rotation in_rotation)

      Sets the text rotation for the radio button. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_eTextOrientation.

      Parameters: | in_rotation – The text rotation for the radio button.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetTooltip`(char const *in_tooltip)

      Sets the tooltip for the radio button. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_pcTooltip.

      Parameters: | in_tooltip – UTF8-encoded tooltip text for the radio button.
      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`SetVisibility`(bool in_state)

      Sets the visibility for the radio button. This corresponds to the value that will be passed to A3DPDFRadioButtonData::m_eFormField.

      Parameters: | in_state – The visibility for the radio button.
      Returns: | A reference to this RadioButtonKit.

    void `Show`(RadioButtonKit &out_kit) const

      Copies this RadioButtonKit into the given RadioButtonKit.

      Parameters: | out_kit – The RadioButtonKit to populate with the contents of this RadioButtonKit.

    bool `ShowBorder`(bool &out_state) const

      Shows the border setting for the radio button.

      Parameters: | out_state – Whether the radio button has a border.
      Returns: | true if a border setting was specified, false otherwise.

    bool `ShowBorderColor`(RGBColor &out_color) const

      Shows the border color for the radio button.

      Parameters: | out_color – The border color of the radio button.
      Returns: | true if a border color was specified, false otherwise.

    bool `ShowBorderStyle`(Border::Style &out_style) const

      Shows the border style for the radio button.

      Parameters: | out_style – The border style for the radio button.
      Returns: | true if a border style was specified, false otherwise.

    bool `ShowBorderThickness`(Border::Thickness &out_thickness) const

      Shows the border thickness for the radio button.

      Parameters: | out_thickness – The border thickness for the radio button.
      Returns: | true if a border thickness was specified, false otherwise.

    bool `ShowDefaultState`(bool &out_default_state) const

      Shows the default state for the radio button.

      Parameters: | out_default_state – The default state for the radio button.
      Returns: | true if a default state was specified, false otherwise.

    bool `ShowExportValue`(UTF8 &out_export_value) const

      Shows the export value for the radio button.

      Parameters: | out_export_value – The export value for the radio button.
      Returns: | true if an export value was specified, false otherwise.

    bool `ShowFillColor`(RGBColor &out_color) const

      Shows the fill color for the radio button.

      Parameters: | out_color – The fill color for the radio button.
      Returns: | true if a fill color was specified, false otherwise.

    bool `ShowFont`(Text::Font::Type &out_type, Text::Font::Name &out_font, UTF8 &out_font_name, Text::Font::Style &out_style) const

      Shows the font for the radio button.

      Parameters: | out_type – The type of font for the radio button. out_font – The built-in font for the radio button. This is only valid if out_type is Text::Font::Type::BuiltIn. out_font_name – The explicit font name for the radio button. This is only valid if out_type is Text::Font::Type::Explicit. out_style – The font style for the radio button. This is only valid if out_type is Text::Font::Type::Explicit.
      Returns: | true if a font was specified, false otherwise.

    bool `ShowFontSize`(int &out_size) const

      Shows the font size for the radio button.

      Parameters: | out_size – The font size for the radio button.
      Returns: | true if a font size was specified, false otherwise.

    bool `ShowGrouping`(bool &out_grouping) const

      Shows the grouping state for the radio button.

      Parameters: | out_grouping – The grouping state for the radio button.
      Returns: | true if a groupings state was specified, false otherwise.

    bool `ShowLock`(bool &out_state) const

      Shows the lock setting for the radio button.

      Parameters: | in_state – Whether the radio button is locked.
      Returns: | true if a lock setting was specified, false otherwise.

    bool `ShowName`(UTF8 &out_name) const

      Shows the name for the radio button.

      Parameters: | out_name – The name of the radio button.
      Returns: | true if a name was specified, false otherwise.

    bool `ShowPrintability`(bool &out_state) const

      Shows the printability for the radio button.

      Parameters: | out_state – The printability for the radio button.
      Returns: | true if a printability was specified, false otherwise.

    bool `ShowTextColor`(RGBColor &out_color) const

      Shows the text color for the radio button.

      Parameters: | out_color – The text color for the radio button.
      Returns: | true if a text color was specified, false otherwise.

    bool `ShowTextRotation`(Text::Rotation &out_rotation) const

      Shows the text rotation for the radio button.

      Parameters: | out_rotation – The text rotation for the radio button.
      Returns: | true if a rotation was specified, false otherwise.

    bool `ShowTooltip`(UTF8 &out_tooltip) const

      Shows the tooltip for the radio button.

      Parameters: | out_tooltip – The tooltip text for the radio button.
      Returns: | true if a tooltip was specified, false otherwise.

    bool `ShowVisibility`(bool &out_state) const

      Shows the visibility for the radio button.

      Parameters: | out_state – The visibility for the radio button.
      Returns: | true if a visibility was specified, false otherwise.

    RadioButtonKit &`UnsetBorder`()

      Removes the border setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetBorderColor`()

      Removes the border color setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetBorderStyle`()

      Removes the border style setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetBorderThickness`()

      Removes the border thickness setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetDefaultState`()

      Removes the default state setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetEverything`()

      Removes all data from the radio button.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetExportValue`()

      Removes the export value setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetFillColor`()

      Removes the fill color setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetFont`()

      Removes the font setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetFontSize`()

      Removes the font size setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetGrouping`()

      Removes the grouping setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetLock`()

      Removes the lock setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetName`()

      Removes the name setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetPrintability`()

      Removes the printability setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetTextColor`()

      Removes the text color setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetTextRotation`()

      Removes the text rotation setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetTooltip`()

      Removes the tooltip setting.

      Returns: | A reference to this RadioButtonKit.

    RadioButtonKit &`UnsetVisibility`()

      Removes the visibility setting.

      Returns: | A reference to this RadioButtonKit.

    virtual `~RadioButtonKit`()

    Public Static Functions

    static RadioButtonKit `GetDefault`()

      Creates a RadioButtonKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for a button unless a setting is overridden by the RadioButtonKit passed to a function.

      Returns: | A RadioButtonKit with the default settings.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishRadioButtonKit
  class `Rendering`

    The Publish::Rendering class is a concept class for rendering-related enumerations.

    Public Types

    enum class `Mode`

      Enumerates the rendering modes for ViewKit and AnnotationKit objects.

      Values:

      enumerator `Solid`

        Displays textured and lit faces (kA3DPDFRenderingSolid).

      enumerator `SolidWireframe`

        Displays textured and lit faces and monochromatic tessellation edges (kA3DPDFRenderingSolidWireframe).

      enumerator `SolidOutline`

        Displays textured and lit faces and monochromatic silhouette edges (kA3DPDFRenderingSolidOutline).

      enumerator `BoundingBox`

        Displays monochromatic edges of bounding boxes for each node (kA3DPDFRenderingBoundingBox).

      enumerator `Transparent`

        Displays textured and lit transparent faces (kA3DPDFRenderingTransparent).

      enumerator `TransparentWireframe`

        Displays textured and lit transparent faces and monochromatic tessellation edges (kA3DPDFRenderingTransparentWireframe).

      enumerator `TransparentBoundingBox`

        Displays monochromatic transparent faces of bounding boxes for each node (kA3DPDFRenderingTransparentBoundingBox).

      enumerator `TransparentBoundingBoxOutline`

        Displays monochromatic edges and transparent faces of bounding boxes for each node (kA3DPDFRenderingTransparentBoundingBoxOutline).

      enumerator `Illustration`

        Displays monochromatic unlit faces and silhouette edges (kA3DPDFRenderingIllustration).

      enumerator `ShadedIllustration`

        Displays textured and lit faces with increased emissivity and monochromatic silhouette edges (kA3DPDFRenderingShadedIllustration).

      enumerator `Wireframe`

        Displays monochromatic tessellation edges (kA3DPDFRenderingWireframe).

      enumerator `ShadedWireframe`

        Displays color interpolated and lit tessellation edges (kA3DPDFRenderingShadedWireframe).

      enumerator `HiddenWireframe`

        Displays monochromatic faces and tessellation edges (kA3DPDFRenderingHiddenWireframe).

      enumerator `Vertices`

        Displays monochromatic vertices (kA3DPDFRenderingVertices).

      enumerator `ShadedVertices`

        Displays colored and lit vertices (kA3DPDFRenderingShadedVertices).

  class `SignatureFieldKit` : public HPS::SprocketKit

    The SignatureFieldKit class is a user space object. It acts as the container for all data that can be used to specify a signature field for a Publish PDF.

    Public Functions

    virtual bool `Empty`() const

      Indicates whether this SignatureFieldKit has any values set on it.

      Returns: | true if no values are set on this SignatureFieldKit, false otherwise.

    bool `Equals`(SignatureFieldKit const &in_kit) const

      Check if the source SignatureFieldKit is equivalent to this SignatureFieldKit.

      Parameters: | in_kit – The source SignatureFieldKit to compare to this SignatureFieldKit.
      Returns: | true if the objects are equivalent, false otherwise.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(SignatureFieldKit const &in_kit) const

      Check if the source SignatureFieldKit is not equivalent to this SignatureFieldKit.

      Parameters: | in_kit – The source SignatureFieldKit to compare to this SignatureFieldKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    SignatureFieldKit &`operator=`(SignatureFieldKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this SignatureFieldKit.

      Parameters: | in_kit – An rvalue reference to a SignatureFieldKit to take the underlying object from.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`operator=`(SignatureFieldKit const &in_kit)

      Copies the source SignatureFieldKit into this SignatureFieldKit.

      Parameters: | in_kit – The source SignatureFieldKit to copy.
      Returns: | A reference to this SignatureFieldKit.

    bool `operator==`(SignatureFieldKit const &in_kit) const

      Check if the source SignatureFieldKit is equivalent to this SignatureFieldKit.

      Parameters: | in_kit – The source SignatureFieldKit to compare to this SignatureFieldKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(SignatureFieldKit const &in_kit)

      Copies the source SignatureFieldKit into this SignatureFieldKit.

      Parameters: | in_kit – The source SignatureFieldKit to copy.

    SignatureFieldKit &`SetBorder`(bool in_state)

      Sets whether the signature field has a border. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_bHasBorder.

      Parameters: | in_state – Whether the signature field has a border.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`SetBorderColor`(RGBColor const &in_color)

      Sets the border color for the signature field. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_sBorderColor.

      Parameters: | in_color – The border color of the signature field.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`SetBorderStyle`(Border::Style in_style)

      Sets the border style for the signature field. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_eLineStyleBorder.

      Parameters: | in_style – The border style for the signature field.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`SetBorderThickness`(Border::Thickness in_thickness)

      Sets the border thickness for the signature field. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_eThicknessBorder.

      Parameters: | in_thickness – The border thickness for the signature field.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`SetFillColor`(RGBColor const &in_color)

      Sets the fill color for the signature field. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_sFillColor and implicitly sets A3DPDFDigitalSignatureData::m_bHasFillColor to true.

      Parameters: | in_color – The fill color for the signature field.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`SetFont`(char const *in_name, Text::Font::Style in_style = Text::Font::Style::Regular)

      Sets a specific font for the signature field. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_pcFontName.

      Parameters: | in_name – UTF8-encoded font name for the signature field. in_style – The style of font to use for the signature field.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`SetFont`(Text::Font::Name in_name)

      Sets a builtin font for the signature field. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_pcFontName.

      Parameters: | in_name – The builtin font for the signature field.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`SetFontSize`(int in_size)

      Sets the font size for the signature field. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_iFontSize.

      Parameters: | in_size – The font size for the signature field.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`SetLock`(bool in_state)

      Sets whether the signature field is locked. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_bIsLocked.

      Parameters: | in_state – Whether the signature field is locked.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`SetName`(char const *in_name)

      Sets the name of the signature field. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_pcName.

      Parameters: | in_name – UTF8-encoded name of the signature field.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`SetPrintability`(bool in_state)

      Sets the printability for the signature field. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_eFormField.

      Parameters: | in_state – The printability for the signature field.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`SetTextColor`(RGBColor const &in_color)

      Sets the text color for the signature field. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_sTextColor.

      Parameters: | in_color – The text color for the signature field.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`SetTextRotation`(Text::Rotation in_rotation)

      Sets the text rotation for the signature field. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_eTextOrientation.

      Parameters: | in_rotation – The text rotation for the signature field.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`SetTooltip`(char const *in_tooltip)

      Sets the tooltip for the signature field. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_pcTooltip.

      Parameters: | in_tooltip – UTF8-encoded tooltip text for the signature field.
      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`SetVisibility`(bool in_state)

      Sets the visibility for the signature field. This corresponds to the value that will be passed to A3DPDFDigitalSignatureData::m_eFormField.

      Parameters: | in_state – The visibility for the signature field.
      Returns: | A reference to this SignatureFieldKit.

    void `Show`(SignatureFieldKit &out_kit) const

      Copies this SignatureFieldKit into the given SignatureFieldKit.

      Parameters: | out_kit – The SignatureFieldKit to populate with the contents of this SignatureFieldKit.

    bool `ShowBorder`(bool &out_state) const

      Shows the border setting for the signature field.

      Parameters: | out_state – Whether the signature field has a border.
      Returns: | true if a border setting was specified, false otherwise.

    bool `ShowBorderColor`(RGBColor &out_color) const

      Shows the border color for the signature field.

      Parameters: | out_color – The border color of the signature field.
      Returns: | true if a border color was specified, false otherwise.

    bool `ShowBorderStyle`(Border::Style &out_style) const

      Shows the border style for the signature field.

      Parameters: | out_style – The border style for the signature field.
      Returns: | true if a border style was specified, false otherwise.

    bool `ShowBorderThickness`(Border::Thickness &out_thickness) const

      Shows the border thickness for the signature field.

      Parameters: | out_thickness – The border thickness for the signature field.
      Returns: | true if a border thickness was specified, false otherwise.

    bool `ShowFillColor`(RGBColor &out_color) const

      Shows the fill color for the signature field.

      Parameters: | out_color – The fill color for the signature field.
      Returns: | true if a fill color was specified, false otherwise.

    bool `ShowFont`(Text::Font::Type &out_type, Text::Font::Name &out_font, UTF8 &out_font_name, Text::Font::Style &out_style) const

      Shows the font for the signature field.

      Parameters: | out_type – The type of font for the signature field. out_font – The built-in font for the signature field. This is only valid if out_type is Text::Font::Type::BuiltIn. out_font_name – The explicit font name for the signature field. This is only valid if out_type is Text::Font::Type::Explicit. out_style – The font style for the signature field. This is only valid if out_type is Text::Font::Type::Explicit.
      Returns: | true if a font was specified, false otherwise.

    bool `ShowFontSize`(int &out_size) const

      Shows the font size for the signature field.

      Parameters: | out_size – The font size for the signature field.
      Returns: | true if a font size was specified, false otherwise.

    bool `ShowLock`(bool &out_state) const

      Shows the lock setting for the signature field.

      Parameters: | in_state – Whether the signature field is locked.
      Returns: | true if a lock setting was specified, false otherwise.

    bool `ShowName`(UTF8 &out_name) const

      Shows the name for the signature field.

      Parameters: | out_name – The name of the signature field.
      Returns: | true if a name was specified, false otherwise.

    bool `ShowPrintability`(bool &out_state) const

      Shows the printability for the signature field.

      Parameters: | out_state – The printability for the signature field.
      Returns: | true if a printability was specified, false otherwise.

    bool `ShowTextColor`(RGBColor &out_color) const

      Shows the text color for the signature field.

      Parameters: | out_color – The text color for the signature field.
      Returns: | true if a text color was specified, false otherwise.

    bool `ShowTextRotation`(Text::Rotation &out_rotation) const

      Shows the text rotation for the signature field.

      Parameters: | out_rotation – The text rotation for the signature field.
      Returns: | true if a rotation was specified, false otherwise.

    bool `ShowTooltip`(UTF8 &out_tooltip) const

      Shows the tooltip for the signature field.

      Parameters: | out_tooltip – The tooltip text for the signature field.
      Returns: | true if a tooltip was specified, false otherwise.

    bool `ShowVisibility`(bool &out_state) const

      Shows the visibility for the signature field.

      Parameters: | out_state – The visibility for the signature field.
      Returns: | true if a visibility was specified, false otherwise.

    `SignatureFieldKit`()

      The default constructor creates an empty SignatureFieldKit object.

    `SignatureFieldKit`(SignatureFieldKit &&in_kit)

      The move constructor creates a SignatureFieldKit by transferring the underlying object of the rvalue reference to this SignatureFieldKit.

      Parameters: | in_kit – An rvalue reference to a SignatureFieldKit to take the underlying object from.

    `SignatureFieldKit`(SignatureFieldKit const &in_kit)

      The copy constructor creates a new SignatureFieldKit object that contains the same settings as the source SignatureFieldKit.

      Parameters: | in_kit – The source SignatureFieldKit to copy.

    SignatureFieldKit &`UnsetBorder`()

      Removes the border setting.

      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`UnsetBorderColor`()

      Removes the border color setting.

      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`UnsetBorderStyle`()

      Removes the border style setting.

      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`UnsetBorderThickness`()

      Removes the border thickness setting.

      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`UnsetEverything`()

      Removes all data from the signature field.

      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`UnsetFillColor`()

      Removes the fill color setting.

      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`UnsetFont`()

      Removes the font setting.

      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`UnsetFontSize`()

      Removes the font size setting.

      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`UnsetLock`()

      Removes the lock setting.

      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`UnsetName`()

      Removes the name setting.

      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`UnsetPrintability`()

      Removes the printability setting.

      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`UnsetTextColor`()

      Removes the text color setting.

      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`UnsetTextRotation`()

      Removes the text rotation setting.

      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`UnsetTooltip`()

      Removes the tooltip setting.

      Returns: | A reference to this SignatureFieldKit.

    SignatureFieldKit &`UnsetVisibility`()

      Removes the visibility setting.

      Returns: | A reference to this SignatureFieldKit.

    virtual `~SignatureFieldKit`()

    Public Static Functions

    static SignatureFieldKit `GetDefault`()

      Creates a SignatureFieldKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for a button unless a setting is overridden by the SignatureFieldKit passed to a function.

      Returns: | A SignatureFieldKit with the default settings.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishSignatureFieldKit
  class `Source`

    The Publish::Source class is a concept class for source-string-related enums.

  class `Text`

    The Publish::Text class is a concept class for text-related enumerations.

    Public Types

    enum class `Language`

      Enumerates the supported languages for explicitly-specified fonts.

      Values:

      enumerator `ASCII`

        Self-explanatory.

      enumerator `EastEuropeanRoman`

        Self-explanatory.

      enumerator `Cyrillic`

        Self-explanatory.

      enumerator `Greek`

        Self-explanatory.

      enumerator `Turkish`

        Self-explanatory.

      enumerator `Hebrew`

        Self-explanatory.

      enumerator `Arabic`

        Self-explanatory.

      enumerator `Baltic`

        Self-explanatory.

      enumerator `ChineseTraditional`

        Self-explanatory.

      enumerator `ChineseSimplified`

        Self-explanatory.

      enumerator `Japanese`

        Self-explanatory.

      enumerator `Korean`

        Self-explanatory.

    enum class `Rotation`

      Enumerates the rotation to use for text strings.

      Values:

      enumerator `None`

        No rotation, text will be horizontal (kA3DPDFNormal).

      enumerator `CounterClockwise90Degrees`

        Text will be rotated 90 degrees counter-clockwise from the horizontal (kA3DPDF90).

      enumerator `CounterClockwise180Degrees`

        Text will be rotated 180 degrees counter-clockwise from the horizontal (kA3DPDF180).

      enumerator `CounterClockwise270Degrees`

        Text will be rotated 270 degrees counter-clockwise from the horizontal (kA3DPDF270).

    class `Font`

      The Publish::Text::Font class is a concept class for text-font-related enumerations.

      Public Types

      enum class `Name`

        Enumerates the built-in fonts available for text strings.

        Values:

        enumerator `TimesRoman`

          Standard Times Roman font (kA3DPDFFontTimesRoman).

        enumerator `TimesItalic`

          Italic Times Roman font (kA3DPDFFontTimesItalic).

        enumerator `TimesBold`

          Bold Times Roman font (kA3DPDFFontTimesBold).

        enumerator `TimesBoldItalic`

          Bold Italic Times Roman font (kA3DPDFFontTimesBoldItalic).

        enumerator `Helvetica`

          Standard Helvetica font (kA3DPDFFontHelvetica).

        enumerator `HelveticaOblique`

          Oblique Helvetica font (kA3DPDFFontHelveticaOblique).

        enumerator `HelveticaBold`

          Bold Helvetica font (kA3DPDFFontHelveticaBold).

        enumerator `HelveticaBoldOblique`

          Bold Oblique Helvetica font (kA3DPDFFontHelveticaBoldOblique).

        enumerator `Courier`

          Standard Courier font (kA3DPDFFontCourier).

        enumerator `CourierOblique`

          Oblique Courier font (kA3DPDFFontCourierOblique).

        enumerator `CourierBold`

          Bold Courier font (kA3DPDFFontCourierBold).

        enumerator `CourierBoldOblique`

          Bold Oblique Courier font (kA3DPDFFontCourierBoldOblique).

      enum class `Style`

        Enumerates the font styles to use for text strings.

        Values:

        enumerator `Regular`

          Regular font style.

        enumerator `Bold`

          Bold font style.

        enumerator `Italic`

          Italic font style.

        enumerator `BoldItalic`

          Bold and italic font style.

  class `TextFieldKit` : public HPS::SprocketKit

    The TextFieldKit class is a user space object. It acts as the container for all data that can be used to specify a text field for a Publish PDF.

    Public Functions

    virtual bool `Empty`() const

      Indicates whether this TextFieldKit has any values set on it.

      Returns: | true if no values are set on this TextFieldKit, false otherwise.

    bool `Equals`(TextFieldKit const &in_kit) const

      Check if the source TextFieldKit is equivalent to this TextFieldKit.

      Parameters: | in_kit – The source TextFieldKit to compare to this TextFieldKit.
      Returns: | true if the objects are equivalent, false otherwise.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(TextFieldKit const &in_kit) const

      Check if the source TextFieldKit is not equivalent to this TextFieldKit.

      Parameters: | in_kit – The source TextFieldKit to compare to this TextFieldKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    TextFieldKit &`operator=`(TextFieldKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this TextFieldKit.

      Parameters: | in_kit – An rvalue reference to a TextFieldKit to take the underlying object from.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`operator=`(TextFieldKit const &in_kit)

      Copies the source TextFieldKit into this TextFieldKit.

      Parameters: | in_kit – The source TextFieldKit to copy.
      Returns: | A reference to this TextFieldKit.

    bool `operator==`(TextFieldKit const &in_kit) const

      Check if the source TextFieldKit is equivalent to this TextFieldKit.

      Parameters: | in_kit – The source TextFieldKit to compare to this TextFieldKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(TextFieldKit const &in_kit)

      Copies the source TextFieldKit into this TextFieldKit.

      Parameters: | in_kit – The source TextFieldKit to copy.

    TextFieldKit &`SetBorder`(bool in_state)

      Sets whether the text field has a border. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_bHasBorder.

      Parameters: | in_state – Whether the text field has a border.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetBorderColor`(RGBColor const &in_color)

      Sets the border color for the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_sBorderColor.

      Parameters: | in_color – The border color of the text field.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetBorderStyle`(Border::Style in_style)

      Sets the border style for the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_eLineStyleBorder.

      Parameters: | in_style – The border style for the text field.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetBorderThickness`(Border::Thickness in_thickness)

      Sets the border thickness for the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_eThicknessBorder.

      Parameters: | in_thickness – The border thickness for the text field.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetDefaultValue`(char const *in_value)

      Sets the default value for the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_pcDefaultValue.

      Parameters: | in_value – UT8-encoded default value for the text field.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetFillColor`(RGBColor const &in_color)

      Sets the fill color for the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_sFillColor and implicitly sets A3DPDFTextFieldData::m_bHasFillColor to true.

      Parameters: | in_color – The fill color for the text field.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetFont`(char const *in_name, Text::Font::Style in_style = Text::Font::Style::Regular)

      Sets a specific font for the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_pcFontName.

      Parameters: | in_name – UTF8-encoded font name for the text field. in_style – The style of font to use for the text field.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetFont`(Text::Font::Name in_name)

      Sets a builtin font for the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_pcFontName.

      Parameters: | in_name – The builtin font for the text field.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetFontSize`(int in_size)

      Sets the font size for the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_iFontSize.

      Parameters: | in_size – The font size for the text field.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetLock`(bool in_state)

      Sets whether the text field is locked. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_bIsLocked.

      Parameters: | in_state – Whether the text field is locked.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetMultiline`(bool in_state)

      Sets whether the text field is multiline. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_bMultiline.

      Parameters: | in_state – Whether the text field is multiline.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetName`(char const *in_name)

      Sets the name of the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_pcName.

      Parameters: | in_name – UTF8-encoded name of the text field.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetPrintability`(bool in_state)

      Sets the printability for the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_eFormField.

      Parameters: | in_state – The printability for the text field.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetReadOnly`(bool in_state)

      Sets whether the text field is read only. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_bReadOnly.

      Parameters: | in_state – Whether the text field can scroll.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetScrolling`(bool in_state)

      Sets whether the text field can scroll. This corresponds to the (inverted) value that will be passed to A3DPDFTextFieldData::m_bDoNotScroll.

      Parameters: | in_state – Whether the text field can scroll.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetTextColor`(RGBColor const &in_color)

      Sets the text color for the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_sTextColor.

      Parameters: | in_color – The text color for the text field.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetTextJustification`(HPS::Text::Justification in_justification)

      Sets the text justification for the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_eTextAlignment.

      Parameters: | in_justification – The text justification for the text field.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetTextRotation`(Text::Rotation in_rotation)

      Sets the text rotation for the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_eTextOrientation.

      Parameters: | in_rotation – The text rotation for the text field.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetTooltip`(char const *in_tooltip)

      Sets the tooltip for the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_pcTooltip.

      Parameters: | in_tooltip – UTF8-encoded tooltip text for the text field.
      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`SetVisibility`(bool in_state)

      Sets the visibility for the text field. This corresponds to the value that will be passed to A3DPDFTextFieldData::m_eFormField.

      Parameters: | in_state – The visibility for the text field.
      Returns: | A reference to this TextFieldKit.

    void `Show`(TextFieldKit &out_kit) const

      Copies this TextFieldKit into the given TextFieldKit.

      Parameters: | out_kit – The TextFieldKit to populate with the contents of this TextFieldKit.

    bool `ShowBorder`(bool &out_state) const

      Shows the border setting for the text field.

      Parameters: | out_state – Whether the text field has a border.
      Returns: | true if a border setting was specified, false otherwise.

    bool `ShowBorderColor`(RGBColor &out_color) const

      Shows the border color for the text field.

      Parameters: | out_color – The border color of the text field.
      Returns: | true if a border color was specified, false otherwise.

    bool `ShowBorderStyle`(Border::Style &out_style) const

      Shows the border style for the text field.

      Parameters: | out_style – The border style for the text field.
      Returns: | true if a border style was specified, false otherwise.

    bool `ShowBorderThickness`(Border::Thickness &out_thickness) const

      Shows the border thickness for the text field.

      Parameters: | out_thickness – The border thickness for the text field.
      Returns: | true if a border thickness was specified, false otherwise.

    bool `ShowDefaultValue`(UTF8 &out_value) const

      Shows the default value for the text field.

      Parameters: | out_value – The default value for the text field.
      Returns: | true if a default value was specified, false otherwise.

    bool `ShowFillColor`(RGBColor &out_color) const

      Shows the fill color for the text field.

      Parameters: | out_color – The fill color for the text field.
      Returns: | true if a fill color was specified, false otherwise.

    bool `ShowFont`(Text::Font::Type &out_type, Text::Font::Name &out_font, UTF8 &out_font_name, Text::Font::Style &out_style) const

      Shows the font for the text field.

      Parameters: | out_type – The type of font for the text field. out_font – The built-in font for the text field. This is only valid if out_type is Text::Font::Type::BuiltIn. out_font_name – The explicit font name for the text field. This is only valid if out_type is Text::Font::Type::Explicit. out_style – The font style for the text field. This is only valid if out_type is Text::Font::Type::Explicit.
      Returns: | true if a font was specified, false otherwise.

    bool `ShowFontSize`(int &out_size) const

      Shows the font size for the text field.

      Parameters: | out_size – The font size for the text field.
      Returns: | true if a font size was specified, false otherwise.

    bool `ShowLock`(bool &out_state) const

      Shows the lock setting for the text field.

      Parameters: | in_state – Whether the text field is locked.
      Returns: | true if a lock setting was specified, false otherwise.

    bool `ShowMultiline`(bool &out_state) const

      Shows the multiline setting for the text field.

      Parameters: | out_state – Whether the text field is multiline.
      Returns: | true if a multiline setting was specified, false otherwise.

    bool `ShowName`(UTF8 &out_name) const

      Shows the name for the text field.

      Parameters: | out_name – The name of the text field.
      Returns: | true if a name was specified, false otherwise.

    bool `ShowPrintability`(bool &out_state) const

      Shows the printability for the text field.

      Parameters: | out_state – The printability for the text field.
      Returns: | true if a printability was specified, false otherwise.

    bool `ShowReadOnly`(bool &out_state) const

      Shows the read-only setting for the text field.

      Parameters: | out_state – Whether the text field is read only.
      Returns: | true if a scrolling setting was specified, false otherwise.

    bool `ShowScrolling`(bool &out_state) const

      Shows the scrolling setting for the text field.

      Parameters: | out_state – Whether the text field can scroll.
      Returns: | true if a scrolling setting was specified, false otherwise.

    bool `ShowTextColor`(RGBColor &out_color) const

      Shows the text color for the text field.

      Parameters: | out_color – The text color for the text field.
      Returns: | true if a text color was specified, false otherwise.

    bool `ShowTextJustification`(HPS::Text::Justification &out_justification) const

      Shows the text justification for the text field.

      Parameters: | out_justification – The text justification for the text field.
      Returns: | true if a text justification was specified, false otherwise.

    bool `ShowTextRotation`(Text::Rotation &out_rotation) const

      Shows the text rotation for the text field.

      Parameters: | out_rotation – The text rotation for the text field.
      Returns: | true if a rotation was specified, false otherwise.

    bool `ShowTooltip`(UTF8 &out_tooltip) const

      Shows the tooltip for the text field.

      Parameters: | out_tooltip – The tooltip text for the text field.
      Returns: | true if a tooltip was specified, false otherwise.

    bool `ShowVisibility`(bool &out_state) const

      Shows the visibility for the text field.

      Parameters: | out_state – The visibility for the text field.
      Returns: | true if a visibility was specified, false otherwise.

    `TextFieldKit`()

      The default constructor creates an empty TextFieldKit object.

    `TextFieldKit`(TextFieldKit &&in_kit)

      The move constructor creates a TextFieldKit by transferring the underlying object of the rvalue reference to this TextFieldKit.

      Parameters: | in_kit – An rvalue reference to a TextFieldKit to take the underlying object from.

    `TextFieldKit`(TextFieldKit const &in_kit)

      The copy constructor creates a new TextFieldKit object that contains the same settings as the source TextFieldKit.

      Parameters: | in_kit – The source TextFieldKit to copy.

    TextFieldKit &`UnsetBorder`()

      Removes the border setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetBorderColor`()

      Removes the border color setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetBorderStyle`()

      Removes the border style setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetBorderThickness`()

      Removes the border thickness setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetDefaultValue`()

      Removes the default value setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetEverything`()

      Removes all data from the text field.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetFillColor`()

      Removes the fill color setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetFont`()

      Removes the font setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetFontSize`()

      Removes the font size setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetLock`()

      Removes the lock setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetMultiline`()

      Removes the multiline setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetName`()

      Removes the name setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetPrintability`()

      Removes the printability setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetReadOnly`()

      Removes the read-only setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetScrolling`()

      Removes the scrolling setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetTextColor`()

      Removes the text color setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetTextJustification`()

      Removes the text justification setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetTextRotation`()

      Removes the text rotation setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetTooltip`()

      Removes the tooltip setting.

      Returns: | A reference to this TextFieldKit.

    TextFieldKit &`UnsetVisibility`()

      Removes the visibility setting.

      Returns: | A reference to this TextFieldKit.

    virtual `~TextFieldKit`()

    Public Static Functions

    static TextFieldKit `GetDefault`()

      Creates a TextFieldKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for a text field unless a setting is overridden by the TextFieldKit passed to a function.

      Returns: | A TextFieldKit with the default settings.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishTextFieldKit
  class `TextKit` : public HPS::SprocketKit

    The TextKit class is a user space object. It acts as the container for all data that can be used to specify a text string for a Publish PDF.

    Public Functions

    virtual bool `Empty`() const

      Indicates whether this TextKit has any values set on it.

      Returns: | true if no values are set on this TextKit, false otherwise.

    bool `Equals`(TextKit const &in_kit) const

      Check if the source TextKit is equivalent to this TextKit.

      Parameters: | in_kit – The source TextKit to compare to this TextKit.
      Returns: | true if the objects are equivalent, false otherwise.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(TextKit const &in_kit) const

      Check if the source TextKit is not equivalent to this TextKit.

      Parameters: | in_kit – The source TextKit to compare to this TextKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    TextKit &`operator=`(TextKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this TextKit.

      Parameters: | in_kit – An rvalue reference to a TextKit to take the underlying object from.
      Returns: | A reference to this TextKit.

    TextKit &`operator=`(TextKit const &in_kit)

      Copies the source TextKit into this TextKit.

      Parameters: | in_kit – The source TextKit to copy.
      Returns: | A reference to this TextKit.

    bool `operator==`(TextKit const &in_kit) const

      Check if the source TextKit is equivalent to this TextKit.

      Parameters: | in_kit – The source TextKit to compare to this TextKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(TextKit const &in_kit)

      Copies the source TextKit into this TextKit.

      Parameters: | in_kit – The source TextKit to copy.

    TextKit &`SetColor`(RGBColor const &in_color)

      Sets the color for the text. This corresponds to the value that will be passed to A3DPDFTextData::m_sColor or A3DPDFTextDataEx::m_sColor.

      Parameters: | in_color – Color for the text.
      Returns: | A reference to this TextKit.

    TextKit &`SetFont`(char const *in_font_name, Text::Language in_language, bool in_embed_font)

      Sets an explicit font for the text. As of Publish 5.11, this is only known to create a valid text string in the PDF if the font name is “MS Gothic” and the language is Japanese, otherwise the creation will fail.

      Parameters: | in_font_name – UTF8-encoded font name for the text. This corresponds to the value that will be passed to A3DPDFTextDataEx::m_pcFontName. in_language – The language for the font. This corresponds to the value that will be passed to A3DPDFTextDataEx::m_eLanguage. in_embed_font – Whether to embed the font in the PDF. This corresponds to the value that will be passed to A3DPDFTextDataEx::m_bEmbedFontInPDF.
      Returns: | A reference to this TextKit.

    TextKit &`SetFont`(Text::Font::Name in_font)

      Sets a built-in font for the text. This corresponds to the value that will be passed to A3DPDFTextData::m_eFontName.

      Parameters: | in_font – The built-in font for the text.
      Returns: | A reference to this TextKit.

    TextKit &`SetSize`(int in_size)

      Sets the size in points for the text. This corresponds to the value that will be passed to A3DPDFTextData::m_iFontSize or A3DPDFTextDataEx::m_iFontSize.

      Parameters: | in_size – The size in points for the text.
      Returns: | A reference to this TextKit.

    TextKit &`SetText`(char const *in_text)

      Sets the text string for the text. This corresponds to the value that will be passed to A3DPDFTextData::m_pcTextString or A3DPDFTextDataEx::m_pcTextString.

      Parameters: | in_text – UTF8-encoded text string for the text.
      Returns: | A reference to this TextKit.

    void `Show`(TextKit &out_kit) const

      Copies this TextKit into the given TextKit.

      Parameters: | out_kit – The TextKit to populate with the contents of this TextKit.

    bool `ShowColor`(RGBColor &out_color) const

      Shows the color setting

      Parameters: | out_color – The color for the text.
      Returns: | true if a color was specified, false otherwise.

    bool `ShowFont`(Text::Font::Type &out_type, Text::Font::Name &out_font, UTF8 &out_font_name, Text::Language &out_language, bool &out_embed_font) const

      Shows the font setting.

      Parameters: | out_type – The type of font for the text. out_font – The built-in font for the text. This is only valid if out_type is Text::Font::Type::BuiltIn. out_font_name – The explicit font name for the text. This is only valid if out_type is Text::Font::Type::Explicit. out_language – The language for the font. This is only valid if out_type is Text::Font::Type::Explicit. out_embed_font – Whether to embed the font in the PDF. This is only valid if out_type is Text::Font::Type::Explicit.
      Returns: | true if a font was specified, false otherwise.

    bool `ShowSize`(int &out_size) const

      Shows the size setting.

      Parameters: | out_size – The size for the text.
      Returns: | true if a size was specified, false otherwise.

    bool `ShowText`(UTF8 &out_text) const

      Shows the text string setting.

      Parameters: | out_text – The text string for the text.
      Returns: | true if a text string was specified, false otherwise.

    `TextKit`()

      The default constructor creates an empty TextKit object.

    `TextKit`(TextKit &&in_kit)

      The move constructor creates a TextKit by transferring the underlying object of the rvalue reference to this TextKit.

      Parameters: | in_kit – An rvalue reference to a TextKit to take the underlying object from.

    `TextKit`(TextKit const &in_kit)

      The copy constructor creates a new TextKit object that contains the same settings as the source TextKit.

      Parameters: | in_kit – The source TextKit to copy.

    TextKit &`UnsetColor`()

      Removes the color setting.

      Returns: | A reference to this TextKit.

    TextKit &`UnsetEverything`()

      Removes all data from the text.

      Returns: | A reference to this TextKit.

    TextKit &`UnsetFont`()

      Removes the font setting.

      Returns: | A reference to this TextKit.

    TextKit &`UnsetSize`()

      Removes the size setting.

      Returns: | A reference to this TextKit.

    TextKit &`UnsetText`()

      Removes the text string setting.

      Returns: | A reference to this TextKit.

    virtual `~TextKit`()

    Public Static Functions

    static TextKit `GetDefault`()

      Creates a TextKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for export unless a setting is overridden by the TextKit passed to File::Export.

      Returns: | A TextKit with the default settings.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishTextKit
  class `U3D`

    The Publish::U3D class is a concept class for U3D-related enums.

    Public Types

    enum class `Version`

      Enumerates the version to use when exporting a U3D file.

      Values:

      enumerator `ECMA1`

        ECMA-363, version 1 (kA3DECMA1).

      enumerator `ECMA3`

        ECMA-363, version 3 (kA3DECMA3).

  class `ViewKit` : public HPS::SprocketKit

    The ViewKit class is a user space object. It acts as the container for all data that can be set on a view in a Publish PDF.

    Public Functions

    virtual bool `Empty`() const

      Indicates whether this ViewKit has any values set on it.

      Returns: | true if no values are set on this ViewKit, false otherwise.

    bool `Equals`(ViewKit const &in_kit) const

      Check if the source ViewKit is equivalent to this ViewKit.

      Parameters: | in_kit – The source ViewKit to compare to this ViewKit.
      Returns: | true if the objects are equivalent, false otherwise.

    inline virtual HPS::Type `ObjectType`() const

      This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

      Returns: | The declared type of the object in question, which may differ from the true, underlying type.

    bool `operator!=`(ViewKit const &in_kit) const

      Check if the source ViewKit is not equivalent to this ViewKit.

      Parameters: | in_kit – The source ViewKit to compare to this ViewKit.
      Returns: | true if the objects are not equivalent, false otherwise.

    ViewKit &`operator=`(ViewKit &&in_kit)

      The move assignment operator transfers the underlying object of the rvalue reference to this ViewKit.

      Parameters: | in_kit – An rvalue reference to a ViewKit to take the underlying object from.
      Returns: | A reference to this ViewKit.

    ViewKit &`operator=`(ViewKit const &in_kit)

      Copies the source ViewKit into this ViewKit.

      Parameters: | in_kit – The source ViewKit to copy.
      Returns: | A reference to this ViewKit.

    bool `operator==`(ViewKit const &in_kit) const

      Check if the source ViewKit is equivalent to this ViewKit.

      Parameters: | in_kit – The source ViewKit to compare to this ViewKit.
      Returns: | true if the objects are equivalent, false otherwise.

    void `Set`(ViewKit const &in_kit)

      Copies the source ViewKit into this ViewKit.

      Parameters: | in_kit – The source ViewKit to copy.

    ViewKit &`SetBackgroundColor`(RGBColor const &in_color)

      Sets the background color for the view. This corresponds to the value that will be passed to A3DPDFViewData::m_sViewBackgroundColor.

      Parameters: | in_color – The background color for the view.
      Returns: | A reference to this ViewKit.

    ViewKit &`SetCamera`(CameraKit const &in_camera)

      Sets the camera for the view. This corresponds to the values that will be passed to A3DPDFViewData::m_sPosition, A3DPDFViewData::m_sTarget, A3DPDFViewData::m_sUpVector, A3DPDFViewData::m_dZoomFactor, A3DPDFViewData::m_eProjectionMode, and A3DPDFViewData::m_dFieldOfView.

      Parameters: | in_camera – The camera for the view.
      Returns: | A reference to this ViewKit.

    ViewKit &`SetDefault`(bool in_state)

      Sets whether this view is the default view. This corresponds to the value that will be passed to A3DPDFViewData::m_bIsDefault.

      Parameters: | in_state – Whether this view is the default view.
      Returns: | A reference to this ViewKit.

    ViewKit &`SetExternalName`(char const *in_name)

      Sets the external name for the view. This corresponds to the value that will be passed to A3DPDFViewData::m_pcExternalName.

      Parameters: | in_name – UTF8-encoded external name for the view.
      Returns: | A reference to this ViewKit.

    ViewKit &`SetInternalName`(char const *in_name)

      Sets the internal name for the view.

      Parameters: | in_name – UTF8-encoded internal name for the view. This corresponds to the value that will be passed to A3DPDFViewData::m_pcInternalName.
      Returns: | A reference to this ViewKit.

    ViewKit &`SetLighting`(Lighting::Mode in_mode)

      Sets the lighting mode for the view. This corresponds to the value that will be passed to A3DPDFViewData::m_eViewLighting.

      Parameters: | in_mode – The lighting mode for the view.
      Returns: | A reference to this ViewKit.

    ViewKit &`SetRendering`(Rendering::Mode in_mode)

      Sets the rendering mode for the view. This corresponds to the value that will be passed to A3DPDFViewData::m_eRenderingStyle.

      Parameters: | in_mode – The rendering mode for the view.
      Returns: | A reference to this ViewKit.

    void `Show`(ViewKit &out_kit) const

      Copies this ViewKit into the given ViewKit.

      Parameters: | out_kit – The ViewKit to populate with the contents of this ViewKit.

    bool `ShowBackgroundColor`(RGBColor &out_color) const

      Shows the background color for the view.

      Parameters: | out_color – The background color for the view.
      Returns: | true if a background color was specified, false otherwise.

    bool `ShowCamera`(CameraKit &out_camera) const

      Shows the camera setting.

      Parameters: | out_camera – The camera for the view.
      Returns: | true if a camera was specified, false otherwise.

    bool `ShowDefault`(bool &out_state) const

      Shows the default setting.

      Parameters: | out_state – Whether this view is the default view.
      Returns: | true if a default setting was specified, false otherwise.

    bool `ShowExternalName`(UTF8 &out_name) const

      Shows the external name setting.

      Parameters: | out_name – The external name for the view.
      Returns: | true if an external name was specified, false otherwise.

    bool `ShowInternalName`(UTF8 &out_name) const

      Shows the internal name setting.

      Parameters: | out_name – The internal name for the view.
      Returns: | true if an internal name was specified, false otherwise.

    bool `ShowLighting`(Lighting::Mode &out_mode) const

      Shows the lighting mode for the view.

      Parameters: | out_mode – The lighting mode for the view.
      Returns: | true if a lighting mode was specified, false otherwise.

    bool `ShowRendering`(Rendering::Mode &out_mode) const

      Shows the rendering mode for the view.

      Parameters: | out_mode – The rendering mode for the view.
      Returns: | true if a rendering mode was specified, false otherwise.

    ViewKit &`UnsetBackgroundColor`()

      Removes the background color setting

      Returns: | A reference to this ViewKit.

    ViewKit &`UnsetCamera`()

      Removes the camera setting.

      Returns: | A reference to this ViewKit.

    ViewKit &`UnsetDefault`()

      Removes the default setting.

      Returns: | A reference to this ViewKit.

    ViewKit &`UnsetEverything`()

      Removes all data from the view.

      Returns: | A reference to this ViewKit.

    ViewKit &`UnsetExternalName`()

      Removes the external name setting.

      Returns: | A reference to this ViewKit.

    ViewKit &`UnsetInternalName`()

      Removes the internal name setting.

      Returns: | A reference to this ViewKit.

    ViewKit &`UnsetLighting`()

      Removes the lighting mode setting

      Returns: | A reference to this ViewKit.

    ViewKit &`UnsetRendering`()

      Removes the rendering mode setting

      Returns: | A reference to this ViewKit.

    `ViewKit`()

      The default constructor creates an empty ViewKit object.

    `ViewKit`(ViewKit &&in_kit)

      The move constructor creates a ViewKit by transferring the underlying object of the rvalue reference to this ViewKit.

      Parameters: | in_kit – An rvalue reference to a ViewKit to take the underlying object from.

    `ViewKit`(ViewKit const &in_kit)

      The copy constructor creates a new ViewKit object that contains the same settings as the source ViewKit.

      Parameters: | in_kit – The source ViewKit to copy.

    virtual `~ViewKit`()

    Public Static Functions

    static ViewKit `GetDefault`()

      Creates a ViewKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for export unless a setting is overridden by the ViewKit passed to File::Export.

      Returns: | A ViewKit with the default settings.

    Public Static Attributes

    static const HPS::Type `staticType` = HPS::Type::PublishViewKit

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Visualize Desktop in your own language, or choose a sample question below to start a conversation:

What is HOOPS Visualize Desktop?
What are the latest release notes for HOOPS Visualize Desktop?
How do I start evaluating HOOPS Visualize Desktop?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...