| // Copyright 2013 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. |
| |
| #ifndef MOJO_EXAMPLES_SAMPLE_APP_NATIVE_VIEWPORT_CLIENT_IMPL_H_ |
| #define MOJO_EXAMPLES_SAMPLE_APP_NATIVE_VIEWPORT_CLIENT_IMPL_H_ |
| |
| #include "base/memory/scoped_ptr.h" |
| #include "mojo/examples/sample_app/gles2_client_impl.h" |
| #include "mojo/public/bindings/lib/remote_ptr.h" |
| #include "mojom/native_viewport.h" |
| |
| namespace mojo { |
| namespace examples { |
| |
| class NativeViewportClientImpl : public NativeViewportClientStub { |
| public: |
| explicit NativeViewportClientImpl(ScopedMessagePipeHandle pipe); |
| virtual ~NativeViewportClientImpl(); |
| |
| void Open(); |
| |
| private: |
| virtual void OnCreated() MOJO_OVERRIDE; |
| virtual void OnDestroyed() MOJO_OVERRIDE; |
| virtual void OnEvent(const Event& event) MOJO_OVERRIDE; |
| |
| scoped_ptr<GLES2ClientImpl> gles2_client_; |
| |
| RemotePtr<NativeViewport> service_; |
| |
| MOJO_DISALLOW_COPY_AND_ASSIGN(NativeViewportClientImpl); |
| }; |
| |
| } // namespace examples |
| } // namespace mojo |
| |
| #endif // MOJO_EXAMPLES_SAMPLE_APP_NATIVE_VIEWPORT_CLIENT_IMPL_H_ |