scrnunit.h

Go to the documentation of this file.
00001 /**
00002  * \file scrnunit.h <mi32/scrnunit.h>
00003  * \brief Definitions for SCREENUNIT constants and functions
00004  *
00005  * \if NODOC
00006  * $Id: scrnunit.h_v 1.13 2003/10/17 15:48:45 mju Exp $
00007  *
00008  * $Log: scrnunit.h_v $
00009  * Revision 1.13  2003/10/17 15:48:45  mju
00010  * Fix comment.
00011  *
00012  * Revision 1.12  2003/09/25 21:29:07  dwilliss
00013  * Don't capitalize enum any more. Genitor needed it, doxygen doesn't like it.
00014  *
00015  * Revision 1.11  2003/09/15 13:49:56  fileserver!dwilliss
00016  * Doxygen
00017  *
00018  * Revision 1.10  2003/02/07 14:35:44  mju
00019  * Fix Mac warning.
00020  *
00021  * Revision 1.9  2003/01/23 22:37:01  mju
00022  * Add SCREENUNIT_Millimeters.
00023  *
00024  * Revision 1.8  2002/10/10 17:33:52  mju
00025  * Add GetScreenPixelSizeMM.
00026  *
00027  * Revision 1.7  2001/12/21 15:34:59  dwilliss
00028  * Have to include stddefns.h or ENUM not defined
00029  *
00030  * Revision 1.6  2001/12/20 21:47:19  mju
00031  * Enum docs.
00032  *
00033  * Revision 1.5  2001/09/04 20:36:30  mju
00034  * Use void* for DC so don't need defn.
00035  *
00036  * Revision 1.4  2001/09/04 20:22:48  mju
00037  * Add MwinGetPixelSizeMM().
00038  *
00039  * Revision 1.3  2001/09/04 15:11:37  mju
00040  * Change SCREENUNIT to enum.
00041  * Add ConvertScreenUnits() which doesn't require pixelsize.
00042  *
00043  * Revision 1.2  2000/10/12 21:49:36  msmith
00044  * Genitor documentation.
00045  *
00046  * Revision 1.1  1999/04/28 14:22:25  mju
00047  * Initial revision
00048  * \endif
00049 **/
00050 
00051 #ifndef  INC_MI32_SCRNUNIT_H
00052 #define  INC_MI32_SCRNUNIT_H
00053 
00054 #ifndef INC_MI32_STDDEFNS_H
00055 #include <mi32/stddefns.h>
00056 #endif
00057 
00058 //! Screen unit enumeration values.
00059 //! These values are stored in files and thus must not change.
00060 enum SCREENUNIT {
00061    SCREENUNIT_Inches =                 0,
00062    SCREENUNIT_Millimeters =            1,
00063    SCREENUNIT_mm =                     SCREENUNIT_Millimeters,
00064    SCREENUNIT_Points =                 2,
00065    SCREENUNIT_Pixels =                 3,
00066    SCREENUNIT_1OverInches  =           4,
00067    SCREENUNIT_MetersAtCurrentScale =   5,
00068    SCREENUNIT_Arbitrary =              6,
00069    SCREENUNIT_Object =                 7,
00070    SCREENUNIT_COUNT =                  8
00071    };
00072 
00073 
00074 //! Convert SCREENUNIT value using given "pixel size".
00075 //! @return Converted value
00076 double ConvertScreenUnits (
00077    double val,                         //!< Input value
00078    double mmPerPixel,                  //!< Millimeters per pixel
00079    double MapScale,                    //!< Map scale
00080    int iunit,                          //!< Input units (SCREENUNIT_...)
00081    int ounit                           //!< Output units (SCREENUNIT_...)
00082    );
00083 
00084 //! Convert SCREENUNIT value using pixel size determined from screen.
00085 //! @return Converted value
00086 double ConvertScreenUnits (
00087    double val,                         //!< Input value
00088    int iunit,                          //!< Input units (SCREENUNIT_...)
00089    int ounit,                          //!< Output units (SCREENUNIT_...)
00090    double MapScale = 1.0               //!< Map scale
00091    );
00092 
00093 //! Get screen pixel size in millimeters.
00094 double GetScreenPixelSizeMM (
00095    );
00096 
00097 #ifdef WIN32_NATIVE
00098 //! Get screen pixel size in millimeters using device context (WIN32_NATIVE only).
00099 double MwinGetPixelSizeMM (
00100    void *hdc                              //!< Windows device context, 0 for default
00101    );
00102 #endif
00103 
00104 #endif   // INC_MI32_SCRNUNIT_H

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