#include "customgui_descproperty.h" #include "c4d_string.h" #include "c4d_gui.h" static CustomGuiDescriptionPropertyLib *lib_matlink = nullptr; static CustomGuiDescriptionPropertyLib *CheckLib(Int32 offset) { return (CustomGuiDescriptionPropertyLib*)CheckLib(CUSTOMGUI_DESCRIPTIONPROPERTY,offset,(C4DLibrary**)&lib_matlink); } void DescriptionPropertyCustomGui::SetState(Int32 flags) { CustomGuiDescriptionPropertyLib *lib = CheckLib(LIBOFFSET(CustomGuiDescriptionPropertyLib,SetData)); if (!lib || !lib->SetData) return; (((iDescriptionPropertyCustomGui*)this)->*lib->SetState)(flags); } Int32 DescriptionPropertyCustomGui::GetState() { CustomGuiDescriptionPropertyLib *lib = CheckLib(LIBOFFSET(CustomGuiDescriptionPropertyLib,GetState)); if (!lib || !lib->GetState) return false; return (((iDescriptionPropertyCustomGui*)this)->*lib->GetState)(); } void DescriptionPropertyCustomGui::SetDescID(const DescID &id) { CustomGuiDescriptionPropertyLib *lib = CheckLib(LIBOFFSET(CustomGuiDescriptionPropertyLib,SetDescID)); if (!lib || !lib->GetState) return; (((iDescriptionPropertyCustomGui*)this)->*lib->SetDescID)(id); } Int32 DescriptionPropertyCustomGui::GetPartCount() { CustomGuiDescriptionPropertyLib *lib = CheckLib(LIBOFFSET(CustomGuiDescriptionPropertyLib,GetPartCount)); if (!lib || !lib->GetPartCount) return 0; return (((iDescriptionPropertyCustomGui*)this)->*lib->GetPartCount)(); } void DescriptionPropertyCustomGui::GetPartInfo(Int32 part,String &str,DescID &id,Bool &onoff) { CustomGuiDescriptionPropertyLib *lib = CheckLib(LIBOFFSET(CustomGuiDescriptionPropertyLib,GetPartInfo)); if (!lib || !lib->GetPartInfo) return; (((iDescriptionPropertyCustomGui*)this)->*lib->GetPartInfo)(part,str,id,onoff); } void DescriptionPropertyCustomGui::SetSelection(const DescID &id,Bool onoff) { CustomGuiDescriptionPropertyLib *lib = CheckLib(LIBOFFSET(CustomGuiDescriptionPropertyLib,SetSelection)); if (!lib || !lib->SetSelection) return; (((iDescriptionPropertyCustomGui*)this)->*lib->SetSelection)(id,onoff); } void DescriptionPropertyCustomGui::ChangeSettings(const BaseContainer &settings) { CustomGuiDescriptionPropertyLib *lib = CheckLib(LIBOFFSET(CustomGuiDescriptionPropertyLib,ChangeSettings)); if (!lib || !lib->ChangeSettings) return; (((iDescriptionPropertyCustomGui*)this)->*lib->ChangeSettings)(settings); }