xsi_hardwaresurface.h Source File
 
 
 
xsi_hardwaresurface.h
Go to the documentation of this file.
00001 //*****************************************************************************
00011 //*****************************************************************************
00012 
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016 
00017 #ifndef __XSIHARDWARESURFACE_H__
00018 #define __XSIHARDWARESURFACE_H__
00019 
00020 #include <xsi_siobject.h>
00021 
00022 namespace XSI {
00023 
00024 class ImageClip2 ;
00025 
00026 //*****************************************************************************
00033 //*****************************************************************************
00034 class SICPPSDKDECL HardwareSurface : public SIObject
00035 {
00036 public:
00038         HardwareSurface();
00039 
00041         ~HardwareSurface();
00042 
00046         HardwareSurface(const CRef& in_ref);
00047 
00051         HardwareSurface(const HardwareSurface& in_obj);
00052 
00057         bool IsA( siClassID in_ClassID) const;
00058 
00062         siClassID GetClassID() const;
00063 
00069         HardwareSurface& operator=(const HardwareSurface& in_obj);
00070 
00076         HardwareSurface& operator=(const CRef& in_ref);
00077 
00083         void* GetInterface();
00084 
00085         //*************************************************************************
00092         //*************************************************************************
00093 
00094         class SICPPSDKDECL Options
00095         {
00096                 public:
00097                         friend class HardwareSurface;
00098                         friend class HardwareShaderContext;
00099                         friend class ImageClip2;
00100 
00102                         Options();
00103 
00105                         ~Options();
00106 
00140                         CStatus PutFormat( const CString& in_format );
00141 
00146                         CStatus PutWidth( UINT in_nWidth );
00147 
00152                         CStatus PutHeight( UINT in_nHeight );
00153 
00158                         CStatus PutGraphicDriver( siGraphicDriver in_eGraphicDriver );
00159 
00164                         CStatus PutSharing( siResourceSharing in_eShareCap );
00165 
00170                         CStatus PutDimension( siHardwareSurfaceDimension in_eDimension );
00171 
00172                         // internal
00173                         CStatus PutFlags( LONG in_lFlags );
00174 
00175                 protected:
00176                         void* m_pImpl;
00177         };
00178 
00179         private:
00180         HardwareSurface * operator&() const;
00181         HardwareSurface * operator&();
00182 };
00183 
00184 };
00185 
00186 #endif
00187