Reformat comments in //public to use a consistent syntax

Consistently use // syntax.

Change-Id: I035f6485a38c12317b874960bf685242bcf512ee
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/120810
Reviewed-by: Thomas Sepez <tsepez@google.com>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/public/fpdf_catalog.h b/public/fpdf_catalog.h
index 1a48411..20725dc 100644
--- a/public/fpdf_catalog.h
+++ b/public/fpdf_catalog.h
@@ -12,18 +12,16 @@
 extern "C" {
 #endif  // __cplusplus
 
-/**
- * Experimental API.
- *
- * Determine if |document| represents a tagged PDF.
- *
- * For the definition of tagged PDF, See (see 10.7 "Tagged PDF" in PDF
- * Reference 1.7).
- *
- *   document - handle to a document.
- *
- * Returns |true| iff |document| is a tagged PDF.
- */
+// Experimental API.
+//
+// Determine if |document| represents a tagged PDF.
+//
+// For the definition of tagged PDF, See (see 10.7 "Tagged PDF" in PDF
+// Reference 1.7).
+//
+//   document - handle to a document.
+//
+// Returns |true| iff |document| is a tagged PDF.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
 FPDFCatalog_IsTagged(FPDF_DOCUMENT document);
 
diff --git a/public/fpdf_formfill.h b/public/fpdf_formfill.h
index 9e36853..2e710c8 100644
--- a/public/fpdf_formfill.h
+++ b/public/fpdf_formfill.h
@@ -50,89 +50,81 @@
 #endif
 
 typedef struct _IPDF_JsPlatform {
-  /*
-   * Version number of the interface. Currently must be 2.
-   */
+  // Version number of the interface. Currently must be 2.
   int version;
 
-  /* Version 1. */
+  // Version 1.
 
-  /*
-   * Method: app_alert
-   *       Pop up a dialog to show warning or hint.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself.
-   *       Msg         -   A string containing the message to be displayed.
-   *       Title       -   The title of the dialog.
-   *       Type        -   The type of button group, one of the
-   *                       JSPLATFORM_ALERT_BUTTON_* values above.
-   *       nIcon       -   The type of the icon, one of the
-   *                       JSPLATFORM_ALERT_ICON_* above.
-   * Return Value:
-   *       Option selected by user in dialogue, one of the
-   *       JSPLATFORM_ALERT_RETURN_* values above.
-   */
+  // Method: app_alert
+  //       Pop up a dialog to show warning or hint.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself.
+  //       Msg         -   A string containing the message to be displayed.
+  //       Title       -   The title of the dialog.
+  //       Type        -   The type of button group, one of the
+  //                       JSPLATFORM_ALERT_BUTTON_* values above.
+  //       nIcon       -   The type of the icon, one of the
+  //                       JSPLATFORM_ALERT_ICON_* above.
+  // Return Value:
+  //       Option selected by user in dialogue, one of the
+  //       JSPLATFORM_ALERT_RETURN_* values above.
   int (*app_alert)(struct _IPDF_JsPlatform* pThis,
                    FPDF_WIDESTRING Msg,
                    FPDF_WIDESTRING Title,
                    int Type,
                    int Icon);
 
-  /*
-   * Method: app_beep
-   *       Causes the system to play a sound.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself
-   *       nType       -   The sound type, see JSPLATFORM_BEEP_TYPE_*
-   *                       above.
-   * Return Value:
-   *       None
-   */
+  // Method: app_beep
+  //       Causes the system to play a sound.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself
+  //       nType       -   The sound type, see JSPLATFORM_BEEP_TYPE_*
+  //                       above.
+  // Return Value:
+  //       None
   void (*app_beep)(struct _IPDF_JsPlatform* pThis, int nType);
 
-  /*
-   * Method: app_response
-   *       Displays a dialog box containing a question and an entry field for
-   *       the user to reply to the question.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself
-   *       Question    -   The question to be posed to the user.
-   *       Title       -   The title of the dialog box.
-   *       Default     -   A default value for the answer to the question. If
-   *                       not specified, no default value is presented.
-   *       cLabel      -   A short string to appear in front of and on the
-   *                       same line as the edit text field.
-   *       bPassword   -   If true, indicates that the user's response should
-   *                       be shown as asterisks (*) or bullets (?) to mask
-   *                       the response, which might be sensitive information.
-   *       response    -   A string buffer allocated by PDFium, to receive the
-   *                       user's response.
-   *       length      -   The length of the buffer in bytes. Currently, it is
-   *                       always 2048.
-   * Return Value:
-   *       Number of bytes the complete user input would actually require, not
-   *       including trailing zeros, regardless of the value of the length
-   *       parameter or the presence of the response buffer.
-   * Comments:
-   *       No matter on what platform, the response buffer should be always
-   *       written using UTF-16LE encoding. If a response buffer is
-   *       present and the size of the user input exceeds the capacity of the
-   *       buffer as specified by the length parameter, only the
-   *       first "length" bytes of the user input are to be written to the
-   *       buffer.
-   */
+  // Method: app_response
+  //       Displays a dialog box containing a question and an entry field for
+  //       the user to reply to the question.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself
+  //       Question    -   The question to be posed to the user.
+  //       Title       -   The title of the dialog box.
+  //       Default     -   A default value for the answer to the question. If
+  //                       not specified, no default value is presented.
+  //       cLabel      -   A short string to appear in front of and on the
+  //                       same line as the edit text field.
+  //       bPassword   -   If true, indicates that the user's response should
+  //                       be shown as asterisks (*) or bullets (?) to mask
+  //                       the response, which might be sensitive information.
+  //       response    -   A string buffer allocated by PDFium, to receive the
+  //                       user's response.
+  //       length      -   The length of the buffer in bytes. Currently, it is
+  //                       always 2048.
+  // Return Value:
+  //       Number of bytes the complete user input would actually require, not
+  //       including trailing zeros, regardless of the value of the length
+  //       parameter or the presence of the response buffer.
+  // Comments:
+  //       No matter on what platform, the response buffer should be always
+  //       written using UTF-16LE encoding. If a response buffer is
+  //       present and the size of the user input exceeds the capacity of the
+  //       buffer as specified by the length parameter, only the
+  //       first "length" bytes of the user input are to be written to the
+  //       buffer.
   int (*app_response)(struct _IPDF_JsPlatform* pThis,
                       FPDF_WIDESTRING Question,
                       FPDF_WIDESTRING Title,
@@ -142,65 +134,61 @@
                       void* response,
                       int length);
 
-  /*
-   * Method: Doc_getFilePath
-   *       Get the file path of the current document.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself
-   *       filePath    -   The string buffer to receive the file path. Can
-   *                       be NULL.
-   *       length      -   The length of the buffer, number of bytes. Can
-   *                       be 0.
-   * Return Value:
-   *       Number of bytes the filePath consumes, including trailing zeros.
-   * Comments:
-   *       The filePath should always be provided in the local encoding.
-   *       The return value always indicated number of bytes required for
-   *       the buffer, even when there is no buffer specified, or the buffer
-   *       size is less than required. In this case, the buffer will not
-   *       be modified.
-   */
+  // Method: Doc_getFilePath
+  //       Get the file path of the current document.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself
+  //       filePath    -   The string buffer to receive the file path. Can
+  //                       be NULL.
+  //       length      -   The length of the buffer, number of bytes. Can
+  //                       be 0.
+  // Return Value:
+  //       Number of bytes the filePath consumes, including trailing zeros.
+  // Comments:
+  //       The filePath should always be provided in the local encoding.
+  //       The return value always indicated number of bytes required for
+  //       the buffer, even when there is no buffer specified, or the buffer
+  //       size is less than required. In this case, the buffer will not
+  //       be modified.
   int (*Doc_getFilePath)(struct _IPDF_JsPlatform* pThis,
                          void* filePath,
                          int length);
 
-  /*
-   * Method: Doc_mail
-   *       Mails the data buffer as an attachment to all recipients, with or
-   *       without user interaction.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself
-   *       mailData    -   Pointer to the data buffer to be sent. Can be NULL.
-   *       length      -   The size,in bytes, of the buffer pointed by
-   *                       mailData parameter. Can be 0.
-   *       bUI         -   If true, the rest of the parameters are used in a
-   *                       compose-new-message window that is displayed to the
-   *                       user. If false, the cTo parameter is required and
-   *                       all others are optional.
-   *       To          -   A semicolon-delimited list of recipients for the
-   *                       message.
-   *       Subject     -   The subject of the message. The length limit is
-   *                       64 KB.
-   *       CC          -   A semicolon-delimited list of CC recipients for
-   *                       the message.
-   *       BCC         -   A semicolon-delimited list of BCC recipients for
-   *                       the message.
-   *       Msg         -   The content of the message. The length limit is
-   *                       64 KB.
-   * Return Value:
-   *       None.
-   * Comments:
-   *       If the parameter mailData is NULL or length is 0, the current
-   *       document will be mailed as an attachment to all recipients.
-   */
+  // Method: Doc_mail
+  //       Mails the data buffer as an attachment to all recipients, with or
+  //       without user interaction.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself
+  //       mailData    -   Pointer to the data buffer to be sent. Can be NULL.
+  //       length      -   The size,in bytes, of the buffer pointed by
+  //                       mailData parameter. Can be 0.
+  //       bUI         -   If true, the rest of the parameters are used in a
+  //                       compose-new-message window that is displayed to the
+  //                       user. If false, the cTo parameter is required and
+  //                       all others are optional.
+  //       To          -   A semicolon-delimited list of recipients for the
+  //                       message.
+  //       Subject     -   The subject of the message. The length limit is
+  //                       64 KB.
+  //       CC          -   A semicolon-delimited list of CC recipients for
+  //                       the message.
+  //       BCC         -   A semicolon-delimited list of BCC recipients for
+  //                       the message.
+  //       Msg         -   The content of the message. The length limit is
+  //                       64 KB.
+  // Return Value:
+  //       None.
+  // Comments:
+  //       If the parameter mailData is NULL or length is 0, the current
+  //       document will be mailed as an attachment to all recipients.
   void (*Doc_mail)(struct _IPDF_JsPlatform* pThis,
                    void* mailData,
                    int length,
@@ -211,33 +199,31 @@
                    FPDF_WIDESTRING BCC,
                    FPDF_WIDESTRING Msg);
 
-  /*
-   * Method: Doc_print
-   *       Prints all or a specific number of pages of the document.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis         -   Pointer to the interface structure itself.
-   *       bUI           -   If true, will cause a UI to be presented to the
-   *                         user to obtain printing information and confirm
-   *                         the action.
-   *       nStart        -   A 0-based index that defines the start of an
-   *                         inclusive range of pages.
-   *       nEnd          -   A 0-based index that defines the end of an
-   *                         inclusive page range.
-   *       bSilent       -   If true, suppresses the cancel dialog box while
-   *                         the document is printing. The default is false.
-   *       bShrinkToFit  -   If true, the page is shrunk (if necessary) to
-   *                         fit within the imageable area of the printed page.
-   *       bPrintAsImage -   If true, print pages as an image.
-   *       bReverse      -   If true, print from nEnd to nStart.
-   *       bAnnotations  -   If true (the default), annotations are
-   *                         printed.
-   * Return Value:
-   *       None.
-   */
+  // Method: Doc_print
+  //       Prints all or a specific number of pages of the document.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis         -   Pointer to the interface structure itself.
+  //       bUI           -   If true, will cause a UI to be presented to the
+  //                         user to obtain printing information and confirm
+  //                         the action.
+  //       nStart        -   A 0-based index that defines the start of an
+  //                         inclusive range of pages.
+  //       nEnd          -   A 0-based index that defines the end of an
+  //                         inclusive page range.
+  //       bSilent       -   If true, suppresses the cancel dialog box while
+  //                         the document is printing. The default is false.
+  //       bShrinkToFit  -   If true, the page is shrunk (if necessary) to
+  //                         fit within the imageable area of the printed page.
+  //       bPrintAsImage -   If true, print pages as an image.
+  //       bReverse      -   If true, print from nEnd to nStart.
+  //       bAnnotations  -   If true (the default), annotations are
+  //                         printed.
+  // Return Value:
+  //       None.
   void (*Doc_print)(struct _IPDF_JsPlatform* pThis,
                     FPDF_BOOL bUI,
                     int nStart,
@@ -248,78 +234,69 @@
                     FPDF_BOOL bReverse,
                     FPDF_BOOL bAnnotations);
 
-  /*
-   * Method: Doc_submitForm
-   *       Send the form data to a specified URL.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself
-   *       formData    -   Pointer to the data buffer to be sent.
-   *       length      -   The size,in bytes, of the buffer pointed by
-   *                       formData parameter.
-   *       URL         -   The URL to send to.
-   * Return Value:
-   *       None.
-   */
+  // Method: Doc_submitForm
+  //       Send the form data to a specified URL.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself
+  //       formData    -   Pointer to the data buffer to be sent.
+  //       length      -   The size,in bytes, of the buffer pointed by
+  //                       formData parameter.
+  //       URL         -   The URL to send to.
+  // Return Value:
+  //       None.
   void (*Doc_submitForm)(struct _IPDF_JsPlatform* pThis,
                          void* formData,
                          int length,
                          FPDF_WIDESTRING URL);
 
-  /*
-   * Method: Doc_gotoPage
-   *       Jump to a specified page.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself
-   *       nPageNum    -   The specified page number, zero for the first page.
-   * Return Value:
-   *       None.
-   *
-   */
+  // Method: Doc_gotoPage
+  //       Jump to a specified page.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself
+  //       nPageNum    -   The specified page number, zero for the first page.
+  // Return Value:
+  //       None.
   void (*Doc_gotoPage)(struct _IPDF_JsPlatform* pThis, int nPageNum);
 
-  /*
-   * Method: Field_browse
-   *       Show a file selection dialog, and return the selected file path.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself.
-   *       filePath    -   Pointer to the data buffer to receive the file
-   *                       path. Can be NULL.
-   *       length      -   The length of the buffer, in bytes. Can be 0.
-   * Return Value:
-   *       Number of bytes the filePath consumes, including trailing zeros.
-   * Comments:
-   *       The filePath shoule always be provided in local encoding.
-   */
+  // Method: Field_browse
+  //       Show a file selection dialog, and return the selected file path.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself.
+  //       filePath    -   Pointer to the data buffer to receive the file
+  //                       path. Can be NULL.
+  //       length      -   The length of the buffer, in bytes. Can be 0.
+  // Return Value:
+  //       Number of bytes the filePath consumes, including trailing zeros.
+  // Comments:
+  //       The filePath shoule always be provided in local encoding.
   int (*Field_browse)(struct _IPDF_JsPlatform* pThis,
                       void* filePath,
                       int length);
 
-  /*
-   * Pointer for embedder-specific data. Unused by PDFium, and despite
-   * its name, can be any data the embedder desires, though traditionally
-   * a FPDF_FORMFILLINFO interface.
-   */
+  // Pointer for embedder-specific data. Unused by PDFium, and despite
+  // its name, can be any data the embedder desires, though traditionally
+  // a FPDF_FORMFILLINFO interface.
   void* m_pFormfillinfo;
 
-  /* Version 2. */
+  // Version 2.
 
-  void* m_isolate;               /* Unused in v3, retain for compatibility. */
-  unsigned int m_v8EmbedderSlot; /* Unused in v3, retain for compatibility. */
+  void* m_isolate;               // Unused in v3, retain for compatibility.
+  unsigned int m_v8EmbedderSlot; // Unused in v3, retain for compatibility.
 
-  /* Version 3. */
-  /* Version 3 moves m_Isolate and m_v8EmbedderSlot to FPDF_LIBRARY_CONFIG. */
+  // Version 3.
+  // Version 3 moves m_Isolate and m_v8EmbedderSlot to FPDF_LIBRARY_CONFIG.
 } IPDF_JSPLATFORM;
 
 // Flags for Cursor type
@@ -330,28 +307,24 @@
 #define FXCT_HBEAM 4
 #define FXCT_HAND 5
 
-/*
- * Function signature for the callback function passed to the FFI_SetTimer
- * method.
- * Parameters:
- *          idEvent     -   Identifier of the timer.
- * Return value:
- *          None.
- */
+// Function signature for the callback function passed to the FFI_SetTimer
+// method.
+// Parameters:
+//          idEvent     -   Identifier of the timer.
+// Return value:
+//          None.
 typedef void (*TimerCallback)(int idEvent);
 
-/*
- * Declares of a struct type to the local system time.
- */
+// Declares of a struct type to the local system time.
 typedef struct _FPDF_SYSTEMTIME {
-  unsigned short wYear;         /* years since 1900 */
-  unsigned short wMonth;        /* months since January - [0,11] */
-  unsigned short wDayOfWeek;    /* days since Sunday - [0,6] */
-  unsigned short wDay;          /* day of the month - [1,31] */
-  unsigned short wHour;         /* hours since midnight - [0,23] */
-  unsigned short wMinute;       /* minutes after the hour - [0,59] */
-  unsigned short wSecond;       /* seconds after the minute - [0,59] */
-  unsigned short wMilliseconds; /* milliseconds after the second - [0,999] */
+  unsigned short wYear;         // years since 1900
+  unsigned short wMonth;        // months since January - [0,11]
+  unsigned short wDayOfWeek;    // days since Sunday - [0,6]
+  unsigned short wDay;          // day of the month - [1,31]
+  unsigned short wHour;         // hours since midnight - [0,23]
+  unsigned short wMinute;       // minutes after the hour - [0,59]
+  unsigned short wSecond;       // seconds after the minute - [0,59]
+  unsigned short wMilliseconds; // milliseconds after the second - [0,999]
 } FPDF_SYSTEMTIME;
 
 #ifdef PDF_ENABLE_XFA
@@ -375,64 +348,59 @@
 #endif  // PDF_ENABLE_XFA
 
 typedef struct _FPDF_FORMFILLINFO {
-  /*
-   * Version number of the interface.
-   * Version 1 contains stable interfaces. Version 2 has additional
-   * experimental interfaces.
-   * When PDFium is built without the XFA module, version can be 1 or 2.
-   * With version 1, only stable interfaces are called. With version 2,
-   * additional experimental interfaces are also called.
-   * When PDFium is built with the XFA module, version must be 2.
-   * All the XFA related interfaces are experimental. If PDFium is built with
-   * the XFA module and version 1 then none of the XFA related interfaces
-   * would be called. When PDFium is built with XFA module then the version
-   * must be 2.
-   */
+  // Version number of the interface.
+  // Version 1 contains stable interfaces. Version 2 has additional
+  // experimental interfaces.
+  // When PDFium is built without the XFA module, version can be 1 or 2.
+  // With version 1, only stable interfaces are called. With version 2,
+  // additional experimental interfaces are also called.
+  // When PDFium is built with the XFA module, version must be 2.
+  // All the XFA related interfaces are experimental. If PDFium is built with
+  // the XFA module and version 1 then none of the XFA related interfaces
+  // would be called. When PDFium is built with XFA module then the version
+  // must be 2.
   int version;
 
-  /* Version 1. */
-  /*
-   * Method: Release
-   *       Give the implementation a chance to release any resources after the
-   *       interface is no longer used.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       No
-   * Comments:
-   *       Called by PDFium during the final cleanup process.
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself
-   * Return Value:
-   *       None
-   */
+  // Version 1.
+
+  // Method: Release
+  //       Give the implementation a chance to release any resources after the
+  //       interface is no longer used.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       No
+  // Comments:
+  //       Called by PDFium during the final cleanup process.
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself
+  // Return Value:
+  //       None
   void (*Release)(struct _FPDF_FORMFILLINFO* pThis);
 
-  /*
-   * Method: FFI_Invalidate
-   *       Invalidate the client area within the specified rectangle.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself.
-   *       page        -   Handle to the page. Returned by FPDF_LoadPage().
-   *       left        -   Left position of the client area in PDF page
-   *                       coordinates.
-   *       top         -   Top position of the client area in PDF page
-   *                       coordinates.
-   *       right       -   Right position of the client area in PDF page
-   *                       coordinates.
-   *       bottom      -   Bottom position of the client area in PDF page
-   *                       coordinates.
-   * Return Value:
-   *       None.
-   * Comments:
-   *       All positions are measured in PDF "user space".
-   *       Implementation should call FPDF_RenderPageBitmap() for repainting
-   *       the specified page area.
-   */
+  // Method: FFI_Invalidate
+  //       Invalidate the client area within the specified rectangle.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself.
+  //       page        -   Handle to the page. Returned by FPDF_LoadPage().
+  //       left        -   Left position of the client area in PDF page
+  //                       coordinates.
+  //       top         -   Top position of the client area in PDF page
+  //                       coordinates.
+  //       right       -   Right position of the client area in PDF page
+  //                       coordinates.
+  //       bottom      -   Bottom position of the client area in PDF page
+  //                       coordinates.
+  // Return Value:
+  //       None.
+  // Comments:
+  //       All positions are measured in PDF "user space".
+  //       Implementation should call FPDF_RenderPageBitmap() for repainting
+  //       the specified page area.
   void (*FFI_Invalidate)(struct _FPDF_FORMFILLINFO* pThis,
                          FPDF_PAGE page,
                          double left,
@@ -440,34 +408,32 @@
                          double right,
                          double bottom);
 
-  /*
-   * Method: FFI_OutputSelectedRect
-   *       When the user selects text in form fields with the mouse, this
-   *       callback function will be invoked with the selected areas.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       No
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself.
-   *       page        -   Handle to the page. Returned by FPDF_LoadPage()/
-   *       left        -   Left position of the client area in PDF page
-   *                       coordinates.
-   *       top         -   Top position of the client area in PDF page
-   *                       coordinates.
-   *       right       -   Right position of the client area in PDF page
-   *                       coordinates.
-   *       bottom      -   Bottom position of the client area in PDF page
-   *                       coordinates.
-   * Return Value:
-   *       None.
-   * Comments:
-   *       This callback function is useful for implementing special text
-   *       selection effects. An implementation should first record the
-   *       returned rectangles, then draw them one by one during the next
-   *       painting period. Lastly, it should remove all the recorded
-   *       rectangles when finished painting.
-   */
+  // Method: FFI_OutputSelectedRect
+  //       When the user selects text in form fields with the mouse, this
+  //       callback function will be invoked with the selected areas.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       No
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself.
+  //       page        -   Handle to the page. Returned by FPDF_LoadPage()/
+  //       left        -   Left position of the client area in PDF page
+  //                       coordinates.
+  //       top         -   Top position of the client area in PDF page
+  //                       coordinates.
+  //       right       -   Right position of the client area in PDF page
+  //                       coordinates.
+  //       bottom      -   Bottom position of the client area in PDF page
+  //                       coordinates.
+  // Return Value:
+  //       None.
+  // Comments:
+  //       This callback function is useful for implementing special text
+  //       selection effects. An implementation should first record the
+  //       returned rectangles, then draw them one by one during the next
+  //       painting period. Lastly, it should remove all the recorded
+  //       rectangles when finished painting.
   void (*FFI_OutputSelectedRect)(struct _FPDF_FORMFILLINFO* pThis,
                                  FPDF_PAGE page,
                                  double left,
@@ -475,295 +441,266 @@
                                  double right,
                                  double bottom);
 
-  /*
-   * Method: FFI_SetCursor
-   *       Set the Cursor shape.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself.
-   *       nCursorType -   Cursor type, see Flags for Cursor type for details.
-   * Return value:
-   *       None.
-   */
+  // Method: FFI_SetCursor
+  //       Set the Cursor shape.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself.
+  //       nCursorType -   Cursor type, see Flags for Cursor type for details.
+  // Return value:
+  //       None.
   void (*FFI_SetCursor)(struct _FPDF_FORMFILLINFO* pThis, int nCursorType);
 
-  /*
-   * Method: FFI_SetTimer
-   *       This method installs a system timer. An interval value is specified,
-   *       and every time that interval elapses, the system must call into the
-   *       callback function with the timer ID as returned by this function.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself.
-   *       uElapse     -   Specifies the time-out value, in milliseconds.
-   *       lpTimerFunc -   A pointer to the callback function-TimerCallback.
-   * Return value:
-   *       The timer identifier of the new timer if the function is successful.
-   *       An application passes this value to the FFI_KillTimer method to kill
-   *       the timer. Nonzero if it is successful; otherwise, it is zero.
-   */
+  // Method: FFI_SetTimer
+  //       This method installs a system timer. An interval value is specified,
+  //       and every time that interval elapses, the system must call into the
+  //       callback function with the timer ID as returned by this function.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself.
+  //       uElapse     -   Specifies the time-out value, in milliseconds.
+  //       lpTimerFunc -   A pointer to the callback function-TimerCallback.
+  // Return value:
+  //       The timer identifier of the new timer if the function is successful.
+  //       An application passes this value to the FFI_KillTimer method to kill
+  //       the timer. Nonzero if it is successful; otherwise, it is zero.
   int (*FFI_SetTimer)(struct _FPDF_FORMFILLINFO* pThis,
                       int uElapse,
                       TimerCallback lpTimerFunc);
 
-  /*
-   * Method: FFI_KillTimer
-   *       This method uninstalls a system timer, as set by an earlier call to
-   *       FFI_SetTimer.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself.
-   *       nTimerID    -   The timer ID returned by FFI_SetTimer function.
-   * Return value:
-   *       None.
-   */
+  // Method: FFI_KillTimer
+  //       This method uninstalls a system timer, as set by an earlier call to
+  //       FFI_SetTimer.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself.
+  //       nTimerID    -   The timer ID returned by FFI_SetTimer function.
+  // Return value:
+  //       None.
   void (*FFI_KillTimer)(struct _FPDF_FORMFILLINFO* pThis, int nTimerID);
 
-  /*
-   * Method: FFI_GetLocalTime
-   *       This method receives the current local time on the system.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself.
-   * Return value:
-   *       The local time. See FPDF_SYSTEMTIME above for details.
-   * Note: Unused.
-   */
+  // Method: FFI_GetLocalTime
+  //       This method receives the current local time on the system.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself.
+  // Return value:
+  //       The local time. See FPDF_SYSTEMTIME above for details.
+  // Note: Unused.
   FPDF_SYSTEMTIME (*FFI_GetLocalTime)(struct _FPDF_FORMFILLINFO* pThis);
 
-  /*
-   * Method: FFI_OnChange
-   *       This method will be invoked to notify the implementation when the
-   *       value of any FormField on the document had been changed.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       no
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself.
-   * Return value:
-   *       None.
-   */
+  // Method: FFI_OnChange
+  //       This method will be invoked to notify the implementation when the
+  //       value of any FormField on the document had been changed.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       no
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself.
+  // Return value:
+  //       None.
   void (*FFI_OnChange)(struct _FPDF_FORMFILLINFO* pThis);
 
-  /*
-   * Method: FFI_GetPage
-   *       This method receives the page handle associated with a specified
-   *       page index.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself.
-   *       document    -   Handle to document. Returned by FPDF_LoadDocument().
-   *       nPageIndex  -   Index number of the page. 0 for the first page.
-   * Return value:
-   *       Handle to the page, as previously returned to the implementation by
-   *       FPDF_LoadPage().
-   * Comments:
-   *       The implementation is expected to keep track of the page handles it
-   *       receives from PDFium, and their mappings to page numbers. In some
-   *       cases, the document-level JavaScript action may refer to a page
-   *       which hadn't been loaded yet. To successfully run the Javascript
-   *       action, the implementation needs to load the page.
-   */
+  // Method: FFI_GetPage
+  //       This method receives the page handle associated with a specified
+  //       page index.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself.
+  //       document    -   Handle to document. Returned by FPDF_LoadDocument().
+  //       nPageIndex  -   Index number of the page. 0 for the first page.
+  // Return value:
+  //       Handle to the page, as previously returned to the implementation by
+  //       FPDF_LoadPage().
+  // Comments:
+  //       The implementation is expected to keep track of the page handles it
+  //       receives from PDFium, and their mappings to page numbers. In some
+  //       cases, the document-level JavaScript action may refer to a page
+  //       which hadn't been loaded yet. To successfully run the Javascript
+  //       action, the implementation needs to load the page.
   FPDF_PAGE (*FFI_GetPage)(struct _FPDF_FORMFILLINFO* pThis,
                            FPDF_DOCUMENT document,
                            int nPageIndex);
 
-  /*
-   * Method: FFI_GetCurrentPage
-   *       This method receives the handle to the current page.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       Yes when V8 support is present, otherwise unused.
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself.
-   *       document    -   Handle to document. Returned by FPDF_LoadDocument().
-   * Return value:
-   *       Handle to the page. Returned by FPDF_LoadPage().
-   * Comments:
-   *       PDFium doesn't keep keep track of the "current page" (e.g. the one
-   *       that is most visible on screen), so it must ask the embedder for
-   *       this information.
-   */
+  // Method: FFI_GetCurrentPage
+  //       This method receives the handle to the current page.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       Yes when V8 support is present, otherwise unused.
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself.
+  //       document    -   Handle to document. Returned by FPDF_LoadDocument().
+  // Return value:
+  //       Handle to the page. Returned by FPDF_LoadPage().
+  // Comments:
+  //       PDFium doesn't keep keep track of the "current page" (e.g. the one
+  //       that is most visible on screen), so it must ask the embedder for
+  //       this information.
   FPDF_PAGE (*FFI_GetCurrentPage)(struct _FPDF_FORMFILLINFO* pThis,
                                   FPDF_DOCUMENT document);
 
-  /*
-   * Method: FFI_GetRotation
-   *       This method receives currently rotation of the page view.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis       -   Pointer to the interface structure itself.
-   *       page        -   Handle to page, as returned by FPDF_LoadPage().
-   * Return value:
-   *       A number to indicate the page rotation in 90 degree increments
-   *       in a clockwise direction:
-   *         0 - 0 degrees
-   *         1 - 90 degrees
-   *         2 - 180 degrees
-   *         3 - 270 degrees
-   * Note: Unused.
-   */
+  // Method: FFI_GetRotation
+  //       This method receives currently rotation of the page view.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis       -   Pointer to the interface structure itself.
+  //       page        -   Handle to page, as returned by FPDF_LoadPage().
+  // Return value:
+  //       A number to indicate the page rotation in 90 degree increments
+  //       in a clockwise direction:
+  //         0 - 0 degrees
+  //         1 - 90 degrees
+  //         2 - 180 degrees
+  //         3 - 270 degrees
+  // Note: Unused.
   int (*FFI_GetRotation)(struct _FPDF_FORMFILLINFO* pThis, FPDF_PAGE page);
 
-  /*
-   * Method: FFI_ExecuteNamedAction
-   *       This method will execute a named action.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       yes
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       namedAction     -   A byte string which indicates the named action,
-   *                           terminated by 0.
-   * Return value:
-   *       None.
-   * Comments:
-   *       See ISO 32000-1:2008, section 12.6.4.11 for descriptions of the
-   *       standard named actions, but note that a document may supply any
-   *       name of its choosing.
-   */
+  // Method: FFI_ExecuteNamedAction
+  //       This method will execute a named action.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       yes
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       namedAction     -   A byte string which indicates the named action,
+  //                           terminated by 0.
+  // Return value:
+  //       None.
+  // Comments:
+  //       See ISO 32000-1:2008, section 12.6.4.11 for descriptions of the
+  //       standard named actions, but note that a document may supply any
+  //       name of its choosing.
   void (*FFI_ExecuteNamedAction)(struct _FPDF_FORMFILLINFO* pThis,
                                  FPDF_BYTESTRING namedAction);
-  /*
-   * Method: FFI_SetTextFieldFocus
-   *       Called when a text field is getting or losing focus.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       no
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       value           -   The string value of the form field, in UTF-16LE
-   *                           format.
-   *       valueLen        -   The length of the string value. This is the
-   *                           number of characters, not bytes.
-   *       is_focus        -   True if the form field is getting focus, false
-   *                           if the form field is losing focus.
-   * Return value:
-   *       None.
-   * Comments:
-   *       Only supports text fields and combobox fields.
-   */
+  // Method: FFI_SetTextFieldFocus
+  //       Called when a text field is getting or losing focus.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       no
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       value           -   The string value of the form field, in UTF-16LE
+  //                           format.
+  //       valueLen        -   The length of the string value. This is the
+  //                           number of characters, not bytes.
+  //       is_focus        -   True if the form field is getting focus, false
+  //                           if the form field is losing focus.
+  // Return value:
+  //       None.
+  // Comments:
+  //       Only supports text fields and combobox fields.
   void (*FFI_SetTextFieldFocus)(struct _FPDF_FORMFILLINFO* pThis,
                                 FPDF_WIDESTRING value,
                                 FPDF_DWORD valueLen,
                                 FPDF_BOOL is_focus);
 
-  /*
-   * Method: FFI_DoURIAction
-   *       Ask the implementation to navigate to a uniform resource identifier.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       No
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       bsURI           -   A byte string which indicates the uniform
-   *                           resource identifier, terminated by 0.
-   * Return value:
-   *       None.
-   * Comments:
-   *       If the embedder is version 2 or higher and have implementation for
-   *       FFI_DoURIActionWithKeyboardModifier, then
-   *       FFI_DoURIActionWithKeyboardModifier takes precedence over
-   *       FFI_DoURIAction.
-   *       See the URI actions description of <<PDF Reference, version 1.7>>
-   *       for more details.
-   */
+  // Method: FFI_DoURIAction
+  //       Ask the implementation to navigate to a uniform resource identifier.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       No
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       bsURI           -   A byte string which indicates the uniform
+  //                           resource identifier, terminated by 0.
+  // Return value:
+  //       None.
+  // Comments:
+  //       If the embedder is version 2 or higher and have implementation for
+  //       FFI_DoURIActionWithKeyboardModifier, then
+  //       FFI_DoURIActionWithKeyboardModifier takes precedence over
+  //       FFI_DoURIAction.
+  //       See the URI actions description of <<PDF Reference, version 1.7>>
+  //       for more details.
   void (*FFI_DoURIAction)(struct _FPDF_FORMFILLINFO* pThis,
                           FPDF_BYTESTRING bsURI);
 
-  /*
-   * Method: FFI_DoGoToAction
-   *       This action changes the view to a specified destination.
-   * Interface Version:
-   *       1
-   * Implementation Required:
-   *       No
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       nPageIndex      -   The index of the PDF page.
-   *       zoomMode        -   The zoom mode for viewing page. See below.
-   *       fPosArray       -   The float array which carries the position info.
-   *       sizeofArray     -   The size of float array.
-   * PDFZoom values:
-   *         - XYZ = 1
-   *         - FITPAGE = 2
-   *         - FITHORZ = 3
-   *         - FITVERT = 4
-   *         - FITRECT = 5
-   *         - FITBBOX = 6
-   *         - FITBHORZ = 7
-   *         - FITBVERT = 8
-   * Return value:
-   *       None.
-   * Comments:
-   *       See the Destinations description of <<PDF Reference, version 1.7>>
-   *       in 8.2.1 for more details.
-   */
+  // Method: FFI_DoGoToAction
+  //       This action changes the view to a specified destination.
+  // Interface Version:
+  //       1
+  // Implementation Required:
+  //       No
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       nPageIndex      -   The index of the PDF page.
+  //       zoomMode        -   The zoom mode for viewing page. See below.
+  //       fPosArray       -   The float array which carries the position info.
+  //       sizeofArray     -   The size of float array.
+  // PDFZoom values:
+  //         - XYZ = 1
+  //         - FITPAGE = 2
+  //         - FITHORZ = 3
+  //         - FITVERT = 4
+  //         - FITRECT = 5
+  //         - FITBBOX = 6
+  //         - FITBHORZ = 7
+  //         - FITBVERT = 8
+  // Return value:
+  //       None.
+  // Comments:
+  //       See the Destinations description of <<PDF Reference, version 1.7>>
+  //       in 8.2.1 for more details.
   void (*FFI_DoGoToAction)(struct _FPDF_FORMFILLINFO* pThis,
                            int nPageIndex,
                            int zoomMode,
                            float* fPosArray,
                            int sizeofArray);
 
-  /*
-   * Pointer to IPDF_JSPLATFORM interface.
-   * Unused if PDFium is built without V8 support. Otherwise, if NULL, then
-   * JavaScript will be prevented from executing while rendering the document.
-   */
+  // Pointer to IPDF_JSPLATFORM interface.
+  // Unused if PDFium is built without V8 support. Otherwise, if NULL, then
+  // JavaScript will be prevented from executing while rendering the document.
   IPDF_JSPLATFORM* m_pJsPlatform;
 
-  /* Version 2 - Experimental. */
-  /*
-   * Whether the XFA module is disabled when built with the XFA module.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   */
+  // Version 2 - Experimental.
+
+  // Whether the XFA module is disabled when built with the XFA module.
+  // Interface Version:
+  //       Ignored if |version| < 2.
   FPDF_BOOL xfa_disabled;
 
-  /*
-   * Method: FFI_DisplayCaret
-   *       This method will show the caret at specified position.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   * Implementation Required:
-   *       Required for XFA, otherwise set to NULL.
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       page            -   Handle to page. Returned by FPDF_LoadPage().
-   *       left            -   Left position of the client area in PDF page
-   *                           coordinates.
-   *       top             -   Top position of the client area in PDF page
-   *                           coordinates.
-   *       right           -   Right position of the client area in PDF page
-   *                           coordinates.
-   *       bottom          -   Bottom position of the client area in PDF page
-   *                           coordinates.
-   * Return value:
-   *       None.
-   */
+  // Method: FFI_DisplayCaret
+  //       This method will show the caret at specified position.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       Required for XFA, otherwise set to NULL.
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       page            -   Handle to page. Returned by FPDF_LoadPage().
+  //       left            -   Left position of the client area in PDF page
+  //                           coordinates.
+  //       top             -   Top position of the client area in PDF page
+  //                           coordinates.
+  //       right           -   Right position of the client area in PDF page
+  //                           coordinates.
+  //       bottom          -   Bottom position of the client area in PDF page
+  //                           coordinates.
+  // Return value:
+  //       None.
   void (*FFI_DisplayCaret)(struct _FPDF_FORMFILLINFO* pThis,
                            FPDF_PAGE page,
                            FPDF_BOOL bVisible,
@@ -772,79 +709,71 @@
                            double right,
                            double bottom);
 
-  /*
-   * Method: FFI_GetCurrentPageIndex
-   *       This method will get the current page index.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   * Implementation Required:
-   *       Required for XFA, otherwise set to NULL.
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       document        -   Handle to document from FPDF_LoadDocument().
-   * Return value:
-   *       The index of current page.
-   */
+  // Method: FFI_GetCurrentPageIndex
+  //       This method will get the current page index.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       Required for XFA, otherwise set to NULL.
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       document        -   Handle to document from FPDF_LoadDocument().
+  // Return value:
+  //       The index of current page.
   int (*FFI_GetCurrentPageIndex)(struct _FPDF_FORMFILLINFO* pThis,
                                  FPDF_DOCUMENT document);
 
-  /*
-   * Method: FFI_SetCurrentPage
-   *       This method will set the current page.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   * Implementation Required:
-   *       Required for XFA, otherwise set to NULL.
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       document        -   Handle to document from FPDF_LoadDocument().
-   *       iCurPage        -   The index of the PDF page.
-   * Return value:
-   *       None.
-   */
+  // Method: FFI_SetCurrentPage
+  //       This method will set the current page.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       Required for XFA, otherwise set to NULL.
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       document        -   Handle to document from FPDF_LoadDocument().
+  //       iCurPage        -   The index of the PDF page.
+  // Return value:
+  //       None.
   void (*FFI_SetCurrentPage)(struct _FPDF_FORMFILLINFO* pThis,
                              FPDF_DOCUMENT document,
                              int iCurPage);
 
-  /*
-  * Method: FFI_GotoURL
-  *       This method will navigate to the specified URL.
-  * Interface Version:
-  *       Ignored if |version| < 2.
-  * Implementation Required:
-  *       Required for XFA, otherwise set to NULL.
-  * Parameters:
-  *       pThis            -   Pointer to the interface structure itself.
-  *       document         -   Handle to document from FPDF_LoadDocument().
-  *       wsURL            -   The string value of the URL, in UTF-16LE format.
-  * Return value:
-  *       None.
-  */
+ // Method: FFI_GotoURL
+ //       This method will navigate to the specified URL.
+ // Interface Version:
+ //       Ignored if |version| < 2.
+ // Implementation Required:
+ //       Required for XFA, otherwise set to NULL.
+ // Parameters:
+ //       pThis            -   Pointer to the interface structure itself.
+ //       document         -   Handle to document from FPDF_LoadDocument().
+ //       wsURL            -   The string value of the URL, in UTF-16LE format.
+ // Return value:
+ //       None.
   void (*FFI_GotoURL)(struct _FPDF_FORMFILLINFO* pThis,
                       FPDF_DOCUMENT document,
                       FPDF_WIDESTRING wsURL);
 
-  /*
-   * Method: FFI_GetPageViewRect
-   *       This method will get the current page view rectangle.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   * Implementation Required:
-   *       Required for XFA, otherwise set to NULL.
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       page            -   Handle to page. Returned by FPDF_LoadPage().
-   *       left            -   The pointer to receive left position of the page
-   *                           view area in PDF page coordinates.
-   *       top             -   The pointer to receive top position of the page
-   *                           view area in PDF page coordinates.
-   *       right           -   The pointer to receive right position of the
-   *                           page view area in PDF page coordinates.
-   *       bottom          -   The pointer to receive bottom position of the
-   *                           page view area in PDF page coordinates.
-   * Return value:
-   *     None.
-   */
+  // Method: FFI_GetPageViewRect
+  //       This method will get the current page view rectangle.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       Required for XFA, otherwise set to NULL.
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       page            -   Handle to page. Returned by FPDF_LoadPage().
+  //       left            -   The pointer to receive left position of the page
+  //                           view area in PDF page coordinates.
+  //       top             -   The pointer to receive top position of the page
+  //                           view area in PDF page coordinates.
+  //       right           -   The pointer to receive right position of the
+  //                           page view area in PDF page coordinates.
+  //       bottom          -   The pointer to receive bottom position of the
+  //                           page view area in PDF page coordinates.
+  // Return value:
+  //     None.
   void (*FFI_GetPageViewRect)(struct _FPDF_FORMFILLINFO* pThis,
                               FPDF_PAGE page,
                               double* left,
@@ -852,53 +781,49 @@
                               double* right,
                               double* bottom);
 
-  /*
-   * Method: FFI_PageEvent
-   *       This method fires when pages have been added to or deleted from
-   *       the XFA document.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   * Implementation Required:
-   *       Required for XFA, otherwise set to NULL.
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       page_count      -   The number of pages to be added or deleted.
-   *       event_type      -   See FXFA_PAGEVIEWEVENT_* above.
-   * Return value:
-   *       None.
-   * Comments:
-   *       The pages to be added or deleted always start from the last page
-   *       of document. This means that if parameter page_count is 2 and
-   *       event type is FXFA_PAGEVIEWEVENT_POSTADDED, 2 new pages have been
-   *       appended to the tail of document; If page_count is 2 and
-   *       event type is FXFA_PAGEVIEWEVENT_POSTREMOVED, the last 2 pages
-   *       have been deleted.
-   */
+  // Method: FFI_PageEvent
+  //       This method fires when pages have been added to or deleted from
+  //       the XFA document.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       Required for XFA, otherwise set to NULL.
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       page_count      -   The number of pages to be added or deleted.
+  //       event_type      -   See FXFA_PAGEVIEWEVENT_* above.
+  // Return value:
+  //       None.
+  // Comments:
+  //       The pages to be added or deleted always start from the last page
+  //       of document. This means that if parameter page_count is 2 and
+  //       event type is FXFA_PAGEVIEWEVENT_POSTADDED, 2 new pages have been
+  //       appended to the tail of document; If page_count is 2 and
+  //       event type is FXFA_PAGEVIEWEVENT_POSTREMOVED, the last 2 pages
+  //       have been deleted.
   void (*FFI_PageEvent)(struct _FPDF_FORMFILLINFO* pThis,
                         int page_count,
                         FPDF_DWORD event_type);
 
-  /*
-   * Method: FFI_PopupMenu
-   *       This method will track the right context menu for XFA fields.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   * Implementation Required:
-   *       Required for XFA, otherwise set to NULL.
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       page            -   Handle to page. Returned by FPDF_LoadPage().
-   *       hWidget         -   Always null, exists for compatibility.
-   *       menuFlag        -   The menu flags. Please refer to macro definition
-   *                           of FXFA_MENU_XXX and this can be one or a
-   *                           combination of these macros.
-   *       x               -   X position of the client area in PDF page
-   *                           coordinates.
-   *       y               -   Y position of the client area in PDF page
-   *                           coordinates.
-   * Return value:
-   *       TRUE indicates success; otherwise false.
-   */
+  // Method: FFI_PopupMenu
+  //       This method will track the right context menu for XFA fields.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       Required for XFA, otherwise set to NULL.
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       page            -   Handle to page. Returned by FPDF_LoadPage().
+  //       hWidget         -   Always null, exists for compatibility.
+  //       menuFlag        -   The menu flags. Please refer to macro definition
+  //                           of FXFA_MENU_XXX and this can be one or a
+  //                           combination of these macros.
+  //       x               -   X position of the client area in PDF page
+  //                           coordinates.
+  //       y               -   Y position of the client area in PDF page
+  //                           coordinates.
+  // Return value:
+  //       TRUE indicates success; otherwise false.
   FPDF_BOOL (*FFI_PopupMenu)(struct _FPDF_FORMFILLINFO* pThis,
                              FPDF_PAGE page,
                              FPDF_WIDGET hWidget,
@@ -906,51 +831,47 @@
                              float x,
                              float y);
 
-  /*
-   * Method: FFI_OpenFile
-   *       This method will open the specified file with the specified mode.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   * Implementation Required:
-   *       Required for XFA, otherwise set to NULL.
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       fileFlag        -   The file flag. Please refer to macro definition
-   *                           of FXFA_SAVEAS_XXX and use one of these macros.
-   *       wsURL           -   The string value of the file URL, in UTF-16LE
-   *                           format.
-   *       mode            -   The mode for open file, e.g. "rb" or "wb".
-   * Return value:
-   *       The handle to FPDF_FILEHANDLER.
-   */
+  // Method: FFI_OpenFile
+  //       This method will open the specified file with the specified mode.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       Required for XFA, otherwise set to NULL.
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       fileFlag        -   The file flag. Please refer to macro definition
+  //                           of FXFA_SAVEAS_XXX and use one of these macros.
+  //       wsURL           -   The string value of the file URL, in UTF-16LE
+  //                           format.
+  //       mode            -   The mode for open file, e.g. "rb" or "wb".
+  // Return value:
+  //       The handle to FPDF_FILEHANDLER.
   FPDF_FILEHANDLER* (*FFI_OpenFile)(struct _FPDF_FORMFILLINFO* pThis,
                                     int fileFlag,
                                     FPDF_WIDESTRING wsURL,
                                     const char* mode);
 
-  /*
-   * Method: FFI_EmailTo
-   *       This method will email the specified file stream to the specified
-   *       contact.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   * Implementation Required:
-   *       Required for XFA, otherwise set to NULL.
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       pFileHandler    -   Handle to the FPDF_FILEHANDLER.
-   *       pTo             -   A semicolon-delimited list of recipients for the
-   *                           message,in UTF-16LE format.
-   *       pSubject        -   The subject of the message,in UTF-16LE format.
-   *       pCC             -   A semicolon-delimited list of CC recipients for
-   *                           the message,in UTF-16LE format.
-   *       pBcc            -   A semicolon-delimited list of BCC recipients for
-   *                           the message,in UTF-16LE format.
-   *       pMsg            -   Pointer to the data buffer to be sent.Can be
-   *                           NULL,in UTF-16LE format.
-   * Return value:
-   *       None.
-   */
+  // Method: FFI_EmailTo
+  //       This method will email the specified file stream to the specified
+  //       contact.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       Required for XFA, otherwise set to NULL.
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       pFileHandler    -   Handle to the FPDF_FILEHANDLER.
+  //       pTo             -   A semicolon-delimited list of recipients for the
+  //                           message,in UTF-16LE format.
+  //       pSubject        -   The subject of the message,in UTF-16LE format.
+  //       pCC             -   A semicolon-delimited list of CC recipients for
+  //                           the message,in UTF-16LE format.
+  //       pBcc            -   A semicolon-delimited list of BCC recipients for
+  //                           the message,in UTF-16LE format.
+  //       pMsg            -   Pointer to the data buffer to be sent.Can be
+  //                           NULL,in UTF-16LE format.
+  // Return value:
+  //       None.
   void (*FFI_EmailTo)(struct _FPDF_FORMFILLINFO* pThis,
                       FPDF_FILEHANDLER* fileHandler,
                       FPDF_WIDESTRING pTo,
@@ -959,105 +880,95 @@
                       FPDF_WIDESTRING pBcc,
                       FPDF_WIDESTRING pMsg);
 
-  /*
-   * Method: FFI_UploadTo
-   *       This method will upload the specified file stream to the
-   *       specified URL.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   * Implementation Required:
-   *       Required for XFA, otherwise set to NULL.
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       pFileHandler    -   Handle to the FPDF_FILEHANDLER.
-   *       fileFlag        -   The file flag. Please refer to macro definition
-   *                           of FXFA_SAVEAS_XXX and use one of these macros.
-   *       uploadTo        -   Pointer to the URL path, in UTF-16LE format.
-   * Return value:
-   *       None.
-   */
+  // Method: FFI_UploadTo
+  //       This method will upload the specified file stream to the
+  //       specified URL.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       Required for XFA, otherwise set to NULL.
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       pFileHandler    -   Handle to the FPDF_FILEHANDLER.
+  //       fileFlag        -   The file flag. Please refer to macro definition
+  //                           of FXFA_SAVEAS_XXX and use one of these macros.
+  //       uploadTo        -   Pointer to the URL path, in UTF-16LE format.
+  // Return value:
+  //       None.
   void (*FFI_UploadTo)(struct _FPDF_FORMFILLINFO* pThis,
                        FPDF_FILEHANDLER* fileHandler,
                        int fileFlag,
                        FPDF_WIDESTRING uploadTo);
 
-  /*
-   * Method: FFI_GetPlatform
-   *       This method will get the current platform.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   * Implementation Required:
-   *       Required for XFA, otherwise set to NULL.
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       platform        -   Pointer to the data buffer to receive the
-   *                           platform,in UTF-16LE format. Can be NULL.
-   *       length          -   The length of the buffer in bytes. Can be
-   *                           0 to query the required size.
-   * Return value:
-   *       The length of the buffer, number of bytes.
-   */
+  // Method: FFI_GetPlatform
+  //       This method will get the current platform.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       Required for XFA, otherwise set to NULL.
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       platform        -   Pointer to the data buffer to receive the
+  //                           platform,in UTF-16LE format. Can be NULL.
+  //       length          -   The length of the buffer in bytes. Can be
+  //                           0 to query the required size.
+  // Return value:
+  //       The length of the buffer, number of bytes.
   int (*FFI_GetPlatform)(struct _FPDF_FORMFILLINFO* pThis,
                          void* platform,
                          int length);
 
-  /*
-   * Method: FFI_GetLanguage
-   *       This method will get the current language.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   * Implementation Required:
-   *       Required for XFA, otherwise set to NULL.
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       language        -   Pointer to the data buffer to receive the
-   *                           current language. Can be NULL.
-   *       length          -   The length of the buffer in bytes. Can be
-   *                           0 to query the required size.
-   * Return value:
-   *       The length of the buffer, number of bytes.
-   */
+  // Method: FFI_GetLanguage
+  //       This method will get the current language.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       Required for XFA, otherwise set to NULL.
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       language        -   Pointer to the data buffer to receive the
+  //                           current language. Can be NULL.
+  //       length          -   The length of the buffer in bytes. Can be
+  //                           0 to query the required size.
+  // Return value:
+  //       The length of the buffer, number of bytes.
   int (*FFI_GetLanguage)(struct _FPDF_FORMFILLINFO* pThis,
                          void* language,
                          int length);
 
-  /*
-  * Method: FFI_DownloadFromURL
-  *       This method will download the specified file from the URL.
-  * Interface Version:
-  *       Ignored if |version| < 2.
-  * Implementation Required:
-  *       Required for XFA, otherwise set to NULL.
-  * Parameters:
-  *       pThis           -   Pointer to the interface structure itself.
-  *       URL             -   The string value of the file URL, in UTF-16LE
-  *                           format.
-  * Return value:
-  *       The handle to FPDF_FILEHANDLER.
-  */
+  // Method: FFI_DownloadFromURL
+  //       This method will download the specified file from the URL.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       Required for XFA, otherwise set to NULL.
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       URL             -   The string value of the file URL, in UTF-16LE
+  //                           format.
+  // Return value:
+  //       The handle to FPDF_FILEHANDLER.
   FPDF_FILEHANDLER* (*FFI_DownloadFromURL)(struct _FPDF_FORMFILLINFO* pThis,
                                            FPDF_WIDESTRING URL);
-  /*
-   * Method: FFI_PostRequestURL
-   *       This method will post the request to the server URL.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   * Implementation Required:
-   *       Required for XFA, otherwise set to NULL.
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       wsURL           -   The string value of the server URL, in UTF-16LE
-   *                           format.
-   *       wsData          -   The post data,in UTF-16LE format.
-   *       wsContentType   -   The content type of the request data, in
-   *                           UTF-16LE format.
-   *       wsEncode        -   The encode type, in UTF-16LE format.
-   *       wsHeader        -   The request header,in UTF-16LE format.
-   *       response        -   Pointer to the FPDF_BSTR to receive the response
-   *                           data from the server, in UTF-16LE format.
-   * Return value:
-   *       TRUE indicates success, otherwise FALSE.
-   */
+  // Method: FFI_PostRequestURL
+  //       This method will post the request to the server URL.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       Required for XFA, otherwise set to NULL.
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       wsURL           -   The string value of the server URL, in UTF-16LE
+  //                           format.
+  //       wsData          -   The post data,in UTF-16LE format.
+  //       wsContentType   -   The content type of the request data, in
+  //                           UTF-16LE format.
+  //       wsEncode        -   The encode type, in UTF-16LE format.
+  //       wsHeader        -   The request header,in UTF-16LE format.
+  //       response        -   Pointer to the FPDF_BSTR to receive the response
+  //                           data from the server, in UTF-16LE format.
+  // Return value:
+  //       TRUE indicates success, otherwise FALSE.
   FPDF_BOOL (*FFI_PostRequestURL)(struct _FPDF_FORMFILLINFO* pThis,
                                   FPDF_WIDESTRING wsURL,
                                   FPDF_WIDESTRING wsData,
@@ -1066,167 +977,149 @@
                                   FPDF_WIDESTRING wsHeader,
                                   FPDF_BSTR* response);
 
-  /*
-   * Method: FFI_PutRequestURL
-   *       This method will put the request to the server URL.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   * Implementation Required:
-   *       Required for XFA, otherwise set to NULL.
-   * Parameters:
-   *       pThis           -   Pointer to the interface structure itself.
-   *       wsURL           -   The string value of the server URL, in UTF-16LE
-   *                           format.
-   *       wsData          -   The put data, in UTF-16LE format.
-   *       wsEncode        -   The encode type, in UTR-16LE format.
-   * Return value:
-   *       TRUE indicates success, otherwise FALSE.
-   */
+  // Method: FFI_PutRequestURL
+  //       This method will put the request to the server URL.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       Required for XFA, otherwise set to NULL.
+  // Parameters:
+  //       pThis           -   Pointer to the interface structure itself.
+  //       wsURL           -   The string value of the server URL, in UTF-16LE
+  //                           format.
+  //       wsData          -   The put data, in UTF-16LE format.
+  //       wsEncode        -   The encode type, in UTR-16LE format.
+  // Return value:
+  //       TRUE indicates success, otherwise FALSE.
   FPDF_BOOL (*FFI_PutRequestURL)(struct _FPDF_FORMFILLINFO* pThis,
                                  FPDF_WIDESTRING wsURL,
                                  FPDF_WIDESTRING wsData,
                                  FPDF_WIDESTRING wsEncode);
 
-  /*
-   * Method: FFI_OnFocusChange
-   *     Called when the focused annotation is updated.
-   * Interface Version:
-   *     Ignored if |version| < 2.
-   * Implementation Required:
-   *     No
-   * Parameters:
-   *     param           -   Pointer to the interface structure itself.
-   *     annot           -   The focused annotation.
-   *     page_index      -   Index number of the page which contains the
-   *                         focused annotation. 0 for the first page.
-   * Return value:
-   *     None.
-   * Comments:
-   *     This callback function is useful for implementing any view based
-   *     action such as scrolling the annotation rect into view. The
-   *     embedder should not copy and store the annot as its scope is
-   *     limited to this call only.
-   */
+  // Method: FFI_OnFocusChange
+  //     Called when the focused annotation is updated.
+  // Interface Version:
+  //     Ignored if |version| < 2.
+  // Implementation Required:
+  //     No
+  // Parameters:
+  //     param           -   Pointer to the interface structure itself.
+  //     annot           -   The focused annotation.
+  //     page_index      -   Index number of the page which contains the
+  //                         focused annotation. 0 for the first page.
+  // Return value:
+  //     None.
+  // Comments:
+  //     This callback function is useful for implementing any view based
+  //     action such as scrolling the annotation rect into view. The
+  //     embedder should not copy and store the annot as its scope is
+  //     limited to this call only.
   void (*FFI_OnFocusChange)(struct _FPDF_FORMFILLINFO* param,
                             FPDF_ANNOTATION annot,
                             int page_index);
 
-  /**
-   * Method: FFI_DoURIActionWithKeyboardModifier
-   *       Ask the implementation to navigate to a uniform resource identifier
-   *       with the specified modifiers.
-   * Interface Version:
-   *       Ignored if |version| < 2.
-   * Implementation Required:
-   *       No
-   * Parameters:
-   *       param           -   Pointer to the interface structure itself.
-   *       uri             -   A byte string which indicates the uniform
-   *                           resource identifier, terminated by 0.
-   *       modifiers       -   Keyboard modifier that indicates which of
-   *                           the virtual keys are down, if any.
-   * Return value:
-   *       None.
-   * Comments:
-   *       If the embedder who is version 2 and does not implement this API,
-   *       then a call will be redirected to FFI_DoURIAction.
-   *       See the URI actions description of <<PDF Reference, version 1.7>>
-   *       for more details.
-   */
+  // Method: FFI_DoURIActionWithKeyboardModifier
+  //       Ask the implementation to navigate to a uniform resource identifier
+  //       with the specified modifiers.
+  // Interface Version:
+  //       Ignored if |version| < 2.
+  // Implementation Required:
+  //       No
+  // Parameters:
+  //       param           -   Pointer to the interface structure itself.
+  //       uri             -   A byte string which indicates the uniform
+  //                           resource identifier, terminated by 0.
+  //       modifiers       -   Keyboard modifier that indicates which of
+  //                           the virtual keys are down, if any.
+  // Return value:
+  //       None.
+  // Comments:
+  //       If the embedder who is version 2 and does not implement this API,
+  //       then a call will be redirected to FFI_DoURIAction.
+  //       See the URI actions description of <<PDF Reference, version 1.7>>
+  //       for more details.
   void(*FFI_DoURIActionWithKeyboardModifier)(struct _FPDF_FORMFILLINFO* param,
       FPDF_BYTESTRING uri,
       int modifiers);
 } FPDF_FORMFILLINFO;
 
-/*
- * Function: FPDFDOC_InitFormFillEnvironment
- *       Initialize form fill environment.
- * Parameters:
- *       document        -   Handle to document from FPDF_LoadDocument().
- *       formInfo        -   Pointer to a FPDF_FORMFILLINFO structure.
- * Return Value:
- *       Handle to the form fill module, or NULL on failure.
- * Comments:
- *       This function should be called before any form fill operation.
- *       The FPDF_FORMFILLINFO passed in via |formInfo| must remain valid until
- *       the returned FPDF_FORMHANDLE is closed.
- */
+// Function: FPDFDOC_InitFormFillEnvironment
+//       Initialize form fill environment.
+// Parameters:
+//       document        -   Handle to document from FPDF_LoadDocument().
+//       formInfo        -   Pointer to a FPDF_FORMFILLINFO structure.
+// Return Value:
+//       Handle to the form fill module, or NULL on failure.
+// Comments:
+//       This function should be called before any form fill operation.
+//       The FPDF_FORMFILLINFO passed in via |formInfo| must remain valid until
+//       the returned FPDF_FORMHANDLE is closed.
 FPDF_EXPORT FPDF_FORMHANDLE FPDF_CALLCONV
 FPDFDOC_InitFormFillEnvironment(FPDF_DOCUMENT document,
                                 FPDF_FORMFILLINFO* formInfo);
 
-/*
- * Function: FPDFDOC_ExitFormFillEnvironment
- *       Take ownership of |hHandle| and exit form fill environment.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- * Return Value:
- *       None.
- * Comments:
- *       This function is a no-op when |hHandle| is null.
- */
+// Function: FPDFDOC_ExitFormFillEnvironment
+//       Take ownership of |hHandle| and exit form fill environment.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+// Return Value:
+//       None.
+// Comments:
+//       This function is a no-op when |hHandle| is null.
 FPDF_EXPORT void FPDF_CALLCONV
 FPDFDOC_ExitFormFillEnvironment(FPDF_FORMHANDLE hHandle);
 
-/*
- * Function: FORM_OnAfterLoadPage
- *       This method is required for implementing all the form related
- *       functions. Should be invoked after user successfully loaded a
- *       PDF page, and FPDFDOC_InitFormFillEnvironment() has been invoked.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- * Return Value:
- *       None.
- */
+// Function: FORM_OnAfterLoadPage
+//       This method is required for implementing all the form related
+//       functions. Should be invoked after user successfully loaded a
+//       PDF page, and FPDFDOC_InitFormFillEnvironment() has been invoked.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+// Return Value:
+//       None.
 FPDF_EXPORT void FPDF_CALLCONV FORM_OnAfterLoadPage(FPDF_PAGE page,
                                                     FPDF_FORMHANDLE hHandle);
 
-/*
- * Function: FORM_OnBeforeClosePage
- *       This method is required for implementing all the form related
- *       functions. Should be invoked before user closes the PDF page.
- * Parameters:
- *        page        -   Handle to the page, as returned by FPDF_LoadPage().
- *        hHandle     -   Handle to the form fill module, as returned by
- *                        FPDFDOC_InitFormFillEnvironment().
- * Return Value:
- *        None.
- */
+// Function: FORM_OnBeforeClosePage
+//       This method is required for implementing all the form related
+//       functions. Should be invoked before user closes the PDF page.
+// Parameters:
+//        page        -   Handle to the page, as returned by FPDF_LoadPage().
+//        hHandle     -   Handle to the form fill module, as returned by
+//                        FPDFDOC_InitFormFillEnvironment().
+// Return Value:
+//        None.
 FPDF_EXPORT void FPDF_CALLCONV FORM_OnBeforeClosePage(FPDF_PAGE page,
                                                       FPDF_FORMHANDLE hHandle);
 
-/*
- * Function: FORM_DoDocumentJSAction
- *       This method is required for performing document-level JavaScript
- *       actions. It should be invoked after the PDF document has been loaded.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- * Return Value:
- *       None.
- * Comments:
- *       If there is document-level JavaScript action embedded in the
- *       document, this method will execute the JavaScript action. Otherwise,
- *       the method will do nothing.
- */
+// Function: FORM_DoDocumentJSAction
+//       This method is required for performing document-level JavaScript
+//       actions. It should be invoked after the PDF document has been loaded.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+// Return Value:
+//       None.
+// Comments:
+//       If there is document-level JavaScript action embedded in the
+//       document, this method will execute the JavaScript action. Otherwise,
+//       the method will do nothing.
 FPDF_EXPORT void FPDF_CALLCONV
 FORM_DoDocumentJSAction(FPDF_FORMHANDLE hHandle);
 
-/*
- * Function: FORM_DoDocumentOpenAction
- *       This method is required for performing open-action when the document
- *       is opened.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- * Return Value:
- *       None.
- * Comments:
- *       This method will do nothing if there are no open-actions embedded
- *       in the document.
- */
+// Function: FORM_DoDocumentOpenAction
+//       This method is required for performing open-action when the document
+//       is opened.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+// Return Value:
+//       None.
+// Comments:
+//       This method will do nothing if there are no open-actions embedded
+//       in the document.
 FPDF_EXPORT void FPDF_CALLCONV
 FORM_DoDocumentOpenAction(FPDF_FORMHANDLE hHandle);
 
@@ -1242,21 +1135,19 @@
 #define FPDFDOC_AACTION_WP 0x13
 #define FPDFDOC_AACTION_DP 0x14
 
-/*
- * Function: FORM_DoDocumentAAction
- *       This method is required for performing the document's
- *       additional-action.
- * Parameters:
- *       hHandle     -   Handle to the form fill module. Returned by
- *                       FPDFDOC_InitFormFillEnvironment.
- *       aaType      -   The type of the additional-actions which defined
- *                       above.
- * Return Value:
- *       None.
- * Comments:
- *       This method will do nothing if there is no document
- *       additional-action corresponding to the specified |aaType|.
- */
+// Function: FORM_DoDocumentAAction
+//       This method is required for performing the document's
+//       additional-action.
+// Parameters:
+//       hHandle     -   Handle to the form fill module. Returned by
+//                       FPDFDOC_InitFormFillEnvironment.
+//       aaType      -   The type of the additional-actions which defined
+//                       above.
+// Return Value:
+//       None.
+// Comments:
+//       This method will do nothing if there is no document
+//       additional-action corresponding to the specified |aaType|.
 FPDF_EXPORT void FPDF_CALLCONV FORM_DoDocumentAAction(FPDF_FORMHANDLE hHandle,
                                                       int aaType);
 
@@ -1266,72 +1157,66 @@
 #define FPDFPAGE_AACTION_OPEN 0
 #define FPDFPAGE_AACTION_CLOSE 1
 
-/*
- * Function: FORM_DoPageAAction
- *       This method is required for performing the page object's
- *       additional-action when opened or closed.
- * Parameters:
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       aaType      -   The type of the page object's additional-actions
- *                       which defined above.
- * Return Value:
- *       None.
- * Comments:
- *       This method will do nothing if no additional-action corresponding
- *       to the specified |aaType| exists.
- */
+// Function: FORM_DoPageAAction
+//       This method is required for performing the page object's
+//       additional-action when opened or closed.
+// Parameters:
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       aaType      -   The type of the page object's additional-actions
+//                       which defined above.
+// Return Value:
+//       None.
+// Comments:
+//       This method will do nothing if no additional-action corresponding
+//       to the specified |aaType| exists.
 FPDF_EXPORT void FPDF_CALLCONV FORM_DoPageAAction(FPDF_PAGE page,
                                                   FPDF_FORMHANDLE hHandle,
                                                   int aaType);
 
-/*
- * Function: FORM_OnMouseMove
- *       Call this member function when the mouse cursor moves.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- *       modifier    -   Indicates whether various virtual keys are down.
- *       page_x      -   Specifies the x-coordinate of the cursor in PDF user
- *                       space.
- *       page_y      -   Specifies the y-coordinate of the cursor in PDF user
- *                       space.
- * Return Value:
- *       True indicates success; otherwise false.
- */
+// Function: FORM_OnMouseMove
+//       Call this member function when the mouse cursor moves.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+//       modifier    -   Indicates whether various virtual keys are down.
+//       page_x      -   Specifies the x-coordinate of the cursor in PDF user
+//                       space.
+//       page_y      -   Specifies the y-coordinate of the cursor in PDF user
+//                       space.
+// Return Value:
+//       True indicates success; otherwise false.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnMouseMove(FPDF_FORMHANDLE hHandle,
                                                      FPDF_PAGE page,
                                                      int modifier,
                                                      double page_x,
                                                      double page_y);
 
-/*
- * Experimental API
- * Function: FORM_OnMouseWheel
- *       Call this member function when the user scrolls the mouse wheel.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- *       modifier    -   Indicates whether various virtual keys are down.
- *       page_coord  -   Specifies the coordinates of the cursor in PDF user
- *                       space.
- *       delta_x     -   Specifies the amount of wheel movement on the x-axis,
- *                       in units of platform-agnostic wheel deltas. Negative
- *                       values mean left.
- *       delta_y     -   Specifies the amount of wheel movement on the y-axis,
- *                       in units of platform-agnostic wheel deltas. Negative
- *                       values mean down.
- * Return Value:
- *       True indicates success; otherwise false.
- * Comments:
- *       For |delta_x| and |delta_y|, the caller must normalize
- *       platform-specific wheel deltas. e.g. On Windows, a delta value of 240
- *       for a WM_MOUSEWHEEL event normalizes to 2, since Windows defines
- *       WHEEL_DELTA as 120.
- */
+// Experimental API
+// Function: FORM_OnMouseWheel
+//       Call this member function when the user scrolls the mouse wheel.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+//       modifier    -   Indicates whether various virtual keys are down.
+//       page_coord  -   Specifies the coordinates of the cursor in PDF user
+//                       space.
+//       delta_x     -   Specifies the amount of wheel movement on the x-axis,
+//                       in units of platform-agnostic wheel deltas. Negative
+//                       values mean left.
+//       delta_y     -   Specifies the amount of wheel movement on the y-axis,
+//                       in units of platform-agnostic wheel deltas. Negative
+//                       values mean down.
+// Return Value:
+//       True indicates success; otherwise false.
+// Comments:
+//       For |delta_x| and |delta_y|, the caller must normalize
+//       platform-specific wheel deltas. e.g. On Windows, a delta value of 240
+//       for a WM_MOUSEWHEEL event normalizes to 2, since Windows defines
+//       WHEEL_DELTA as 120.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnMouseWheel(
     FPDF_FORMHANDLE hHandle,
     FPDF_PAGE page,
@@ -1340,112 +1225,100 @@
     int delta_x,
     int delta_y);
 
-/*
- * Function: FORM_OnFocus
- *       This function focuses the form annotation at a given point. If the
- *       annotation at the point already has focus, nothing happens. If there
- *       is no annotation at the point, removes form focus.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- *       modifier    -   Indicates whether various virtual keys are down.
- *       page_x      -   Specifies the x-coordinate of the cursor in PDF user
- *                       space.
- *       page_y      -   Specifies the y-coordinate of the cursor in PDF user
- *                       space.
- * Return Value:
- *       True if there is an annotation at the given point and it has focus.
- */
+// Function: FORM_OnFocus
+//       This function focuses the form annotation at a given point. If the
+//       annotation at the point already has focus, nothing happens. If there
+//       is no annotation at the point, removes form focus.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+//       modifier    -   Indicates whether various virtual keys are down.
+//       page_x      -   Specifies the x-coordinate of the cursor in PDF user
+//                       space.
+//       page_y      -   Specifies the y-coordinate of the cursor in PDF user
+//                       space.
+// Return Value:
+//       True if there is an annotation at the given point and it has focus.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnFocus(FPDF_FORMHANDLE hHandle,
                                                  FPDF_PAGE page,
                                                  int modifier,
                                                  double page_x,
                                                  double page_y);
 
-/*
- * Function: FORM_OnLButtonDown
- *       Call this member function when the user presses the left
- *       mouse button.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- *       modifier    -   Indicates whether various virtual keys are down.
- *       page_x      -   Specifies the x-coordinate of the cursor in PDF user
- *                       space.
- *       page_y      -   Specifies the y-coordinate of the cursor in PDF user
- *                       space.
- * Return Value:
- *       True indicates success; otherwise false.
- */
+// Function: FORM_OnLButtonDown
+//       Call this member function when the user presses the left
+//       mouse button.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+//       modifier    -   Indicates whether various virtual keys are down.
+//       page_x      -   Specifies the x-coordinate of the cursor in PDF user
+//                       space.
+//       page_y      -   Specifies the y-coordinate of the cursor in PDF user
+//                       space.
+// Return Value:
+//       True indicates success; otherwise false.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnLButtonDown(FPDF_FORMHANDLE hHandle,
                                                        FPDF_PAGE page,
                                                        int modifier,
                                                        double page_x,
                                                        double page_y);
 
-/*
- * Function: FORM_OnRButtonDown
- *       Same as above, execpt for the right mouse button.
- * Comments:
- *       At the present time, has no effect except in XFA builds, but is
- *       included for the sake of symmetry.
- */
+// Function: FORM_OnRButtonDown
+//       Same as above, execpt for the right mouse button.
+// Comments:
+//       At the present time, has no effect except in XFA builds, but is
+//       included for the sake of symmetry.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnRButtonDown(FPDF_FORMHANDLE hHandle,
                                                        FPDF_PAGE page,
                                                        int modifier,
                                                        double page_x,
                                                        double page_y);
-/*
- * Function: FORM_OnLButtonUp
- *       Call this member function when the user releases the left
- *       mouse button.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- *       modifier    -   Indicates whether various virtual keys are down.
- *       page_x      -   Specifies the x-coordinate of the cursor in device.
- *       page_y      -   Specifies the y-coordinate of the cursor in device.
- * Return Value:
- *       True indicates success; otherwise false.
- */
+// Function: FORM_OnLButtonUp
+//       Call this member function when the user releases the left
+//       mouse button.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+//       modifier    -   Indicates whether various virtual keys are down.
+//       page_x      -   Specifies the x-coordinate of the cursor in device.
+//       page_y      -   Specifies the y-coordinate of the cursor in device.
+// Return Value:
+//       True indicates success; otherwise false.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnLButtonUp(FPDF_FORMHANDLE hHandle,
                                                      FPDF_PAGE page,
                                                      int modifier,
                                                      double page_x,
                                                      double page_y);
 
-/*
- * Function: FORM_OnRButtonUp
- *       Same as above, execpt for the right mouse button.
- * Comments:
- *       At the present time, has no effect except in XFA builds, but is
- *       included for the sake of symmetry.
- */
+// Function: FORM_OnRButtonUp
+//       Same as above, execpt for the right mouse button.
+// Comments:
+//       At the present time, has no effect except in XFA builds, but is
+//       included for the sake of symmetry.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnRButtonUp(FPDF_FORMHANDLE hHandle,
                                                      FPDF_PAGE page,
                                                      int modifier,
                                                      double page_x,
                                                      double page_y);
 
-/*
- * Function: FORM_OnLButtonDoubleClick
- *       Call this member function when the user double clicks the
- *       left mouse button.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- *       modifier    -   Indicates whether various virtual keys are down.
- *       page_x      -   Specifies the x-coordinate of the cursor in PDF user
- *                       space.
- *       page_y      -   Specifies the y-coordinate of the cursor in PDF user
- *                       space.
- * Return Value:
- *       True indicates success; otherwise false.
- */
+// Function: FORM_OnLButtonDoubleClick
+//       Call this member function when the user double clicks the
+//       left mouse button.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+//       modifier    -   Indicates whether various virtual keys are down.
+//       page_x      -   Specifies the x-coordinate of the cursor in PDF user
+//                       space.
+//       page_y      -   Specifies the y-coordinate of the cursor in PDF user
+//                       space.
+// Return Value:
+//       True indicates success; otherwise false.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
 FORM_OnLButtonDoubleClick(FPDF_FORMHANDLE hHandle,
                           FPDF_PAGE page,
@@ -1453,278 +1326,248 @@
                           double page_x,
                           double page_y);
 
-/*
- * Function: FORM_OnKeyDown
- *       Call this member function when a nonsystem key is pressed.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, aseturned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- *       nKeyCode    -   The virtual-key code of the given key (see
- *                       fpdf_fwlevent.h for virtual key codes).
- *       modifier    -   Mask of key flags (see fpdf_fwlevent.h for key
- *                       flag values).
- * Return Value:
- *       True indicates success; otherwise false.
- */
+// Function: FORM_OnKeyDown
+//       Call this member function when a nonsystem key is pressed.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, aseturned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+//       nKeyCode    -   The virtual-key code of the given key (see
+//                       fpdf_fwlevent.h for virtual key codes).
+//       modifier    -   Mask of key flags (see fpdf_fwlevent.h for key
+//                       flag values).
+// Return Value:
+//       True indicates success; otherwise false.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnKeyDown(FPDF_FORMHANDLE hHandle,
                                                    FPDF_PAGE page,
                                                    int nKeyCode,
                                                    int modifier);
 
-/*
- * Function: FORM_OnKeyUp
- *       Call this member function when a nonsystem key is released.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- *       nKeyCode    -   The virtual-key code of the given key (see
- *                       fpdf_fwlevent.h for virtual key codes).
- *       modifier    -   Mask of key flags (see fpdf_fwlevent.h for key
- *                       flag values).
- * Return Value:
- *       True indicates success; otherwise false.
- * Comments:
- *       Currently unimplemented and always returns false. PDFium reserves this
- *       API and may implement it in the future on an as-needed basis.
- */
+// Function: FORM_OnKeyUp
+//       Call this member function when a nonsystem key is released.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+//       nKeyCode    -   The virtual-key code of the given key (see
+//                       fpdf_fwlevent.h for virtual key codes).
+//       modifier    -   Mask of key flags (see fpdf_fwlevent.h for key
+//                       flag values).
+// Return Value:
+//       True indicates success; otherwise false.
+// Comments:
+//       Currently unimplemented and always returns false. PDFium reserves this
+//       API and may implement it in the future on an as-needed basis.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnKeyUp(FPDF_FORMHANDLE hHandle,
                                                  FPDF_PAGE page,
                                                  int nKeyCode,
                                                  int modifier);
 
-/*
- * Function: FORM_OnChar
- *       Call this member function when a keystroke translates to a
- *       nonsystem character.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- *       nChar       -   The character code value itself.
- *       modifier    -   Mask of key flags (see fpdf_fwlevent.h for key
- *                       flag values).
- * Return Value:
- *       True indicates success; otherwise false.
- */
+// Function: FORM_OnChar
+//       Call this member function when a keystroke translates to a
+//       nonsystem character.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+//       nChar       -   The character code value itself.
+//       modifier    -   Mask of key flags (see fpdf_fwlevent.h for key
+//                       flag values).
+// Return Value:
+//       True indicates success; otherwise false.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnChar(FPDF_FORMHANDLE hHandle,
                                                 FPDF_PAGE page,
                                                 int nChar,
                                                 int modifier);
 
-/*
- * Experimental API
- * Function: FORM_GetFocusedText
- *       Call this function to obtain the text within the current focused
- *       field, if any.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- *       buffer      -   Buffer for holding the form text, encoded in
- *                       UTF-16LE. If NULL, |buffer| is not modified.
- *       buflen      -   Length of |buffer| in bytes. If |buflen| is less
- *                       than the length of the form text string, |buffer| is
- *                       not modified.
- * Return Value:
- *       Length in bytes for the text in the focused field.
- */
+// Experimental API
+// Function: FORM_GetFocusedText
+//       Call this function to obtain the text within the current focused
+//       field, if any.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+//       buffer      -   Buffer for holding the form text, encoded in
+//                       UTF-16LE. If NULL, |buffer| is not modified.
+//       buflen      -   Length of |buffer| in bytes. If |buflen| is less
+//                       than the length of the form text string, |buffer| is
+//                       not modified.
+// Return Value:
+//       Length in bytes for the text in the focused field.
 FPDF_EXPORT unsigned long FPDF_CALLCONV
 FORM_GetFocusedText(FPDF_FORMHANDLE hHandle,
                     FPDF_PAGE page,
                     void* buffer,
                     unsigned long buflen);
 
-/*
- * Function: FORM_GetSelectedText
- *       Call this function to obtain selected text within a form text
- *       field or form combobox text field.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- *       buffer      -   Buffer for holding the selected text, encoded in
- *                       UTF-16LE. If NULL, |buffer| is not modified.
- *       buflen      -   Length of |buffer| in bytes. If |buflen| is less
- *                       than the length of the selected text string,
- *                       |buffer| is not modified.
- * Return Value:
- *       Length in bytes of selected text in form text field or form combobox
- *       text field.
- */
+// Function: FORM_GetSelectedText
+//       Call this function to obtain selected text within a form text
+//       field or form combobox text field.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+//       buffer      -   Buffer for holding the selected text, encoded in
+//                       UTF-16LE. If NULL, |buffer| is not modified.
+//       buflen      -   Length of |buffer| in bytes. If |buflen| is less
+//                       than the length of the selected text string,
+//                       |buffer| is not modified.
+// Return Value:
+//       Length in bytes of selected text in form text field or form combobox
+//       text field.
 FPDF_EXPORT unsigned long FPDF_CALLCONV
 FORM_GetSelectedText(FPDF_FORMHANDLE hHandle,
                      FPDF_PAGE page,
                      void* buffer,
                      unsigned long buflen);
 
-/*
- * Experimental API
- * Function: FORM_ReplaceAndKeepSelection
- *       Call this function to replace the selected text in a form
- *       text field or user-editable form combobox text field with another
- *       text string (which can be empty or non-empty). If there is no
- *       selected text, this function will append the replacement text after
- *       the current caret position. After the insertion, the inserted text
- *       will be selected.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as Returned by FPDF_LoadPage().
- *       wsText      -   The text to be inserted, in UTF-16LE format.
- * Return Value:
- *       None.
- */
+// Experimental API
+// Function: FORM_ReplaceAndKeepSelection
+//       Call this function to replace the selected text in a form
+//       text field or user-editable form combobox text field with another
+//       text string (which can be empty or non-empty). If there is no
+//       selected text, this function will append the replacement text after
+//       the current caret position. After the insertion, the inserted text
+//       will be selected.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as Returned by FPDF_LoadPage().
+//       wsText      -   The text to be inserted, in UTF-16LE format.
+// Return Value:
+//       None.
 FPDF_EXPORT void FPDF_CALLCONV
 FORM_ReplaceAndKeepSelection(FPDF_FORMHANDLE hHandle,
                              FPDF_PAGE page,
                              FPDF_WIDESTRING wsText);
 
-/*
- * Function: FORM_ReplaceSelection
- *       Call this function to replace the selected text in a form
- *       text field or user-editable form combobox text field with another
- *       text string (which can be empty or non-empty). If there is no
- *       selected text, this function will append the replacement text after
- *       the current caret position. After the insertion, the selection range
- *       will be set to empty.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as Returned by FPDF_LoadPage().
- *       wsText      -   The text to be inserted, in UTF-16LE format.
- * Return Value:
- *       None.
- */
+// Function: FORM_ReplaceSelection
+//       Call this function to replace the selected text in a form
+//       text field or user-editable form combobox text field with another
+//       text string (which can be empty or non-empty). If there is no
+//       selected text, this function will append the replacement text after
+//       the current caret position. After the insertion, the selection range
+//       will be set to empty.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as Returned by FPDF_LoadPage().
+//       wsText      -   The text to be inserted, in UTF-16LE format.
+// Return Value:
+//       None.
 FPDF_EXPORT void FPDF_CALLCONV FORM_ReplaceSelection(FPDF_FORMHANDLE hHandle,
                                                      FPDF_PAGE page,
                                                      FPDF_WIDESTRING wsText);
 
-/*
- * Experimental API
- * Function: FORM_SelectAllText
- *       Call this function to select all the text within the currently focused
- *       form text field or form combobox text field.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- * Return Value:
- *       Whether the operation succeeded or not.
- */
+// Experimental API
+// Function: FORM_SelectAllText
+//       Call this function to select all the text within the currently focused
+//       form text field or form combobox text field.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+// Return Value:
+//       Whether the operation succeeded or not.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
 FORM_SelectAllText(FPDF_FORMHANDLE hHandle, FPDF_PAGE page);
 
-/*
- * Function: FORM_CanUndo
- *       Find out if it is possible for the current focused widget in a given
- *       form to perform an undo operation.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- * Return Value:
- *       True if it is possible to undo.
- */
+// Function: FORM_CanUndo
+//       Find out if it is possible for the current focused widget in a given
+//       form to perform an undo operation.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+// Return Value:
+//       True if it is possible to undo.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_CanUndo(FPDF_FORMHANDLE hHandle,
                                                  FPDF_PAGE page);
 
-/*
- * Function: FORM_CanRedo
- *       Find out if it is possible for the current focused widget in a given
- *       form to perform a redo operation.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- * Return Value:
- *       True if it is possible to redo.
- */
+// Function: FORM_CanRedo
+//       Find out if it is possible for the current focused widget in a given
+//       form to perform a redo operation.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+// Return Value:
+//       True if it is possible to redo.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_CanRedo(FPDF_FORMHANDLE hHandle,
                                                  FPDF_PAGE page);
 
-/*
- * Function: FORM_Undo
- *       Make the current focussed widget perform an undo operation.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- * Return Value:
- *       True if the undo operation succeeded.
- */
+// Function: FORM_Undo
+//       Make the current focussed widget perform an undo operation.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+// Return Value:
+//       True if the undo operation succeeded.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_Undo(FPDF_FORMHANDLE hHandle,
                                               FPDF_PAGE page);
 
-/*
- * Function: FORM_Redo
- *       Make the current focussed widget perform a redo operation.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page        -   Handle to the page, as returned by FPDF_LoadPage().
- * Return Value:
- *       True if the redo operation succeeded.
- */
+// Function: FORM_Redo
+//       Make the current focussed widget perform a redo operation.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page        -   Handle to the page, as returned by FPDF_LoadPage().
+// Return Value:
+//       True if the redo operation succeeded.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_Redo(FPDF_FORMHANDLE hHandle,
                                               FPDF_PAGE page);
 
-/*
- * Function: FORM_ForceToKillFocus.
- *       Call this member function to force to kill the focus of the form
- *       field which has focus. If it would kill the focus of a form field,
- *       save the value of form field if was changed by theuser.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- * Return Value:
- *       True indicates success; otherwise false.
- */
+// Function: FORM_ForceToKillFocus.
+//       Call this member function to force to kill the focus of the form
+//       field which has focus. If it would kill the focus of a form field,
+//       save the value of form field if was changed by theuser.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+// Return Value:
+//       True indicates success; otherwise false.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
 FORM_ForceToKillFocus(FPDF_FORMHANDLE hHandle);
 
-/*
- * Experimental API.
- * Function: FORM_GetFocusedAnnot.
- *       Call this member function to get the currently focused annotation.
- * Parameters:
- *       handle      -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       page_index  -   Buffer to hold the index number of the page which
- *                       contains the focused annotation. 0 for the first page.
- *                       Can't be NULL.
- *       annot       -   Buffer to hold the focused annotation. Can't be NULL.
- * Return Value:
- *       On success, return true and write to the out parameters. Otherwise return
- *       false and leave the out parameters unmodified.
- * Comments:
- *       Not currently supported for XFA forms - will report no focused
- *       annotation.
- *       Must call FPDFPage_CloseAnnot() when the annotation returned in |annot|
- *       by this function is no longer needed.
- *       This will return true and set |page_index| to -1 and |annot| to NULL, if
- *       there is no focused annotation.
- */
+// Experimental API.
+// Function: FORM_GetFocusedAnnot.
+//       Call this member function to get the currently focused annotation.
+// Parameters:
+//       handle      -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       page_index  -   Buffer to hold the index number of the page which
+//                       contains the focused annotation. 0 for the first page.
+//                       Can't be NULL.
+//       annot       -   Buffer to hold the focused annotation. Can't be NULL.
+// Return Value:
+//       On success, return true and write to the out parameters. Otherwise
+//       return false and leave the out parameters unmodified.
+// Comments:
+//       Not currently supported for XFA forms - will report no focused
+//       annotation.
+//       Must call FPDFPage_CloseAnnot() when the annotation returned in |annot|
+//       by this function is no longer needed.
+//       This will return true and set |page_index| to -1 and |annot| to NULL,
+//       if there is no focused annotation.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
 FORM_GetFocusedAnnot(FPDF_FORMHANDLE handle,
                      int* page_index,
                      FPDF_ANNOTATION* annot);
 
-/*
- * Experimental API.
- * Function: FORM_SetFocusedAnnot.
- *       Call this member function to set the currently focused annotation.
- * Parameters:
- *       handle      -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       annot       -   Handle to an annotation.
- * Return Value:
- *       True indicates success; otherwise false.
- * Comments:
- *       |annot| can't be NULL. To kill focus, use FORM_ForceToKillFocus()
- *       instead.
- */
+// Experimental API.
+// Function: FORM_SetFocusedAnnot.
+//       Call this member function to set the currently focused annotation.
+// Parameters:
+//       handle      -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       annot       -   Handle to an annotation.
+// Return Value:
+//       True indicates success; otherwise false.
+// Comments:
+//       |annot| can't be NULL. To kill focus, use FORM_ForceToKillFocus()
+//       instead.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
 FORM_SetFocusedAnnot(FPDF_FORMHANDLE handle, FPDF_ANNOTATION annot);
 
@@ -1768,140 +1611,128 @@
    ((type) == FPDF_FORMFIELD_XFA_TEXTFIELD))
 #endif  // PDF_ENABLE_XFA
 
-/*
- * Function: FPDFPage_HasFormFieldAtPoint
- *     Get the form field type by point.
- * Parameters:
- *     hHandle     -   Handle to the form fill module. Returned by
- *                     FPDFDOC_InitFormFillEnvironment().
- *     page        -   Handle to the page. Returned by FPDF_LoadPage().
- *     page_x      -   X position in PDF "user space".
- *     page_y      -   Y position in PDF "user space".
- * Return Value:
- *     Return the type of the form field; -1 indicates no field.
- *     See field types above.
- */
+// Function: FPDFPage_HasFormFieldAtPoint
+//     Get the form field type by point.
+// Parameters:
+//     hHandle     -   Handle to the form fill module. Returned by
+//                     FPDFDOC_InitFormFillEnvironment().
+//     page        -   Handle to the page. Returned by FPDF_LoadPage().
+//     page_x      -   X position in PDF "user space".
+//     page_y      -   Y position in PDF "user space".
+// Return Value:
+//     Return the type of the form field; -1 indicates no field.
+//     See field types above.
 FPDF_EXPORT int FPDF_CALLCONV
 FPDFPage_HasFormFieldAtPoint(FPDF_FORMHANDLE hHandle,
                              FPDF_PAGE page,
                              double page_x,
                              double page_y);
 
-/*
- * Function: FPDFPage_FormFieldZOrderAtPoint
- *     Get the form field z-order by point.
- * Parameters:
- *     hHandle     -   Handle to the form fill module. Returned by
- *                     FPDFDOC_InitFormFillEnvironment().
- *     page        -   Handle to the page. Returned by FPDF_LoadPage().
- *     page_x      -   X position in PDF "user space".
- *     page_y      -   Y position in PDF "user space".
- * Return Value:
- *     Return the z-order of the form field; -1 indicates no field.
- *     Higher numbers are closer to the front.
- */
+// Function: FPDFPage_FormFieldZOrderAtPoint
+//     Get the form field z-order by point.
+// Parameters:
+//     hHandle     -   Handle to the form fill module. Returned by
+//                     FPDFDOC_InitFormFillEnvironment().
+//     page        -   Handle to the page. Returned by FPDF_LoadPage().
+//     page_x      -   X position in PDF "user space".
+//     page_y      -   Y position in PDF "user space".
+// Return Value:
+//     Return the z-order of the form field; -1 indicates no field.
+//     Higher numbers are closer to the front.
 FPDF_EXPORT int FPDF_CALLCONV
 FPDFPage_FormFieldZOrderAtPoint(FPDF_FORMHANDLE hHandle,
                                 FPDF_PAGE page,
                                 double page_x,
                                 double page_y);
 
-/*
- * Function: FPDF_SetFormFieldHighlightColor
- *       Set the highlight color of the specified (or all) form fields
- *       in the document.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       doc         -   Handle to the document, as returned by
- *                       FPDF_LoadDocument().
- *       fieldType   -   A 32-bit integer indicating the type of a form
- *                       field (defined above).
- *       color       -   The highlight color of the form field. Constructed by
- *                       0xxxrrggbb.
- * Return Value:
- *       None.
- * Comments:
- *       When the parameter fieldType is set to FPDF_FORMFIELD_UNKNOWN, the
- *       highlight color will be applied to all the form fields in the
- *       document.
- *       Please refresh the client window to show the highlight immediately
- *       if necessary.
- */
+// Function: FPDF_SetFormFieldHighlightColor
+//       Set the highlight color of the specified (or all) form fields
+//       in the document.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       doc         -   Handle to the document, as returned by
+//                       FPDF_LoadDocument().
+//       fieldType   -   A 32-bit integer indicating the type of a form
+//                       field (defined above).
+//       color       -   The highlight color of the form field. Constructed by
+//                       0xxxrrggbb.
+// Return Value:
+//       None.
+// Comments:
+//       When the parameter fieldType is set to FPDF_FORMFIELD_UNKNOWN, the
+//       highlight color will be applied to all the form fields in the
+//       document.
+//       Please refresh the client window to show the highlight immediately
+//       if necessary.
 FPDF_EXPORT void FPDF_CALLCONV
 FPDF_SetFormFieldHighlightColor(FPDF_FORMHANDLE hHandle,
                                 int fieldType,
                                 unsigned long color);
 
-/*
- * Function: FPDF_SetFormFieldHighlightAlpha
- *       Set the transparency of the form field highlight color in the
- *       document.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- *       doc         -   Handle to the document, as returaned by
- *                       FPDF_LoadDocument().
- *       alpha       -   The transparency of the form field highlight color,
- *                       between 0-255.
- * Return Value:
- *       None.
- */
+// Function: FPDF_SetFormFieldHighlightAlpha
+//       Set the transparency of the form field highlight color in the
+//       document.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+//       doc         -   Handle to the document, as returaned by
+//                       FPDF_LoadDocument().
+//       alpha       -   The transparency of the form field highlight color,
+//                       between 0-255.
+// Return Value:
+//       None.
 FPDF_EXPORT void FPDF_CALLCONV
 FPDF_SetFormFieldHighlightAlpha(FPDF_FORMHANDLE hHandle, unsigned char alpha);
 
-/*
- * Function: FPDF_RemoveFormFieldHighlight
- *       Remove the form field highlight color in the document.
- * Parameters:
- *       hHandle     -   Handle to the form fill module, as returned by
- *                       FPDFDOC_InitFormFillEnvironment().
- * Return Value:
- *       None.
- * Comments:
- *       Please refresh the client window to remove the highlight immediately
- *       if necessary.
- */
+// Function: FPDF_RemoveFormFieldHighlight
+//       Remove the form field highlight color in the document.
+// Parameters:
+//       hHandle     -   Handle to the form fill module, as returned by
+//                       FPDFDOC_InitFormFillEnvironment().
+// Return Value:
+//       None.
+// Comments:
+//       Please refresh the client window to remove the highlight immediately
+//       if necessary.
 FPDF_EXPORT void FPDF_CALLCONV
 FPDF_RemoveFormFieldHighlight(FPDF_FORMHANDLE hHandle);
 
-/*
-* Function: FPDF_FFLDraw
-*       Render FormFields and popup window on a page to a device independent
-*       bitmap.
-* Parameters:
-*       hHandle      -   Handle to the form fill module, as returned by
-*                        FPDFDOC_InitFormFillEnvironment().
-*       bitmap       -   Handle to the device independent bitmap (as the
-*                        output buffer). Bitmap handles can be created by
-*                        FPDFBitmap_Create().
-*       page         -   Handle to the page, as returned by FPDF_LoadPage().
-*       start_x      -   Left pixel position of the display area in the
-*                        device coordinates.
-*       start_y      -   Top pixel position of the display area in the device
-*                        coordinates.
-*       size_x       -   Horizontal size (in pixels) for displaying the page.
-*       size_y       -   Vertical size (in pixels) for displaying the page.
-*       rotate       -   Page orientation: 0 (normal), 1 (rotated 90 degrees
-*                        clockwise), 2 (rotated 180 degrees), 3 (rotated 90
-*                        degrees counter-clockwise).
-*       flags        -   0 for normal display, or combination of flags
-*                        defined above.
-* Return Value:
-*       None.
-* Comments:
-*       This function is designed to render annotations that are
-*       user-interactive, which are widget annotations (for FormFields) and
-*       popup annotations.
-*       With the FPDF_ANNOT flag, this function will render a popup annotation
-*       when users mouse-hover on a non-widget annotation. Regardless of
-*       FPDF_ANNOT flag, this function will always render widget annotations
-*       for FormFields.
-*       In order to implement the FormFill functions, implementation should
-*       call this function after rendering functions, such as
-*       FPDF_RenderPageBitmap() or FPDF_RenderPageBitmap_Start(), have
-*       finished rendering the page contents.
-*/
+// Function: FPDF_FFLDraw
+//       Render FormFields and popup window on a page to a device independent
+//       bitmap.
+// Parameters:
+//       hHandle      -   Handle to the form fill module, as returned by
+//                        FPDFDOC_InitFormFillEnvironment().
+//       bitmap       -   Handle to the device independent bitmap (as the
+//                        output buffer). Bitmap handles can be created by
+//                        FPDFBitmap_Create().
+//       page         -   Handle to the page, as returned by FPDF_LoadPage().
+//       start_x      -   Left pixel position of the display area in the
+//                        device coordinates.
+//       start_y      -   Top pixel position of the display area in the device
+//                        coordinates.
+//       size_x       -   Horizontal size (in pixels) for displaying the page.
+//       size_y       -   Vertical size (in pixels) for displaying the page.
+//       rotate       -   Page orientation: 0 (normal), 1 (rotated 90 degrees
+//                        clockwise), 2 (rotated 180 degrees), 3 (rotated 90
+//                        degrees counter-clockwise).
+//       flags        -   0 for normal display, or combination of flags
+//                        defined above.
+// Return Value:
+//       None.
+// Comments:
+//       This function is designed to render annotations that are
+//       user-interactive, which are widget annotations (for FormFields) and
+//       popup annotations.
+//       With the FPDF_ANNOT flag, this function will render a popup annotation
+//       when users mouse-hover on a non-widget annotation. Regardless of
+//       FPDF_ANNOT flag, this function will always render widget annotations
+//       for FormFields.
+//       In order to implement the FormFill functions, implementation should
+//       call this function after rendering functions, such as
+//       FPDF_RenderPageBitmap() or FPDF_RenderPageBitmap_Start(), have
+//       finished rendering the page contents.
 FPDF_EXPORT void FPDF_CALLCONV FPDF_FFLDraw(FPDF_FORMHANDLE hHandle,
                                             FPDF_BITMAP bitmap,
                                             FPDF_PAGE page,
@@ -1924,80 +1755,72 @@
                                                 int flags);
 #endif
 
-/*
- * Experimental API
- * Function: FPDF_GetFormType
- *           Returns the type of form contained in the PDF document.
- * Parameters:
- *           document - Handle to document.
- * Return Value:
- *           Integer value representing one of the FORMTYPE_ values.
- * Comments:
- *           If |document| is NULL, then the return value is FORMTYPE_NONE.
- */
+// Experimental API
+// Function: FPDF_GetFormType
+//           Returns the type of form contained in the PDF document.
+// Parameters:
+//           document - Handle to document.
+// Return Value:
+//           Integer value representing one of the FORMTYPE_ values.
+// Comments:
+//           If |document| is NULL, then the return value is FORMTYPE_NONE.
 FPDF_EXPORT int FPDF_CALLCONV FPDF_GetFormType(FPDF_DOCUMENT document);
 
-/*
- * Experimental API
- * Function: FORM_SetIndexSelected
- *           Selects/deselects the value at the given |index| of the focused
- *           annotation.
- * Parameters:
- *           hHandle     -   Handle to the form fill module. Returned by
- *                           FPDFDOC_InitFormFillEnvironment.
- *           page        -   Handle to the page. Returned by FPDF_LoadPage
- *           index       -   0-based index of value to be set as
- *                           selected/unselected
- *           selected    -   true to select, false to deselect
- * Return Value:
- *           TRUE if the operation succeeded.
- *           FALSE if the operation failed or widget is not a supported type.
- * Comments:
- *           Intended for use with listbox/combobox widget types. Comboboxes
- *           have at most a single value selected at a time which cannot be
- *           deselected. Deselect on a combobox is a no-op that returns false.
- *           Default implementation is a no-op that will return false for
- *           other types.
- *           Not currently supported for XFA forms - will return false.
- */
+// Experimental API
+// Function: FORM_SetIndexSelected
+//           Selects/deselects the value at the given |index| of the focused
+//           annotation.
+// Parameters:
+//           hHandle     -   Handle to the form fill module. Returned by
+//                           FPDFDOC_InitFormFillEnvironment.
+//           page        -   Handle to the page. Returned by FPDF_LoadPage
+//           index       -   0-based index of value to be set as
+//                           selected/unselected
+//           selected    -   true to select, false to deselect
+// Return Value:
+//           TRUE if the operation succeeded.
+//           FALSE if the operation failed or widget is not a supported type.
+// Comments:
+//           Intended for use with listbox/combobox widget types. Comboboxes
+//           have at most a single value selected at a time which cannot be
+//           deselected. Deselect on a combobox is a no-op that returns false.
+//           Default implementation is a no-op that will return false for
+//           other types.
+//           Not currently supported for XFA forms - will return false.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
 FORM_SetIndexSelected(FPDF_FORMHANDLE hHandle,
                       FPDF_PAGE page,
                       int index,
                       FPDF_BOOL selected);
 
-/*
- * Experimental API
- * Function: FORM_IsIndexSelected
- *           Returns whether or not the value at |index| of the focused
- *           annotation is currently selected.
- * Parameters:
- *           hHandle     -   Handle to the form fill module. Returned by
- *                           FPDFDOC_InitFormFillEnvironment.
- *           page        -   Handle to the page. Returned by FPDF_LoadPage
- *           index       -   0-based Index of value to check
- * Return Value:
- *           TRUE if value at |index| is currently selected.
- *           FALSE if value at |index| is not selected or widget is not a
- *           supported type.
- * Comments:
- *           Intended for use with listbox/combobox widget types. Default
- *           implementation is a no-op that will return false for other types.
- *           Not currently supported for XFA forms - will return false.
- */
+// Experimental API
+// Function: FORM_IsIndexSelected
+//           Returns whether or not the value at |index| of the focused
+//           annotation is currently selected.
+// Parameters:
+//           hHandle     -   Handle to the form fill module. Returned by
+//                           FPDFDOC_InitFormFillEnvironment.
+//           page        -   Handle to the page. Returned by FPDF_LoadPage
+//           index       -   0-based Index of value to check
+// Return Value:
+//           TRUE if value at |index| is currently selected.
+//           FALSE if value at |index| is not selected or widget is not a
+//           supported type.
+// Comments:
+//           Intended for use with listbox/combobox widget types. Default
+//           implementation is a no-op that will return false for other types.
+//           Not currently supported for XFA forms - will return false.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
 FORM_IsIndexSelected(FPDF_FORMHANDLE hHandle, FPDF_PAGE page, int index);
 
-/*
- * Function: FPDF_LoadXFA
- *          If the document consists of XFA fields, call this method to
- *          attempt to load XFA fields.
- * Parameters:
- *          document     -   Handle to document from FPDF_LoadDocument().
- * Return Value:
- *          TRUE upon success, otherwise FALSE. If XFA support is not built
- *          into PDFium, performs no action and always returns FALSE.
- */
+// Function: FPDF_LoadXFA
+//          If the document consists of XFA fields, call this method to
+//          attempt to load XFA fields.
+// Parameters:
+//          document     -   Handle to document from FPDF_LoadDocument().
+// Return Value:
+//          TRUE upon success, otherwise FALSE. If XFA support is not built
+//          into PDFium, performs no action and always returns FALSE.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_LoadXFA(FPDF_DOCUMENT document);
 
 #ifdef __cplusplus
diff --git a/public/fpdf_progressive.h b/public/fpdf_progressive.h
index b146d48..0505a54 100644
--- a/public/fpdf_progressive.h
+++ b/public/fpdf_progressive.h
@@ -23,23 +23,19 @@
 
 // IFPDF_RENDERINFO interface.
 typedef struct _IFSDK_PAUSE {
-  /*
-   * Version number of the interface. Currently must be 1.
-   */
+  // Version number of the interface. Currently must be 1.
   int version;
 
-  /*
-   * Method: NeedToPauseNow
-   *           Check if we need to pause a progressive process now.
-   * Interface Version:
-   *           1
-   * Implementation Required:
-   *           yes
-   * Parameters:
-   *           pThis       -   Pointer to the interface structure itself
-   * Return Value:
-   *           Non-zero for pause now, 0 for continue.
-   */
+  // Method: NeedToPauseNow
+  //           Check if we need to pause a progressive process now.
+  // Interface Version:
+  //           1
+  // Implementation Required:
+  //           yes
+  // Parameters:
+  //           pThis       -   Pointer to the interface structure itself
+  // Return Value:
+  //           Non-zero for pause now, 0 for continue.
   FPDF_BOOL (*NeedToPauseNow)(struct _IFSDK_PAUSE* pThis);
 
   // A user defined data pointer, used by user's application. Can be NULL.
diff --git a/public/fpdf_sysfontinfo.h b/public/fpdf_sysfontinfo.h
index 0ba711d..9152c88 100644
--- a/public/fpdf_sysfontinfo.h
+++ b/public/fpdf_sysfontinfo.h
@@ -11,7 +11,7 @@
 // NOLINTNEXTLINE(build/include)
 #include "fpdfview.h"
 
-/* Character sets for the font */
+// Character sets for the font
 #define FXFONT_ANSI_CHARSET 0
 #define FXFONT_DEFAULT_CHARSET 1
 #define FXFONT_SYMBOL_CHARSET 2
@@ -27,12 +27,12 @@
 #define FXFONT_THAI_CHARSET 222
 #define FXFONT_EASTERNEUROPEAN_CHARSET 238
 
-/* Font pitch and family flags */
+// Font pitch and family flags
 #define FXFONT_FF_FIXEDPITCH (1 << 0)
 #define FXFONT_FF_ROMAN (1 << 4)
 #define FXFONT_FF_SCRIPT (4 << 4)
 
-/* Typical weight values */
+// Typical weight values
 #define FXFONT_FW_NORMAL 400
 #define FXFONT_FW_BOLD 700
 
@@ -41,84 +41,74 @@
 extern "C" {
 #endif
 
-/*
- * Interface: FPDF_SYSFONTINFO
- *          Interface for getting system font information and font mapping
- */
+// Interface: FPDF_SYSFONTINFO
+//          Interface for getting system font information and font mapping
 typedef struct _FPDF_SYSFONTINFO {
-  /*
-   * Version number of the interface. Currently must be 1.
-   */
+  // Version number of the interface. Currently must be 1.
   int version;
 
-  /*
-   * Method: Release
-   *          Give implementation a chance to release any data after the
-   *          interface is no longer used.
-   * Interface Version:
-   *          1
-   * Implementation Required:
-   *          No
-   * Parameters:
-   *          pThis       -   Pointer to the interface structure itself
-   * Return Value:
-   *          None
-   * Comments:
-   *          Called by PDFium during the final cleanup process.
-   */
+  // Method: Release
+  //          Give implementation a chance to release any data after the
+  //          interface is no longer used.
+  // Interface Version:
+  //          1
+  // Implementation Required:
+  //          No
+  // Parameters:
+  //          pThis       -   Pointer to the interface structure itself
+  // Return Value:
+  //          None
+  // Comments:
+  //          Called by PDFium during the final cleanup process.
   void (*Release)(struct _FPDF_SYSFONTINFO* pThis);
 
-  /*
-   * Method: EnumFonts
-   *          Enumerate all fonts installed on the system
-   * Interface Version:
-   *          1
-   * Implementation Required:
-   *          No
-   * Parameters:
-   *          pThis       -   Pointer to the interface structure itself
-   *          pMapper     -   An opaque pointer to internal font mapper, used
-   *                          when calling FPDF_AddInstalledFont().
-   * Return Value:
-   *          None
-   * Comments:
-   *          Implementations should call FPDF_AddIntalledFont() function for
-   *          each font found. Only TrueType/OpenType and Type1 fonts are accepted
-   *          by PDFium.
-   */
+  // Method: EnumFonts
+  //          Enumerate all fonts installed on the system
+  // Interface Version:
+  //          1
+  // Implementation Required:
+  //          No
+  // Parameters:
+  //          pThis       -   Pointer to the interface structure itself
+  //          pMapper     -   An opaque pointer to internal font mapper, used
+  //                          when calling FPDF_AddInstalledFont().
+  // Return Value:
+  //          None
+  // Comments:
+  //          Implementations should call FPDF_AddIntalledFont() function for
+  //          each font found. Only TrueType/OpenType and Type1 fonts are
+  //          accepted by PDFium.
   void (*EnumFonts)(struct _FPDF_SYSFONTINFO* pThis, void* pMapper);
 
-  /*
-   * Method: MapFont
-   *          Use the system font mapper to get a font handle from requested
-   *          parameters.
-   * Interface Version:
-   *          1
-   * Implementation Required:
-   *          Required if GetFont method is not implemented.
-   * Parameters:
-   *          pThis       -   Pointer to the interface structure itself
-   *          weight      -   Weight of the requested font. 400 is normal and
-   *                          700 is bold.
-   *          bItalic     -   Italic option of the requested font, TRUE or
-   *                          FALSE.
-   *          charset     -   Character set identifier for the requested font.
-   *                          See above defined constants.
-   *          pitch_family -  A combination of flags. See above defined
-   *                          constants.
-   *          face        -   Typeface name. Currently use system local encoding
-   *                          only.
-   *          bExact      -   Obsolete: this parameter is now ignored.
-   * Return Value:
-   *          An opaque pointer for font handle, or NULL if system mapping is
-   *          not supported.
-   * Comments:
-   *          If the system supports native font mapper (like Windows),
-   *          implementation can implement this method to get a font handle.
-   *          Otherwise, PDFium will do the mapping and then call GetFont
-   *          method. Only TrueType/OpenType and Type1 fonts are accepted
-   *          by PDFium.
-   */
+  // Method: MapFont
+  //          Use the system font mapper to get a font handle from requested
+  //          parameters.
+  // Interface Version:
+  //          1
+  // Implementation Required:
+  //          Required if GetFont method is not implemented.
+  // Parameters:
+  //          pThis       -   Pointer to the interface structure itself
+  //          weight      -   Weight of the requested font. 400 is normal and
+  //                          700 is bold.
+  //          bItalic     -   Italic option of the requested font, TRUE or
+  //                          FALSE.
+  //          charset     -   Character set identifier for the requested font.
+  //                          See above defined constants.
+  //          pitch_family -  A combination of flags. See above defined
+  //                          constants.
+  //          face        -   Typeface name. Currently use system local encoding
+  //                          only.
+  //          bExact      -   Obsolete: this parameter is now ignored.
+  // Return Value:
+  //          An opaque pointer for font handle, or NULL if system mapping is
+  //          not supported.
+  // Comments:
+  //          If the system supports native font mapper (like Windows),
+  //          implementation can implement this method to get a font handle.
+  //          Otherwise, PDFium will do the mapping and then call GetFont
+  //          method. Only TrueType/OpenType and Type1 fonts are accepted
+  //          by PDFium.
   void* (*MapFont)(struct _FPDF_SYSFONTINFO* pThis,
                    int weight,
                    FPDF_BOOL bItalic,
@@ -127,189 +117,167 @@
                    const char* face,
                    FPDF_BOOL* bExact);
 
-  /*
-   * Method: GetFont
-   *          Get a handle to a particular font by its internal ID
-   * Interface Version:
-   *          1
-   * Implementation Required:
-   *          Required if MapFont method is not implemented.
-   * Return Value:
-   *          An opaque pointer for font handle.
-   * Parameters:
-   *          pThis       -   Pointer to the interface structure itself
-   *          face        -   Typeface name in system local encoding.
-   * Comments:
-   *          If the system mapping not supported, PDFium will do the font
-   *          mapping and use this method to get a font handle.
-   */
+  // Method: GetFont
+  //          Get a handle to a particular font by its internal ID
+  // Interface Version:
+  //          1
+  // Implementation Required:
+  //          Required if MapFont method is not implemented.
+  // Return Value:
+  //          An opaque pointer for font handle.
+  // Parameters:
+  //          pThis       -   Pointer to the interface structure itself
+  //          face        -   Typeface name in system local encoding.
+  // Comments:
+  //          If the system mapping not supported, PDFium will do the font
+  //          mapping and use this method to get a font handle.
   void* (*GetFont)(struct _FPDF_SYSFONTINFO* pThis, const char* face);
 
-  /*
-   * Method: GetFontData
-   *          Get font data from a font
-   * Interface Version:
-   *          1
-   * Implementation Required:
-   *          Yes
-   * Parameters:
-   *          pThis       -   Pointer to the interface structure itself
-   *          hFont       -   Font handle returned by MapFont or GetFont method
-   *          table       -   TrueType/OpenType table identifier (refer to
-   *                          TrueType specification), or 0 for the whole file.
-   *          buffer      -   The buffer receiving the font data. Can be NULL if
-   *                          not provided.
-   *          buf_size    -   Buffer size, can be zero if not provided.
-   * Return Value:
-   *          Number of bytes needed, if buffer not provided or not large
-   *          enough, or number of bytes written into buffer otherwise.
-   * Comments:
-   *          Can read either the full font file, or a particular
-   *          TrueType/OpenType table.
-   */
+  // Method: GetFontData
+  //          Get font data from a font
+  // Interface Version:
+  //          1
+  // Implementation Required:
+  //          Yes
+  // Parameters:
+  //          pThis       -   Pointer to the interface structure itself
+  //          hFont       -   Font handle returned by MapFont or GetFont method
+  //          table       -   TrueType/OpenType table identifier (refer to
+  //                          TrueType specification), or 0 for the whole file.
+  //          buffer      -   The buffer receiving the font data. Can be NULL if
+  //                          not provided.
+  //          buf_size    -   Buffer size, can be zero if not provided.
+  // Return Value:
+  //          Number of bytes needed, if buffer not provided or not large
+  //          enough, or number of bytes written into buffer otherwise.
+  // Comments:
+  //          Can read either the full font file, or a particular
+  //          TrueType/OpenType table.
   unsigned long (*GetFontData)(struct _FPDF_SYSFONTINFO* pThis,
                                void* hFont,
                                unsigned int table,
                                unsigned char* buffer,
                                unsigned long buf_size);
 
-  /*
-   * Method: GetFaceName
-   *          Get face name from a font handle
-   * Interface Version:
-   *          1
-   * Implementation Required:
-   *          No
-   * Parameters:
-   *          pThis       -   Pointer to the interface structure itself
-   *          hFont       -   Font handle returned by MapFont or GetFont method
-   *          buffer      -   The buffer receiving the face name. Can be NULL if
-   *                          not provided
-   *          buf_size    -   Buffer size, can be zero if not provided
-   * Return Value:
-   *          Number of bytes needed, if buffer not provided or not large
-   *          enough, or number of bytes written into buffer otherwise.
-   */
+  // Method: GetFaceName
+  //          Get face name from a font handle
+  // Interface Version:
+  //          1
+  // Implementation Required:
+  //          No
+  // Parameters:
+  //          pThis       -   Pointer to the interface structure itself
+  //          hFont       -   Font handle returned by MapFont or GetFont method
+  //          buffer      -   The buffer receiving the face name. Can be NULL if
+  //                          not provided
+  //          buf_size    -   Buffer size, can be zero if not provided
+  // Return Value:
+  //          Number of bytes needed, if buffer not provided or not large
+  //          enough, or number of bytes written into buffer otherwise.
   unsigned long (*GetFaceName)(struct _FPDF_SYSFONTINFO* pThis,
                                void* hFont,
                                char* buffer,
                                unsigned long buf_size);
 
-  /*
-   * Method: GetFontCharset
-   *          Get character set information for a font handle
-   * Interface Version:
-   *          1
-   * Implementation Required:
-   *          No
-   * Parameters:
-   *          pThis       -   Pointer to the interface structure itself
-   *          hFont       -   Font handle returned by MapFont or GetFont method
-   * Return Value:
-   *          Character set identifier. See defined constants above.
-   */
+  // Method: GetFontCharset
+  //          Get character set information for a font handle
+  // Interface Version:
+  //          1
+  // Implementation Required:
+  //          No
+  // Parameters:
+  //          pThis       -   Pointer to the interface structure itself
+  //          hFont       -   Font handle returned by MapFont or GetFont method
+  // Return Value:
+  //          Character set identifier. See defined constants above.
   int (*GetFontCharset)(struct _FPDF_SYSFONTINFO* pThis, void* hFont);
 
-  /*
-   * Method: DeleteFont
-   *          Delete a font handle
-   * Interface Version:
-   *          1
-   * Implementation Required:
-   *          Yes
-   * Parameters:
-   *          pThis       -   Pointer to the interface structure itself
-   *          hFont       -   Font handle returned by MapFont or GetFont method
-   * Return Value:
-   *          None
-   */
+  // Method: DeleteFont
+  //          Delete a font handle
+  // Interface Version:
+  //          1
+  // Implementation Required:
+  //          Yes
+  // Parameters:
+  //          pThis       -   Pointer to the interface structure itself
+  //          hFont       -   Font handle returned by MapFont or GetFont method
+  // Return Value:
+  //          None
   void (*DeleteFont)(struct _FPDF_SYSFONTINFO* pThis, void* hFont);
 } FPDF_SYSFONTINFO;
 
-/*
- * Struct: FPDF_CharsetFontMap
- *    Provides the name of a font to use for a given charset value.
- */
+// Struct: FPDF_CharsetFontMap
+//    Provides the name of a font to use for a given charset value.
 typedef struct FPDF_CharsetFontMap_ {
   int charset;  // Character Set Enum value, see FXFONT_*_CHARSET above.
   const char* fontname;  // Name of default font to use with that charset.
 } FPDF_CharsetFontMap;
 
-/*
- * Function: FPDF_GetDefaultTTFMap
- *    Returns a pointer to the default character set to TT Font name map. The
- *    map is an array of FPDF_CharsetFontMap structs, with its end indicated
- *    by a { -1, NULL } entry.
- * Parameters:
- *     None.
- * Return Value:
- *     Pointer to the Charset Font Map.
- */
+// Function: FPDF_GetDefaultTTFMap
+//    Returns a pointer to the default character set to TT Font name map. The
+//    map is an array of FPDF_CharsetFontMap structs, with its end indicated
+//    by a { -1, NULL } entry.
+// Parameters:
+//     None.
+// Return Value:
+//     Pointer to the Charset Font Map.
 FPDF_EXPORT const FPDF_CharsetFontMap* FPDF_CALLCONV FPDF_GetDefaultTTFMap();
 
-/*
- * Function: FPDF_AddInstalledFont
- *          Add a system font to the list in PDFium.
- * Comments:
- *          This function is only called during the system font list building
- *          process.
- * Parameters:
- *          mapper          -   Opaque pointer to Foxit font mapper
- *          face            -   The font face name
- *          charset         -   Font character set. See above defined constants.
- * Return Value:
- *          None.
- */
+// Function: FPDF_AddInstalledFont
+//          Add a system font to the list in PDFium.
+// Comments:
+//          This function is only called during the system font list building
+//          process.
+// Parameters:
+//          mapper          -   Opaque pointer to Foxit font mapper
+//          face            -   The font face name
+//          charset         -   Font character set. See above defined constants.
+// Return Value:
+//          None.
 FPDF_EXPORT void FPDF_CALLCONV FPDF_AddInstalledFont(void* mapper,
                                                      const char* face,
                                                      int charset);
 
-/*
- * Function: FPDF_SetSystemFontInfo
- *          Set the system font info interface into PDFium
- * Parameters:
- *          pFontInfo       -   Pointer to a FPDF_SYSFONTINFO structure
- * Return Value:
- *          None
- * Comments:
- *          Platform support implementation should implement required methods of
- *          FFDF_SYSFONTINFO interface, then call this function during PDFium
- *          initialization process.
- *
- *          Call this with NULL to tell PDFium to stop using a previously set
- *          |FPDF_SYSFONTINFO|.
- */
+// Function: FPDF_SetSystemFontInfo
+//          Set the system font info interface into PDFium
+// Parameters:
+//          pFontInfo       -   Pointer to a FPDF_SYSFONTINFO structure
+// Return Value:
+//          None
+// Comments:
+//          Platform support implementation should implement required methods of
+//          FFDF_SYSFONTINFO interface, then call this function during PDFium
+//          initialization process.
+//
+//          Call this with NULL to tell PDFium to stop using a previously set
+//          |FPDF_SYSFONTINFO|.
 FPDF_EXPORT void FPDF_CALLCONV
 FPDF_SetSystemFontInfo(FPDF_SYSFONTINFO* pFontInfo);
 
-/*
- * Function: FPDF_GetDefaultSystemFontInfo
- *          Get default system font info interface for current platform
- * Parameters:
- *          None
- * Return Value:
- *          Pointer to a FPDF_SYSFONTINFO structure describing the default
- *          interface, or NULL if the platform doesn't have a default interface.
- *          Application should call FPDF_FreeDefaultSystemFontInfo to free the
- *          returned pointer.
- * Comments:
- *          For some platforms, PDFium implements a default version of system
- *          font info interface. The default implementation can be passed to
- *          FPDF_SetSystemFontInfo().
- */
+// Function: FPDF_GetDefaultSystemFontInfo
+//          Get default system font info interface for current platform
+// Parameters:
+//          None
+// Return Value:
+//          Pointer to a FPDF_SYSFONTINFO structure describing the default
+//          interface, or NULL if the platform doesn't have a default interface.
+//          Application should call FPDF_FreeDefaultSystemFontInfo to free the
+//          returned pointer.
+// Comments:
+//          For some platforms, PDFium implements a default version of system
+//          font info interface. The default implementation can be passed to
+//          FPDF_SetSystemFontInfo().
 FPDF_EXPORT FPDF_SYSFONTINFO* FPDF_CALLCONV FPDF_GetDefaultSystemFontInfo();
 
-/*
- * Function: FPDF_FreeDefaultSystemFontInfo
- *           Free a default system font info interface
- * Parameters:
- *           pFontInfo       -   Pointer to a FPDF_SYSFONTINFO structure
- * Return Value:
- *           None
- * Comments:
- *           This function should be called on the output from
- *           FPDF_GetDefaultSystemFontInfo() once it is no longer needed.
- */
+// Function: FPDF_FreeDefaultSystemFontInfo
+//           Free a default system font info interface
+// Parameters:
+//           pFontInfo       -   Pointer to a FPDF_SYSFONTINFO structure
+// Return Value:
+//           None
+// Comments:
+//           This function should be called on the output from
+//           FPDF_GetDefaultSystemFontInfo() once it is no longer needed.
 FPDF_EXPORT void FPDF_CALLCONV
 FPDF_FreeDefaultSystemFontInfo(FPDF_SYSFONTINFO* pFontInfo);
 
diff --git a/public/fpdf_transformpage.h b/public/fpdf_transformpage.h
index d5c5daa..3df743b 100644
--- a/public/fpdf_transformpage.h
+++ b/public/fpdf_transformpage.h
@@ -14,203 +14,179 @@
 extern "C" {
 #endif
 
-/**
- * Set "MediaBox" entry to the page dictionary.
- *
- * page   - Handle to a page.
- * left   - The left of the rectangle.
- * bottom - The bottom of the rectangle.
- * right  - The right of the rectangle.
- * top    - The top of the rectangle.
- */
+// Set "MediaBox" entry to the page dictionary.
+//
+// page   - Handle to a page.
+// left   - The left of the rectangle.
+// bottom - The bottom of the rectangle.
+// right  - The right of the rectangle.
+// top    - The top of the rectangle.
 FPDF_EXPORT void FPDF_CALLCONV FPDFPage_SetMediaBox(FPDF_PAGE page,
                                                     float left,
                                                     float bottom,
                                                     float right,
                                                     float top);
 
-/**
- * Set "CropBox" entry to the page dictionary.
- *
- * page   - Handle to a page.
- * left   - The left of the rectangle.
- * bottom - The bottom of the rectangle.
- * right  - The right of the rectangle.
- * top    - The top of the rectangle.
- */
+// Set "CropBox" entry to the page dictionary.
+//
+// page   - Handle to a page.
+// left   - The left of the rectangle.
+// bottom - The bottom of the rectangle.
+// right  - The right of the rectangle.
+// top    - The top of the rectangle.
 FPDF_EXPORT void FPDF_CALLCONV FPDFPage_SetCropBox(FPDF_PAGE page,
                                                    float left,
                                                    float bottom,
                                                    float right,
                                                    float top);
 
-/**
- * Set "BleedBox" entry to the page dictionary.
- *
- * page   - Handle to a page.
- * left   - The left of the rectangle.
- * bottom - The bottom of the rectangle.
- * right  - The right of the rectangle.
- * top    - The top of the rectangle.
- */
+// Set "BleedBox" entry to the page dictionary.
+//
+// page   - Handle to a page.
+// left   - The left of the rectangle.
+// bottom - The bottom of the rectangle.
+// right  - The right of the rectangle.
+// top    - The top of the rectangle.
 FPDF_EXPORT void FPDF_CALLCONV FPDFPage_SetBleedBox(FPDF_PAGE page,
                                                     float left,
                                                     float bottom,
                                                     float right,
                                                     float top);
 
-/**
- * Set "TrimBox" entry to the page dictionary.
- *
- * page   - Handle to a page.
- * left   - The left of the rectangle.
- * bottom - The bottom of the rectangle.
- * right  - The right of the rectangle.
- * top    - The top of the rectangle.
- */
+// Set "TrimBox" entry to the page dictionary.
+//
+// page   - Handle to a page.
+// left   - The left of the rectangle.
+// bottom - The bottom of the rectangle.
+// right  - The right of the rectangle.
+// top    - The top of the rectangle.
 FPDF_EXPORT void FPDF_CALLCONV FPDFPage_SetTrimBox(FPDF_PAGE page,
                                                    float left,
                                                    float bottom,
                                                    float right,
                                                    float top);
 
-/**
- * Set "ArtBox" entry to the page dictionary.
- *
- * page   - Handle to a page.
- * left   - The left of the rectangle.
- * bottom - The bottom of the rectangle.
- * right  - The right of the rectangle.
- * top    - The top of the rectangle.
- */
+// Set "ArtBox" entry to the page dictionary.
+//
+// page   - Handle to a page.
+// left   - The left of the rectangle.
+// bottom - The bottom of the rectangle.
+// right  - The right of the rectangle.
+// top    - The top of the rectangle.
 FPDF_EXPORT void FPDF_CALLCONV FPDFPage_SetArtBox(FPDF_PAGE page,
                                                   float left,
                                                   float bottom,
                                                   float right,
                                                   float top);
 
-/**
- * Get "MediaBox" entry from the page dictionary.
- *
- * page   - Handle to a page.
- * left   - Pointer to a float value receiving the left of the rectangle.
- * bottom - Pointer to a float value receiving the bottom of the rectangle.
- * right  - Pointer to a float value receiving the right of the rectangle.
- * top    - Pointer to a float value receiving the top of the rectangle.
- *
- * On success, return true and write to the out parameters. Otherwise return
- * false and leave the out parameters unmodified.
- */
+// Get "MediaBox" entry from the page dictionary.
+//
+// page   - Handle to a page.
+// left   - Pointer to a float value receiving the left of the rectangle.
+// bottom - Pointer to a float value receiving the bottom of the rectangle.
+// right  - Pointer to a float value receiving the right of the rectangle.
+// top    - Pointer to a float value receiving the top of the rectangle.
+//
+// On success, return true and write to the out parameters. Otherwise return
+// false and leave the out parameters unmodified.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_GetMediaBox(FPDF_PAGE page,
                                                          float* left,
                                                          float* bottom,
                                                          float* right,
                                                          float* top);
 
-/**
- * Get "CropBox" entry from the page dictionary.
- *
- * page   - Handle to a page.
- * left   - Pointer to a float value receiving the left of the rectangle.
- * bottom - Pointer to a float value receiving the bottom of the rectangle.
- * right  - Pointer to a float value receiving the right of the rectangle.
- * top    - Pointer to a float value receiving the top of the rectangle.
- *
- * On success, return true and write to the out parameters. Otherwise return
- * false and leave the out parameters unmodified.
- */
+// Get "CropBox" entry from the page dictionary.
+//
+// page   - Handle to a page.
+// left   - Pointer to a float value receiving the left of the rectangle.
+// bottom - Pointer to a float value receiving the bottom of the rectangle.
+// right  - Pointer to a float value receiving the right of the rectangle.
+// top    - Pointer to a float value receiving the top of the rectangle.
+//
+// On success, return true and write to the out parameters. Otherwise return
+// false and leave the out parameters unmodified.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_GetCropBox(FPDF_PAGE page,
                                                         float* left,
                                                         float* bottom,
                                                         float* right,
                                                         float* top);
 
-/**
- * Get "BleedBox" entry from the page dictionary.
- *
- * page   - Handle to a page.
- * left   - Pointer to a float value receiving the left of the rectangle.
- * bottom - Pointer to a float value receiving the bottom of the rectangle.
- * right  - Pointer to a float value receiving the right of the rectangle.
- * top    - Pointer to a float value receiving the top of the rectangle.
- *
- * On success, return true and write to the out parameters. Otherwise return
- * false and leave the out parameters unmodified.
- */
+// Get "BleedBox" entry from the page dictionary.
+//
+// page   - Handle to a page.
+// left   - Pointer to a float value receiving the left of the rectangle.
+// bottom - Pointer to a float value receiving the bottom of the rectangle.
+// right  - Pointer to a float value receiving the right of the rectangle.
+// top    - Pointer to a float value receiving the top of the rectangle.
+//
+// On success, return true and write to the out parameters. Otherwise return
+// false and leave the out parameters unmodified.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_GetBleedBox(FPDF_PAGE page,
                                                          float* left,
                                                          float* bottom,
                                                          float* right,
                                                          float* top);
 
-/**
- * Get "TrimBox" entry from the page dictionary.
- *
- * page   - Handle to a page.
- * left   - Pointer to a float value receiving the left of the rectangle.
- * bottom - Pointer to a float value receiving the bottom of the rectangle.
- * right  - Pointer to a float value receiving the right of the rectangle.
- * top    - Pointer to a float value receiving the top of the rectangle.
- *
- * On success, return true and write to the out parameters. Otherwise return
- * false and leave the out parameters unmodified.
- */
+// Get "TrimBox" entry from the page dictionary.
+//
+// page   - Handle to a page.
+// left   - Pointer to a float value receiving the left of the rectangle.
+// bottom - Pointer to a float value receiving the bottom of the rectangle.
+// right  - Pointer to a float value receiving the right of the rectangle.
+// top    - Pointer to a float value receiving the top of the rectangle.
+//
+// On success, return true and write to the out parameters. Otherwise return
+// false and leave the out parameters unmodified.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_GetTrimBox(FPDF_PAGE page,
                                                         float* left,
                                                         float* bottom,
                                                         float* right,
                                                         float* top);
 
-/**
- * Get "ArtBox" entry from the page dictionary.
- *
- * page   - Handle to a page.
- * left   - Pointer to a float value receiving the left of the rectangle.
- * bottom - Pointer to a float value receiving the bottom of the rectangle.
- * right  - Pointer to a float value receiving the right of the rectangle.
- * top    - Pointer to a float value receiving the top of the rectangle.
- *
- * On success, return true and write to the out parameters. Otherwise return
- * false and leave the out parameters unmodified.
- */
+// Get "ArtBox" entry from the page dictionary.
+//
+// page   - Handle to a page.
+// left   - Pointer to a float value receiving the left of the rectangle.
+// bottom - Pointer to a float value receiving the bottom of the rectangle.
+// right  - Pointer to a float value receiving the right of the rectangle.
+// top    - Pointer to a float value receiving the top of the rectangle.
+//
+// On success, return true and write to the out parameters. Otherwise return
+// false and leave the out parameters unmodified.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_GetArtBox(FPDF_PAGE page,
                                                        float* left,
                                                        float* bottom,
                                                        float* right,
                                                        float* top);
 
-/**
- * Apply transforms to |page|.
- *
- * If |matrix| is provided it will be applied to transform the page.
- * If |clipRect| is provided it will be used to clip the resulting page.
- * If neither |matrix| or |clipRect| are provided this method returns |false|.
- * Returns |true| if transforms are applied.
- *
- * This function will transform the whole page, and would take effect to all the
- * objects in the page.
- *
- * page        - Page handle.
- * matrix      - Transform matrix.
- * clipRect    - Clipping rectangle.
- */
+// Apply transforms to |page|.
+//
+// If |matrix| is provided it will be applied to transform the page.
+// If |clipRect| is provided it will be used to clip the resulting page.
+// If neither |matrix| or |clipRect| are provided this method returns |false|.
+// Returns |true| if transforms are applied.
+//
+// This function will transform the whole page, and would take effect to all the
+// objects in the page.
+//
+// page        - Page handle.
+// matrix      - Transform matrix.
+// clipRect    - Clipping rectangle.
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
 FPDFPage_TransFormWithClip(FPDF_PAGE page,
                            const FS_MATRIX* matrix,
                            const FS_RECTF* clipRect);
 
-/**
- * Transform (scale, rotate, shear, move) the clip path of page object.
- * page_object - Handle to a page object. Returned by
- * FPDFPageObj_NewImageObj().
- *
- * a  - The coefficient "a" of the matrix.
- * b  - The coefficient "b" of the matrix.
- * c  - The coefficient "c" of the matrix.
- * d  - The coefficient "d" of the matrix.
- * e  - The coefficient "e" of the matrix.
- * f  - The coefficient "f" of the matrix.
- */
+// Transform (scale, rotate, shear, move) the clip path of page object.
+// page_object - Handle to a page object. Returned by
+// FPDFPageObj_NewImageObj().
+//
+// a  - The coefficient "a" of the matrix.
+// b  - The coefficient "b" of the matrix.
+// c  - The coefficient "c" of the matrix.
+// d  - The coefficient "d" of the matrix.
+// e  - The coefficient "e" of the matrix.
+// f  - The coefficient "f" of the matrix.
 FPDF_EXPORT void FPDF_CALLCONV
 FPDFPageObj_TransformClipPath(FPDF_PAGEOBJECT page_object,
                               double a,
@@ -265,39 +241,33 @@
                             int path_index,
                             int segment_index);
 
-/**
- * Create a new clip path, with a rectangle inserted.
- *
- * Caller takes ownership of the returned FPDF_CLIPPATH. It should be freed with
- * FPDF_DestroyClipPath().
- *
- * left   - The left of the clip box.
- * bottom - The bottom of the clip box.
- * right  - The right of the clip box.
- * top    - The top of the clip box.
- */
+// Create a new clip path, with a rectangle inserted.
+//
+// Caller takes ownership of the returned FPDF_CLIPPATH. It should be freed with
+// FPDF_DestroyClipPath().
+//
+// left   - The left of the clip box.
+// bottom - The bottom of the clip box.
+// right  - The right of the clip box.
+// top    - The top of the clip box.
 FPDF_EXPORT FPDF_CLIPPATH FPDF_CALLCONV FPDF_CreateClipPath(float left,
                                                             float bottom,
                                                             float right,
                                                             float top);
 
-/**
- * Destroy the clip path.
- *
- * clipPath - A handle to the clip path. It will be invalid after this call.
- */
+// Destroy the clip path.
+//
+// clipPath - A handle to the clip path. It will be invalid after this call.
 FPDF_EXPORT void FPDF_CALLCONV FPDF_DestroyClipPath(FPDF_CLIPPATH clipPath);
 
-/**
- * Clip the page content, the page content that outside the clipping region
- * become invisible.
- *
- * A clip path will be inserted before the page content stream or content array.
- * In this way, the page content will be clipped by this clip path.
- *
- * page        - A page handle.
- * clipPath    - A handle to the clip path. (Does not take ownership.)
- */
+// Clip the page content, the page content that outside the clipping region
+// become invisible.
+//
+// A clip path will be inserted before the page content stream or content array.
+// In this way, the page content will be clipped by this clip path.
+//
+// page        - A page handle.
+// clipPath    - A handle to the clip path. (Does not take ownership.)
 FPDF_EXPORT void FPDF_CALLCONV FPDFPage_InsertClipPath(FPDF_PAGE page,
                                                        FPDF_CLIPPATH clipPath);
 
diff --git a/public/fpdfview.h b/public/fpdfview.h
index bba6bc5..b374088 100644
--- a/public/fpdfview.h
+++ b/public/fpdfview.h
@@ -463,99 +463,83 @@
   void* m_Param;
 } FPDF_FILEACCESS;
 
-/*
- * Structure for file reading or writing (I/O).
- *
- * Note: This is a handler and should be implemented by callers,
- * and is only used from XFA.
- */
+// Structure for file reading or writing (I/O).
+//
+// Note: This is a handler and should be implemented by callers,
+// and is only used from XFA.
 typedef struct FPDF_FILEHANDLER_ {
-  /*
-   * User-defined data.
-   * Note: Callers can use this field to track controls.
-   */
+  // User-defined data.
+  // Note: Callers can use this field to track controls.
   void* clientData;
 
-  /*
-   * Callback function to release the current file stream object.
-   *
-   * Parameters:
-   *       clientData   -  Pointer to user-defined data.
-   * Returns:
-   *       None.
-   */
+  // Callback function to release the current file stream object.
+  //
+  // Parameters:
+  //       clientData   -  Pointer to user-defined data.
+  // Returns:
+  //       None.
   void (*Release)(void* clientData);
 
-  /*
-   * Callback function to retrieve the current file stream size.
-   *
-   * Parameters:
-   *       clientData   -  Pointer to user-defined data.
-   * Returns:
-   *       Size of file stream.
-   */
+  // Callback function to retrieve the current file stream size.
+  //
+  // Parameters:
+  //       clientData   -  Pointer to user-defined data.
+  // Returns:
+  //       Size of file stream.
   FPDF_DWORD (*GetSize)(void* clientData);
 
-  /*
-   * Callback function to read data from the current file stream.
-   *
-   * Parameters:
-   *       clientData   -  Pointer to user-defined data.
-   *       offset       -  Offset position starts from the beginning of file
-   *                       stream. This parameter indicates reading position.
-   *       buffer       -  Memory buffer to store data which are read from
-   *                       file stream. This parameter should not be NULL.
-   *       size         -  Size of data which should be read from file stream,
-   *                       in bytes. The buffer indicated by |buffer| must be
-   *                       large enough to store specified data.
-   * Returns:
-   *       0 for success, other value for failure.
-   */
+  // Callback function to read data from the current file stream.
+  //
+  // Parameters:
+  //       clientData   -  Pointer to user-defined data.
+  //       offset       -  Offset position starts from the beginning of file
+  //                       stream. This parameter indicates reading position.
+  //       buffer       -  Memory buffer to store data which are read from
+  //                       file stream. This parameter should not be NULL.
+  //       size         -  Size of data which should be read from file stream,
+  //                       in bytes. The buffer indicated by |buffer| must be
+  //                       large enough to store specified data.
+  // Returns:
+  //       0 for success, other value for failure.
   FPDF_RESULT (*ReadBlock)(void* clientData,
                            FPDF_DWORD offset,
                            void* buffer,
                            FPDF_DWORD size);
 
-  /*
-   * Callback function to write data into the current file stream.
-   *
-   * Parameters:
-   *       clientData   -  Pointer to user-defined data.
-   *       offset       -  Offset position starts from the beginning of file
-   *                       stream. This parameter indicates writing position.
-   *       buffer       -  Memory buffer contains data which is written into
-   *                       file stream. This parameter should not be NULL.
-   *       size         -  Size of data which should be written into file
-   *                       stream, in bytes.
-   * Returns:
-   *       0 for success, other value for failure.
-   */
+  // Callback function to write data into the current file stream.
+  //
+  // Parameters:
+  //       clientData   -  Pointer to user-defined data.
+  //       offset       -  Offset position starts from the beginning of file
+  //                       stream. This parameter indicates writing position.
+  //       buffer       -  Memory buffer contains data which is written into
+  //                       file stream. This parameter should not be NULL.
+  //       size         -  Size of data which should be written into file
+  //                       stream, in bytes.
+  // Returns:
+  //       0 for success, other value for failure.
   FPDF_RESULT (*WriteBlock)(void* clientData,
                             FPDF_DWORD offset,
                             const void* buffer,
                             FPDF_DWORD size);
-  /*
-   * Callback function to flush all internal accessing buffers.
-   *
-   * Parameters:
-   *       clientData   -  Pointer to user-defined data.
-   * Returns:
-   *       0 for success, other value for failure.
-   */
+  // Callback function to flush all internal accessing buffers.
+  //
+  // Parameters:
+  //       clientData   -  Pointer to user-defined data.
+  // Returns:
+  //       0 for success, other value for failure.
   FPDF_RESULT (*Flush)(void* clientData);
 
-  /*
-   * Callback function to change file size.
-   *
-   * Description:
-   *       This function is called under writing mode usually. Implementer
-   *       can determine whether to realize it based on application requests.
-   * Parameters:
-   *       clientData   -  Pointer to user-defined data.
-   *       size         -  New size of file stream, in bytes.
-   * Returns:
-   *       0 for success, other value for failure.
-   */
+  // Callback function to change file size.
+  //
+  // Description:
+  //       This function is called under writing mode usually. Implementer
+  //       can determine whether to realize it based on application requests.
+  // Parameters:
+  //       clientData   -  Pointer to user-defined data.
+  //       size         -  New size of file stream, in bytes.
+  // Returns:
+  //       0 for success, other value for failure.
   FPDF_RESULT (*Truncate)(void* clientData, FPDF_DWORD size);
 } FPDF_FILEHANDLER;