Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXGLViewer Class Reference

OpenGL viewer widget. More...

#include <FXGLViewer.h>

Inheritance diagram for FX::FXGLViewer:
FX::FXGLCanvas FX::FXCanvas FX::FXWindow FX::FXDrawable FX::FXId FX::FXObject

List of all members.

Public Types

enum  { PARALLEL, PERSPECTIVE }
enum  {
  ID_PERSPECTIVE = FXGLCanvas::ID_LAST, ID_PARALLEL, ID_FRONT, ID_BACK,
  ID_LEFT, ID_RIGHT, ID_TOP, ID_BOTTOM,
  ID_RESETVIEW, ID_FITVIEW, ID_TOP_COLOR, ID_BOTTOM_COLOR,
  ID_BACK_COLOR, ID_AMBIENT_COLOR, ID_LIGHT_AMBIENT, ID_LIGHT_DIFFUSE,
  ID_LIGHT_SPECULAR, ID_LIGHTING, ID_TURBO, ID_FOG,
  ID_DITHER, ID_SCALE_X, ID_SCALE_Y, ID_SCALE_Z,
  ID_DIAL_X, ID_DIAL_Y, ID_DIAL_Z, ID_ROLL,
  ID_PITCH, ID_YAW, ID_FOV, ID_ZOOM,
  ID_CUT_SEL, ID_COPY_SEL, ID_PASTE_SEL, ID_DELETE_SEL,
  ID_PRINT_IMAGE, ID_PRINT_VECTOR, ID_LASSO_ZOOM, ID_LASSO_SELECT,
  ID_LAST
}

Public Member Functions

long onPaint (FXObject *, FXSelector, void *)
long onEnter (FXObject *, FXSelector, void *)
long onLeave (FXObject *, FXSelector, void *)
long onMotion (FXObject *, FXSelector, void *)
long onMouseWheel (FXObject *, FXSelector, void *)
long onChanged (FXObject *, FXSelector, void *)
long onPick (FXObject *, FXSelector, void *)
long onClicked (FXObject *, FXSelector, void *)
long onDoubleClicked (FXObject *, FXSelector, void *)
long onTripleClicked (FXObject *, FXSelector, void *)
long onLassoed (FXObject *, FXSelector, void *)
long onSelected (FXObject *, FXSelector, void *)
long onDeselected (FXObject *, FXSelector, void *)
long onInserted (FXObject *, FXSelector, void *)
long onDeleted (FXObject *, FXSelector, void *)
long onLeftBtnPress (FXObject *, FXSelector, void *)
long onLeftBtnRelease (FXObject *, FXSelector, void *)
long onMiddleBtnPress (FXObject *, FXSelector, void *)
long onMiddleBtnRelease (FXObject *, FXSelector, void *)
long onRightBtnPress (FXObject *, FXSelector, void *)
long onRightBtnRelease (FXObject *, FXSelector, void *)
long onSpaceBallMotion (FXObject *, FXSelector, void *)
long onUngrabbed (FXObject *, FXSelector, void *)
long onKeyPress (FXObject *, FXSelector, void *)
long onKeyRelease (FXObject *, FXSelector, void *)
long onFocusIn (FXObject *, FXSelector, void *)
long onFocusOut (FXObject *, FXSelector, void *)
long onClipboardLost (FXObject *, FXSelector, void *)
long onClipboardGained (FXObject *, FXSelector, void *)
long onClipboardRequest (FXObject *, FXSelector, void *)
long onCmdPerspective (FXObject *, FXSelector, void *)
long onUpdPerspective (FXObject *, FXSelector, void *)
long onCmdParallel (FXObject *, FXSelector, void *)
long onUpdParallel (FXObject *, FXSelector, void *)
long onCmdFront (FXObject *, FXSelector, void *)
long onUpdFront (FXObject *, FXSelector, void *)
long onCmdBack (FXObject *, FXSelector, void *)
long onUpdBack (FXObject *, FXSelector, void *)
long onCmdLeft (FXObject *, FXSelector, void *)
long onUpdLeft (FXObject *, FXSelector, void *)
long onCmdRight (FXObject *, FXSelector, void *)
long onUpdRight (FXObject *, FXSelector, void *)
long onCmdTop (FXObject *, FXSelector, void *)
long onUpdTop (FXObject *, FXSelector, void *)
long onCmdBottom (FXObject *, FXSelector, void *)
long onUpdBottom (FXObject *, FXSelector, void *)
long onCmdResetView (FXObject *, FXSelector, void *)
long onCmdFitView (FXObject *, FXSelector, void *)
long onDNDEnter (FXObject *, FXSelector, void *)
long onDNDLeave (FXObject *, FXSelector, void *)
long onDNDMotion (FXObject *, FXSelector, void *)
long onDNDDrop (FXObject *, FXSelector, void *)
long onTipTimer (FXObject *, FXSelector, void *)
long onCmdXYZDial (FXObject *, FXSelector, void *)
long onUpdXYZDial (FXObject *, FXSelector, void *)
long onCmdRollPitchYaw (FXObject *, FXSelector, void *)
long onUpdRollPitchYaw (FXObject *, FXSelector, void *)
long onCmdXYZScale (FXObject *, FXSelector, void *)
long onUpdXYZScale (FXObject *, FXSelector, void *)
long onUpdCurrent (FXObject *, FXSelector, void *)
long onCmdCutSel (FXObject *, FXSelector, void *)
long onCmdCopySel (FXObject *, FXSelector, void *)
long onCmdPasteSel (FXObject *, FXSelector, void *)
long onCmdDeleteSel (FXObject *, FXSelector, void *)
long onUpdDeleteSel (FXObject *, FXSelector, void *)
long onCmdBackColor (FXObject *, FXSelector, void *)
long onUpdBackColor (FXObject *, FXSelector, void *)
long onCmdGradientBackColor (FXObject *, FXSelector, void *)
long onUpdGradientBackColor (FXObject *, FXSelector, void *)
long onCmdAmbientColor (FXObject *, FXSelector, void *)
long onUpdAmbientColor (FXObject *, FXSelector, void *)
long onCmdLighting (FXObject *, FXSelector, void *)
long onUpdLighting (FXObject *, FXSelector, void *)
long onCmdFog (FXObject *, FXSelector, void *)
long onUpdFog (FXObject *, FXSelector, void *)
long onCmdDither (FXObject *, FXSelector, void *)
long onUpdDither (FXObject *, FXSelector, void *)
long onCmdFov (FXObject *, FXSelector, void *)
long onUpdFov (FXObject *, FXSelector, void *)
long onCmdZoom (FXObject *, FXSelector, void *)
long onUpdZoom (FXObject *, FXSelector, void *)
long onCmdLightAmbient (FXObject *, FXSelector, void *)
long onUpdLightAmbient (FXObject *, FXSelector, void *)
long onCmdLightDiffuse (FXObject *, FXSelector, void *)
long onUpdLightDiffuse (FXObject *, FXSelector, void *)
long onCmdLightSpecular (FXObject *, FXSelector, void *)
long onUpdLightSpecular (FXObject *, FXSelector, void *)
long onCmdTurbo (FXObject *, FXSelector, void *)
long onUpdTurbo (FXObject *, FXSelector, void *)
long onCmdPrintImage (FXObject *, FXSelector, void *)
long onCmdPrintVector (FXObject *, FXSelector, void *)
long onCmdLassoZoom (FXObject *, FXSelector, void *)
long onCmdLassoSelect (FXObject *, FXSelector, void *)
long onQueryHelp (FXObject *, FXSelector, void *)
long onQueryTip (FXObject *, FXSelector, void *)
virtual long onDefault (FXObject *, FXSelector, void *)
 Called for unhandled messages.
 FXGLViewer (FXComposite *p, FXGLVisual *vis, FXObject *tgt=NULL, FXSelector sel=0, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
 Construct GL viewer widget.
 FXGLViewer (FXComposite *p, FXGLVisual *vis, FXGLCanvas *share, FXObject *tgt=NULL, FXSelector sel=0, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
 Construct GL viewer widget sharing display lists with another GL canvas.
 FXGLViewer (FXComposite *p, FXGLContext *ctx, FXObject *tgt=NULL, FXSelector sel=0, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
 Construct GL viewer widget sharing context.
virtual void create ()
 Create all of the server-side resources for this window.
virtual void detach ()
 Detach server-side resources.
virtual void layout ()
 Perform layout.
FXdouble worldPix () const
 Return size of pixel in world coordinates.
FXdouble modelPix () const
 Return size of pixel in model coordinates.
FXGLObject ** lasso (FXint x1, FXint y1, FXint x2, FXint y2)
 Return a NULL-terminated list of all objects in the given rectangle, or NULL.
virtual FXGLObject ** select (FXint x, FXint y, FXint w, FXint h)
 Return a NULL-terminated list of all objects in the given rectangle, or NULL.
virtual FXGLObjectpick (FXint x, FXint y)
 Perform a pick operation, returning the object at the given x,y position, or NULL.
virtual FXbool setBounds (const FXRangef &box)
 Change the model bounding box; this adjusts the viewer.
FXbool fitToBounds (const FXRangef &box)
 Fit viewer to the given bounding box.
void getViewport (FXViewport &v) const
 Return the viewer's viewport.
void eyeToScreen (FXint &sx, FXint &sy, FXVec3f e)
 Translate eye-coordinate to screen coordinate.
FXVec3f screenToEye (FXint sx, FXint sy, FXfloat eyez=0.0f)
 Translate screen coordinate to eye coordinate at the given depth.
FXVec3f screenToTarget (FXint sx, FXint sy)
 Translate screen coordinate to eye coordinate at the target point depth.
FXVec3f worldToEye (FXVec3f w)
 Translate world coordinate to eye coordinate.
FXfloat worldToEyeZ (FXVec3f w)
 Translate world coordinate to eye coordinate depth.
FXVec3f eyeToWorld (FXVec3f e)
 Translate eye coordinate to eye coordinate.
FXVec3f worldVector (FXint fx, FXint fy, FXint tx, FXint ty)
 Calculate world coordinate vector from screen movement.
void setMaterial (const FXMaterial &mtl)
 Change default object material setting.
void getMaterial (FXMaterial &mtl) const
 Return default object material setting.
void setFieldOfView (FXdouble fv)
 Change camera field of view angle (in degrees)
FXdouble getFieldOfView () const
 Return camera field of view angle.
void setZoom (FXdouble zm)
 Change camera zoom factor.
FXdouble getZoom () const
 Return camera zoom factor.
void setDistance (FXdouble ed)
 Change target point distance.
FXdouble getDistance () const
 Return target point distance.
void setScale (FXVec3f s)
 Change unequal model scaling factors.
const FXVec3fgetScale () const
 Return current scaling factors.
void setOrientation (FXQuatf rot)
 Change camera orientation from quaternion.
const FXQuatfgetOrientation () const
 Return current camera orientation quaternion.
void setCenter (FXVec3f cntr)
 Change object center (tranlation)
const FXVec3fgetCenter () const
 Return object center.
void translate (FXVec3f vec)
 Translate object center.
FXbool getBoreVector (FXint sx, FXint sy, FXVec3f &point, FXVec3f &dir)
 Return boresight vector.
FXVec3f getEyeVector () const
 Return eyesight vector.
FXVec3f getEyePosition () const
 Return eye position.
void setHelpText (const FXString &text)
 Change help text.
const FXStringgetHelpText () const
 Return help text.
void setTipText (const FXString &text)
 Change tip text.
const FXStringgetTipText () const
 Return tip text.
const FXMat4fgetTransform () const
 Return the current transformation matrix.
const FXMat4fgetInvTransform () const
 Return the inverse of the current transformation matrix.
void setScene (FXGLObject *sc)
 Change the scene, i.e. the object being displayed.
FXGLObjectgetScene () const
 Return the current scene object.
void setSelection (FXGLObject *sel)
 Change selection.
FXGLObjectgetSelection () const
 Return selection.
void setProjection (FXuint proj)
 Change the projection mode, PERSPECTIVE or PARALLEL.
FXuint getProjection () const
 Return the projection mode.
void setBackgroundColor (const FXVec4f &clr)
 Change both top and bottom background colors.
void setBackgroundColor (const FXVec4f &clr, FXbool bottom)
 Change top or bottom background color.
const FXVec4fgetBackgroundColor (FXbool bottom) const
 Return top or bottom window background color.
void setAmbientColor (const FXVec4f &clr)
 Change global ambient light color.
const FXVec4fgetAmbientColor () const
 Return global ambient light color.
FXbool readPixels (FXColor *&buffer, FXint x, FXint y, FXint w, FXint h)
 Read the pixels off the screen as array of FXColor; this array can be directly passed to fxsaveBMP and other image output routines.
FXbool readFeedback (FXfloat *&buffer, FXint &used, FXint &size, FXint x, FXint y, FXint w, FXint h)
 Read the feedback buffer containing the current scene, returning used and allocated size.
void setZSortFunc (FXZSortFunc func)
 Change hidden-surface feedback buffer sorting algorithm.
FXZSortFunc getZSortFunc () const
 Return hidden surface sorting function.
void setMaxHits (FXint maxh)
 Change the maximum hits, i.e.
FXint getMaxHits () const
 Return maximum pickbuffer size.
FXbool doesTurbo () const
 When drawing a GL object, if doesTurbo() is true, the object may choose to perform a reduced complexity drawing as the user is interactively manipulating; another update will be done later when the full complexity drawing can be performed again.
FXbool getTurboMode () const
 Return turbo mode setting.
void setTurboMode (FXbool turbo=true)
 Set turbo mode.
void getLight (FXLight &lite) const
 Return light source settings.
void setLight (const FXLight &lite)
 Change light source settings.
virtual void save (FXStream &store) const
 Save viewer to a stream.
virtual void load (FXStream &store)
 Load viewer from a stream.
virtual ~FXGLViewer ()
 Destructor.
- Public Member Functions inherited from FX::FXGLCanvas
 FXGLCanvas (FXComposite *p, FXGLVisual *vis, FXObject *tgt=NULL, FXSelector sel=0, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
 Construct a GL canvas with its private context and private display lists.
 FXGLCanvas (FXComposite *p, FXGLVisual *vis, FXGLCanvas *share, FXObject *tgt=NULL, FXSelector sel=0, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
 Construct a GL canvas with its private context but shared display lists.
 FXGLCanvas (FXComposite *p, FXGLContext *ctx, FXObject *tgt=NULL, FXSelector sel=0, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
 Construct a GL canvas with a shared context.
void setContext (FXGLContext *ctx, FXbool owned=false)
 Change context.
FXGLContextgetContext () const
 Get context.
virtual void destroy ()
 Destroy the server-side resources for this window.
virtual FXbool makeCurrent ()
 Make OpenGL context current prior to performing OpenGL commands.
virtual FXbool makeNonCurrent ()
 Make OpenGL context non current.
virtual FXbool isCurrent () const
 Return true if this window's context is current.
virtual void swapBuffers ()
 Swap front and back buffer.
FXbool isShared () const
 Return true if it is sharing display lists.
virtual ~FXGLCanvas ()
 Destructor.
- Public Member Functions inherited from FX::FXCanvas
 FXCanvas (FXComposite *p, FXObject *tgt=NULL, FXSelector sel=0, FXuint opts=FRAME_NORMAL, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
 Construct new drawing canvas widget.
virtual FXbool canFocus () const
 Return true because canvas can receive focus.
- Public Member Functions inherited from FX::FXWindow
long onMap (FXObject *, FXSelector, void *)
long onUnmap (FXObject *, FXSelector, void *)
long onConfigure (FXObject *, FXSelector, void *)
long onUpdate (FXObject *, FXSelector, void *)
long onSpaceBallButtonPress (FXObject *, FXSelector, void *)
long onSpaceBallButtonRelease (FXObject *, FXSelector, void *)
long onBeginDrag (FXObject *, FXSelector, void *)
long onEndDrag (FXObject *, FXSelector, void *)
long onDragged (FXObject *, FXSelector, void *)
long onDestroy (FXObject *, FXSelector, void *)
long onFocusSelf (FXObject *, FXSelector, void *)
long onSelectionLost (FXObject *, FXSelector, void *)
long onSelectionGained (FXObject *, FXSelector, void *)
long onSelectionRequest (FXObject *, FXSelector, void *)
long onDNDRequest (FXObject *, FXSelector, void *)
long onCmdShow (FXObject *, FXSelector, void *)
long onCmdHide (FXObject *, FXSelector, void *)
long onUpdToggleShown (FXObject *, FXSelector, void *)
long onCmdToggleShown (FXObject *, FXSelector, void *)
long onCmdRaise (FXObject *, FXSelector, void *)
long onCmdLower (FXObject *, FXSelector, void *)
long onCmdEnable (FXObject *, FXSelector, void *)
long onCmdDisable (FXObject *, FXSelector, void *)
long onUpdToggleEnabled (FXObject *, FXSelector, void *)
long onCmdToggleEnabled (FXObject *, FXSelector, void *)
long onCmdUpdate (FXObject *, FXSelector, void *)
long onUpdYes (FXObject *, FXSelector, void *)
long onCmdDelete (FXObject *, FXSelector, void *)
 FXWindow (FXComposite *p, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
 Constructor.
FXWindowgetParent () const
 Return a pointer to the parent window.
FXWindowgetOwner () const
 Return a pointer to the owner window.
FXWindowgetShell () const
 Return a pointer to the shell window.
FXWindowgetRoot () const
 Return a pointer to the root window.
FXWindowgetNext () const
 Return a pointer to the next (sibling) window, if any.
FXWindowgetPrev () const
 Return a pointer to the previous (sibling) window , if any.
FXWindowgetFirst () const
 Return a pointer to this window's first child window , if any.
FXWindowgetLast () const
 Return a pointer to this window's last child window, if any.
FXWindowgetFocus () const
 Return a pointer to the currently focused child window.
virtual WindowClass getWindowClass () const
 Get window class.
void setKey (FXuint k)
 Change window key.
FXuint getKey () const
 Return window key.
FXWindowgetChildWithKey (FXuint k) const
 Return child window with given window key.
void setTarget (FXObject *t)
 Set the message target object for this window.
FXObjectgetTarget () const
 Get the message target object for this window, if any.
void setSelector (FXSelector sel)
 Set the message identifier for this window.
FXSelector getSelector () const
 Get the message identifier for this window.
FXint getX () const
 Get this window's x-coordinate, in the parent's coordinate system.
FXint getY () const
 Get this window's y-coordinate, in the parent's coordinate system.
virtual FXint getDefaultWidth ()
 Return the default width of this window.
virtual FXint getDefaultHeight ()
 Return the default height of this window.
virtual FXint getWidthForHeight (FXint givenheight)
 Return width for given height.
virtual FXint getHeightForWidth (FXint givenwidth)
 Return height for given width.
void setX (FXint x)
 Set this window's x-coordinate, in the parent's coordinate system.
void setY (FXint y)
 Set this window's y-coordinate, in the parent's coordinate system.
void setWidth (FXint w)
 Set the window width; and flag the widget as being in need of layout by its parent.
void setHeight (FXint h)
 Set the window height; and flag the widget as being in need of layout by its parent.
void setLayoutHints (FXuint lout)
 Set layout hints for this window.
FXuint getLayoutHints () const
 Get layout hints for this window.
FXAccelTablegetAccelTable () const
 Return a pointer to the accelerator table.
void setAccelTable (FXAccelTable *acceltable)
 Set the accelerator table.
void addHotKey (FXHotKey code)
 Add a hot key.
void remHotKey (FXHotKey code)
 Remove a hot key.
void setHelpTag (const FXString &text)
 Change help tag for this widget.
const FXStringgetHelpTag () const
 Get the help tag for this widget.
FXbool isShell () const
 Return true if window is a shell window.
FXbool isOwnerOf (const FXWindow *window) const
 Return true if specified window is owned by this window.
FXbool isChildOf (const FXWindow *window) const
 Return true if specified window is ancestor of this window.
FXbool containsChild (const FXWindow *child) const
 Return true if this window contains child in its subtree.
FXWindowgetChildAt (FXint x, FXint y) const
 Return the child window at specified coordinates.
FXint numChildren () const
 Return the number of child windows for this window.
FXint indexOfChild (const FXWindow *window) const
 Return the index (starting from zero) of the specified child window, or -1 if the window is not a child or NULL.
FXWindowchildAtIndex (FXint index) const
 Return the child window at specified index, or NULL if the index is negative or out of range.
FXComposeContextgetComposeContext () const
 Return compose context.
void createComposeContext ()
 Create compose context.
void destroyComposeContext ()
 Destroy compose context.
FXbool cursorShown () const
 Is cursor shown.
void showCursor (FXbool flag=true)
 Show or hide the cursor.
void setDefaultCursor (FXCursor *cur)
 Set the default cursor for this window.
FXCursorgetDefaultCursor () const
 Return the default cursor for this window.
void setDragCursor (FXCursor *cur)
 Set the drag cursor for this window.
FXCursorgetDragCursor () const
 Return the drag cursor for this window.
FXbool getCursorPosition (FXint &x, FXint &y, FXuint &buttons) const
 Return the cursor position and mouse button-state.
FXbool setCursorPosition (FXint x, FXint y)
 Warp the cursor to the new position.
FXbool isActive () const
 Return true if the window is active.
FXbool hasFocus () const
 Return true if this window has the focus.
FXbool inFocusChain () const
 Return true if this window is in focus chain.
virtual void setFocus ()
 Move the focus to this window.
virtual void killFocus ()
 Remove the focus from this window.
virtual void changeFocus (FXWindow *child)
 Notification that focus moved to new child.
FXbool isDefault () const
 Return true if this is the default window.
virtual void setDefault (FXuchar flag=true)
 This changes the default window which responds to the Return key in a dialog.
FXWindowfindDefault () const
 Find default window among this window's children.
FXbool isInitial () const
 Return true if this is the initial default window.
void setInitial (FXbool flag=true)
 Make this window the initial default window.
FXWindowfindInitial () const
 Find inital default window among this window's children.
FXbool isEnabled () const
 Return true if this window is able to receive mouse and keyboard events.
virtual void enable ()
 Enable the window to receive mouse and keyboard events.
virtual void disable ()
 Disable the window from receiving mouse and keyboard events.
virtual void attach (FXID w)
 Attach foreign window handle to this window.
virtual void setShape (const FXRegion &region)
 Set window shape by means of region.
virtual void setShape (FXBitmap *bitmap)
 Set window shape by means of bitmap.
virtual void setShape (FXIcon *icon)
 Set window shape by means of icon.
virtual void clearShape ()
 Clear window shape.
virtual void raise ()
 Raise this window to the top of the stacking order.
virtual void lower ()
 Lower this window to the bottom of the stacking order.
virtual void move (FXint x, FXint y)
 Move the window immediately, in the parent's coordinate system.
virtual void resize (FXint w, FXint h)
 Resize the window to the specified width and height immediately, updating the server representation as well, if the window was realized.
virtual void position (FXint x, FXint y, FXint w, FXint h)
 Move and resize the window immediately, in the parent's coordinate system.
virtual void recalc ()
 Mark this window's layout as dirty for later layout.
void forceRefresh ()
 Generate a SEL_UPDATE message for the window and its children.
virtual void reparent (FXWindow *father, FXWindow *other=NULL)
 Reparent this window under new father before other.
void scroll (FXint x, FXint y, FXint w, FXint h, FXint dx, FXint dy) const
 Scroll rectangle x,y,w,h by a shift of dx,dy.
void update (FXint x, FXint y, FXint w, FXint h) const
 Mark the specified rectangle to be repainted later.
void update () const
 Mark the entire window to be repainted later.
void repaint (FXint x, FXint y, FXint w, FXint h) const
 Process any outstanding repaint messages immediately, for the given rectangle.
void repaint () const
 Process any outstanding repaint messages immediately.
FXbool grabbed () const
 Return true if the window has been grabbed.
void grab ()
 Grab the mouse to this window; future mouse events will be reported to this window even while the cursor goes outside of this window.
void ungrab ()
 Release the mouse grab.
FXbool grabbedKeyboard () const
 Return true if active grab is in effect.
void grabKeyboard ()
 Grab keyboard device.
void ungrabKeyboard ()
 Ungrab keyboard device.
FXbool shown () const
 Return true if the window is shown.
virtual void show ()
 Show this window.
virtual void hide ()
 Hide this window.
virtual FXbool isComposite () const
 Return true if the window is composite.
FXbool underCursor () const
 Return true if the window is under the cursor.
FXbool hasSelection () const
 Return true if this window owns the primary selection.
FXbool acquireSelection (const FXDragType *types, FXuint numtypes)
 Try to acquire the primary selection, given a list of drag types.
FXbool releaseSelection ()
 Release the primary selection.
FXbool hasClipboard () const
 Return true if this window owns the clipboard.
FXbool acquireClipboard (const FXDragType *types, FXuint numtypes)
 Try to acquire the clipboard, given a list of drag types.
FXbool releaseClipboard ()
 Release the clipboard.
FXbool isDropEnabled () const
 Return true if this window is able to receive drops.
virtual void dropEnable ()
 Enable this window to receive drops.
virtual void dropDisable ()
 Disable this window from receiving drops.
FXbool isDragging () const
 Return true if a drag operaion has been initiated from this window.
FXbool beginDrag (const FXDragType *types, FXuint numtypes)
 Initiate a drag operation with a list of previously registered drag types.
FXbool handleDrag (FXint x, FXint y, FXDragAction action=DRAG_COPY)
 When dragging, inform the drop-target of the new position and the drag action.
FXDragAction endDrag (FXbool drop=true)
 Terminate the drag operation with or without actually dropping the data Returns the action performed by the target.
FXbool isDropTarget () const
 Return true if this window is the target of a drop.
void setDragRectangle (FXint x, FXint y, FXint w, FXint h, FXbool wantupdates=true) const
 When being dragged over, indicate that no further SEL_DND_MOTION messages are required while the cursor is inside the given rectangle.
void clearDragRectangle () const
 When being dragged over, indicate we want to receive SEL_DND_MOTION messages every time the cursor moves.
void acceptDrop (FXDragAction action=DRAG_ACCEPT) const
 When being dragged over, indicate acceptance or rejection of the dragged data.
FXDragAction didAccept () const
 The target accepted our drop.
void dropFinished (FXDragAction action=DRAG_REJECT) const
 Sent by the drop target in response to SEL_DND_DROP.
FXbool inquireDNDTypes (FXDNDOrigin origin, FXDragType *&types, FXuint &numtypes) const
 When being dragged over, inquire the drag types which are being offered.
FXbool offeredDNDType (FXDNDOrigin origin, FXDragType type) const
 When being dragged over, return true if we are offered the given drag type.
FXDragAction inquireDNDAction () const
 When being dragged over, return the drag action.
FXbool setDNDData (FXDNDOrigin origin, FXDragType type, FXuchar *data, FXuint size) const
 Set DND data; the array must be allocated with allocElms() and ownership is transferred to the system.
FXbool setDNDData (FXDNDOrigin origin, FXDragType type, const FXString &string) const
 Set DND data from string value.
FXbool getDNDData (FXDNDOrigin origin, FXDragType type, FXuchar *&data, FXuint &size) const
 Get DND data; the caller becomes the owner of the array and must free it with freeElms().
FXbool getDNDData (FXDNDOrigin origin, FXDragType type, FXString &string) const
 Get DND data into string value.
virtual FXbool contains (FXint parentx, FXint parenty) const
 Return true if window logically contains the given point.
void translateCoordinatesFrom (FXint &tox, FXint &toy, const FXWindow *fromwindow, FXint fromx, FXint fromy) const
 Translate coordinates from fromwindow's coordinate space to this window's coordinate space.
void translateCoordinatesTo (FXint &tox, FXint &toy, const FXWindow *towindow, FXint fromx, FXint fromy) const
 Translate coordinates from this window's coordinate space to towindow's coordinate space.
virtual void setBackColor (FXColor clr)
 Set window background color.
FXColor getBackColor () const
 Get background color.
virtual FXbool doesSaveUnder () const
 Does save-unders.
virtual const FXchar * tr (const FXchar *text, const FXchar *hint=NULL, FXint count=-1) const FX_FORMAT(2)
 Translate message for localization; using the current FXTranslator, an attempt is made to translate the given message into the current language.
virtual ~FXWindow ()
 Destroy window.
- Public Member Functions inherited from FX::FXDrawable
FXVisualgetVisual () const
 Get the visual.
FXint getWidth () const
 Width of drawable.
FXint getHeight () const
 Height of drawable.
void setVisual (FXVisual *vis)
 Change visual.
virtual ~FXDrawable ()
 Cleanup.
- Public Member Functions inherited from FX::FXId
FXAppgetApp () const
 Get application.
FXID id () const
 Get XID handle.
void setUserData (FXptr ptr)
 Set user data pointer.
FXptr getUserData () const
 Get user data pointer.
virtual ~FXId ()
 Destructor.
- Public Member Functions inherited from FX::FXObject
const FXchar * getClassName () const
 Get class name of some object.
FXbool isMemberOf (const FXMetaClass *metaclass) const
 Check if object is member of metaclass.
virtual long tryHandle (FXObject *sender, FXSelector sel, void *ptr)
 Try handle message safely, catching certain exceptions.
virtual ~FXObject ()
 Virtual destructor.

Static Public Attributes

static FXDragType objectType
static const FXchar objectTypeName []

Protected Types

enum  {
  HOVERING, PICKING, ROTATING, POSTING,
  TRANSLATING, ZOOMING, FOVING, DRAGGING,
  TRUCKING, GYRATING, DO_LASSOSELECT, LASSOSELECT,
  DO_LASSOZOOM, LASSOZOOM
}

Protected Member Functions

void glsetup ()
virtual void updateProjection ()
virtual void updateTransform ()
FXVec3f spherePoint (FXint px, FXint py)
FXQuatf turn (FXint fx, FXint fy, FXint tx, FXint ty)
void drawWorld (FXViewport &wv)
void drawAnti (FXViewport &wv)
void drawLasso (FXint x0, FXint y0, FXint x1, FXint y1)
FXint selectHits (FXuint *&hits, FXint &nhits, FXint x, FXint y, FXint w, FXint h)
FXint renderFeedback (FXfloat *buffer, FXint x, FXint y, FXint w, FXint h, FXint maxbuffer)
void drawFeedback (FXDCPrint &pdc, const FXfloat *buffer, FXint used)
virtual FXGLObjectprocessHits (FXuint *pickbuffer, FXint nhits)
void setOp (FXuint o)

Protected Attributes

FXViewport wvt
FXMat4f transform
FXMat4f itransform
FXuint projection
FXQuatf rotation
FXdouble fov
FXdouble zoom
FXVec3f center
FXVec3f scale
FXdouble worldpx
FXdouble modelpx
FXint maxhits
FXdouble ax
FXdouble ay
FXdouble diameter
FXdouble distance
FXVec4f background [2]
FXVec4f ambient
FXLight light
FXMaterial material
FXint dial [3]
FXString help
FXString tip
FXGLObjectdropped
FXGLObjectselection
FXZSortFunc zsortfunc
FXGLObjectscene
FXbool doesturbo
FXbool turbomode
FXuchar mode
- Protected Attributes inherited from FX::FXGLCanvas
FXGLContextcontext

Friends

class FXGLObject

Detailed Description

OpenGL viewer widget.


Member Function Documentation

void FX::FXGLViewer::setMaxHits ( FXint  maxh)
inline

Change the maximum hits, i.e.

the maximum size of the pick buffer. When set to less than or equal to zero, picking is essentially turned off.

void FX::FXGLViewer::setZSortFunc ( FXZSortFunc  func)
inline

Change hidden-surface feedback buffer sorting algorithm.

This can be used for move/draw printed output depth sorting.


The documentation for this class was generated from the following file:

Copyright © 1997-2016 Jeroen van der Zijp