diff options
Diffstat (limited to 'examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java')
-rw-r--r-- | examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java | 181 |
1 files changed, 0 insertions, 181 deletions
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java deleted file mode 100644 index 4d9db53927..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java +++ /dev/null @@ -1,181 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.opengl.*; -import org.eclipse.swt.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.*; - -class TransparencyTab extends OpenGLTab { - private float[] alphas = { 0.3f, 0.5f, 1.0f }; - private int quadratic; - private int currentSelection = 1; - private final static int - INDEX_TRIANGLE = 1, INDEX_SPHERE = 2, INDEX_DISK = 3; - private final static String[] OBJECTS = {"Triangle", "Sphere", "Disk" }; - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(Composite composite) { - Composite objectGroup = new Composite(composite, SWT.NONE); - GridLayout layout = new GridLayout(2, false); - layout.marginHeight = 0; - layout.marginWidth = 0; - objectGroup.setLayout(layout); - objectGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); - - new Label(objectGroup, SWT.NONE).setText("Object:"); - final Combo objectCombo = new Combo(objectGroup, SWT.READ_ONLY); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.grabExcessHorizontalSpace = true; - objectCombo.setLayoutData(data); - objectCombo.setItems(OBJECTS); - objectCombo.select(0); - - new Label(composite, SWT.NONE).setText("Transparency:"); - final Slider transparencySlider = new Slider(composite, SWT.HORIZONTAL); - transparencySlider.setValues(0, 0, 11, 1, 1, 2); - transparencySlider.setSelection(7); - transparencySlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - float alpha = transparencySlider.getSelection(); - alpha = 1.0f - alpha / 10; - alphas[currentSelection - 1] = alpha; - } - }); - objectCombo.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - currentSelection = objectCombo.getSelectionIndex() + 1; - transparencySlider.setSelection( - (int) ((1.0f - alphas[currentSelection - 1]) * 10)); - } - }); - } - - /** - * @see OpenGLTab#dispose() - */ - void dispose() { - super.dispose(); - GLU.gluDeleteQuadric(quadratic); - GL.glDeleteLists(INDEX_DISK, 1); - GL.glDeleteLists(INDEX_SPHERE, 1); - GL.glDeleteLists(INDEX_TRIANGLE, 1); - } - - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Transparency"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); - quadratic = GLU.gluNewQuadric(); - GLU.gluQuadricNormals(quadratic, GLU.GLU_SMOOTH); - GL.glEnable(GL.GL_CULL_FACE); - GL.glEnable(GL.GL_DEPTH_TEST); - GL.glEnable(GL.GL_BLEND); - // create display lists - GL.glNewList(INDEX_SPHERE, GL.GL_COMPILE); - GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_FILL); - GLU.gluSphere(quadratic, 1.5, 32, 32); - GL.glEndList(); - GL.glNewList(INDEX_DISK, GL.GL_COMPILE); - GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_FILL); - GLU.gluDisk(quadratic, 1.0, 3, 32, 32); - GL.glEndList(); - GL.glNewList(INDEX_TRIANGLE, GL.GL_COMPILE); - GL.glBegin(GL.GL_TRIANGLES); - GL.glVertex3f(0.0f, 2.0f, 0.0f); - GL.glVertex3f(-2.0f, -2.0f, 2.0f); - GL.glVertex3f(2.0f, -2.0f, 2.0f); - GL.glEnd(); - GL.glEndList(); - } - - /** - * @see SelectionTab.processPick (int[], int) - */ - void processPick(int[] pSelectBuff, int hits) { - int zDepth; - int tempSelection = pSelectBuff[3]; - zDepth = pSelectBuff[2]; - // pick object with largest z value - for (int i = 4; i <= 4 * (hits - 1); i = i + 4) { - if (zDepth > pSelectBuff[i + 2]) { - zDepth = pSelectBuff[i + 2]; - tempSelection = pSelectBuff[i + 3]; - } - } - if (tempSelection > 0) currentSelection = tempSelection; - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - // draw items with transparent qualities in reverse Z order - GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); - GL.glLoadIdentity(); - GL.glTranslatef(0.0f, 0.0f, -14.0f); - GL.glPushName(0); - - // draw disk - GL.glPushMatrix(); - GL.glTranslatef(-1.0f, 0.0f, 1.0f); - GL.glColor4f(0.0f, 1.0f, 0.0f, alphas[2]); - GL.glLoadName(INDEX_DISK); - GL.glCallList(INDEX_DISK); - if (currentSelection == INDEX_DISK) { - GL.glColor3f(1.0f, 0.0f, 0.0f); - GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_LINE); - GLU.gluDisk(quadratic, 0.98, 3.02, 32, 32); - } - GL.glPopMatrix(); - - // draw triangle - GL.glTranslatef(0.0f, 0.0f, +3.0f); - GL.glLoadName(INDEX_TRIANGLE); - GL.glColor4f(1.0f, 0.0f, 0.0f, alphas[0]); - GL.glCallList(INDEX_TRIANGLE); - GL.glPointSize(5.0f); - if (currentSelection == INDEX_TRIANGLE) { - GL.glBegin(GL.GL_POINTS); - GL.glColor3f(1.0f, 0.0f, 0.0f); - GL.glVertex3f(0.0f, 2.0f, 0.0f); - GL.glVertex3f(-2.0f, -2.0f, 2.0f); - GL.glVertex3f(2.0f, -2.0f, 2.0f); - GL.glEnd(); - } - - // draw sphere - GL.glPushMatrix(); - GL.glTranslatef(1.0f, 0.0f, +3.0f); - GL.glColor4f(0.0f, 0.0f, 1.0f, alphas[1]); - GL.glLoadName(INDEX_SPHERE); - GL.glCallList(INDEX_SPHERE); - if (currentSelection == INDEX_SPHERE) { - GL.glColor3f(1.0f, 0.0f, 0.0f); - GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_LINE); - GLU.gluSphere(quadratic, 1.51, 8, 8); - } - GL.glPopMatrix(); - } -} |