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

Unified Diff: third_party/gles_book_examples/Common/Source/Win32/esUtil_win32.c

Issue 525070: Resubmit 35500: Added an application framework for demos. Ported hellotriangl... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 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 side-by-side diff with in-line comments
Download patch
Index: third_party/gles_book_examples/Common/Source/Win32/esUtil_win32.c
===================================================================
--- third_party/gles_book_examples/Common/Source/Win32/esUtil_win32.c (revision 35627)
+++ third_party/gles_book_examples/Common/Source/Win32/esUtil_win32.c (working copy)
@@ -1,183 +0,0 @@
-//
-// Book: OpenGL(R) ES 2.0 Programming Guide
-// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner
-// ISBN-10: 0321502795
-// ISBN-13: 9780321502797
-// Publisher: Addison-Wesley Professional
-// URLs: http://safari.informit.com/9780321563835
-// http://www.opengles-book.com
-//
-
-// esUtil_win32.c
-//
-// This file contains the Win32 implementation of the windowing functions.
-
-
-///
-// Includes
-//
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include "esUtil.h"
-
-//////////////////////////////////////////////////////////////////
-//
-// Private Functions
-//
-//
-
-///
-// ESWindowProc()
-//
-// Main window procedure
-//
-LRESULT WINAPI ESWindowProc ( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
-{
- LRESULT lRet = 1;
-
- switch (uMsg)
- {
- case WM_CREATE:
- break;
-
- case WM_PAINT:
- {
- ESContext *esContext = (ESContext*)(LONG_PTR) GetWindowLongPtr ( hWnd, GWL_USERDATA );
-
- if ( esContext && esContext->drawFunc )
- esContext->drawFunc ( esContext );
-
- ValidateRect( esContext->hWnd, NULL );
- }
- break;
-
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
-
- case WM_CHAR:
- {
- POINT point;
- ESContext *esContext = (ESContext*)(LONG_PTR) GetWindowLongPtr ( hWnd, GWL_USERDATA );
-
- GetCursorPos( &point );
-
- if ( esContext && esContext->keyFunc )
- esContext->keyFunc ( esContext, (unsigned char) wParam,
- (int) point.x, (int) point.y );
-}
- break;
-
- default:
- lRet = DefWindowProc (hWnd, uMsg, wParam, lParam);
- break;
- }
-
- return lRet;
-}
-
-//////////////////////////////////////////////////////////////////
-//
-// Public Functions
-//
-//
-
-///
-// WinCreate()
-//
-// Create Win32 instance and window
-//
-GLboolean WinCreate ( ESContext *esContext, const char *title )
-{
- WNDCLASS wndclass = {0};
- DWORD wStyle = 0;
- RECT windowRect;
- HINSTANCE hInstance = GetModuleHandle(NULL);
-
-
- wndclass.style = CS_OWNDC;
- wndclass.lpfnWndProc = (WNDPROC)ESWindowProc;
- wndclass.hInstance = hInstance;
- wndclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
- wndclass.lpszClassName = "opengles2.0";
-
- if (!RegisterClass (&wndclass) )
- return FALSE;
-
- wStyle = WS_VISIBLE | WS_POPUP | WS_BORDER | WS_SYSMENU | WS_CAPTION;
-
- // Adjust the window rectangle so that the client area has
- // the correct number of pixels
- windowRect.left = 0;
- windowRect.top = 0;
- windowRect.right = esContext->width;
- windowRect.bottom = esContext->height;
-
- AdjustWindowRect ( &windowRect, wStyle, FALSE );
-
-
-
- esContext->hWnd = CreateWindow(
- "opengles2.0",
- title,
- wStyle,
- 0,
- 0,
- windowRect.right - windowRect.left,
- windowRect.bottom - windowRect.top,
- NULL,
- NULL,
- hInstance,
- NULL);
-
- // Set the ESContext* to the GWL_USERDATA so that it is available to the
- // ESWindowProc
- SetWindowLongPtr ( esContext->hWnd, GWL_USERDATA, (LONG) (LONG_PTR) esContext );
-
-
- if ( esContext->hWnd == NULL )
- return GL_FALSE;
-
- ShowWindow ( esContext->hWnd, TRUE );
-
- return GL_TRUE;
-}
-
-///
-// winLoop()
-//
-// Start main windows loop
-//
-void WinLoop ( ESContext *esContext )
-{
- MSG msg = { 0 };
- int done = 0;
- DWORD lastTime = GetTickCount();
-
- while (!done)
- {
- int gotMsg = (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) != 0);
- DWORD curTime = GetTickCount();
- float deltaTime = (float)( curTime - lastTime ) / 1000.0f;
- lastTime = curTime;
-
- if ( gotMsg )
- {
- if (msg.message==WM_QUIT)
- {
- done=1;
- }
- else
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- }
- else
- SendMessage( esContext->hWnd, WM_PAINT, 0, 0 );
-
- // Call update function if registered
- if ( esContext->updateFunc != NULL )
- esContext->updateFunc ( esContext, deltaTime );
- }
-}

Powered by Google App Engine
This is Rietveld 408576698