00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef COIN_SBVIEWPORTREGION_H
00021 #define COIN_SBVIEWPORTREGION_H
00022
00023 #include <stdio.h>
00024 #include <Inventor/SbVec2s.h>
00025 #include <Inventor/SbVec2f.h>
00026
00027 class COIN_DLL_API SbViewportRegion {
00028 public:
00029 SbViewportRegion(void);
00030 SbViewportRegion(short width, short height);
00031 SbViewportRegion(SbVec2s winSize);
00032 SbViewportRegion(const SbViewportRegion & vpReg);
00033
00034 void setWindowSize(short width, short height);
00035 void setWindowSize(SbVec2s winSize);
00036 void setViewport(float left, float bottom,
00037 float width, float height);
00038 void setViewport(SbVec2f origin, SbVec2f size);
00039 void setViewportPixels(short left, short bottom,
00040 short width, short height);
00041 void setViewportPixels(SbVec2s origin, SbVec2s size);
00042 const SbVec2s & getWindowSize(void) const;
00043 const SbVec2f & getViewportOrigin(void) const;
00044 const SbVec2s & getViewportOriginPixels(void) const;
00045 const SbVec2f & getViewportSize(void) const;
00046 const SbVec2s & getViewportSizePixels(void) const;
00047 float getViewportAspectRatio(void) const;
00048 void scaleWidth(float ratio);
00049 void scaleHeight(float ratio);
00050 void setPixelsPerInch(float ppi);
00051 float getPixelsPerInch(void) const;
00052 float getPixelsPerPoint(void) const;
00053 friend COIN_DLL_API int operator ==(const SbViewportRegion & reg1,
00054 const SbViewportRegion & reg2);
00055
00056 void print(FILE * file) const;
00057
00058 private:
00059 SbVec2s winsize;
00060 SbVec2f vporigin;
00061 SbVec2f vpsize;
00062 SbVec2s vporigin_s;
00063 SbVec2s vpsize_s;
00064 float pixperinch;
00065 };
00066
00067 COIN_DLL_API int operator ==(const SbViewportRegion & reg1, const SbViewportRegion & reg2);
00068
00069 #endif // !COIN_SBVIEWPORTREGION_H