---
name: "MesaWorkstation"
section: "3x"
platform: "linux"
package: "mesa"
version: "1.2.7-2"
release: "Debian 1.1 (Buzz)"
platforms: ["linux"]
url: "https://new.carta.tech/MesaWorkstation"
---

# MesaWorkstation(3x)

A simple workstation abstraction widget for Mesa/X

## NAME

MesaWorkstation - A simple workstation abstraction widget for Mesa/X

## DESCRIPTION

## Resources

The following X resources are available in addition to the **MesaDrawingArea** resources:

```
  ___________________________________________________________________________
  ⎪                    ⎪                    ⎪         ⎪                      ⎪
  ⎪ Name               ⎪ Class              ⎪ Type    ⎪ OpenGL attribute     ⎪
  ⎪____________________⎪____________________⎪_________⎪______________________⎪
  ⎪                    ⎪                    ⎪         ⎪                      ⎪
  ⎪                    ⎪                    ⎪         ⎪                      ⎪
  ⎪____________________⎪____________________⎪_________⎪______________________⎪
```

## Actions

- Projection ()

  - Move ()

  ## Translations

- \~Shift\<Key\>Left: *Move(l)*

  - Shift\<Key\>Left: *Move(l,10)*

  - \~Shift\<Key\>Right: *Move(r)*

  - Shift\<Key\>Right: *Move(r,10)*

  - \~Shift\<Key\>Up: *Move(u)*

  - Shift\<Key\>Up: *Move(u,10)*

  - \~Shift\<Key\>Down: *Move(d)*

  - Shift\<Key\>Down: *Move(d,10)*

  - \<Key\>plus: *Move(+)*

  - \<Key\>minus: *Move(-)*

  - \~Shift\<Key\>l: *Projection(l)*

  - Shift\<Key\>l: *Projection(L)*

  - \~Shift\<Key\>r: *Projection(r)*

  - Shift\<Key\>r: *Projection(R)*

  - \~Shift\<Key\>b: *Projection(b)*

  - Shift\<Key\>b: *Projection(B)*

  - \~Shift\<Key\>t: *Projection(t)*

  - Shift\<Key\>t: *Projection(T)*

  - \~Shift\<Key\>n: *Projection(n)*

  - Shift\<Key\>n: *Projection(N)*

  - \~Shift\<Key\>f: *Projection(f)*

  - Shift\<Key\>f: *Projection(F)*

  - \~Shift\<Key\>a: *Projection(a)*

  - Shift\<Key\>a: *Projection(A)*

  - \<Key\>p: *Projection(p)*

  - \<Key\>o: *Projection(o)*

  ## Utility functions

The following utility functions are available\

- void GLwBeginProjection (Widget w)

  - void GLwEndProjection (void)

  The following code snippet selects perspective projection for the workstation *ws*:

  ```
          GLwBeginProjection (ws);
            glFrustum (-1.0, 1.0, -1.0, 1.0, 1.0, 10.0);
          GLwEndProjection ();
  ```

  During redisplay, this will be executed as a display list with the matrix mode set to *GL\_PROJECTION* and an identity matrix on top of the projection matrix stack.\

- void GLwPostProjectionList (Widget w, GLuint p)

  - void GLwPostProjectionMatrix (Widget w, GLdouble \*m)

  - void GLwPostCurrentProjection (Widget w)

  - void GLwUnpostProjection (Widget w)

  - GLuint GLwGetProjectionList (Widget w)

  - int GLwGetProjectionMatrix (Widget w, GLdouble \*m)

  - void GLwSetFrustumProjection (Widget w, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far)

  - void GLwSetOrthoProjection (Widget w, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far)

  - void GLwBeginView (Widget w)

  - void GLwEndView (void)

  The following code snippet selects a view from the z-axis for the workstation *ws*:

  ```
          GLwBeginView (ws);
            gluLookAt (0.0, 0.0, 3.0,
                       0.0, 0.0, 0.0,
                       0.0, 1.0, 0.0);
          GLwEndView ();
  ```

  During redisplay, this will be executed as a display list with the matrix mode set to *GL\_MODELVIEW* and an identity matrix on top of the model view matrix stack.\

- void GLwPostViewList (Widget w, GLuint v)

  - void GLwPostViewMatrix (Widget w, GLdouble \*m)

  - void GLwPostCurrentView (Widget w)

  - void GLwUnpostView (Widget w)

  - GLuint GLwGetViewList (Widget w)

  - int GLwGetViewMatrix (Widget w, GLdouble \*m)

  - void GLwSetPolarView (Widget w, GLdouble r, GLdouble theta, GLdouble phi)

  - void GLwPostObject (Widget w, GLuint o)

  posts *object* to *w*.\

- void GLwUnpostObject (Widget w, GLuint o)

  - void GLwUnpostAllObjects (Widget w)

  - void GLwRedrawObjects (Widget w)

  force a redraw of all objects posted to *w*.

## SEE ALSO

the *GLwDrawingArea* manpage, the *MesaDrawingArea* manpage

## AUTHOR

Thorsten.Ohl @ Physik.TH-Darmstadt.de

## DATE

`$Id:` MesaWorkstation.pod,v 1.6 1995/05/19 20:31:00 ohl Exp $
