1/* Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file.
4 */
5
6/**
7 * Implementation of the widgets interface.
8 */
9
10[generate_thunk]
11
12label Chrome {
13  M14 = 0.3,
14  M23 = 0.4
15};
16
17/**
18 * The interface for reusing browser widgets.
19 */
20interface PPB_Widget_Dev {
21  /**
22   * Returns PP_TRUE if the given resource is a Widget. Returns PP_FALSE if the
23   * resource is invalid or some type other than an Widget.
24   */
25  PP_Bool IsWidget([in] PP_Resource resource);
26
27  /**
28   * Paint the given rectangle of the widget into the given image.
29   * Returns PP_TRUE on success, PP_FALSE on failure.
30   */
31  [report_errors=False]
32  PP_Bool Paint([in] PP_Resource widget,
33                [in] PP_Rect rect,
34                [in] PP_Resource image);
35
36  /**
37   * Pass in an event to a widget.  It'll return PP_TRUE if the event was
38   * consumed.
39   */
40  [report_errors=False]
41  PP_Bool HandleEvent([in] PP_Resource widget, [in] PP_Resource input_event);
42
43  /**
44   * Get the location of the widget.
45   */
46  [report_errors=False]
47  PP_Bool GetLocation([in] PP_Resource widget,
48                      [out] PP_Rect location);
49
50  /**
51   * Set the location of the widget.
52   */
53  [report_errors=False]
54  void SetLocation([in] PP_Resource widget,
55                   [in] PP_Rect location);
56
57  /**
58   * Set scale used during paint operations.
59   */
60  [version=0.4, report_errors=False]
61  void SetScale([in] PP_Resource widget,
62                [in] float_t scale);
63};
64