Index: chromecast/ui/gfx/surface.cc |
diff --git a/chromecast/ui/gfx/surface.cc b/chromecast/ui/gfx/surface.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..eac527728c474dedf5ab8bcc19ba5c814e54d3e3 |
--- /dev/null |
+++ b/chromecast/ui/gfx/surface.cc |
@@ -0,0 +1,25 @@ |
+// Copyright (c) 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 "chromecast/ui/gfx/surface.h" |
+ |
+#include "chromecast/ui/gfx/gfx_plane.h" |
+ |
+namespace gfx { |
+namespace chromecast { |
+ |
+Surface::Surface(GfxPlane* arg_plane, const Size& arg_size) |
+ : plane_(arg_plane), |
+ size_(arg_size) { |
+ ++plane_->num_surfaces(); |
+} |
+ |
+Surface::~Surface() { |
+ // Informs this surface is removed. |
+ plane_->OnRemoved(this); |
+ --plane_->num_surfaces(); |
+} |
+ |
+} // namespace chromecast |
+} // namespace gfx |