mxstereo.h

Go to the documentation of this file.
00001 /**
00002  * \file mxstereo.h <mi32/mxstereo.h>
00003  * \brief Definitions for stereoscopic viewing
00004  *
00005  * \if NODOC
00006  * $Id: mxstereo.h_v 1.17 2004/07/12 19:57:09 vdronov Exp $
00007  *
00008  * $Log: mxstereo.h_v $
00009  * Revision 1.17  2004/07/12 19:57:09  vdronov
00010  * added stereo optical and monitor separation
00011  *
00012  * Revision 1.16  2004/06/03 20:56:07  vdronov
00013  * uncomment STEREOMODE_SeparateFrames
00014  *
00015  * Revision 1.15  2004/05/28 18:42:54  vdronov
00016  * added STEREOVIEW enum
00017  *
00018  * Revision 1.14  2004/05/27 19:54:49  mju
00019  * Update stereo modes to be generic instead of using product names.
00020  *
00021  * Revision 1.13  2004/02/13 15:06:58  dwilliss
00022  * Changed from old deprecated mgd to new mgd2
00023  *
00024  * Revision 1.12  2003/09/15 13:49:56  fileserver!dwilliss
00025  * Doxygen
00026  *
00027  * Revision 1.11  2000/07/05 18:18:01  sparsons
00028  * Genitor documentation.
00029  *
00030  * Revision 1.10  1999/05/07 21:20:24  mju
00031  * Header restruct.
00032  *
00033  * Revision 1.9  1999/01/05  19:12:23  scowan
00034  * Swapped multiple keywords
00035  *
00036  * Revision 1.8  1998/12/23 14:32:15  mju
00037  * Include mgd2.h if not already.
00038  *
00039  * Revision 1.7  1998/12/22  15:55:16  mju
00040  * Use MGD::PIXEL.
00041  * Allow non-X use.
00042  *
00043  * Revision 1.6  1998/06/01  14:27:37  mju
00044  * Comment out unsupported device #defines.
00045  *
00046  * Revision 1.5  1997/12/12  16:45:32  mju
00047  * Add flag.
00048  *
00049  * Revision 1.4  1996/12/20  16:37:34  coffee!dwilliss
00050  * Added __cplusplus things
00051  *
00052  * Revision 1.3  1996/10/24  13:30:17  mju
00053  * Add ANAGLYPH_RedBlueMI definition.
00054  *
00055  * Revision 1.2  1996/09/16  22:17:09  mju
00056  * Add AnaglyphPC structure.
00057  *
00058  * Revision 1.1  1996/09/13  22:59:20  mju
00059  * Initial revision
00060  *
00061  * \endif
00062 **/
00063 
00064 #ifndef  INC_MI32_MXSTEREO_H
00065 #define  INC_MI32_MXSTEREO_H
00066 
00067 #ifndef INC_MI32_MGD2_H
00068    #include <mi32/mgd2.h>
00069 #endif
00070 
00071 #if defined(__cplusplus)
00072 extern "C" {
00073 #endif
00074 
00075 struct STEREOPARM {
00076    UINT8 StereoMode;
00077    UINT8 AnaglyphMode;
00078    double OpticalSeparation;
00079    double MonitorSeparation;
00080    UINT32 flags;
00081    struct {
00082       UINT8 Red;
00083       UINT8 Green;
00084       UINT8 Blue;
00085       } leftmask, rightmask;
00086    struct {                            /* Values for drawing anaglyph in PseudoColor mode */
00087       MGD::PIXEL BackgroundPixel;         //!<  Background pixel 
00088       MGD::PIXEL LeftPixel;               //!<  Left pixel for anaglyph 
00089       MGD::PIXEL RightPixel;              //!<  Right pixel for anaglyph 
00090       } AnaglyphPC;
00091    };
00092 
00093 enum STEREOVIEW {
00094    STEREOVIEW_Left   = 0,
00095    STEREOVIEW_Right = 1
00096    };
00097 
00098 enum STEREOMODE {
00099    STEREOMODE_SeparateFrames   = 100,
00100    STEREOMODE_InterlaceLines    = 101,
00101    STEREOMODE_InterlaceColumns    = 102,
00102    STEREOMODE_Anaglyph         = 103
00103    };
00104 
00105 enum ANAGLYPH {
00106    ANAGLYPH_RedGreen    = 0,
00107    ANAGLYPH_RedBlue     = 1,
00108    ANAGLYPH_RedCyan     = 2,
00109    ANAGLYPH_GreenRed    = 3,
00110    ANAGLYPH_GreenBlue      = 4,
00111    ANAGLYPH_GreenMagenta   = 5,
00112    ANAGLYPH_BlueRed     = 6,
00113    ANAGLYPH_BlueGreen      = 7,
00114    ANAGLYPH_BlueYellow     = 8,
00115    ANAGLYPH_CyanRed     = 9,
00116    ANAGLYPH_MagentaGreen   = 10,
00117    ANAGLYPH_YellowBlue     = 11,
00118    ANAGLYPH_RedBlueMI      = 12     //!<  MicroImages red-blue glasses 
00119    };
00120 
00121 #define  MxSTEREOFLAG_AllowSepWindows     0x0001   //!<  Allow separate-window stereo modes 
00122 #define  MxSTEREOFLAG_NeedAnaglyphPixels  0x0002
00123 
00124 //! Initialize STEREOPARM structure.
00125 void MxStereoParmInit (
00126    STEREOPARM *stereoparm, 
00127    UINT32 flags
00128    );
00129 
00130 //! Dialog allowing user to set stereo viewing options.
00131 int MxStereoSetup (
00132    Widget pwidget, 
00133    STEREOPARM *RetStereoParm
00134    );
00135 
00136 
00137 #if defined(__cplusplus)
00138 }
00139 #endif
00140 
00141 #endif      //!<  #ifndef INC_MI32_MXSTEREO_H 

Generated on Tue Dec 14 13:18:30 2004 for TNTsdk by  doxygen 1.3.8-20040913