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

Unified Diff: examples/ganesh_app/ganesh_view.cc

Issue 1559723002: Update the UI examples. (Closed) Base URL: git@github.com:domokit/mojo.git@moz-14
Patch Set: address feedback Created 4 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
« no previous file with comments | « examples/ganesh_app/ganesh_view.h ('k') | examples/ganesh_app/texture_uploader.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: examples/ganesh_app/ganesh_view.cc
diff --git a/examples/ganesh_app/ganesh_view.cc b/examples/ganesh_app/ganesh_view.cc
deleted file mode 100644
index 48075489764945f524d8cba2d1280d17afb30241..0000000000000000000000000000000000000000
--- a/examples/ganesh_app/ganesh_view.cc
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2014 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.
-
-#include "examples/ganesh_app/ganesh_view.h"
-
-#include "base/logging.h"
-#include "base/trace_event/trace_event.h"
-#include "mojo/skia/ganesh_texture_surface.h"
-#include "third_party/skia/include/core/SkCanvas.h"
-#include "third_party/skia/include/core/SkColor.h"
-
-namespace examples {
-
-namespace {
-
-mojo::Size ToSize(const mojo::Rect& rect) {
- mojo::Size size;
- size.width = rect.width;
- size.height = rect.height;
- return size;
-}
-
-} // namespace
-
-GaneshView::GaneshView(mojo::Shell* shell, mojo::View* view)
- : view_(view),
- gl_context_(mojo::GLContext::Create(shell)),
- gr_context_(new mojo::GaneshContext(gl_context_)),
- texture_uploader_(this, shell, gl_context_) {
- view_->AddObserver(this);
- Draw(ToSize(view_->bounds()));
-}
-
-GaneshView::~GaneshView() {
- if (gl_context_) {
- // GaneshContext needs to be destroyed before GLContext.
- gr_context_.reset();
- gl_context_->Destroy();
- }
-}
-
-void GaneshView::OnSurfaceIdAvailable(mojo::SurfaceIdPtr surface_id) {
- view_->SetSurfaceId(surface_id.Pass());
-}
-
-void GaneshView::OnViewDestroyed(mojo::View* view) {
- DCHECK(view == view_);
- view_->RemoveObserver(this);
- delete this;
-}
-
-void GaneshView::OnViewInputEvent(mojo::View* view,
- const mojo::EventPtr& event) {
- Draw(ToSize(view_->bounds()));
-}
-
-void GaneshView::OnViewBoundsChanged(mojo::View* view,
- const mojo::Rect& old_bounds,
- const mojo::Rect& new_bounds) {
- Draw(ToSize(new_bounds));
-}
-
-void GaneshView::Draw(const mojo::Size& size) {
- TRACE_EVENT0("ganesh_app", __func__);
- mojo::GaneshContext::Scope scope(gr_context_.get());
- mojo::GaneshTextureSurface surface(
- gr_context_.get(),
- std::unique_ptr<mojo::GLTexture>(new mojo::GLTexture(gl_context_, size)));
-
- SkCanvas* canvas = surface.canvas();
- canvas->clear(SK_ColorCYAN);
-
- SkPaint paint;
- paint.setColor(SK_ColorGREEN);
- SkRect rect = SkRect::MakeWH(size.width, size.height);
- rect.inset(10, 10);
- canvas->drawRect(rect, paint);
-
- paint.setColor(SK_ColorRED);
- paint.setFlags(SkPaint::kAntiAlias_Flag);
- canvas->drawCircle(50, 100, 100, paint);
-
- canvas->flush();
-
- texture_uploader_.Upload(
- scoped_ptr<mojo::GLTexture>(surface.TakeTexture().release()));
-}
-
-} // namespace examples
« no previous file with comments | « examples/ganesh_app/ganesh_view.h ('k') | examples/ganesh_app/texture_uploader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698