00001 
00004 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXTHUMBNAIL_H
00005 #define FBXFILESDK_KFBXPLUGINS_KFBXTHUMBNAIL_H
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 
00042 #include <fbxfilesdk/components/kbaselib/kaydaradef_h.h>
00043 #include <fbxfilesdk/components/kbaselib/kaydara.h>
00044 #include <fbxfilesdk/kfbxplugins/kfbxobject.h>
00045 
00046 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00047 
00048 class KFbxThumbnailMembers;
00049 class KFbxSdkManager;
00050 
00054 class KFBX_DLL KFbxThumbnail : public KFbxObject
00055 {
00056     KFBXOBJECT_DECLARE(KFbxThumbnail,KFbxObject);
00057 
00058 public:
00059 
00064 
00066     KFbxTypedProperty<fbxInteger1> CustomHeight;
00067 
00069     KFbxTypedProperty<fbxInteger1> CustomWidth;
00070 
00075     typedef enum 
00076     {
00077         eRGB_24, 
00078         eRGBA_32 
00079     } EDataFormat;
00080 
00084     void SetDataFormat(EDataFormat pDataFormat);
00085 
00089     EDataFormat GetDataFormat() const;
00090 
00091 
00098     typedef enum 
00099     {
00100         eNOT_SET = 0,
00101         e64x64   = 64,
00102         e128x128 = 128,
00103         eCUSTOM_SIZE = -1
00104     } EImageSize;
00105 
00109     void SetSize(EImageSize pImageSize);    
00110 
00114     EImageSize GetSize() const;
00115 
00119     unsigned long GetSizeInBytes() const;
00120 
00121 
00123 
00128 
00143     bool SetThumbnailImage(const kUByte* pImage);
00144 
00149     kUByte* GetThumbnailImage() const;
00150 
00152 
00153 
00155 
00156 
00157 
00158 
00159 
00160 
00162 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00163 
00164 protected:
00165 
00167     KFbxThumbnail(KFbxSdkManager& pManager, char const* pName);
00168 
00169     virtual KFbxObject* Clone(KFbxObject* pContainer, KFbxObject::ECloneType pCloneType) const;
00170     virtual void Construct(const KFbxThumbnail* pFrom);
00171     virtual bool ConstructProperties( bool pForceSet );
00172     virtual void Destruct(bool pRecursive, bool pDependents);
00173     virtual KFbxThumbnail& operator = (KFbxThumbnail const& pSrc);
00174 
00175     
00176     KFbxSdkManager* mManager;
00177     KFbxThumbnailMembers* mMembers;
00178 
00179 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS 
00180 };
00181 
00182 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00183 
00184 #endif // FBXFILESDK_KFBXPLUGINS_KFBXTHUMBNAIL_H
00185