xsi_renderercontext.h Source File
 
 
 
xsi_renderercontext.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 __XSIRENDERERCONTEXT_H__
00018 #define __XSIRENDERERCONTEXT_H__
00019 
00020 #include <xsi_base.h>
00021 #include <xsi_value.h>
00022 #include <xsi_context.h>
00023 #include <xsi_time.h>
00024 
00025 namespace XSI {
00026 
00027 class Framebuffer;
00028 class Property;
00029 
00037 class RendererImageFragment
00038 {
00039 public:
00044         virtual unsigned int GetOffsetX( ) const = 0;
00045 
00050         virtual unsigned int GetOffsetY( ) const = 0;
00051 
00055         virtual unsigned int GetWidth( ) const = 0;
00056 
00060         virtual unsigned int GetHeight( ) const = 0;
00061 
00080         virtual bool GetScanlineRGBA( unsigned int in_uiRow, siImageBitDepth in_eBitDepth, unsigned char *out_pScanline ) const = 0;
00081 };
00082 
00083 
00084 //*****************************************************************************
00092 //*****************************************************************************
00093 
00094 class SICPPSDKDECL RendererContext : public Context
00095 {
00096 public:
00097 
00099         RendererContext();
00100 
00102         ~RendererContext();
00103 
00107         RendererContext(const CRef& in_ref);
00108 
00112         RendererContext(const RendererContext& in_obj);
00113 
00118         bool IsA( siClassID in_ClassID) const;
00119 
00123         siClassID GetClassID() const;
00124 
00129         RendererContext& operator=(const RendererContext& in_obj);
00130 
00136         RendererContext& operator=(const CRef& in_ref);
00137 
00145         CTime GetTime() const;
00146 
00154         unsigned int GetSequenceIndex( ) const;
00155 
00161         unsigned int GetSequenceLength( ) const;
00162 
00171         CStatus ProgressUpdate( const CString &in_strProgressShort, const CString &in_strProgressLong, int in_iPercentage );
00172 
00183         CStatus NewFrame( unsigned int in_uiWidth, unsigned int in_uiHeight );
00184 
00190         CStatus NewFragment( const RendererImageFragment &in_fragment );
00191 
00208         CStatus TriggerEvent( siEventID in_eEventID, siRenderingType in_eRenderingType, const CTime &in_rTime, const CStringArray &in_filenames, siRenderFieldType in_eFieldType, siRenderingErrorType in_eRenderErrorType );
00209 
00210         // For back-comp.
00211         CStatus TriggerEvent( siEventID in_eEventID, siRenderingType in_eRenderingType, const CTime &in_rTime, const CStringArray &in_filenames, siRenderFieldType in_eFieldType );
00212 
00219         Property GetRendererProperty( const CTime &in_rTime );
00220 
00230         Framebuffer GetDisplayFramebuffer( );
00231 
00236         CRefArray GetFramebuffers( );
00237 
00262         CStatus SetObjectClean( const CRef& in_ref );
00263 
00264 
00265         private:
00266         RendererContext * operator&() const;
00267         RendererContext * operator&();
00268 };
00269 
00270 };
00271 #endif // __XSIRENDERERCONTEXT_H__