From 43d65dc03325bcce8561423b9607f7e114355f7d Mon Sep 17 00:00:00 2001 From: ferbas Date: Wed, 13 Jan 2010 09:41:29 +0000 Subject: initial import git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@545 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../sources/import/API/FormsHFTProcs.h | 848 +++++++++++++++++++++ 1 file changed, 848 insertions(+) create mode 100644 Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/FormsHFTProcs.h (limited to 'Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/FormsHFTProcs.h') diff --git a/Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/FormsHFTProcs.h b/Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/FormsHFTProcs.h new file mode 100644 index 0000000..1e2f28a --- /dev/null +++ b/Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/FormsHFTProcs.h @@ -0,0 +1,848 @@ +/********************************************************************* + + ADOBE SYSTEMS INCORPORATED + Copyright (C) 2007 Adobe Systems Incorporated + All rights reserved. + + NOTICE: Adobe permits you to use, modify, and distribute this file + in accordance with the terms of the Adobe license agreement + accompanying it. If you have received this file from a source other + than Adobe, then your use, modification, or distribution of it + requires the prior written permission of Adobe. +*********************************************************************/ + +/** + Indicates whether a PDDoc contains an Acrobat form. + @param doc The PDDoc to test. + @return true if doc contains a form, false otherwise. + @see AFPDFieldIsValid +*/ +PIPROC(ASBool, IsPDDocAcroForm, (PDDoc doc), doc) + +/** + Ensures that every PDField in the given PDDoc exists. + + @note It is no longer necessary to call this method. It + still exists for backwards compatibility, but its purpose + is now automatically taken care of internally. + @param doc The PDDoc for the form whose PDField objects are loaded. +*/ +PIPROC(void, AFPDDocLoadPDFields, (PDDoc doc), doc) + +/** + Enumerates all PDField objects that exist in a PDDoc. + @param doc The PDDoc whose PDField objects are enumerated. + @param terminals If true, only PDField objects without children + are enumerated. + @param parameterIgnored This parameter is no longer used (it is ignored). + @param proc A user-supplied callback that is called for + each PDField. The enumeration terminates if proc returns + false. + @param clientData A pointer to user-specified data that + is passed to proc each time it is called. +*/ +PIPROC(void, AFPDDocEnumPDFields, (PDDoc doc, ASBool terminals, ASBool parameterIgnored, AFPDFieldEnumProc proc, void *clientData),doc, terminals, parameterIgnored, proc, clientData) + +/** + Retrieves a PDField with a given name from a PDDoc. (If + multiple fields have the same name, a change to any of them + affects all of them.) + @param doc The PDDoc containing the field. + @param name The name of the field to retrieve. + @return The PDField specified by name. It returns NULL if there is + no PDField with the given name in the PDDoc. + @see AFPDFieldGetName +*/ +PIPROC(PDField, AFPDDocGetPDFieldFromName, (PDDoc doc, char* name), doc, name) + +/** + Retrieves the PDField object for which a Cos object is the + dictionary. + @param dict The Cos object for which to retrieve the corresponding + PDField object. + @return The PDField corresponding to dict. It returns NULL if the Cos + object is not a PDField. + @see AFPDFieldGetCosObj +*/ +PIPROC(PDField, AFPDFieldFromCosObj, (CosObj dict), dict) + +/** + Retrieves the Cos object which is the field object of a + PDField object. + @param fldP The PDField object for which to retrieve the + corresponding Cos object. + @return A Cos object corresponding to the PDField object (fldP). + @see AFPDFieldGetCosObj + @see AFPDFieldGetDefaultTextAppearance + @see AFPDFieldGetName + @see AFPDFieldGetValue +*/ +PIPROC(CosObj, AFPDFieldGetCosObj, (PDField fldP), fldP) + +/** + Determines whether a field is valid. + + @param fldP The field to test. + @return true if fldP is a valid PDField, false otherwise. + @see AFPDFieldIsAnnot + @see AFPDFieldIsTerminal + @note This method is intended only to ensure that the field + has not been deleted, not to ensure that all necessary information + is present and the field has valid values. +*/ +PIPROC(ASBool, AFPDFieldIsValid, (PDField fldP), fldP) + +/** + Determines whether a field is terminal, which means that the field has no + children or it has the same name as its children. + @param fldP The PDField to test. + @return true if fldP is valid and all its children (if any) have + the same name as fldP. Otherwise all have unique names. + + @see AFPDFieldIsAnnot + @see AFPDFieldIsValid +*/ +PIPROC(ASBool, AFPDFieldIsTerminal, (PDField fldP), fldP) + +/** + Retrieves the value from a PDField. The value is stored + in the field entry with the V key. + +

Values can be inherited. If a PDField Cos object does not + have a V key, its value is inherited from a parent's V key + (the parent must have the same name as the PDField). For + example, radio buttons inherit values this way.

+ + @param fldP The PDField whose value is retrieved. + @return The value of the field as a CosObj. If the field has no + value, NULL is returned. + @see AFPDFieldGetCosObj + @see AFPDFieldGetDefaultTextAppearance + @see AFPDFieldGetName + @see AFPDFieldSetValue + @note Retrieving the value of a radio button or combo box + requires Cos-level programming. See the PDF Reference for + details. +*/ +PIPROC(CosObj, AFPDFieldGetValue, (PDField fldP), fldP) + +/** + Retrieves the flags of a PDField for a given flag type. + + @param fldP The PDField whose flags are obtained. + @param flagType The type of flags to obtain. + @return The value of the flags of flagType. + @see AFPDFieldGetName + @see AFPDFieldGetValue + @see AFPDFieldSetFlags +*/ +PIPROC(ASUns32, AFPDFieldGetFlags, (PDField fldP, AF_Flags_t flagType), fldP, flagType) + +/** + Gets the name of a PDField object. + @param fldP The PDField whose name is retrieved. + @return A NULL-terminated string. + + @see AFPDFieldGetDefaultTextAppearance + @see AFPDFieldGetValue + @note Do not modify or free this string. To use this string + indefinitely, copy it to a private buffer. +*/ +PIPROC(char*, AFPDFieldGetName, (PDField fldP), fldP) + +/** + Determines whether a PDField is an annotation (PDAnnot), + that is, whether the field dictionary is also an annotation. + If this is the case, the value of Subtype is Widget. + @param fldP The field in question. + @return true if the PDField is an Acrobat annotation, false otherwise. + + @see AFPDFieldIsTerminal + @see AFPDFieldIsValid +*/ +PIPROC(ASBool, AFPDFieldIsAnnot, (PDField fldP), fldP) + +/** + Sets the value for a PDField. The value is stored in the + field entry with the V key. The method updates the display of the field + and its namesakes; that is, fields with the same fully qualified + names, if any. Changing the field dictionary's value for + the V entry directly does not change the appearance of the + field, which is represented by the AP key. + + @param fldP The field whose value is set. + @param val The field's new value. If it is different than + the previous value, all previous instances of value keys + (V) in the field's dictionary and those of its namesakes + (fields with the same fully qualified name) are removed. + @see AFPDFieldGetValue + @see AFPDFieldSetFlags + @see AFPDFieldSetOptions + @note Setting the value of a radio button or combo box requires + Cos-level programming. See the PDF Reference for details. +*/ +PIPROC(ASBool, AFPDFieldSetValue, (PDField fldP, CosObj val), fldP, val) + +/** + Sets the flags of type flagType for a PDField. + +

The flags of a field's children (if any) are also set.

+ + @param fldP The PDField for which to set flags and children's + flags. + @param flagType The type of the flags to set. If its value + is Flags_Annot and the PDField is not an annotation, no + flags are changed. + @param flags The value of the flags. + @see AFPDFieldGetDefaultTextAppearance + @see AFPDFieldSetOptions + @see AFPDFieldSetValue +*/ +PIPROC(void, AFPDFieldSetFlags, (PDField fldP, AF_Flags_t flagType, AFPDFieldFlags_t flags), fldP, flagType, flags) + +/** + Sets the options entry for a field. The options entry has + the key Opt and represents a list of options for a choice + field. + +

If the field is not valid, remove the options entry.

+ + @param fldP The PDField whose options are set. + @param array The value to set in the options entry. + @return Good if the operation succeeded, Bad otherwise. + @see AFPDFieldSetFlags + @see AFPDFieldSetValue +*/ +PIPROC(RetCode, AFPDFieldSetOptions, (PDField fldP, CosObj array), fldP, array) + +/** + Sets a PDField object's value to its default state. This is the + value associated with the DV key for the field. If there + is no DV key for the field, set the field's value to the + NULL Cos object; otherwise, if the field has options, the default + DV is the first element of the Opt array. + +

A DV entry's value can be inherited from a parent (just + like V).

+ +

The PDField object's value is set only if it is terminal (check this by calling AFPDFieldIsTerminal()).

+ + @param fldP The PDField to reset. + @see AFPDFieldIsTerminal + @see ResetForm +*/ +PIPROC(void, AFPDFieldReset, (PDField fldP), fldP) + +/** + Exports form data to a CosDoc, which can be written to an + FDF file. See the PDF Reference for a description of this + format. + +

To create an FDF file from the CosDoc, call CosDocSaveToFile().

+ + @param pdForm The PDDoc for the form for which to export the data. + @param rgIncExcFlds If this parameter's value is CosNewNull(), then + all fields are exported and bIncl is ignored. If this parameter + is a CosArray, then the array elements may be: + + + + @param bIncl If true, rgIncExcFlds is an array of the + fields to export. Otherwise, rgIncExcFlds is an array of + the fields to exclude from exporting. + @param bEmpty If true, all fields selected per the above + criteria are exported. If false, exclude fields that have + no value. + @param bMenu If true, suppresses saving text fields that + have the "password" flag set, and does not force filling in + required fields when creating an FDF file. + @param bLoadFields IN Not used. + @param fdfPath IN The path where the FDF file will be saved + (by the client of ExportAsFDF()) after it is produced. You need + this in order to create an FDF file with an F key that gives the + relative path to the form from the location where the FDF + file will be saved. Pass NULL if an absolute path name is desired. + @return The FDF CosDoc object containing the exported data. + @exception gAFpdErrExportFdf is raised if it cannot export field data. + The viewer may raise other exceptions. + @see ExportAsFDFEx + @see ExportAsFDFWithParams + @see ImportAnFDF + @see AssembleFormAndImportFDF + @note ExportAsFDFWithParams() provides the same functionality with additional options. +*/ +PIPROC(CosDoc, ExportAsFDF, (PDDoc pdForm, CosObj rgIncExcFlds, ASBool bIncl, ASBool bEmpty, ASBool bMenu, ASBool bLoadFields, ASPathName fdfPath), pdForm, rgIncExcFlds, bIncl, bEmpty, bMenu, bLoadFields, fdfPath) + +/** + Exports data from a form to a file in HTML format. + @param pdForm The PDDoc for the form whose data is exported. + @param rgIncExcFlds If this parameter's value is CosNewNull(), then + all fields are exported, and bIncl is ignored. If it is + a CosArray, then the array elements must be indirect references + to field dictionaries. + @param bIncl If true, rgIncExcFlds is an array of the + fields to export. Otherwise, rgIncExcFlds is an array of + the fields to exclude from exporting. + @param bEmpty If true, all fields selected per the above + criteria are exported. If false, exclude fields that have + no value. + @param Hfile The file to which the HTML data is written. + @see ExportAsHtmlEx +*/ +PIPROC(void, ExportAsHtml, (PDDoc pdForm, CosObj rgIncExcFlds, ASBool bIncl, ASBool bEmpty, ASFile Hfile),pdForm, rgIncExcFlds, bIncl, bEmpty, Hfile) + +/** + Imports data from an FDF file into a PDDoc object's form. See the + PDF Reference for a description of this format. + @param pdForm The PDDoc for the form into which to import the data. + @param cdFDF The CosDoc for the FDF file containing the data. + @return true if the fields in the FDF file only contained values + or flags (that is, V, F, Ff, ClrF, ClrFf, SetF, SetFf), + false if any field contained other attributes, such as appearances (AP), actions (A), and so on. + @exception gAFpdErrBadFdf is raised if the FDF file is invalid. An exception is also raised if memory cannot be allocated for FDF file data. + @see AssembleFormAndImportFDF + @see ExportAsFDF + @see ExportAsFDFEx + @see ExportAsFDFWithParams +*/ +PIPROC(ASBool, ImportAnFDF, (PDDoc pdForm, CosDoc cdFDF), pdForm, cdFDF) + +/** + Resets the indicated fields of a PDDoc object's form to their default + values. + +

A PDField object's value is reset only if it is terminal; you can check this by calling AFPDFieldIsTerminal().

+ + @param pdForm The PDDoc for the form whose fields are reset. + @param rgIncExcFlds If this parameter's value is CosNewNull(), then + all fields are reset, and bIncl is ignored. If it is a CosArray, + then the array elements must be names of fields. The names + may be of non-terminal fields, which is a fast and easy + way to cause all their children to be reset. + @param bIncl If true, rgIncExcFlds is an array of the + fields to reset. Otherwise, rgIncExcFlds is an array of + the fields to exclude from resetting. + @see AFPDFieldSetDefaultTextAppearance + Callback used by AFPDDocEnumPDFields(). It is called once + for each PDField in a form. + @return true to continue the enumeration, false to halt the enumeration. + @see AFPDDocEnumPDFields +*/ +PIPROC(void, ResetForm, (PDDoc pdForm, CosObj rgIncExcFlds, ASBool bIncl), pdForm, rgIncExcFlds, bIncl) + +/** Deprecated as of Acrobat 8.0. */ +PIPROC(ASInt32, AcroFormRegisterObserver, (AF_NotificationSelector_t notificationID, AF_NotificationProc notifyProc, AF_NotificationFailureProc notifyFailure, void *clientData),notificationID, notifyProc,notifyFailure, clientData) + +/** Deprecated as of Acrobat 8.0. */ +PIPROC(void, AcroFormUnregisterObserver, (AF_NotificationSelector_t notificationID, ASInt32 observerID), notificationID, observerID) + +/** Deprecated as of Acrobat 8.0. */ +PIPROC(ASBool, AFGetScriptingContext, (void** pcx, void** pobj), pcx, pobj) + +/** + Exports form data to a CosDoc object, which can be written to an + FDF file. See the PDF Reference for a description of this + format. + +

To create an FDF file from this CosDoc object, call CosDocSaveToFile().

+ + @param pdForm A PDDoc for the form whose data is exported. + + @param rgIncExcFlds If this parameter's value is CosNewNull(), then + all fields are exported, and bIncl is ignored. If it + is a CosArray, then the array elements may be: + + + + @param bIncl If true, rgIncExcFlds is an array of the + fields to export. Otherwise, rgIncExcFlds is an array of + the fields to exclude from exporting. + @param bEmpty If true, all fields selected per the above + criteria are exported. If false, exclude fields that have + no value. + @param bMenu IN If true, suppresses saving text fields that + have the "password" flag set, and does not force filling-in + required fields when creating an FDF file. + @param bLoadFields IN Not used. + @param fdfPath IN The path where the FDF file will be saved + (by the client of ExportAsFDF()) after it is produced. You need + this in order to create an FDF file with an F key that gives + the relative path to the form from the location where the FDF + file will be saved. Pass NULL if an absolute path name is desired. + @param submitBtnName IN A NULL-terminated string containing + the name of the button used to submit. If the value passed is + not NULL, then the FDF file will include a field dictionary + corresponding to the submit button, which will only contain + one key (T). + +

Note that this dictionary is no different than the one you get when + an AcroForm has an empty text field (that is, no value), and + parameter bEmpty is true.

+ + @return The FDF CosDoc containing the exported data. + @exception gAFpdErrExportFdf is raised if field data cannot be exported. The viewer may raise other exceptions. + @see ExportAsFDF + @see ExportAsFDFWithParams + @see ImportAnFDF + @see AssembleFormAndImportFDF + @note This method is the same as ExportAsFDF(), with the exception + of the additional parameter submitBtnName. ExportAsFDFWithParams() + provides the same functionality with additional options. +*/ +PIPROC(CosDoc, ExportAsFDFEx, (PDDoc pdForm, CosObj rgIncExcFlds, ASBool bIncl, ASBool bEmpty, ASBool bMenu, ASBool bLoadFields, ASPathName fdfPath, const char* submitBtnName), pdForm, rgIncExcFlds, bIncl, bEmpty, bMenu, bLoadFields, fdfPath, submitBtnName) + +/** + Exports data from a form to a file in HTML format. + + @param pdForm The PDDoc for the form whose data is exported. + @param rgIncExcFlds If this parameter's value is CosNewNull(), then + all fields are exported, and bIncl is ignored. If it is + a CosArray, then the array elements must be names of fields. + The names may be of non-terminal fields, which is a fast + and easy way to cause all their children to be exported. + + @param bIncl If true, rgIncExcFlds is an array of the + fields to export. Otherwise, rgIncExcFlds is an array of + the fields to exclude from exporting. + @param bEmpty If true, all fields selected per the above + criteria are exported. If false, exclude fields that have + no value. + @param Hfile The file to which the HTML data is written. + @param submitBtnName A NULL-terminated string containing + the name of the button used to submit. If the value passed + is not NULL, then include "...&submitBtnName=&..." as part + of the generated x-www-form-urlencoded output. +

Note that this type of output is the same one you get when an AcroForm + has an empty text field (that is, no Value), and parameter bEmpty is true.

+ @see ExportAsHtml + @see ImportAnFDF + @note This method is the same as ExportAsHtml(), with the + exception of the additional parameter submitBtnName. +*/ +PIPROC(void, ExportAsHtmlEx, (PDDoc pdForm, CosObj rgIncExcFlds, ASBool bIncl, ASBool bEmpty, ASFile Hfile, const char* submitBtnName), pdForm, rgIncExcFlds, bIncl, bEmpty,Hfile, submitBtnName) + +/** + Constructs an Acrobat form from templates and imports an + FDF file. + @param pdCurrForm The current form being viewed, if any, + at the time cdFDF is being imported. This parameter can + be NULL; if it is not NULL, then cdFDF can refer to templates + in the current form by omitting the F key in the TRef dictionary. + Even if the F key is not NULL, it can be a relative path + (as opposed to an absolute path), as long as pdCurrForm is not NULL. + @param cdFDF The FDF file being imported. + @param bAddToCurr If true (and pdCurrForm is not NULL), + then instead of creating a new form, the templates spawn + pages that are appended at the end of pdCurrForm (and the + function returns pdCurrForm). + @return The PDDoc for the newly-created form (or pdCurrForm, if + bAddToCurr is true). + @see ExportAsFDF + @see ExportAsFDFEx + @see ExportAsFDFWithParams + @see ImportAnFDF +*/ +PIPROC(PDDoc, AssembleFormAndImportFDF, (PDDoc pdCurrForm, CosDoc cdFDF, ASBool bAddToCurr), pdCurrForm, cdFDF, bAddToCurr) + +/** + Exports form data to a CosDoc, which can be written to an + FDF file. See the PDF Reference for a description of this + format. + @param params An ExportAsFDFParamsRec structure. + @return The FDF CosDoc containing the exported data. + @exception gAFpdErrExportFdf is raised if field data cannot be exported. The viewer may raise other exceptions. + @see ExportAsFDF + @see ExportAsFDFEx + @see ImportAnFDF + @see AssembleFormAndImportFDF + @note Call CosDocSaveToFile() to create an FDF file from this CosDoc. +*/ +PIPROC(CosDoc, ExportAsFDFWithParams, (ExportAsFDFParams params),params) + +/** + Creates an XObject form from a PDF page. A form XObject + is a content stream that can be treated as a single graphics + object. Use this method for importing PDF graphics into + documents. + @param cd The CosDoc in which the XObject will be created. + @param pdp The PDPage from which to create the XObject. + @return A Cos object pointing to the XObject on the PDF page. +*/ +PIPROC(CosObj, AFPDFormFromPage, (CosDoc cd, PDPage pdp), cd, pdp) + +/* AFLayoutNew has been revved */ +NOPROC(AFLayoutNewOBSOLETE) + +/** + Frees the layout context. + @param vlayout The layout of the annotation to remove. + @see AFLayoutNew + @see AFLayoutCreateStream +*/ +PIPROC(void, AFLayoutDelete, (void* vlayout), vlayout) + +/* AFLayoutCreateStream has been revved */ +NOPROC(AFLayoutCreateStreamOBSOLETE) + +/** + Draws a border into the layout context. + @param vlayout The layout of the annotation. Use AFLayoutNew() + to create a new layout before calling this method. + @param border A pointer to a structure containing information + about the appearance a border. + @param pdcvBrdr A PDColorValue structure representing + the color of the annotations border. + @param pdcvBg A PDColorValue structure representing the + color of the annotations background. + @param bDown A boolean value specifying whether the background + should be drawn as it is drawn in forms while being pressed + (clicked by the mouse). If true, it is drawn as if it is + a field that is being pressed. + @see AFLayoutNew +*/ +PIPROC(void, AFLayoutBorder, (void* vlayout, AFPDWidgetBorder border, PDColorValue pdcvBrdr, PDColorValue pdcvBg,ASBool bDown), vlayout, border, pdcvBrdr, pdcvBg,bDown) + +/** + Sets the text layout for the annotation. + +

It raises an exception if the field is a radio box or button.

+ + @param vlayout The layout of the annotation. + @param bMultline If true, the text can use multiple lines + in a text field. Otherwise, the text is a single line. + @param bWrap If true, the text will wrap. + @param border The border appearance that defines the width + and line style of a border. The border of the annotation + should be the same as in your call to AFLayoutBorder(). + @param ta A pointer to a structure containing font, point + size, and color information. You should initialize the structure + with the SetDefaultTextAppearanceP macro which defaults + to Helvetica. + @param cBytes The text string for the layout. + + @see AFLayoutNew + @see AFLayoutBorder + @note Before calling this method, you should call AFLayoutNew() + to create a new layout, as well as AFLayoutBorder(). +*/ +PIPROC(void, AFLayoutText, (void* vlayout, ASBool bMultline, ASBool bWrap, AFPDWidgetBorder border, TextAppearanceP ta, char* cBytes), vlayout, bMultline, bWrap, border, ta, cBytes) + +/** Deprecated as of Acrobat 8.0. */ +PIPROC(void, AFPDFieldValueChanged, (PDDoc pdd, PDField fldP), pdd, fldP) + + + +/** + Gets the rotation of the annotation. + @param pdan The annotation widget. + @return Returns an ASAtom object representing the annotation's rotation + with respect to the page. +*/ +PIPROC(PDRotate, AFPDWidgetGetRotation, (PDAnnot pdan), pdan) + +/** + This routine is deprecated: use AFPDFieldGetDefaultTextAppearanceEx() instead. + +

Gets the default text appearance of a field. Use this method + to get the font, size, color, and so on (values that were + set through the field properties dialog box).

+ @param fldP The PDField object for which to retrieve the + text appearance. + @param aP A pointer to a structure describing the text + appearance. It returns font, size, quadding, text color, and + so on up to and including the nameFont field in the text appearance structure. + The remaining fields will not be initialized. + @see AFPDWidgetSetAreaColors + @see AFPDFieldGetDefaultTextAppearanceEx +*/ + +PIPROC(void, AFPDFieldGetDefaultTextAppearance, (PDField fldP, TextAppearanceP aP), fldP, aP) + +/** + This routine is deprecated. Use AFPDFieldSetDefaultTextAppearanceEx() instead. + +

Sets the default text appearance of a field. Use this method + to set the font, size, color, and so on.

+ + @param fldP The PDField object for which to set the text + appearance. + @param aP A pointer to a structure describing the text + appearance to set. This routine will use the values up to + and including the nameFont field in the text appearance structure. + @see AFPDWidgetSetAreaColors + @see AFPDFieldSetDefaultTextAppearanceEx +*/ +PIPROC(void, AFPDFieldSetDefaultTextAppearance, (PDField fldP, TextAppearanceP aP), fldP, aP) + +/** + Gets the border of an annotation. + @param pdan The annotation. + @param pdwb (Filled by the method) A pointer to a structure + describing the form field appearance definitions for the + outside border of an annotation. + @return true if successful getting the border, false otherwise. + @see AFPDWidgetSetAreaColors +*/ +PIPROC(ASBool, AFPDWidgetGetBorder, (PDAnnot pdan, AFPDWidgetBorder pdwb), pdan, pdwb) + +/** + Sets the border of an annotation. + @param pdan The annotation whose change border appearance + will be set. + @param pdwb A pointer to a structure describing the form + field appearance definitions for the outside border of an + annotation. Possible border types are solid, dashed, beveled, + inset, and underline. + @see AFPDWidgetSetAreaColors +*/ +PIPROC(void, AFPDWidgetSetBorder, (PDAnnot pdan, AFPDWidgetBorder pdwb), pdan, pdwb) + +/** + Gets the border and background colors of an annotation. + + @param pdan The annotation. + @param borderP (Filled by the method) A pointer to a structure + representing the border color of the annotation. + @param bkgndP (Filled by the method) A pointer to a structure + representing the background color of the annotation. + @see AFPDWidgetSetAreaColors +*/ +PIPROC(void, AFPDWidgetGetAreaColors, (PDAnnot pdan, PDColorValue borderP, PDColorValue bkgndP), pdan, borderP, bkgndP) + +/** + Sets the border and background color of the annotation. + + @param pdan The annotation. + @param borderP A pointer to a structure representing the + border color of the annotation. + @param bkgndP A pointer to a structure representing the + background color of the annotation. + @see AFPDWidgetGetAreaColors +*/ +PIPROC(void, AFPDWidgetSetAreaColors, (PDAnnot pdan, PDColorValue borderP, PDColorValue bkgndP),pdan, borderP, bkgndP) + +/** + Opens the dialog box that allows the user to select a PDF + to use as the icon for a button. + @param cd The CosDoc that contains the appearance you + are trying to import. + @param coIcon If AFImportAppearance() is successful, coIcon + is a pointer to a CosObj that will contain the Cos representation + of the appearance. + @param avd The AVDoc that you want as the parent for the window. You can pass NULL if you do not have an AVDoc. + + @param cTitle The window title of the dialog box when + it appears. You can pass NULL if you want the title of the + dialog box to be the same as it is when brought up through the + field properties dialog. + @return true if appearance was imported properly, false otherwise. + +*/ +PIPROC(ASBool, AFImportAppearance, (CosDoc cd, CosObj *coIcon, AVDoc avd, char *cTitle), cd, coIcon, avd, cTitle) + + +/** + Sets the text layout for the annotation. + +

It raises an exception if the field is a radio box or button.

+ + @param vlayout The layout of the annotation. + @param bMultline If true, the text can use multiple lines + in a text field. Otherwise, the text is a single line. + @param bWrap If true, the text will wrap. + @param border The border appearance that defines the width + and line style of a border. The border of the annotation + should be the same as in your call to AFLayoutBorder(). + @param ta A pointer to a structure containing font, point + size, and color information. You should initialize the structure + with the SetDefaultTextAppearanceP macro which defaults + to Helvetica. + @param cBytes The text string for the layout. + @param fxMinFontSize The minimum font size, when using autosizing. + @param fxMaxFontSize The maximum font size, when using autosizing. + + @see AFLayoutNew + @see AFLayoutBorder + @note Before calling this method, you should call AFLayoutNew() + to create a new layout, as well as AFLayoutBorder(). + +*/ +PIPROC(void, AFLayoutTextEx, (void* vlayout, ASBool bMultline, ASBool bWrap, AFPDWidgetBorder border, TextAppearanceP ta, char* cBytes, ASFixed fxMinFontSize, ASFixed fxMaxFontSize), vlayout, bMultline, bWrap, border, ta, cBytes, fxMinFontSize, fxMaxFontSize) + +/** Deprecated as of Acrobat 8.0. */ +PIPROC(void, AFLayoutIconText, (void* vLayout, AFPDWidgetPosition nPosition, CosObj coIcon, AFPDWidgetBorder border, TextAppearanceP ta, char *cBytes), vLayout, nPosition, coIcon, border, ta, cBytes) + +/* Obsolete. */ +PIPROC(ASBool, AFGetScriptingContextEx, (ScriptingData data), data) + +/** + Executes an AcroForm JavaScript script. + @param pdd The PDDoc in which the script is to be executed. + + @param cScript A string containing the text of the script + to be executed. If it is Unicode, the string must begin with 0xFEFF + and end with 2 NULL bytes. If this is not the case, it is + assumed to be in the application's language encoding, as + returned by AVAppGetLanguageEncoding(). + @param pRetValue To get a return value from the execution + of the script, pass a non-NULL value for this parameter. + If, upon return, *pRetVal is non-NULL, the caller should dispose + of the string by calling ASFree(). If present, the value will + be in host encoding. + @return The JavaScript value of event.rc. This function pre-initializes + it to true; a script may set it to false if desired. + @note The script sets this value by + assigning it to event.value. See the Acrobat JavaScript + documentation for more information. +*/ +PIPROC(ASBool, AFExecuteThisScript, (PDDoc pdd, const char* cScript, char** pRetValue), pdd, cScript, pRetValue) + +/** + Creates a new layout context for annotations. Use PDAnnotGetRect() + to get the annotation's bounding box, then use this method + to define new layout context. + @param frBbox The bounding box of the area for text and + border data to flow into. + @param annotRotation The rotation of the annotation. + @param cd The CosDoc. + @return A new layout. + @see AFLayoutBorder + @see AFLayoutText + @see AFLayoutCreateStream +*/ +PIPROC(void*, AFLayoutNew, (ASFixedRectP frBbox, PDRotate annotRotation, CosDoc cd), frBbox, annotRotation, cd) + +/** + Creates a layout stream that can be used as an annotation + appearance. + @param vlayout The layout of the annotation. Use AFLayoutNew() + to create a new layout before calling this method. + @return A stream CosObj. + @see AFLayoutNew + @see AFLayoutDelete +*/ +PIPROC(CosObj, AFLayoutCreateStream, (void* vlayout), vlayout) + +/** Deprecated as of Acrobat 8.0. */ +PIPROC(ASBool, AFCalculateFields, (PDDoc pdd, ASCab asc), pdd, asc) + + +/** + Lays out the text and creates a Cos XObject with the content stream + for the text and required Resources. This API supports Unicode text. + If required, different fonts may be used for different characters in + the text. It has support for western scripts, Arabic, Hebrew, Thai, Vietnamese, + Chinese, Japanese, and Korean. Other scripts may be added in the future. + + @return A stream CosObj. If the operation fails, then CosNewNull() + is returned. + + @param cd The CosDoc. + @param frBbox The bounding box of the area for text and border data to flow into. + @param annotRotation The rotation of the annotation. + @param bWrap If true, the text will wrap. + @param border The border appearance that defines the width. + @param fxMinFontSize The minimum font size, when using autosizing. + @param fxMaxFontSize The maximum font size, when using autosizing and line style of a border. + @param textAttrs A pointer to structure containing font, point size, color information, alignment, and writing direction. + @param asText The text string for the layout. + +*/ +PIPROC(CosObj, AFDrawText, (CosDoc cd, ASFixedRectP frBbox, PDRotate annotRotation, ASBool bWrap, AFPDWidgetBorder border, AFTextAttributesP textAttrs, ASConstText asText, ASFixed fxMinFontSize, ASFixed fxMaxFontSize), cd, frBbox, annotRotation, bWrap, border, textAttrs, asText, fxMinFontSize, fxMaxFontSize) + +/** + Gets the default text appearance of a field. Use this method + to get the font, size, color, and other values that were + set through the field properties dialog box. + @param fldP The PDField object for which to retrieve the + text appearance. + @param aP A pointer to a structure describing the text + appearance. It returns font, size, alignment, text color, and + so on. + @param size The size in bytes of the structure referenced by aP. Fields in the + structure up to this size will be initialized. + @see AFPDWidgetSetAreaColors +*/ +PIPROC(void, AFPDFieldGetDefaultTextAppearanceEx, (PDField fldP, TextAppearanceP aP, size_t size),fldP, aP, size) + +/** + Sets the default text appearance of a field. Use this method + to set the font, size, color, and so on. + @param fldP The PDField object for which to set the text + appearance. + @param aP A pointer to a structure describing the text + appearance to set. + @param size The size in bytes of the structure referenced by aP. Fields in the + structure up to this size will be used. If there are additional fields after this + size, default values will be used. + @see AFPDWidgetSetAreaColors +*/ + +PIPROC(void, AFPDFieldSetDefaultTextAppearanceEx, (PDField fldP, TextAppearanceP aP, size_t size),fldP, aP, size) + +/** + Get the default size for a specific field type. This method + will get the new default value if the user changes it. + @param fieldType The ASAtom corresponding to the field type. + The string for the type can be converted to an ASAtom using + ASAtomFromString(). + @param asfp (Filled by the method) A pointer to a point whose + coordinates correspond to width and height of the field. +*/ +PIPROC(void, AFGetDefaultFieldSize, (ASAtom fieldType, ASFixedPoint *asfp), fieldType, asfp) + + + + + + + + -- cgit v1.2.3