blob: c5a6d9a20c1f201c2fde2690d17a0e49d03c7152 [file] [log] [blame]
reed@android.com86d40082010-02-12 17:17:10 +00001#include "SkLayer.h"
2
3SkLayer::SkLayer() {
4 m_doRotation = false;
5 m_isFixed = false;
6 m_backgroundColorSet = false;
7
8 m_angleTransform = 0;
9 m_opacity = 1;
10
11 m_size.set(0, 0);
12 m_position.set(0, 0);
13 m_translation.set(0, 0);
14 m_anchorPoint.set(0.5, 0.5);
15 m_scale.set(1, 1);
16
17 m_backgroundColor = 0;
18}
19
20SkLayer::SkLayer(const SkLayer& src) {
21 m_doRotation = src.m_doRotation;
22 m_isFixed = src.m_isFixed;
23 m_backgroundColorSet = src.m_backgroundColorSet;
24
25 m_angleTransform = src.m_angleTransform;
26 m_opacity = src.m_opacity;
27 m_size = src.m_size;
28 m_position = src.m_position;
29 m_translation = src.m_translation;
30 m_anchorPoint = src.m_anchorPoint;
31 m_scale = src.m_scale;
32
33 m_fixedLeft = src.m_fixedLeft;
34 m_fixedTop = src.m_fixedTop;
35 m_fixedRight = src.m_fixedRight;
36 m_fixedBottom = src.m_fixedBottom;
37
38 m_backgroundColor = src.m_backgroundColor;
39}
40
41SkLayer::~SkLayer() {
42 this->removeChildren();
43}
44
45int SkLayer::countChildren() const {
46 return m_children.count();
47}
48
49SkLayer* SkLayer::getChild(int index) const {
50 if ((unsigned)index < (unsigned)m_children.count()) {
51 return m_children[index];
52 }
53 return NULL;
54}
55
56SkLayer* SkLayer::addChild(SkLayer* child) {
57 child->ref();
58 *m_children.append() = child;
59 return child;
60}
61
62void SkLayer::removeChildren() {
63 m_children.unrefAll();
64 m_children.reset();
65}
66
67