| Index: ui/ozone/demo/egl_demo.cc
|
| diff --git a/ui/ozone/demo/egl_demo.cc b/ui/ozone/demo/egl_demo.cc
|
| index 00084fc2ca757b3918a72f2e990ba2d87ce7071e..707cdb190131ca1068856123e777dfcc1c193ec0 100644
|
| --- a/ui/ozone/demo/egl_demo.cc
|
| +++ b/ui/ozone/demo/egl_demo.cc
|
| @@ -4,25 +4,72 @@
|
|
|
| #include "base/at_exit.h"
|
| #include "base/command_line.h"
|
| +#include "base/message_loop/message_loop.h"
|
| #include "ui/gfx/geometry/size.h"
|
| #include "ui/gl/gl_bindings.h"
|
| #include "ui/gl/gl_context.h"
|
| #include "ui/gl/gl_surface.h"
|
| #include "ui/ozone/public/ozone_platform.h"
|
| #include "ui/ozone/public/surface_factory_ozone.h"
|
| +#include "ui/platform_window/platform_window.h"
|
| +#include "ui/platform_window/platform_window_delegate.h"
|
| +
|
| +const int kTestWindowWidth = 800;
|
| +const int kTestWindowHeight = 600;
|
| +
|
| +class DemoWindow : public ui::PlatformWindowDelegate {
|
| + public:
|
| + DemoWindow() : widget_(gfx::kNullAcceleratedWidget) {
|
| + platform_window_ = ui::OzonePlatform::GetInstance()->CreatePlatformWindow(
|
| + this, gfx::Rect(kTestWindowWidth, kTestWindowHeight));
|
| + }
|
| + virtual ~DemoWindow() {}
|
| +
|
| + gfx::AcceleratedWidget GetAcceleratedWidget() {
|
| + // TODO(spang): We should start rendering asynchronously.
|
| + CHECK_NE(widget_, gfx::kNullAcceleratedWidget)
|
| + << "widget not available synchronously";
|
| + return widget_;
|
| + }
|
| +
|
| + gfx::Size GetSize() { return platform_window_->GetBounds().size(); }
|
| +
|
| + // PlatformWindowDelegate:
|
| + virtual void OnBoundsChanged(const gfx::Rect& new_bounds) OVERRIDE {}
|
| + virtual void OnDamageRect(const gfx::Rect& damaged_region) OVERRIDE {}
|
| + virtual void DispatchEvent(ui::Event* event) OVERRIDE {}
|
| + virtual void OnCloseRequest() OVERRIDE {}
|
| + virtual void OnClosed() OVERRIDE {}
|
| + virtual void OnWindowStateChanged(
|
| + ui::PlatformWindowState new_state) OVERRIDE {}
|
| + virtual void OnLostCapture() OVERRIDE {}
|
| + virtual void OnAcceleratedWidgetAvailable(
|
| + gfx::AcceleratedWidget widget) OVERRIDE {
|
| + CHECK_NE(widget, gfx::kNullAcceleratedWidget);
|
| + widget_ = widget;
|
| + }
|
| +
|
| + private:
|
| + scoped_ptr<ui::PlatformWindow> platform_window_;
|
| + gfx::AcceleratedWidget widget_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(DemoWindow);
|
| +};
|
|
|
| int main(int argc, char** argv) {
|
| CommandLine::Init(argc, argv);
|
| base::AtExitManager exit_manager;
|
|
|
| + base::MessageLoopForUI message_loop;
|
| +
|
| ui::OzonePlatform::InitializeForUI();
|
| if (!gfx::GLSurface::InitializeOneOff())
|
| LOG(FATAL) << "Failed to initialize GL";
|
|
|
| - gfx::AcceleratedWidget widget =
|
| - ui::SurfaceFactoryOzone::GetInstance()->GetAcceleratedWidget();
|
| + DemoWindow window;
|
| +
|
| scoped_refptr<gfx::GLSurface> surface =
|
| - gfx::GLSurface::CreateViewGLSurface(widget);
|
| + gfx::GLSurface::CreateViewGLSurface(window.GetAcceleratedWidget());
|
| if (!surface)
|
| LOG(FATAL) << "Failed to create GL surface";
|
|
|
| @@ -31,7 +78,8 @@ int main(int argc, char** argv) {
|
| if (!context)
|
| LOG(FATAL) << "Failed to create GL context";
|
|
|
| - const gfx::Size window_size(800, 600);
|
| + gfx::Size window_size = window.GetSize();
|
| +
|
| int iterations = 120;
|
|
|
| surface->Resize(window_size);
|
|
|