00001 /** 00002 * \file mxstereo.h <mi32/mxstereo.h> 00003 * \brief Definitions for stereoscopic viewing 00004 * 00005 * \if NODOC 00006 * $Id: mxstereo.h_v 1.12 2003/09/15 13:49:56 fileserver!dwilliss Exp $ 00007 * 00008 * $Log: mxstereo.h_v $ 00009 * Revision 1.12 2003/09/15 13:49:56 fileserver!dwilliss 00010 * Doxygen 00011 * 00012 * Revision 1.11 2000/07/05 18:18:01 sparsons 00013 * Genitor documentation. 00014 * 00015 * Revision 1.10 1999/05/07 21:20:24 mju 00016 * Header restruct. 00017 * 00018 * Revision 1.9 1999/01/05 19:12:23 scowan 00019 * Swapped multiple keywords 00020 * 00021 * Revision 1.8 1998/12/23 14:32:15 mju 00022 * Include mgd.h if not already. 00023 * 00024 * Revision 1.7 1998/12/22 15:55:16 mju 00025 * Use MgdPIXEL. 00026 * Allow non-X use. 00027 * 00028 * Revision 1.6 1998/06/01 14:27:37 mju 00029 * Comment out unsupported device #defines. 00030 * 00031 * Revision 1.5 1997/12/12 16:45:32 mju 00032 * Add flag. 00033 * 00034 * Revision 1.4 1996/12/20 16:37:34 coffee!dwilliss 00035 * Added __cplusplus things 00036 * 00037 * Revision 1.3 1996/10/24 13:30:17 mju 00038 * Add ANAGLYPH_RedBlueMI definition. 00039 * 00040 * Revision 1.2 1996/09/16 22:17:09 mju 00041 * Add AnaglyphPC structure. 00042 * 00043 * Revision 1.1 1996/09/13 22:59:20 mju 00044 * Initial revision 00045 * 00046 * \endif 00047 **/ 00048 00049 #ifndef INC_MI32_MXSTEREO_H 00050 #define INC_MI32_MXSTEREO_H 00051 00052 #ifndef INC_MI32_MGD_H 00053 #include <mi32/mgd.h> 00054 #endif 00055 00056 #if defined(__cplusplus) 00057 extern "C" { 00058 #endif 00059 00060 struct STEREOPARM { 00061 UINT8 StereoMode; 00062 UINT8 AnaglyphMode; 00063 UINT32 flags; 00064 struct { 00065 UINT8 Red; 00066 UINT8 Green; 00067 UINT8 Blue; 00068 } leftmask, rightmask; 00069 struct { /* Values for drawing anaglyph in PseudoColor mode */ 00070 MgdPIXEL BackgroundPixel; //!< Background pixel 00071 MgdPIXEL LeftPixel; //!< Left pixel for anaglyph 00072 MgdPIXEL RightPixel; //!< Right pixel for anaglyph 00073 } AnaglyphPC; 00074 }; 00075 00076 #define STEREOMODE_Standard 1 00077 #define STEREOMODE_CrossEyed 2 00078 /* #define STEREOMODE_CyberScope 3 */ 00079 /* #define STEREOMODE_CrystalEyes 4 */ 00080 #define STEREOMODE_3DMax 101 00081 #define STEREOMODE_SimulEyes 102 00082 #define STEREOMODE_Anaglyph 103 00083 00084 #define ANAGLYPH_RedGreen 0 00085 #define ANAGLYPH_RedBlue 1 00086 #define ANAGLYPH_RedCyan 2 00087 #define ANAGLYPH_GreenRed 3 00088 #define ANAGLYPH_GreenBlue 4 00089 #define ANAGLYPH_GreenMagenta 5 00090 #define ANAGLYPH_BlueRed 6 00091 #define ANAGLYPH_BlueGreen 7 00092 #define ANAGLYPH_BlueYellow 8 00093 #define ANAGLYPH_CyanRed 9 00094 #define ANAGLYPH_MagentaGreen 10 00095 #define ANAGLYPH_YellowBlue 11 00096 #define ANAGLYPH_RedBlueMI 12 //!< MicroImages red-blue glasses 00097 00098 #define MxSTEREOFLAG_AllowSepWindows 0x0001 //!< Allow separate-window stereo modes 00099 #define MxSTEREOFLAG_NeedAnaglyphPixels 0x0002 00100 00101 //! Initialize STEREOPARM structure. 00102 void MxStereoParmInit ( 00103 STEREOPARM *stereoparm, 00104 UINT32 flags 00105 ); 00106 00107 //! Dialog allowing user to set stereo viewing options. 00108 int MxStereoSetup ( 00109 Widget pwidget, 00110 STEREOPARM *RetStereoParm 00111 ); 00112 00113 00114 #if defined(__cplusplus) 00115 } 00116 #endif 00117 00118 #endif //!< #ifndef INC_MI32_MXSTEREO_H
1.3.4-20031026