github.com/ckxng/wakeup@v0.0.0-20190105202853-90356a5f5a15/include/capi/cef_focus_handler_capi.h (about)

     1  // Copyright (c) 2014 Marshall A. Greenblatt. All rights reserved.
     2  //
     3  // Redistribution and use in source and binary forms, with or without
     4  // modification, are permitted provided that the following conditions are
     5  // met:
     6  //
     7  //    * Redistributions of source code must retain the above copyright
     8  // notice, this list of conditions and the following disclaimer.
     9  //    * Redistributions in binary form must reproduce the above
    10  // copyright notice, this list of conditions and the following disclaimer
    11  // in the documentation and/or other materials provided with the
    12  // distribution.
    13  //    * Neither the name of Google Inc. nor the name Chromium Embedded
    14  // Framework nor the names of its contributors may be used to endorse
    15  // or promote products derived from this software without specific prior
    16  // written permission.
    17  //
    18  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    19  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    20  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    21  // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    22  // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    23  // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    24  // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    25  // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    26  // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    27  // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    28  // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    29  //
    30  // ---------------------------------------------------------------------------
    31  //
    32  // This file was generated by the CEF translator tool and should not edited
    33  // by hand. See the translator.README.txt file in the tools directory for
    34  // more information.
    35  //
    36  
    37  #ifndef CEF_INCLUDE_CAPI_CEF_FOCUS_HANDLER_CAPI_H_
    38  #define CEF_INCLUDE_CAPI_CEF_FOCUS_HANDLER_CAPI_H_
    39  #pragma once
    40  
    41  #ifdef __cplusplus
    42  extern "C" {
    43  #endif
    44  
    45  #include "include/capi/cef_base_capi.h"
    46  #include "include/capi/cef_browser_capi.h"
    47  #include "include/capi/cef_dom_capi.h"
    48  #include "include/capi/cef_frame_capi.h"
    49  
    50  
    51  ///
    52  // Implement this structure to handle events related to focus. The functions of
    53  // this structure will be called on the UI thread.
    54  ///
    55  typedef struct _cef_focus_handler_t {
    56    ///
    57    // Base structure.
    58    ///
    59    cef_base_t base;
    60  
    61    ///
    62    // Called when the browser component is about to loose focus. For instance, if
    63    // focus was on the last HTML element and the user pressed the TAB key. |next|
    64    // will be true (1) if the browser is giving focus to the next component and
    65    // false (0) if the browser is giving focus to the previous component.
    66    ///
    67    void (CEF_CALLBACK *on_take_focus)(struct _cef_focus_handler_t* self,
    68        struct _cef_browser_t* browser, int next);
    69  
    70    ///
    71    // Called when the browser component is requesting focus. |source| indicates
    72    // where the focus request is originating from. Return false (0) to allow the
    73    // focus to be set or true (1) to cancel setting the focus.
    74    ///
    75    int (CEF_CALLBACK *on_set_focus)(struct _cef_focus_handler_t* self,
    76        struct _cef_browser_t* browser, cef_focus_source_t source);
    77  
    78    ///
    79    // Called when the browser component has received focus.
    80    ///
    81    void (CEF_CALLBACK *on_got_focus)(struct _cef_focus_handler_t* self,
    82        struct _cef_browser_t* browser);
    83  } cef_focus_handler_t;
    84  
    85  
    86  #ifdef __cplusplus
    87  }
    88  #endif
    89  
    90  #endif  // CEF_INCLUDE_CAPI_CEF_FOCUS_HANDLER_CAPI_H_