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

Unified Diff: gpu/demos/app_framework/application.h

Issue 465051: Added an application framework for demos. Ported hello-triangle example in Op... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 12 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
« no previous file with comments | « build/all.gyp ('k') | gpu/demos/app_framework/application.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/demos/app_framework/application.h
===================================================================
--- gpu/demos/app_framework/application.h (revision 0)
+++ gpu/demos/app_framework/application.h (revision 0)
@@ -0,0 +1,57 @@
+// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Base class for gles2 applications using command buffer.
+
+#ifndef GPU_DEMOS_APP_FRAMEWORK_APPLICATION_H_
+#define GPU_DEMOS_APP_FRAMEWORK_APPLICATION_H_
+
+#include "base/at_exit.h"
+#include "base/message_loop.h"
+
+#include "gpu/demos/app_framework/platform.h"
+
+namespace gpu_demos {
+
+// Acts as a base class for GLES2 applications using command buffer.
+// The derived calls needs to call InitRenderContext() to create a render
+// surface and initialize a rendering context. Currently it only creates
+// an on-screen window. It will be extended to support pepper/nacl plugin
+// when pepper 3D api is in place.
+class Application {
+ public:
+ Application();
+ virtual ~Application();
+
+ // Enters the event processing loop.
+ void MainLoop();
+ void OnPaint();
+
+ protected:
+ // Returns the size of rendering surface.
+ inline int width() const { return width_; }
+ inline int height() const { return height_; }
+
+ bool InitRenderContext();
+
+ virtual void Draw() = 0;
+
+ private:
+ // Creates a native on-screen window.
+ NativeWindowHandle CreateNativeWindow();
+
+ int width_;
+ int height_;
+ NativeWindowHandle window_handle_;
+
+ // The following two variables are just needed to satisfy
+ // the assumption that we are running inside a browser.
+ base::AtExitManager at_exit_manager_;
+ MessageLoopForUI message_loop_;
+
+ DISALLOW_COPY_AND_ASSIGN(Application);
+};
+
+} // namespace gpu_demos
+#endif // GPU_DEMOS_APP_FRAMEWORK_APPLICATION_H_
Property changes on: gpu\demos\app_framework\application.h
___________________________________________________________________
Added: svn:eol-style
+ LF
« no previous file with comments | « build/all.gyp ('k') | gpu/demos/app_framework/application.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698