| // Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved. |
| // |
| // Redistribution and use in source and binary forms, with or without |
| // modification, are permitted provided that the following conditions are |
| // met: |
| // |
| // * Redistributions of source code must retain the above copyright |
| // notice, this list of conditions and the following disclaimer. |
| // * Redistributions in binary form must reproduce the above |
| // copyright notice, this list of conditions and the following disclaimer |
| // in the documentation and/or other materials provided with the |
| // distribution. |
| // * Neither the name of Google Inc. nor the name Chromium Embedded |
| // Framework nor the names of its contributors may be used to endorse |
| // or promote products derived from this software without specific prior |
| // written permission. |
| // |
| // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| // |
| // --------------------------------------------------------------------------- |
| // |
| // This file was generated by the CEF translator tool and should not edited |
| // by hand. See the translator.README.txt file in the tools directory for |
| // more information. |
| // |
| // $hash=cce24dba079162b10f359769eea176c4009b5ce5$ |
| // |
| |
| #ifndef CEF_INCLUDE_CAPI_CEF_MENU_MODEL_CAPI_H_ |
| #define CEF_INCLUDE_CAPI_CEF_MENU_MODEL_CAPI_H_ |
| #pragma once |
| |
| #include "include/capi/cef_base_capi.h" |
| #include "include/capi/cef_menu_model_delegate_capi.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /// |
| // Supports creation and modification of menus. See cef_menu_id_t for the |
| // command ids that have default implementations. All user-defined command ids |
| // should be between MENU_ID_USER_FIRST and MENU_ID_USER_LAST. The functions of |
| // this structure can only be accessed on the browser process the UI thread. |
| /// |
| typedef struct _cef_menu_model_t { |
| /// |
| // Base structure. |
| /// |
| cef_base_ref_counted_t base; |
| |
| /// |
| // Returns true (1) if this menu is a submenu. |
| /// |
| int(CEF_CALLBACK* is_sub_menu)(struct _cef_menu_model_t* self); |
| |
| /// |
| // Clears the menu. Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* clear)(struct _cef_menu_model_t* self); |
| |
| /// |
| // Returns the number of items in this menu. |
| /// |
| int(CEF_CALLBACK* get_count)(struct _cef_menu_model_t* self); |
| |
| /// |
| // Add a separator to the menu. Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* add_separator)(struct _cef_menu_model_t* self); |
| |
| /// |
| // Add an item to the menu. Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* add_item)(struct _cef_menu_model_t* self, |
| int command_id, |
| const cef_string_t* label); |
| |
| /// |
| // Add a check item to the menu. Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* add_check_item)(struct _cef_menu_model_t* self, |
| int command_id, |
| const cef_string_t* label); |
| |
| /// |
| // Add a radio item to the menu. Only a single item with the specified |
| // |group_id| can be checked at a time. Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* add_radio_item)(struct _cef_menu_model_t* self, |
| int command_id, |
| const cef_string_t* label, |
| int group_id); |
| |
| /// |
| // Add a sub-menu to the menu. The new sub-menu is returned. |
| /// |
| struct _cef_menu_model_t*(CEF_CALLBACK* add_sub_menu)( |
| struct _cef_menu_model_t* self, |
| int command_id, |
| const cef_string_t* label); |
| |
| /// |
| // Insert a separator in the menu at the specified |index|. Returns true (1) |
| // on success. |
| /// |
| int(CEF_CALLBACK* insert_separator_at)(struct _cef_menu_model_t* self, |
| int index); |
| |
| /// |
| // Insert an item in the menu at the specified |index|. Returns true (1) on |
| // success. |
| /// |
| int(CEF_CALLBACK* insert_item_at)(struct _cef_menu_model_t* self, |
| int index, |
| int command_id, |
| const cef_string_t* label); |
| |
| /// |
| // Insert a check item in the menu at the specified |index|. Returns true (1) |
| // on success. |
| /// |
| int(CEF_CALLBACK* insert_check_item_at)(struct _cef_menu_model_t* self, |
| int index, |
| int command_id, |
| const cef_string_t* label); |
| |
| /// |
| // Insert a radio item in the menu at the specified |index|. Only a single |
| // item with the specified |group_id| can be checked at a time. Returns true |
| // (1) on success. |
| /// |
| int(CEF_CALLBACK* insert_radio_item_at)(struct _cef_menu_model_t* self, |
| int index, |
| int command_id, |
| const cef_string_t* label, |
| int group_id); |
| |
| /// |
| // Insert a sub-menu in the menu at the specified |index|. The new sub-menu is |
| // returned. |
| /// |
| struct _cef_menu_model_t*(CEF_CALLBACK* insert_sub_menu_at)( |
| struct _cef_menu_model_t* self, |
| int index, |
| int command_id, |
| const cef_string_t* label); |
| |
| /// |
| // Removes the item with the specified |command_id|. Returns true (1) on |
| // success. |
| /// |
| int(CEF_CALLBACK* remove)(struct _cef_menu_model_t* self, int command_id); |
| |
| /// |
| // Removes the item at the specified |index|. Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* remove_at)(struct _cef_menu_model_t* self, int index); |
| |
| /// |
| // Returns the index associated with the specified |command_id| or -1 if not |
| // found due to the command id not existing in the menu. |
| /// |
| int(CEF_CALLBACK* get_index_of)(struct _cef_menu_model_t* self, |
| int command_id); |
| |
| /// |
| // Returns the command id at the specified |index| or -1 if not found due to |
| // invalid range or the index being a separator. |
| /// |
| int(CEF_CALLBACK* get_command_id_at)(struct _cef_menu_model_t* self, |
| int index); |
| |
| /// |
| // Sets the command id at the specified |index|. Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* set_command_id_at)(struct _cef_menu_model_t* self, |
| int index, |
| int command_id); |
| |
| /// |
| // Returns the label for the specified |command_id| or NULL if not found. |
| /// |
| // The resulting string must be freed by calling cef_string_userfree_free(). |
| cef_string_userfree_t(CEF_CALLBACK* get_label)(struct _cef_menu_model_t* self, |
| int command_id); |
| |
| /// |
| // Returns the label at the specified |index| or NULL if not found due to |
| // invalid range or the index being a separator. |
| /// |
| // The resulting string must be freed by calling cef_string_userfree_free(). |
| cef_string_userfree_t( |
| CEF_CALLBACK* get_label_at)(struct _cef_menu_model_t* self, int index); |
| |
| /// |
| // Sets the label for the specified |command_id|. Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* set_label)(struct _cef_menu_model_t* self, |
| int command_id, |
| const cef_string_t* label); |
| |
| /// |
| // Set the label at the specified |index|. Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* set_label_at)(struct _cef_menu_model_t* self, |
| int index, |
| const cef_string_t* label); |
| |
| /// |
| // Returns the item type for the specified |command_id|. |
| /// |
| cef_menu_item_type_t(CEF_CALLBACK* get_type)(struct _cef_menu_model_t* self, |
| int command_id); |
| |
| /// |
| // Returns the item type at the specified |index|. |
| /// |
| cef_menu_item_type_t( |
| CEF_CALLBACK* get_type_at)(struct _cef_menu_model_t* self, int index); |
| |
| /// |
| // Returns the group id for the specified |command_id| or -1 if invalid. |
| /// |
| int(CEF_CALLBACK* get_group_id)(struct _cef_menu_model_t* self, |
| int command_id); |
| |
| /// |
| // Returns the group id at the specified |index| or -1 if invalid. |
| /// |
| int(CEF_CALLBACK* get_group_id_at)(struct _cef_menu_model_t* self, int index); |
| |
| /// |
| // Sets the group id for the specified |command_id|. Returns true (1) on |
| // success. |
| /// |
| int(CEF_CALLBACK* set_group_id)(struct _cef_menu_model_t* self, |
| int command_id, |
| int group_id); |
| |
| /// |
| // Sets the group id at the specified |index|. Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* set_group_id_at)(struct _cef_menu_model_t* self, |
| int index, |
| int group_id); |
| |
| /// |
| // Returns the submenu for the specified |command_id| or NULL if invalid. |
| /// |
| struct _cef_menu_model_t*(CEF_CALLBACK* get_sub_menu)( |
| struct _cef_menu_model_t* self, |
| int command_id); |
| |
| /// |
| // Returns the submenu at the specified |index| or NULL if invalid. |
| /// |
| struct _cef_menu_model_t*( |
| CEF_CALLBACK* get_sub_menu_at)(struct _cef_menu_model_t* self, int index); |
| |
| /// |
| // Returns true (1) if the specified |command_id| is visible. |
| /// |
| int(CEF_CALLBACK* is_visible)(struct _cef_menu_model_t* self, int command_id); |
| |
| /// |
| // Returns true (1) if the specified |index| is visible. |
| /// |
| int(CEF_CALLBACK* is_visible_at)(struct _cef_menu_model_t* self, int index); |
| |
| /// |
| // Change the visibility of the specified |command_id|. Returns true (1) on |
| // success. |
| /// |
| int(CEF_CALLBACK* set_visible)(struct _cef_menu_model_t* self, |
| int command_id, |
| int visible); |
| |
| /// |
| // Change the visibility at the specified |index|. Returns true (1) on |
| // success. |
| /// |
| int(CEF_CALLBACK* set_visible_at)(struct _cef_menu_model_t* self, |
| int index, |
| int visible); |
| |
| /// |
| // Returns true (1) if the specified |command_id| is enabled. |
| /// |
| int(CEF_CALLBACK* is_enabled)(struct _cef_menu_model_t* self, int command_id); |
| |
| /// |
| // Returns true (1) if the specified |index| is enabled. |
| /// |
| int(CEF_CALLBACK* is_enabled_at)(struct _cef_menu_model_t* self, int index); |
| |
| /// |
| // Change the enabled status of the specified |command_id|. Returns true (1) |
| // on success. |
| /// |
| int(CEF_CALLBACK* set_enabled)(struct _cef_menu_model_t* self, |
| int command_id, |
| int enabled); |
| |
| /// |
| // Change the enabled status at the specified |index|. Returns true (1) on |
| // success. |
| /// |
| int(CEF_CALLBACK* set_enabled_at)(struct _cef_menu_model_t* self, |
| int index, |
| int enabled); |
| |
| /// |
| // Returns true (1) if the specified |command_id| is checked. Only applies to |
| // check and radio items. |
| /// |
| int(CEF_CALLBACK* is_checked)(struct _cef_menu_model_t* self, int command_id); |
| |
| /// |
| // Returns true (1) if the specified |index| is checked. Only applies to check |
| // and radio items. |
| /// |
| int(CEF_CALLBACK* is_checked_at)(struct _cef_menu_model_t* self, int index); |
| |
| /// |
| // Check the specified |command_id|. Only applies to check and radio items. |
| // Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* set_checked)(struct _cef_menu_model_t* self, |
| int command_id, |
| int checked); |
| |
| /// |
| // Check the specified |index|. Only applies to check and radio items. Returns |
| // true (1) on success. |
| /// |
| int(CEF_CALLBACK* set_checked_at)(struct _cef_menu_model_t* self, |
| int index, |
| int checked); |
| |
| /// |
| // Returns true (1) if the specified |command_id| has a keyboard accelerator |
| // assigned. |
| /// |
| int(CEF_CALLBACK* has_accelerator)(struct _cef_menu_model_t* self, |
| int command_id); |
| |
| /// |
| // Returns true (1) if the specified |index| has a keyboard accelerator |
| // assigned. |
| /// |
| int(CEF_CALLBACK* has_accelerator_at)(struct _cef_menu_model_t* self, |
| int index); |
| |
| /// |
| // Set the keyboard accelerator for the specified |command_id|. |key_code| can |
| // be any virtual key or character value. Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* set_accelerator)(struct _cef_menu_model_t* self, |
| int command_id, |
| int key_code, |
| int shift_pressed, |
| int ctrl_pressed, |
| int alt_pressed); |
| |
| /// |
| // Set the keyboard accelerator at the specified |index|. |key_code| can be |
| // any virtual key or character value. Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* set_accelerator_at)(struct _cef_menu_model_t* self, |
| int index, |
| int key_code, |
| int shift_pressed, |
| int ctrl_pressed, |
| int alt_pressed); |
| |
| /// |
| // Remove the keyboard accelerator for the specified |command_id|. Returns |
| // true (1) on success. |
| /// |
| int(CEF_CALLBACK* remove_accelerator)(struct _cef_menu_model_t* self, |
| int command_id); |
| |
| /// |
| // Remove the keyboard accelerator at the specified |index|. Returns true (1) |
| // on success. |
| /// |
| int(CEF_CALLBACK* remove_accelerator_at)(struct _cef_menu_model_t* self, |
| int index); |
| |
| /// |
| // Retrieves the keyboard accelerator for the specified |command_id|. Returns |
| // true (1) on success. |
| /// |
| int(CEF_CALLBACK* get_accelerator)(struct _cef_menu_model_t* self, |
| int command_id, |
| int* key_code, |
| int* shift_pressed, |
| int* ctrl_pressed, |
| int* alt_pressed); |
| |
| /// |
| // Retrieves the keyboard accelerator for the specified |index|. Returns true |
| // (1) on success. |
| /// |
| int(CEF_CALLBACK* get_accelerator_at)(struct _cef_menu_model_t* self, |
| int index, |
| int* key_code, |
| int* shift_pressed, |
| int* ctrl_pressed, |
| int* alt_pressed); |
| |
| /// |
| // Set the explicit color for |command_id| and |color_type| to |color|. |
| // Specify a |color| value of 0 to remove the explicit color. If no explicit |
| // color or default color is set for |color_type| then the system color will |
| // be used. Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* set_color)(struct _cef_menu_model_t* self, |
| int command_id, |
| cef_menu_color_type_t color_type, |
| cef_color_t color); |
| |
| /// |
| // Set the explicit color for |command_id| and |index| to |color|. Specify a |
| // |color| value of 0 to remove the explicit color. Specify an |index| value |
| // of -1 to set the default color for items that do not have an explicit color |
| // set. If no explicit color or default color is set for |color_type| then the |
| // system color will be used. Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* set_color_at)(struct _cef_menu_model_t* self, |
| int index, |
| cef_menu_color_type_t color_type, |
| cef_color_t color); |
| |
| /// |
| // Returns in |color| the color that was explicitly set for |command_id| and |
| // |color_type|. If a color was not set then 0 will be returned in |color|. |
| // Returns true (1) on success. |
| /// |
| int(CEF_CALLBACK* get_color)(struct _cef_menu_model_t* self, |
| int command_id, |
| cef_menu_color_type_t color_type, |
| cef_color_t* color); |
| |
| /// |
| // Returns in |color| the color that was explicitly set for |command_id| and |
| // |color_type|. Specify an |index| value of -1 to return the default color in |
| // |color|. If a color was not set then 0 will be returned in |color|. Returns |
| // true (1) on success. |
| /// |
| int(CEF_CALLBACK* get_color_at)(struct _cef_menu_model_t* self, |
| int index, |
| cef_menu_color_type_t color_type, |
| cef_color_t* color); |
| |
| /// |
| // Sets the font list for the specified |command_id|. If |font_list| is NULL |
| // the system font will be used. Returns true (1) on success. The format is |
| // "<FONT_FAMILY_LIST>,[STYLES] <SIZE>", where: - FONT_FAMILY_LIST is a comma- |
| // separated list of font family names, - STYLES is an optional space- |
| // separated list of style names (case-sensitive |
| // "Bold" and "Italic" are supported), and |
| // - SIZE is an integer font size in pixels with the suffix "px". |
| // |
| // Here are examples of valid font description strings: - "Arial, Helvetica, |
| // Bold Italic 14px" - "Arial, 14px" |
| /// |
| int(CEF_CALLBACK* set_font_list)(struct _cef_menu_model_t* self, |
| int command_id, |
| const cef_string_t* font_list); |
| |
| /// |
| // Sets the font list for the specified |index|. Specify an |index| value of |
| // -1 to set the default font. If |font_list| is NULL the system font will be |
| // used. Returns true (1) on success. The format is |
| // "<FONT_FAMILY_LIST>,[STYLES] <SIZE>", where: - FONT_FAMILY_LIST is a comma- |
| // separated list of font family names, - STYLES is an optional space- |
| // separated list of style names (case-sensitive |
| // "Bold" and "Italic" are supported), and |
| // - SIZE is an integer font size in pixels with the suffix "px". |
| // |
| // Here are examples of valid font description strings: - "Arial, Helvetica, |
| // Bold Italic 14px" - "Arial, 14px" |
| /// |
| int(CEF_CALLBACK* set_font_list_at)(struct _cef_menu_model_t* self, |
| int index, |
| const cef_string_t* font_list); |
| } cef_menu_model_t; |
| |
| /// |
| // Create a new MenuModel with the specified |delegate|. |
| /// |
| CEF_EXPORT cef_menu_model_t* cef_menu_model_create( |
| struct _cef_menu_model_delegate_t* delegate); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // CEF_INCLUDE_CAPI_CEF_MENU_MODEL_CAPI_H_ |