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

Side by Side Diff: visual_studio/NativeClientVSAddIn/InstallerResources/examples/hello_nacl/hello_nacl/hello_nacl.c

Issue 11191014: fix hello_nacl compile error (Closed) Base URL: http://nativeclient-sdk.googlecode.com/svn/trunk/src
Patch Set: Created 8 years, 2 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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 5
6 // This project demonstrates how to migrate a Windows desktop app to Native 6 // This project demonstrates how to migrate a Windows desktop app to Native
7 // Client, running first as a Win32 application (define STEP1), then as a PPAPI 7 // Client, running first as a Win32 application (define STEP1), then as a PPAPI
8 // plugin (define STEP2 through STEP6), and finally as a Native Client module. 8 // plugin (define STEP2 through STEP6), and finally as a Native Client module.
9 9
10 // Start with STEP1 defined and the defines for STEP2 through STEP6 commented 10 // Start with STEP1 defined and the defines for STEP2 through STEP6 commented
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 PP_Instance myInstance; 104 PP_Instance myInstance;
105 105
106 int InitInstanceInPCWindow(); 106 int InitInstanceInPCWindow();
107 void InitInstanceInBrowserWindow(); 107 void InitInstanceInBrowserWindow();
108 108
109 #endif 109 #endif
110 110
111 111
112 #ifdef STEP4 112 #ifdef STEP4
113 // Implements message handling in a callback function. 113 // Implements message handling in a callback function.
114 void HelloWorldCallback(void* user_data, int32_t result) { 114 void HelloWorldCallbackFun(void* user_data, int32_t result);
115 struct PP_CompletionCallback HelloWorldCallback = {
116 HelloWorldCallbackFun, NULL };
117
118 void HelloWorldCallbackFun(void* user_data, int32_t result) {
115 MSG uMsg; 119 MSG uMsg;
116 if (PeekMessage(&uMsg, NULL, 0, 0, PM_REMOVE)) { 120 if (PeekMessage(&uMsg, NULL, 0, 0, PM_REMOVE)) {
117 TranslateMessage(&uMsg); 121 TranslateMessage(&uMsg);
118 DispatchMessage(&uMsg); 122 DispatchMessage(&uMsg);
119 } 123 }
120 ppb_core_interface->CallOnMainThread(100, HelloWorldCallback, 0); 124 ppb_core_interface->CallOnMainThread(100, HelloWorldCallback, 0);
121 } 125 }
122
123 struct PP_CompletionCallback HelloWorldCallback = { HelloWorldCallback, NULL };
124 #endif 126 #endif
125 127
126 #ifdef STEP2 128 #ifdef STEP2
127 // The basic framework needed for all Native Client Modules. Handles creation 129 // The basic framework needed for all Native Client Modules. Handles creation
128 // of the module instance and initial handshake with the browser. 130 // of the module instance and initial handshake with the browser.
129 /** 131 /**
130 * Creates new string PP_Var from C string. Useful utility for 132 * Creates new string PP_Var from C string. Useful utility for
131 * message-handling. 133 * message-handling.
132 */ 134 */
133 static struct PP_Var CStrToVar(const char* str) { if (ppb_var_interface != 135 static struct PP_Var CStrToVar(const char* str) { if (ppb_var_interface !=
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 winClass.hCursor = LoadCursor(NULL, IDC_ARROW); 367 winClass.hCursor = LoadCursor(NULL, IDC_ARROW);
366 winClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); 368 winClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
367 winClass.lpszMenuName = NULL; 369 winClass.lpszMenuName = NULL;
368 winClass.cbClsExtra = 0; 370 winClass.cbClsExtra = 0;
369 winClass.cbWndExtra = 0; 371 winClass.cbWndExtra = 0;
370 372
371 if (!RegisterClassEx(&winClass)) 373 if (!RegisterClassEx(&winClass))
372 return E_FAIL; 374 return E_FAIL;
373 375
374 g_hWnd = CreateWindowEx( 376 g_hWnd = CreateWindowEx(
375 NULL, _T("MY_WINDOWS_CLASS"), 377 0, _T("MY_WINDOWS_CLASS"),
376 _T("hello_nacl"), WS_OVERLAPPEDWINDOW, 378 _T("hello_nacl"), WS_OVERLAPPEDWINDOW,
377 0, 0, 640, 480, NULL, NULL, g_hInstance, NULL); 379 0, 0, 640, 480, NULL, NULL, g_hInstance, NULL);
378 380
379 if (g_hWnd == NULL) 381 if (g_hWnd == NULL)
380 return E_FAIL; 382 return E_FAIL;
381 383
382 ShowWindow(g_hWnd, 1); 384 ShowWindow(g_hWnd, 1);
383 385
384 UpdateWindow(g_hWnd); 386 UpdateWindow(g_hWnd);
385 387
386 #ifdef STEP4 388 #ifdef STEP4
387 // Skip the message loop, schedule a callback instead to periodically check 389 // Skip the message loop, schedule a callback instead to periodically check
388 // for messages. Here we schedule at 100ms intervals. 390 // for messages. Here we schedule at 100ms intervals.
389 ppb_core_interface->CallOnMainThread(100, HelloWorldCallback, 0); 391 ppb_core_interface->CallOnMainThread(100, HelloWorldCallback, 0);
390 return 0; 392 return 0;
391 #else 393 #else
392 // Main message loop, Windows style. 394 // Main message loop, Windows style.
393 while(uMsg.message != WM_QUIT) { 395 while(uMsg.message != WM_QUIT) {
394 if (PeekMessage(&uMsg, NULL, 0, 0, PM_REMOVE)) { 396 if (PeekMessage(&uMsg, NULL, 0, 0, PM_REMOVE)) {
395 TranslateMessage( &uMsg ); 397 TranslateMessage( &uMsg );
396 DispatchMessage( &uMsg ); 398 DispatchMessage( &uMsg );
397 } 399 }
398 } 400 }
399 return uMsg.wParam; 401 return uMsg.wParam;
400 #endif 402 #endif
401 403
402 } 404 }
403 #endif 405 #endif
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698