diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/detail/VboDetailProvider.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/detail/VboDetailProvider.java | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/detail/VboDetailProvider.java b/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/detail/VboDetailProvider.java deleted file mode 100644 index e0ba947c5..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/views/detail/VboDetailProvider.java +++ /dev/null @@ -1,189 +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.views.detail; - -import com.android.ide.eclipse.gltrace.GLEnum; -import com.android.ide.eclipse.gltrace.GLUtils; -import com.android.ide.eclipse.gltrace.state.GLCompositeProperty; -import com.android.ide.eclipse.gltrace.state.GLStateType; -import com.android.ide.eclipse.gltrace.state.IGLProperty; - -import org.eclipse.jface.action.IContributionItem; -import org.eclipse.jface.layout.GridDataFactory; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -public class VboDetailProvider implements IStateDetailProvider { - private static enum DisplayFormat { - GL_FLOAT, - GL_BYTE, - GL_UNSIGNED_BYTE, - GL_SHORT, - GL_UNSIGNED_SHORT, - GL_FIXED, - } - - private Composite mComposite; - - private Label mSizeLabel; - private Label mUsageLabel; - private Label mTypeLabel; - private Combo mDisplayFormatCombo; - private Text mTextControl; - - private byte[] mBufferData; - - @Override - public boolean isApplicable(IGLProperty state) { - return getVboProperty(state) != null; - } - - @Override - public void createControl(Composite parent) { - mComposite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(2, false); - layout.marginWidth = layout.marginHeight = 0; - mComposite.setLayout(layout); - GridDataFactory.fillDefaults().grab(true, true).applyTo(mComposite); - - Label l = new Label(mComposite, SWT.NONE); - l.setText("Size: "); - GridDataFactory.fillDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(l); - - mSizeLabel = new Label(mComposite, SWT.NONE); - GridDataFactory.fillDefaults().grab(true, false).applyTo(mSizeLabel); - - l = new Label(mComposite, SWT.NONE); - l.setText("Usage: "); - GridDataFactory.fillDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(l); - - mUsageLabel = new Label(mComposite, SWT.NONE); - GridDataFactory.fillDefaults().grab(true, false).applyTo(mUsageLabel); - - l = new Label(mComposite, SWT.NONE); - l.setText("Type: "); - GridDataFactory.fillDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(l); - - mTypeLabel = new Label(mComposite, SWT.NONE); - GridDataFactory.fillDefaults().grab(true, false).applyTo(mTypeLabel); - - l = new Label(mComposite, SWT.NONE); - l.setText("Format Data As: "); - GridDataFactory.fillDefaults().align(SWT.RIGHT, SWT.CENTER).applyTo(l); - - DisplayFormat[] values = DisplayFormat.values(); - List<String> formats = new ArrayList<String>(values.length); - for (DisplayFormat format: values) { - formats.add(format.name()); - } - - mDisplayFormatCombo = new Combo(mComposite, SWT.DROP_DOWN | SWT.READ_ONLY); - mDisplayFormatCombo.setItems(formats.toArray(new String[formats.size()])); - mDisplayFormatCombo.select(0); - mDisplayFormatCombo.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - updateContents(); - } - }); - GridDataFactory.fillDefaults().grab(true, false).applyTo(mDisplayFormatCombo); - - mTextControl = new Text(mComposite, SWT.BORDER | SWT.READ_ONLY | SWT.MULTI - | SWT.WRAP | SWT.V_SCROLL | SWT.H_SCROLL); - GridDataFactory.fillDefaults().span(2, 1).grab(true, true).applyTo(mTextControl); - mTextControl.setEditable(false); - } - - @Override - public void disposeControl() { - } - - @Override - public Control getControl() { - return mComposite; - } - - @Override - public void updateControl(IGLProperty state) { - IGLProperty vbo = getVboProperty(state); - if (vbo instanceof GLCompositeProperty) { - GLCompositeProperty vboProperty = (GLCompositeProperty) vbo; - - IGLProperty sizeProperty = vboProperty.getProperty(GLStateType.BUFFER_SIZE); - mSizeLabel.setText(sizeProperty.getStringValue() + " bytes"); //$NON-NLS-1$ - - IGLProperty usageProperty = vboProperty.getProperty(GLStateType.BUFFER_USAGE); - mUsageLabel.setText(usageProperty.getStringValue()); - - IGLProperty typeProperty = vboProperty.getProperty(GLStateType.BUFFER_TYPE); - mTypeLabel.setText(typeProperty.getStringValue()); - - IGLProperty dataProperty = vboProperty.getProperty(GLStateType.BUFFER_DATA); - mBufferData = (byte[]) dataProperty.getValue(); - } else { - mBufferData = null; - } - - updateContents(); - } - - private void updateContents() { - if (mBufferData != null) { - mTextControl.setText(GLUtils.formatData(mBufferData, - GLEnum.valueOf(mDisplayFormatCombo.getText()))); - mTextControl.setEnabled(true); - mDisplayFormatCombo.setEnabled(true); - } else { - mTextControl.setText(""); - mTextControl.setEnabled(false); - mDisplayFormatCombo.setEnabled(false); - } - } - - @Override - public List<IContributionItem> getToolBarItems() { - return Collections.emptyList(); - } - - /** - * Get the {@link GLStateType#VBO_COMPOSITE} property given a node in - * the state hierarchy. - */ - private IGLProperty getVboProperty(IGLProperty state) { - if (state.getType() == GLStateType.VBO_COMPOSITE) { - return state; - } - - state = state.getParent(); - if (state != null && state.getType() == GLStateType.VBO_COMPOSITE) { - return state; - } - - return null; - } -} |