Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(445)

Side by Side Diff: ppapi/examples/2d/graphics_2d_example.c

Issue 8951014: Change the DidChangeView update to take a new ViewChanged resource. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More nacl fixes Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 /* Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be 2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file. 3 * found in the LICENSE file.
4 */ 4 */
5 #include <stdlib.h> 5 #include <stdlib.h>
6 #include <string.h> 6 #include <string.h>
7 7
8 #include "ppapi/c/pp_completion_callback.h" 8 #include "ppapi/c/pp_completion_callback.h"
9 #include "ppapi/c/pp_errors.h" 9 #include "ppapi/c/pp_errors.h"
10 #include "ppapi/c/pp_instance.h" 10 #include "ppapi/c/pp_instance.h"
11 #include "ppapi/c/pp_module.h" 11 #include "ppapi/c/pp_module.h"
12 #include "ppapi/c/pp_size.h" 12 #include "ppapi/c/pp_rect.h"
13 #include "ppapi/c/pp_var.h" 13 #include "ppapi/c/pp_var.h"
14 #include "ppapi/c/ppb.h" 14 #include "ppapi/c/ppb.h"
15 #include "ppapi/c/ppb_core.h" 15 #include "ppapi/c/ppb_core.h"
16 #include "ppapi/c/ppb_graphics_2d.h" 16 #include "ppapi/c/ppb_graphics_2d.h"
17 #include "ppapi/c/ppb_image_data.h" 17 #include "ppapi/c/ppb_image_data.h"
18 #include "ppapi/c/ppb_instance.h" 18 #include "ppapi/c/ppb_instance.h"
19 #include "ppapi/c/ppb_view.h"
19 #include "ppapi/c/ppp.h" 20 #include "ppapi/c/ppp.h"
20 #include "ppapi/c/ppp_instance.h" 21 #include "ppapi/c/ppp_instance.h"
21 22
22 PPB_GetInterface g_get_browser_interface = NULL; 23 PPB_GetInterface g_get_browser_interface = NULL;
23 24
24 const struct PPB_Core* g_core_interface; 25 const struct PPB_Core* g_core_interface;
25 const struct PPB_Graphics2D* g_graphics_2d_interface; 26 const struct PPB_Graphics2D* g_graphics_2d_interface;
26 const struct PPB_ImageData* g_image_data_interface; 27 const struct PPB_ImageData* g_image_data_interface;
27 const struct PPB_Instance* g_instance_interface; 28 const struct PPB_Instance* g_instance_interface;
29 const struct PPB_View* g_view_interface;
28 30
29 /* PPP_Instance implementation -----------------------------------------------*/ 31 /* PPP_Instance implementation -----------------------------------------------*/
30 32
31 struct InstanceInfo { 33 struct InstanceInfo {
32 PP_Instance pp_instance; 34 PP_Instance pp_instance;
33 struct PP_Size last_size; 35 struct PP_Size last_size;
34 36
35 struct InstanceInfo* next; 37 struct InstanceInfo* next;
36 }; 38 };
37 39
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 if (instance == cur->pp_instance) { 134 if (instance == cur->pp_instance) {
133 *prev_ptr = cur->next; 135 *prev_ptr = cur->next;
134 free(cur); 136 free(cur);
135 return; 137 return;
136 } 138 }
137 prev_ptr = &cur->next; 139 prev_ptr = &cur->next;
138 } 140 }
139 } 141 }
140 142
141 void Instance_DidChangeView(PP_Instance pp_instance, 143 void Instance_DidChangeView(PP_Instance pp_instance,
142 const struct PP_Rect* position, 144 PP_Resource view) {
143 const struct PP_Rect* clip) { 145 struct PP_Rect position;
144 struct InstanceInfo* info = FindInstance(pp_instance); 146 struct InstanceInfo* info = FindInstance(pp_instance);
145 if (!info) 147 if (!info)
146 return; 148 return;
147 149
148 if (info->last_size.width != position->size.width || 150 if (g_view_interface->GetRect(view, &position) == PP_FALSE)
149 info->last_size.height != position->size.height) { 151 return;
152
153 if (info->last_size.width != position.size.width ||
154 info->last_size.height != position.size.height) {
150 /* Got a resize, repaint the plugin. */ 155 /* Got a resize, repaint the plugin. */
151 Repaint(info, &position->size); 156 Repaint(info, &position.size);
152 info->last_size.width = position->size.width; 157 info->last_size.width = position.size.width;
153 info->last_size.height = position->size.height; 158 info->last_size.height = position.size.height;
154 } 159 }
155 } 160 }
156 161
157 void Instance_DidChangeFocus(PP_Instance pp_instance, PP_Bool has_focus) { 162 void Instance_DidChangeFocus(PP_Instance pp_instance, PP_Bool has_focus) {
158 } 163 }
159 164
160 PP_Bool Instance_HandleDocumentLoad(PP_Instance pp_instance, 165 PP_Bool Instance_HandleDocumentLoad(PP_Instance pp_instance,
161 PP_Resource pp_url_loader) { 166 PP_Resource pp_url_loader) {
162 return PP_FALSE; 167 return PP_FALSE;
163 } 168 }
(...skipping 14 matching lines...) Expand all
178 g_get_browser_interface = get_browser_interface; 183 g_get_browser_interface = get_browser_interface;
179 184
180 g_core_interface = (const struct PPB_Core*) 185 g_core_interface = (const struct PPB_Core*)
181 get_browser_interface(PPB_CORE_INTERFACE); 186 get_browser_interface(PPB_CORE_INTERFACE);
182 g_instance_interface = (const struct PPB_Instance*) 187 g_instance_interface = (const struct PPB_Instance*)
183 get_browser_interface(PPB_INSTANCE_INTERFACE); 188 get_browser_interface(PPB_INSTANCE_INTERFACE);
184 g_image_data_interface = (const struct PPB_ImageData*) 189 g_image_data_interface = (const struct PPB_ImageData*)
185 get_browser_interface(PPB_IMAGEDATA_INTERFACE); 190 get_browser_interface(PPB_IMAGEDATA_INTERFACE);
186 g_graphics_2d_interface = (const struct PPB_Graphics2D*) 191 g_graphics_2d_interface = (const struct PPB_Graphics2D*)
187 get_browser_interface(PPB_GRAPHICS_2D_INTERFACE); 192 get_browser_interface(PPB_GRAPHICS_2D_INTERFACE);
193 g_view_interface = (const struct PPB_View*)
194 get_browser_interface(PPB_VIEW_INTERFACE);
188 if (!g_core_interface || !g_instance_interface || !g_image_data_interface || 195 if (!g_core_interface || !g_instance_interface || !g_image_data_interface ||
189 !g_graphics_2d_interface) 196 !g_graphics_2d_interface || !g_view_interface)
190 return -1; 197 return -1;
191 198
192 return PP_OK; 199 return PP_OK;
193 } 200 }
194 201
195 PP_EXPORT void PPP_ShutdownModule() { 202 PP_EXPORT void PPP_ShutdownModule() {
196 } 203 }
197 204
198 PP_EXPORT const void* PPP_GetInterface(const char* interface_name) { 205 PP_EXPORT const void* PPP_GetInterface(const char* interface_name) {
199 if (strcmp(interface_name, PPP_INSTANCE_INTERFACE) == 0) 206 if (strcmp(interface_name, PPP_INSTANCE_INTERFACE) == 0)
200 return &instance_interface; 207 return &instance_interface;
201 return NULL; 208 return NULL;
202 } 209 }
203 210
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698