aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/script/objects/sgammagroup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Wasabi/api/script/objects/sgammagroup.cpp')
-rw-r--r--Src/Wasabi/api/script/objects/sgammagroup.cpp235
1 files changed, 235 insertions, 0 deletions
diff --git a/Src/Wasabi/api/script/objects/sgammagroup.cpp b/Src/Wasabi/api/script/objects/sgammagroup.cpp
new file mode 100644
index 00000000..55c1b872
--- /dev/null
+++ b/Src/Wasabi/api/script/objects/sgammagroup.cpp
@@ -0,0 +1,235 @@
+#include <precomp.h>
+#include "SGammagroup.h"
+
+#include <api/script/script.h>
+#include <api/script/scriptmgr.h>
+#include <api/script/objecttable.h>
+
+// {B81F004D-ACBA-453d-A06B-30192A1DA17D}
+static const GUID gammagroupSoGuid =
+{ 0xb81f004d, 0xacba, 0x453d, { 0xa0, 0x6b, 0x30, 0x19, 0x2a, 0x1d, 0xa1, 0x7d } };
+
+
+GammagroupScriptController _gammagroupController;
+GammagroupScriptController *gammagroupController=&_gammagroupController;
+
+// -- Functions table -------------------------------------
+function_descriptor_struct GammagroupScriptController::exportedFunction[] = {
+ {L"getRed", 0, (void*)SGammagroup::script_vcpu_getRed },
+ {L"getGreen", 0, (void*)SGammagroup::script_vcpu_getGreen },
+ {L"getBlue", 0, (void*)SGammagroup::script_vcpu_getBlue },
+ {L"getBoost", 0, (void*)SGammagroup::script_vcpu_getBoost },
+ {L"getGray", 0, (void*)SGammagroup::script_vcpu_getGray },
+ {L"setRed", 1, (void*)SGammagroup::script_vcpu_setRed },
+ {L"setGreen", 1, (void*)SGammagroup::script_vcpu_setGreen },
+ {L"setBlue", 1, (void*)SGammagroup::script_vcpu_setBlue },
+ {L"setBoost", 1, (void*)SGammagroup::script_vcpu_setBoost },
+ {L"setGray", 1, (void*)SGammagroup::script_vcpu_setGray },
+ {L"getID", 0, (void*)SGammagroup::script_vcpu_getID },
+ {L"setID", 1, (void*)SGammagroup::script_vcpu_setID },
+};
+// --------------------------------------------------------
+
+const wchar_t *GammagroupScriptController::getClassName() {
+ return L"Gammagroup";
+}
+
+const wchar_t *GammagroupScriptController::getAncestorClassName() {
+ return L"Object";
+}
+
+ScriptObjectController *GammagroupScriptController::getAncestorController() { return rootScriptObjectController; }
+
+ScriptObject *GammagroupScriptController::instantiate() {
+ SGammagroup *xd = new SGammagroup;
+ ASSERT(xd != NULL);
+ return xd->getScriptObject();
+}
+
+void GammagroupScriptController::destroy(ScriptObject *o) {
+ SGammagroup *xd = static_cast<SGammagroup *>(o->vcpu_getInterface(gammagroupSoGuid));
+ ASSERT(xd != NULL);
+ delete xd;
+}
+
+void *GammagroupScriptController::encapsulate(ScriptObject *o) {
+ return NULL; // no encapsulation for now
+}
+
+void GammagroupScriptController::deencapsulate(void *o) {
+}
+
+int GammagroupScriptController::getNumFunctions() {
+ return sizeof(exportedFunction) / sizeof(function_descriptor_struct);
+}
+
+const function_descriptor_struct *GammagroupScriptController::getExportedFunctions() {
+ return exportedFunction;
+}
+
+GUID GammagroupScriptController::getClassGuid() {
+ return gammagroupSoGuid;
+}
+
+void SGammagroup::__construct()
+{
+ getScriptObject()->vcpu_setInterface(gammagroupSoGuid, (void *)static_cast<SGammagroup *>(this));
+ getScriptObject()->vcpu_setClassName(L"Gammagroup");
+ getScriptObject()->vcpu_setController(gammagroupController);
+ this->grp = NULL;
+}
+
+SGammagroup::SGammagroup()
+{
+ this->__construct();
+}
+
+SGammagroup::SGammagroup(const wchar_t * parentSet, const wchar_t * grp)
+{
+ this->__construct();
+ this->parentSet = parentSet;
+ this->grp = WASABI_API_COLORTHEMES->getColorThemeGroup(parentSet, grp);
+}
+
+SGammagroup::SGammagroup(const wchar_t * parentSet, int n)
+{
+ this->__construct();
+ this->parentSet = parentSet;
+ for (int i = 0; i < (int)WASABI_API_COLORTHEMES->getNumGammaSets(); i++)
+ {
+ if(WCSICMPSAFE(parentSet, WASABI_API_COLORTHEMES->enumGammaSet(i)))
+ {
+ continue;
+ }
+
+ this->grp = WASABI_API_COLORTHEMES->enumColorThemeGroup(i, n);
+ break;
+ }
+}
+
+SGammagroup::~SGammagroup()
+{
+}
+
+// VCPU
+
+
+scriptVar SGammagroup::script_vcpu_getID(SCRIPT_FUNCTION_PARAMS, ScriptObject *o) {
+ SCRIPT_FUNCTION_INIT;
+ SGammagroup *m = static_cast<SGammagroup *>(o->vcpu_getInterface(gammagroupSoGuid));
+ if (m)
+ {
+ return MAKE_SCRIPT_STRING(m->grp->getName());
+ }
+ return MAKE_SCRIPT_STRING(L"");
+}
+
+scriptVar SGammagroup::script_vcpu_getBlue(SCRIPT_FUNCTION_PARAMS, ScriptObject *o) {
+ SCRIPT_FUNCTION_INIT;
+ SGammagroup *m = static_cast<SGammagroup *>(o->vcpu_getInterface(gammagroupSoGuid));
+ if (m)
+ {
+ return MAKE_SCRIPT_INT(m->grp->getBlue());
+ }
+ RETURN_SCRIPT_ZERO;
+}
+
+scriptVar SGammagroup::script_vcpu_getGreen(SCRIPT_FUNCTION_PARAMS, ScriptObject *o) {
+ SCRIPT_FUNCTION_INIT;
+ SGammagroup *m = static_cast<SGammagroup *>(o->vcpu_getInterface(gammagroupSoGuid));
+ if (m)
+ {
+ return MAKE_SCRIPT_INT(m->grp->getGreen());
+ }
+ RETURN_SCRIPT_ZERO;
+}
+
+scriptVar SGammagroup::script_vcpu_getRed(SCRIPT_FUNCTION_PARAMS, ScriptObject *o) {
+ SCRIPT_FUNCTION_INIT;
+ SGammagroup *m = static_cast<SGammagroup *>(o->vcpu_getInterface(gammagroupSoGuid));
+ if (m)
+ {
+ return MAKE_SCRIPT_INT(m->grp->getRed());
+ }
+ RETURN_SCRIPT_ZERO;
+}
+
+scriptVar SGammagroup::script_vcpu_getBoost(SCRIPT_FUNCTION_PARAMS, ScriptObject *o) {
+ SCRIPT_FUNCTION_INIT;
+ SGammagroup *m = static_cast<SGammagroup *>(o->vcpu_getInterface(gammagroupSoGuid));
+ if (m)
+ {
+ return MAKE_SCRIPT_INT(m->grp->getBoost());
+ }
+ RETURN_SCRIPT_ZERO;
+}
+
+scriptVar SGammagroup::script_vcpu_getGray(SCRIPT_FUNCTION_PARAMS, ScriptObject *o) {
+ SCRIPT_FUNCTION_INIT;
+ SGammagroup *m = static_cast<SGammagroup *>(o->vcpu_getInterface(gammagroupSoGuid));
+ if (m)
+ {
+ return MAKE_SCRIPT_INT(m->grp->getGray());
+ }
+ RETURN_SCRIPT_ZERO;
+}
+
+scriptVar SGammagroup::script_vcpu_setID(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar color) {
+ SCRIPT_FUNCTION_INIT;
+ SGammagroup *m = static_cast<SGammagroup *>(o->vcpu_getInterface(gammagroupSoGuid));
+ if (m)
+ {
+ (m->grp->setName(color.data.sdata));
+ }
+ RETURN_SCRIPT_VOID;
+}
+
+scriptVar SGammagroup::script_vcpu_setBlue(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar color) {
+ SCRIPT_FUNCTION_INIT;
+ SGammagroup *m = static_cast<SGammagroup *>(o->vcpu_getInterface(gammagroupSoGuid));
+ if (m)
+ {
+ (m->grp->setBlue(color.data.idata));
+ }
+ RETURN_SCRIPT_VOID;
+}
+
+scriptVar SGammagroup::script_vcpu_setGreen(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar color) {
+ SCRIPT_FUNCTION_INIT;
+ SGammagroup *m = static_cast<SGammagroup *>(o->vcpu_getInterface(gammagroupSoGuid));
+ if (m)
+ {
+ (m->grp->setGreen(color.data.idata));
+ }
+ RETURN_SCRIPT_VOID;
+}
+
+scriptVar SGammagroup::script_vcpu_setRed(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar color) {
+ SCRIPT_FUNCTION_INIT;
+ SGammagroup *m = static_cast<SGammagroup *>(o->vcpu_getInterface(gammagroupSoGuid));
+ if (m)
+ {
+ (m->grp->setRed(color.data.idata));
+ }
+ RETURN_SCRIPT_VOID;
+}
+
+scriptVar SGammagroup::script_vcpu_setBoost(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar color) {
+ SCRIPT_FUNCTION_INIT;
+ SGammagroup *m = static_cast<SGammagroup *>(o->vcpu_getInterface(gammagroupSoGuid));
+ if (m)
+ {
+ (m->grp->setBoost(color.data.idata));
+ }
+ RETURN_SCRIPT_VOID;
+}
+
+scriptVar SGammagroup::script_vcpu_setGray(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar color) {
+ SCRIPT_FUNCTION_INIT;
+ SGammagroup *m = static_cast<SGammagroup *>(o->vcpu_getInterface(gammagroupSoGuid));
+ if (m)
+ {
+ (m->grp->setGray(color.data.idata));
+ }
+ RETURN_SCRIPT_VOID;
+} \ No newline at end of file