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

Unified Diff: experimental/c_salt/opengl_context.h

Issue 10928195: First round of dead file removal (Closed) Base URL: https://github.com/samclegg/nativeclient-sdk.git@master
Patch Set: Created 8 years, 3 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 | « experimental/c_salt/npapi/variant_converter_test.cc ('k') | experimental/c_salt/opengl_context.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: experimental/c_salt/opengl_context.h
diff --git a/experimental/c_salt/opengl_context.h b/experimental/c_salt/opengl_context.h
deleted file mode 100644
index e185ef04add6b146d8c8f7f198078a8f5877c49a..0000000000000000000000000000000000000000
--- a/experimental/c_salt/opengl_context.h
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright 2010 The Native Client Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can
-// be found in the LICENSE file.
-
-#ifndef C_SALT_OPENGL_CONTEXT_H_
-#define C_SALT_OPENGL_CONTEXT_H_
-
-///
-/// @file
-/// OpenGLContext manages the OpenGL context in the browser that is associated
-/// with a @a c_salt::Instance instance.
-/// @see c_salt/embedded_app.h
-///
-
-#include <pgl/pgl.h>
-#include <pthread.h>
-
-#include <algorithm>
-#include <string>
-
-#include "boost/noncopyable.hpp"
-#include "boost/scoped_ptr.hpp"
-#include "c_salt/opengl_context_ptrs.h"
-
-namespace c_salt {
-class Browser3DDevice;
-class Instance;
-
-/// OpenGLContext manages an OpenGL rendering context in the browser.
-/// Each OpenGLContext is associated with a @a c_salt::Instance; by default,
-/// the OpenGLContext renders directly into the browser area owned by the
-/// @a c_salt::Instance instance. You can also create an OpenGLContext that
-/// renders into an off-screen FBO.
-///
-/// Note that all OpenGLContext instance must be bound to a
-/// @a c_salt::Instance instance. They cannot operate stand-alone, this
-/// includes contexts that only render to an FBO.
-///
-class OpenGLContext : public boost::noncopyable {
- public:
- /// Bind to @a instance. The in-browser context is not actually created
- /// until it's needed, which is usually the first time MakeContextCurrent()
- /// is called.
- /// @param instance The Instance instance associated with this 3D device
- /// and context.
- /// @see MakeContextCurrent()
- explicit OpenGLContext(const Instance& instance);
-
- /// Dtor makes this the current context, then posts a |kDeleteOpenGLContext|
- /// notification. Destroys the underlying OpenGL context once the
- /// notification handlers have all returned.
- virtual ~OpenGLContext();
-
- /// Get the current context on the calling thread.
- /// @return The current context. If there is no OpenGLContext for the
- /// calling thread, return NULL.
- static SharedOpenGLContext CurrentContext();
-
- /// Make this context the current rendering context. If the underlying OpenGL
- /// context is not valid, this routine makes the current context invalid.
- bool MakeContextCurrent();
-
- /// Flush the contents of this context to the browser's 3D device.
- void FlushContext() const;
-
- /// Makes the OpenGL context owned by this instance the current context on
- /// the calling thread, and then posts a |kRenderOpenGLContext| notification.
- /// When the notification handlers have all returned, the context is flushed
- /// to the browser's 3D device. This OpenGL context remains the current
- /// context.
- /// @see FlushContext()
- void RenderContext();
-
- /// Release all the in-browser resources used by this context, and make this
- /// context invalid. First, make this context current and post the a
- /// |kDeleteOpenGLContext| notification; this allows observers to perform any
- /// necessary clean-up.
- void DeleteContext();
-
- /// @return The Instance instance associated with this context.
- const Instance& instance() const {
- return instance_;
- }
-
- /// Get the OpenGL context owned by this instance. Modifications made to the
- /// raw context are not tracked by this class. If you delete the raw context
- /// directly, then further use of this class will have unpredictable results.
- /// @return The raw OpenGL context owned by this instance.
- PGLContext pgl_context() const {
- return pgl_context_;
- }
-
- /// @return @a true if the context is valid. The context is valid if the
- /// raw OpenGL context exists.
- bool is_valid() const {
- return pgl_context_ != PGL_NO_CONTEXT;
- }
-
- /// Get the instance name used when posting notifications. Observers can use
- /// this name to receive notificaiton from this instance only.
- /// @return The unique name for this instance.
- const std::string& instance_name() const {
- return instance_name_;
- }
-
- // Notifications posted by this class.
-
- /// Posted once when the context is first made current. Observers can perform
- /// any one-time context initialization in their notification handlers. The
- /// OpenGL context owned by this instance is guaranteed to be the current
- /// context when this notification is posted.
- static const char* const kInitializeOpenGLContextNotification;
-
- /// Posted once when the context is about to be deleted. The OpenGL context
- /// owned by this instance is guaranteed to be the current context when this
- /// notification is published.
- static const char* const kDeleteOpenGLContextNotification;
-
- /// Posted whenever the context needs to be re-rendered. This can be in
- /// response to a repaint event from the browser. The OpenGL context owned
- /// by this instance is guaranteed to be current when this notification is
- /// posted. Observers do not need to flush the context while handling this
- /// notification, the context is flushed to the in-browser 3D device when all
- /// the observers have returned from their handlers. An observer can flush
- /// the context if needed, however (although performance may suffer if the
- /// flush blocks).
- static const char* const kRenderOpenGLContextNotification;
-
- private:
- // Create the PGL context, return true on success. On successful return,
- // |pgl_context_| will be valid and ready for rendering.
- bool CreatePGLContext();
- // Destroy the PGL context. On return, |pgl_context_| will be invalid and
- // have a value of PGL_NO_CONTEXT.
- void DestroyPGLContext();
-
- // Post |notification_name| to the default notification center associated
- // with |instance_|.
- void PostNotification(const char* const notification_name) const;
-
- const Instance& instance_; // Weak reference.
- PGLContext pgl_context_; // The OpenGL context.
- // The unique name of this instance, used for publishing notifications.
- std::string instance_name_;
- boost::scoped_ptr<Browser3DDevice> browser_device_;
-
- OpenGLContext(); // Not implemented, do not use.
-};
-
-} // namespace c_salt
-
-#endif // C_SALT_OPENGL_CONTEXT_H_
« no previous file with comments | « experimental/c_salt/npapi/variant_converter_test.cc ('k') | experimental/c_salt/opengl_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698