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

Unified Diff: core/cross/cairo/layer.cc

Issue 6320002: O2D: Several (unrelated) improvements:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/o3d/
Patch Set: Created 9 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 | « core/cross/cairo/layer.h ('k') | core/cross/cairo/renderer_cairo.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: core/cross/cairo/layer.cc
===================================================================
--- core/cross/cairo/layer.cc (revision 71191)
+++ core/cross/cairo/layer.cc (working copy)
@@ -42,16 +42,26 @@
O3D_DEFN_CLASS(Layer, ObjectBase);
+Layer::~Layer() {
+ Renderer* renderer = service_locator()->GetService<Renderer>();
+ RendererCairo* renderer_cairo = down_cast<RendererCairo*>(renderer);
+ renderer_cairo->RemoveLayer(this);
+}
+
Layer::Layer(ServiceLocator* service_locator)
: ObjectBase(service_locator),
alpha_(1.0),
x_(0),
y_(0),
+ z_(0),
width_(0),
height_(0),
scale_x_(1.0),
scale_y_(1.0) {
DLOG(INFO) << "Create Layer";
+ Renderer* renderer = service_locator->GetService<Renderer>();
+ RendererCairo* renderer_cairo = down_cast<RendererCairo*>(renderer);
+ renderer_cairo->AddLayer(this);
}
ObjectBase::Ref Layer::Create(ServiceLocator* service_locator) {
@@ -61,12 +71,9 @@
return ObjectBase::Ref();
}
- Layer* image = new Layer(service_locator);
+ Layer* layer = new Layer(service_locator);
- RendererCairo* renderer2d = down_cast<RendererCairo*>(renderer);
- renderer2d->AddLayer(image);
-
- return ObjectBase::Ref(image);
+ return ObjectBase::Ref(layer);
}
} // namespace o2d
« no previous file with comments | « core/cross/cairo/layer.h ('k') | core/cross/cairo/renderer_cairo.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698