diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/GLSparseArrayProperty.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/GLSparseArrayProperty.java | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/GLSparseArrayProperty.java b/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/GLSparseArrayProperty.java deleted file mode 100644 index c45002857..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/state/GLSparseArrayProperty.java +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.ide.eclipse.gltrace.state; - -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; - -import com.android.utils.SparseArray; - -public class GLSparseArrayProperty implements IGLProperty { - private final GLStateType mType; - private final IGLProperty mDefaultValue; - private final boolean mCreateOnAccess; - private final SparseArray<IGLProperty> mSparseArray; - private IGLProperty mParent; - - public GLSparseArrayProperty(GLStateType type, IGLProperty defaultValue) { - this(type, defaultValue, false); - } - - /** - * Constructs a sparse array property. - * @param type GL state corresponding to this property - * @param defaultValue default value of each item - * @param createOnAccess create an item on access if it is not present - */ - public GLSparseArrayProperty(GLStateType type, IGLProperty defaultValue, - boolean createOnAccess) { - mType = type; - mDefaultValue = defaultValue; - mCreateOnAccess = createOnAccess; - mSparseArray = new SparseArray<IGLProperty>(20); - } - - private GLSparseArrayProperty(GLStateType type, IGLProperty defaultValue, - boolean createOnAccess, SparseArray<IGLProperty> contents) { - mType = type; - mDefaultValue = defaultValue; - mCreateOnAccess = createOnAccess; - mSparseArray = contents; - } - - public List<IGLProperty> getValues() { - List<IGLProperty> values = new ArrayList<IGLProperty>(mSparseArray.size()); - - for (int i = 0; i < mSparseArray.size(); i++) { - values.add(mSparseArray.valueAt(i)); - } - - return values; - } - - public IGLProperty getProperty(int key) { - IGLProperty p = mSparseArray.get(key); - if (p == null && mCreateOnAccess) { - add(key); - p = mSparseArray.get(key); - } - return p; - } - - public int keyFor(IGLProperty element) { - int index = mSparseArray.indexOfValue(element); - return mSparseArray.keyAt(index); - } - - public void put(int key, IGLProperty element) { - element.setParent(this); - mSparseArray.put(key, element); - } - - public void add(int key) { - IGLProperty prop = mDefaultValue.clone(); - prop.setParent(this); - mSparseArray.put(key, prop); - } - - public void delete(int key) { - mSparseArray.delete(key); - } - - @Override - public GLStateType getType() { - return mType; - } - - @Override - public boolean isComposite() { - return true; - } - - @Override - public boolean isDefault() { - return false; - } - - @Override - public IGLProperty getParent() { - return mParent; - } - - @Override - public void setParent(IGLProperty parent) { - mParent = parent; - } - - @Override - public GLSparseArrayProperty clone() { - SparseArray<IGLProperty> copy = new SparseArray<IGLProperty>(mSparseArray.size()); - for (int i = 0; i < mSparseArray.size(); i++) { - int key = mSparseArray.keyAt(i); - IGLProperty value = mSparseArray.get(key); - copy.put(key, value); - } - - return new GLSparseArrayProperty(mType, mDefaultValue, mCreateOnAccess, copy); - } - - @Override - public String getStringValue() { - // This method is called for displaying objects in the UI. - // We do not display any values for composites in the UI as they are only intermediate - // nodes in the tree. - return ""; - } - - @Override - public void setValue(Object value) { - throw new UnsupportedOperationException( - "Values cannot be set for composite properties."); //$NON-NLS-1$ - } - - @Override - public Object getValue() { - throw new UnsupportedOperationException( - "Values cannot be obtained for composite properties."); //$NON-NLS-1$ - } - - @Override - public void prettyPrint(StatePrettyPrinter pp) { - pp.prettyPrint(mType, null); - pp.incrementIndentLevel(); - for (int i = 0; i < mSparseArray.size(); i++) { - int key = mSparseArray.keyAt(i); - pp.prettyPrint(String.format(Locale.US, "Index %d:", key)); - IGLProperty prop = mSparseArray.get(key); - - assert prop != null; - if (prop != null) { - prop.prettyPrint(pp); - } - } - pp.decrementIndentLevel(); - } -} |