#ifndef _CUSTOMGUI_LAYERSET_H_ #define _CUSTOMGUI_LAYERSET_H_ #include "c4d_library.h" #include "c4d_basecontainer.h" #include "c4d_gui.h" #include "c4d_customdatatype.h" #include "customgui_base.h" #ifdef __API_INTERN__ #include "ge_string.h" #include "ge_file.h" #else #include "c4d_string.h" #include "c4d_file.h" #endif #define CUSTOMGUI_LAYERSET 200000043 #define CUSTOMDATATYPE_LAYERSET 200000044 #ifndef __API_INTERN__ class LayerSet : public CustomDataType { private: LayerSet(); ~LayerSet(); public: Bool Content() const { return C4DOS.Pa->LSL_Content(this); } Bool IsLayerEnabled(const String &name) const { return C4DOS.Pa->LSL_IsLayerEnabled(this,name); } Bool FindLayerSet(const String &name) const { return C4DOS.Pa->LSL_FindLayerSet(this,name); } String GetName() const { return C4DOS.Pa->LSL_GetName(this); } LAYERSETMODE GetMode() const { return C4DOS.Pa->LSL_GetMode(this); } void SetMode(LAYERSETMODE t_mode) { C4DOS.Pa->LSL_SetMode(this,t_mode); } void RemoveLayer(const String &layer) { C4DOS.Pa->LSL_RemoveLayer(this,layer); } void AddLayer(const String &layer) { C4DOS.Pa->LSL_AddLayer(this,layer); } void FlushLayers() { C4DOS.Pa->LSL_FlushLayers(this); } void SetPreviewMode(Int32 s) { C4DOS.Pa->LSL_SetPreviewMode(this,s); } Int32 GetPreviewMode(void) { return C4DOS.Pa->LSL_GetPreviewMode(this); } const LayerSet& operator = (const LayerSet &layerset); Bool operator == (const LayerSet &layerset) const { return C4DOS.Pa->LSL_operator_cmp(this,layerset); } void CopyTo(LayerSet &dst) const { C4DOS.Pa->LSL_CopyTo(this,dst); } static LayerSet* Alloc() { return C4DOS.Pa->LSL_Alloc(); } static void Free(LayerSet *layerset) { C4DOS.Pa->LSL_Free(layerset); } }; class LayerSetHelper { private: LayerSetHelper(); ~LayerSetHelper(); public: Bool Init(const Filename &fn, const LayerSet *selection) { return C4DOS.Pa->LSH_Init(this,fn,selection); } Bool EditLayerSet(const String &dialogtitle, LayerSet *layerset, LayerSet *layerseta) { return C4DOS.Pa->LSH_EditLayerSet(this,dialogtitle,layerset,layerseta); } Bool MergeLayerSet(const LayerSet &selection, BaseBitmap *bmp, Bool preview) { return C4DOS.Pa->LSH_MergeLayerSet(this,selection,bmp,preview); } static LayerSetHelper* Alloc() { return C4DOS.Pa->LSH_Alloc(); } static void Free(LayerSetHelper *lsh) { C4DOS.Pa->LSH_Free(lsh); } }; inline Bool CalculateLockListResolution(BaseDocument *doc, const Filename &filename, Int32 *xres, Int32 *yres) { return C4DOS.Pa->CLL_CalculateResolution(doc,filename,xres,yres); } inline Bool CalculateLockListFilename(BaseDocument *doc, Filename &fn, LayerSet *lsl) { return C4DOS.Pa->CLL_CalculateFilename(doc,fn,lsl); } #endif class LayerSetCustomGui : public BaseCustomGui { LayerSetCustomGui(); ~LayerSetCustomGui(); }; // INTERNAL STUFF -- INTERNAL STUFF -- INTERNAL STUFF -- INTERNAL STUFF -- INTERNAL STUFF #ifndef _INTERNAL_DEF_ class iLayerSetCustomGui { }; #else class iLayerSetCustomGui; #endif struct CustomGuiLayerSetLib : public BaseCustomGuiLib { }; #endif