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.20 2005/06/15 19:57:24 mju Exp $
00007  *
00008  * $Log: mxstereo.h_v $
00009  * Revision 1.20  2005/06/15 19:57:24  mju
00010  * Remove unneeded mgd hdr.
00011  *
00012  * Revision 1.19  2005/03/21 18:58:02  vdronov
00013  * added stereo Sharp
00014  *
00015  * Revision 1.18  2005/01/24 21:32:37  mju
00016  * Remove stereoview enum.
00017  *
00018  * Revision 1.17  2004/07/12 19:57:09  vdronov
00019  * added stereo optical and monitor separation
00020  *
00021  * Revision 1.16  2004/06/03 20:56:07  vdronov
00022  * uncomment STEREOMODE_SeparateFrames
00023  *
00024  * Revision 1.15  2004/05/28 18:42:54  vdronov
00025  * added STEREOVIEW enum
00026  *
00027  * Revision 1.14  2004/05/27 19:54:49  mju
00028  * Update stereo modes to be generic instead of using product names.
00029  *
00030  * Revision 1.1  1996/09/13  22:59:20  mju
00031  * Initial revision
00032  *
00033  * \endif
00034 **/
00035 
00036 #ifndef  INC_MI32_MXSTEREO_H
00037 #define  INC_MI32_MXSTEREO_H
00038 
00039 #ifndef INC_MI32_STDDEFNS_H
00040    #include <mi32/stddefns.h>
00041 #endif
00042 
00043 #if defined(__cplusplus)
00044 extern "C" {
00045 #endif
00046 
00047 struct STEREOPARM {
00048    UINT8 StereoMode;
00049    UINT8 AnaglyphMode;
00050    double OpticalSeparation;
00051    double MonitorSeparation;
00052    UINT32 flags;
00053    struct {
00054       UINT8 Red;
00055       UINT8 Green;
00056       UINT8 Blue;
00057       } leftmask, rightmask;
00058    struct {                            /* Values for drawing anaglyph in PseudoColor mode */
00059       MGD::PIXEL BackgroundPixel;         //!<  Background pixel 
00060       MGD::PIXEL LeftPixel;               //!<  Left pixel for anaglyph 
00061       MGD::PIXEL RightPixel;              //!<  Right pixel for anaglyph 
00062       } AnaglyphPC;
00063    };
00064 
00065 enum STEREOMODE {
00066    STEREOMODE_SeparateFrames   = 100,
00067    STEREOMODE_InterlaceLines    = 101,
00068    STEREOMODE_InterlaceColumns    = 102,
00069    STEREOMODE_Anaglyph         = 103,
00070    STEREOMODE_Sharp         = 104
00071    };
00072 
00073 enum ANAGLYPH {
00074    ANAGLYPH_RedGreen    = 0,
00075    ANAGLYPH_RedBlue     = 1,
00076    ANAGLYPH_RedCyan     = 2,
00077    ANAGLYPH_GreenRed    = 3,
00078    ANAGLYPH_GreenBlue      = 4,
00079    ANAGLYPH_GreenMagenta   = 5,
00080    ANAGLYPH_BlueRed     = 6,
00081    ANAGLYPH_BlueGreen      = 7,
00082    ANAGLYPH_BlueYellow     = 8,
00083    ANAGLYPH_CyanRed     = 9,
00084    ANAGLYPH_MagentaGreen   = 10,
00085    ANAGLYPH_YellowBlue     = 11,
00086    ANAGLYPH_RedBlueMI      = 12     //!<  MicroImages red-blue glasses 
00087    };
00088 
00089 #define  MxSTEREOFLAG_AllowSepWindows     0x0001   //!<  Allow separate-window stereo modes 
00090 #define  MxSTEREOFLAG_NeedAnaglyphPixels  0x0002
00091 
00092 //! Initialize STEREOPARM structure.
00093 void MxStereoParmInit (
00094    STEREOPARM *stereoparm, 
00095    UINT32 flags
00096    );
00097 
00098 //! Dialog allowing user to set stereo viewing options.
00099 int MxStereoSetup (
00100    Widget pwidget, 
00101    STEREOPARM *RetStereoParm
00102    );
00103 
00104 
00105 #if defined(__cplusplus)
00106 }
00107 #endif
00108 
00109 #endif      //!<  #ifndef INC_MI32_MXSTEREO_H 

Generated on Wed May 31 15:27:01 2006 for TNTsdk by  doxygen 1.3.8-20040913