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
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__