Pepper_47_C_interfaces
ppb_display_color_profile_private.h
Go to the documentation of this file.
1 /* Copyright 2014 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 /* From private/ppb_display_color_profile_private.idl,
7  * modified Thu Oct 20 13:57:04 2016.
8  */
9 
10 #ifndef PPAPI_C_PRIVATE_PPB_DISPLAY_COLOR_PROFILE_PRIVATE_H_
11 #define PPAPI_C_PRIVATE_PPB_DISPLAY_COLOR_PROFILE_PRIVATE_H_
12 
14 #include "ppapi/c/pp_bool.h"
16 #include "ppapi/c/pp_instance.h"
17 #include "ppapi/c/pp_macros.h"
18 #include "ppapi/c/pp_resource.h"
19 #include "ppapi/c/pp_stdint.h"
20 
21 #define PPB_DISPLAYCOLORPROFILE_PRIVATE_INTERFACE_0_1 \
22  "PPB_DisplayColorProfile_Private;0.1"
23 #define PPB_DISPLAYCOLORPROFILE_PRIVATE_INTERFACE \
24  PPB_DISPLAYCOLORPROFILE_PRIVATE_INTERFACE_0_1
25 
26 /**
27  * @file
28  * This file defines the <code>PPB_DisplayColorProfile</code> struct used for
29  * getting the color profile of the display.
30  */
31 
32 
33 /**
34  * @addtogroup Interfaces
35  * @{
36  */
37 /**
38  * <code>PPB_DisplayColorProfile_Private</code> defines the methods for getting
39  * the display color profile and monitoring its changes.
40  *
41  * <strong>Setup:<strong>
42  * @code
43  * PP_ArrayOutput output = { MyAllocatorFunction, color_profile_data };
44  * PP_Resource display_cp = display_cp_interface->Create(instance);
45  * display_cp_interface->GetColorProfile(display_cp,
46  * output,
47  * completion_callback);
48  * @endcode
49  */
51  /**
52  * Create() creates a display color profile resource.
53  *
54  * @param[in] instance The module instance.
55  * @return A <code>PP_Resource</code> containing a display color profile
56  * resource.
57  */
59  /**
60  * IsDisplayColorProfile() determines if the given resource is a valid
61  * <code>DisplayColorProfile</code> resource.
62  *
63  * @param[in] resource A <code>DisplayColorProfile</code> context resource.
64  * @return Returns:
65  * - <code>PP_TRUE</code> if the given resource is a valid
66  * <code>DisplayColorProfile</code>
67  * - <code>PP_FALSE</code> if it is an invalid resource or is a resource
68  * of another type.
69  */
71  /**
72  * GetColorProfile() enqueues a request for the current display color profile.
73  *
74  * This method is intended for getting the color profile data of the display
75  * on which the browser window resides. [However currently Chrome only
76  * considers the system's primary display color profile when doing its color
77  * management. For consistency this method will also return the color profile
78  * that Chrome uses for its browser window.]
79  *
80  * @param[in] display_color_profile_res The display color profile resource.
81  * @param[in] color_profile A <code>PP_OutputArray</code> which on success
82  * will receive a byte array containing the ICC color profile data (see
83  * www.color.org for a reference to the ICC color profile specification
84  * and versions). The returned color profile version is the one supported by
85  * the host system.
86  * @param[in] callback The completion callback to be called once the display
87  * color profile data is available.
88  *
89  * @return Returns an error code from <code>pp_errors.h</code>.
90  */
91  int32_t (*GetColorProfile)(PP_Resource display_color_profile_res,
92  struct PP_ArrayOutput color_profile,
93  struct PP_CompletionCallback callback);
94  /**
95  * RegisterColorProfileChangeCallback() registers a callback to be called next
96  * time the color profile for the browser window in which the plugin resides
97  * changes. In order to get notifications for all color profile changes a call
98  * to RegisterColorProfileChangeCallback() function should be done when the
99  * previous notification was fired.
100  *
101  * There might be 2 scenarios in which the color profile for a window changes:
102  * a) The window is moved from one display to another;
103  * b) The user changes the display color space from the system settings.
104  *
105  * @param[in] display_color_profile_res The display color profile resource.
106  * @param[in] callback The callback to be invoked next time the display
107  * color profile changes.
108  *
109  * @return Returns an error code from <code>pp_errors.h</code>.
110  */
112  PP_Resource display_color_profile_res,
113  struct PP_CompletionCallback callback);
114 };
115 
118 /**
119  * @}
120  */
121 
122 #endif /* PPAPI_C_PRIVATE_PPB_DISPLAY_COLOR_PROFILE_PRIVATE_H_ */
123 
PP_Bool(* IsDisplayColorProfile)(PP_Resource resource)
int32_t PP_Resource
Definition: pp_resource.h:40
int32_t(* GetColorProfile)(PP_Resource display_color_profile_res, struct PP_ArrayOutput color_profile, struct PP_CompletionCallback callback)
PP_Resource(* Create)(PP_Instance instance)
int32_t PP_Instance
Definition: pp_instance.h:34
PP_Bool
Definition: pp_bool.h:30
int32_t(* RegisterColorProfileChangeCallback)(PP_Resource display_color_profile_res, struct PP_CompletionCallback callback)