aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/GLTraceCollectorDialog.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/GLTraceCollectorDialog.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/GLTraceCollectorDialog.java228
1 files changed, 0 insertions, 228 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/GLTraceCollectorDialog.java b/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/GLTraceCollectorDialog.java
deleted file mode 100644
index 56dc8e9ac..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/GLTraceCollectorDialog.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Copyright (C) 2011 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;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.ProgressBar;
-import org.eclipse.swt.widgets.Shell;
-
-import java.io.IOException;
-import java.text.DecimalFormat;
-
-/** Dialog displayed while the trace is being streamed from device to host. */
-public class GLTraceCollectorDialog extends TitleAreaDialog {
- private static final String TITLE = "OpenGL ES Trace";
- private static final String DEFAULT_MESSAGE = "Trace collection in progress.";
- private static final DecimalFormat SIZE_FORMATTER = new DecimalFormat("#.##"); //$NON-NLS-1$
-
- private TraceOptions mTraceOptions;
- private final TraceFileWriter mTraceFileWriter;
- private final TraceCommandWriter mTraceCommandWriter;
-
- private Label mFramesCollectedLabel;
- private Label mTraceFileSizeLabel;
- private StatusRefreshTask mRefreshTask;
-
- protected GLTraceCollectorDialog(Shell parentShell, TraceFileWriter traceFileWriter,
- TraceCommandWriter traceCommandWriter, TraceOptions traceOptions) {
- super(parentShell);
- mTraceFileWriter = traceFileWriter;
- mTraceCommandWriter = traceCommandWriter;
- mTraceOptions = traceOptions;
- }
-
- @Override
- protected Control createButtonBar(Composite parent) {
- Composite c = new Composite(parent, SWT.NONE);
- c.setLayout(new GridLayout(0, false));
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalAlignment = GridData.CENTER;
- c.setLayoutData(gd);
-
- createButton(c, IDialogConstants.OK_ID, "Stop Tracing", true);
- return c;
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- parent.setLayout(new GridLayout());
-
- setTitle(TITLE);
- setMessage(DEFAULT_MESSAGE);
-
- Group controlGroup = new Group(parent, SWT.BORDER);
- controlGroup.setLayout(new GridLayout(2, false));
- controlGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- controlGroup.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));
- controlGroup.setText("Trace Options");
-
- createLabel(controlGroup, "Collect Framebuffer contents on eglSwapBuffers()");
- final Button eglSwapCheckBox = createButton(controlGroup,
- mTraceOptions.collectFbOnEglSwap);
-
- createLabel(controlGroup, "Collect Framebuffer contents on glDraw*()");
- final Button glDrawCheckBox = createButton(controlGroup, mTraceOptions.collectFbOnGlDraw);
-
- createLabel(controlGroup, "Collect texture data for glTexImage*()");
- final Button glTexImageCheckBox = createButton(controlGroup,
- mTraceOptions.collectTextureData);
-
- SelectionListener l = new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- boolean eglSwap = eglSwapCheckBox.getSelection();
- boolean glDraw = glDrawCheckBox.getSelection();
- boolean glTexImage = glTexImageCheckBox.getSelection();
-
- try {
- mTraceCommandWriter.setTraceOptions(eglSwap, glDraw, glTexImage);
- } catch (IOException e) {
- eglSwapCheckBox.setEnabled(false);
- glDrawCheckBox.setEnabled(false);
- glTexImageCheckBox.setEnabled(false);
-
- MessageDialog.openError(Display.getDefault().getActiveShell(),
- "OpenGL ES Trace",
- "Error while setting trace options: " + e.getMessage());
- }
-
- // update the text on the button
- if (!(event.getSource() instanceof Button)) {
- return;
- }
- Button sourceButton = (Button) event.getSource();
- sourceButton.setText(getToggleActionText(sourceButton.getSelection()));
- sourceButton.pack();
- }
- };
-
- eglSwapCheckBox.addSelectionListener(l);
- glDrawCheckBox.addSelectionListener(l);
- glTexImageCheckBox.addSelectionListener(l);
-
- Group statusGroup = new Group(parent, SWT.NONE);
- statusGroup.setLayout(new GridLayout(2, false));
- statusGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- statusGroup.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));
- statusGroup.setText("Trace Status");
-
- createLabel(statusGroup, "Frames Collected:");
- mFramesCollectedLabel = createLabel(statusGroup, "");
-
- createLabel(statusGroup, "Trace File Size:");
- mTraceFileSizeLabel = createLabel(statusGroup, "");
-
- ProgressBar pb = new ProgressBar(statusGroup, SWT.INDETERMINATE);
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalSpan = 2;
- pb.setLayoutData(gd);
-
- mRefreshTask = new StatusRefreshTask();
- new Thread(mRefreshTask, "Trace Status Refresh Thread").start();
-
- return super.createDialogArea(parent);
- }
-
- private Button createButton(Composite controlComposite, boolean selection) {
- Button b = new Button(controlComposite, SWT.TOGGLE);
- b.setText(getToggleActionText(selection));
- b.setSelection(selection);
- return b;
- }
-
- /** Get text to show on toggle box given its current selection. */
- private String getToggleActionText(boolean en) {
- return en ? "Disable" : "Enable";
- }
-
- private Label createLabel(Composite parent, String text) {
- Label l = new Label(parent, SWT.NONE);
- l.setText(text);
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalAlignment = SWT.LEFT;
- gd.verticalAlignment = SWT.CENTER;
- l.setLayoutData(gd);
-
- return l;
- }
-
- @Override
- protected void okPressed() {
- mRefreshTask.cancel();
- super.okPressed();
- }
-
- /** Periodically refresh the trace status. */
- private class StatusRefreshTask implements Runnable {
- private static final int REFRESH_INTERVAL = 1000;
- private volatile boolean mIsCancelled = false;
-
- @Override
- public void run() {
- if (mTraceFileWriter == null) {
- return;
- }
-
- while (!mIsCancelled) {
- final String frameCount = Integer.toString(mTraceFileWriter.getCurrentFrameCount());
-
- double fileSize = mTraceFileWriter.getCurrentFileSize();
- fileSize /= (1024 * 1024); // convert to size in MB
- final String frameSize = SIZE_FORMATTER.format(fileSize) + " MB";
-
- Display.getDefault().syncExec(new Runnable() {
- @Override
- public void run() {
- if (mFramesCollectedLabel.isDisposed()) {
- return;
- }
-
- mFramesCollectedLabel.setText(frameCount);
- mTraceFileSizeLabel.setText(frameSize);
-
- mFramesCollectedLabel.pack();
- mTraceFileSizeLabel.pack();
- }
- });
-
- try {
- Thread.sleep(REFRESH_INTERVAL);
- } catch (InterruptedException e) {
- return;
- }
- }
- }
-
- public void cancel() {
- mIsCancelled = true;
- }
- }
-}