18 #include "precompiled.h"
26 JS_PropertyStub, JS_PropertyStub,
27 JS_PropertyStub, JS_StrictPropertyStub,
28 JS_EnumerateStub, JS_ResolveStub,
29 JS_ConvertStub, JS_FinalizeStub,
35 {
"left", 0, JSPROP_ENUMERATE},
36 {
"top", 1, JSPROP_ENUMERATE},
37 {
"right", 2, JSPROP_ENUMERATE},
38 {
"bottom", 3, JSPROP_ENUMERATE},
39 {
"rleft", 4, JSPROP_ENUMERATE},
40 {
"rtop", 5, JSPROP_ENUMERATE},
41 {
"rright", 6, JSPROP_ENUMERATE},
42 {
"rbottom", 7, JSPROP_ENUMERATE},
58 JS_SetProperty(cx, obj,
"left", &JS_ARGV(cx, vp)[0]);
59 JS_SetProperty(cx, obj,
"top", &JS_ARGV(cx, vp)[1]);
60 JS_SetProperty(cx, obj,
"right", &JS_ARGV(cx, vp)[2]);
61 JS_SetProperty(cx, obj,
"bottom", &JS_ARGV(cx, vp)[3]);
62 JS_SetProperty(cx, obj,
"rleft", &JS_ARGV(cx, vp)[4]);
63 JS_SetProperty(cx, obj,
"rtop", &JS_ARGV(cx, vp)[5]);
64 JS_SetProperty(cx, obj,
"rright", &JS_ARGV(cx, vp)[6]);
65 JS_SetProperty(cx, obj,
"rbottom", &JS_ARGV(cx, vp)[7]);
69 jsval zero = JSVAL_ZERO;
70 JS_SetProperty(cx, obj,
"left", &JS_ARGV(cx, vp)[0]);
71 JS_SetProperty(cx, obj,
"top", &JS_ARGV(cx, vp)[1]);
72 JS_SetProperty(cx, obj,
"right", &JS_ARGV(cx, vp)[2]);
73 JS_SetProperty(cx, obj,
"bottom", &JS_ARGV(cx, vp)[3]);
74 JS_SetProperty(cx, obj,
"rleft", &zero);
75 JS_SetProperty(cx, obj,
"rtop", &zero);
76 JS_SetProperty(cx, obj,
"rright", &zero);
77 JS_SetProperty(cx, obj,
"rbottom", &zero);
81 jsval zero = JSVAL_ZERO;
82 JS_SetProperty(cx, obj,
"left", &zero);
83 JS_SetProperty(cx, obj,
"top", &zero);
84 JS_SetProperty(cx, obj,
"right", &zero);
85 JS_SetProperty(cx, obj,
"bottom", &zero);
86 JS_SetProperty(cx, obj,
"rleft", &zero);
87 JS_SetProperty(cx, obj,
"rtop", &zero);
88 JS_SetProperty(cx, obj,
"rright", &zero);
89 JS_SetProperty(cx, obj,
"rbottom", &zero);
92 JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(obj));
100 return CStr::FromDouble(pix);
102 return CStr::FromDouble(per)+
"%"+( pix == 0.0 ? CStr() : pix > 0.0 ? CStr(
"+")+CStr::FromDouble(pix) : CStr::FromDouble(pix) );
113 #define SIDE(side) buffer += ToPercentString(g_ScriptingHost.GetObjectProperty_Double(JS_THIS_OBJECT(cx, vp), #side), g_ScriptingHost.GetObjectProperty_Double(JS_THIS_OBJECT(cx, vp), "r"#side));
125 JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(JS_NewStringCopyZ(cx,
"<Error converting value to numbers>")));
129 JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(JS_NewStringCopyZ(cx, buffer.c_str())));
139 JS_PropertyStub, JS_PropertyStub,
140 JS_PropertyStub, JS_StrictPropertyStub,
141 JS_EnumerateStub, JS_ResolveStub,
142 JS_ConvertStub, JS_FinalizeStub,
148 {
"r", 0, JSPROP_ENUMERATE},
149 {
"g", 1, JSPROP_ENUMERATE},
150 {
"b", 2, JSPROP_ENUMERATE},
151 {
"a", 3, JSPROP_ENUMERATE},
167 JS_SetProperty(cx, obj,
"r", &JS_ARGV(cx, vp)[0]);
168 JS_SetProperty(cx, obj,
"g", &JS_ARGV(cx, vp)[1]);
169 JS_SetProperty(cx, obj,
"b", &JS_ARGV(cx, vp)[2]);
170 JS_SetProperty(cx, obj,
"a", &JS_ARGV(cx, vp)[3]);
176 if (!JS_NewNumberValue(cx, 1.0, &c))
178 JS_SetProperty(cx, obj,
"r", &c);
179 JS_SetProperty(cx, obj,
"b", &c);
180 JS_SetProperty(cx, obj,
"a", &c);
181 if (!JS_NewNumberValue(cx, 0.0, &c))
183 JS_SetProperty(cx, obj,
"g", &c);
186 JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(obj));
195 if (!JS_ValueToNumber(cx,
g_ScriptingHost.GetObjectProperty(JS_THIS_OBJECT(cx, vp),
"r"), &r))
return JS_FALSE;
196 if (!JS_ValueToNumber(cx,
g_ScriptingHost.GetObjectProperty(JS_THIS_OBJECT(cx, vp),
"g"), &g))
return JS_FALSE;
197 if (!JS_ValueToNumber(cx,
g_ScriptingHost.GetObjectProperty(JS_THIS_OBJECT(cx, vp),
"b"), &b))
return JS_FALSE;
198 if (!JS_ValueToNumber(cx,
g_ScriptingHost.GetObjectProperty(JS_THIS_OBJECT(cx, vp),
"a"), &a))
return JS_FALSE;
202 snprintf(buffer, 256,
"%d %d %d %d",
207 JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(JS_NewStringCopyZ(cx, buffer)));
216 JS_PropertyStub, JS_PropertyStub,
217 JS_PropertyStub, JS_StrictPropertyStub,
218 JS_EnumerateStub, JS_ResolveStub,
219 JS_ConvertStub, JS_FinalizeStub,
225 {
"x", 0, JSPROP_ENUMERATE},
226 {
"y", 1, JSPROP_ENUMERATE},
227 {
"buttons", 2, JSPROP_ENUMERATE},
243 JS_SetProperty(cx, obj,
"x", &JS_ARGV(cx, vp)[0]);
244 JS_SetProperty(cx, obj,
"y", &JS_ARGV(cx, vp)[1]);
245 JS_SetProperty(cx, obj,
"buttons", &JS_ARGV(cx, vp)[2]);
249 jsval zero = JSVAL_ZERO;
250 JS_SetProperty(cx, obj,
"x", &zero);
251 JS_SetProperty(cx, obj,
"y", &zero);
252 JS_SetProperty(cx, obj,
"buttons", &zero);
255 JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(obj));
264 if (!JS_ValueToECMAInt32(cx,
g_ScriptingHost.GetObjectProperty(JS_THIS_OBJECT(cx, vp),
"x"), &x))
return JS_FALSE;
265 if (!JS_ValueToECMAInt32(cx,
g_ScriptingHost.GetObjectProperty(JS_THIS_OBJECT(cx, vp),
"y"), &y))
return JS_FALSE;
266 if (!JS_ValueToECMAInt32(cx,
g_ScriptingHost.GetObjectProperty(JS_THIS_OBJECT(cx, vp),
"buttons"), &buttons))
return JS_FALSE;
269 snprintf(buffer, 256,
"%d %d %d", x, y, buttons);
270 JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(JS_NewStringCopyZ(cx, buffer)));
JSBool toString(JSContext *cx, uintN argc, jsval *vp)
CStr ToPercentString(double pix, double per)
JSBool construct(JSContext *cx, uintN argc, jsval *vp)
JSPropertySpec JSI_props[]
JSFunctionSpec JSI_methods[]
JSPropertySpec JSI_props[]
JSBool toString(JSContext *cx, uintN argc, jsval *vp)
#define UNUSED2(param)
mark a function local variable or parameter as unused and avoid the corresponding compiler warning...
JSFunctionSpec JSI_methods[]
JSBool construct(JSContext *cx, uintN argc, jsval *vp)
JSBool construct(JSContext *cx, uintN argc, jsval *vp)
JSBool toString(JSContext *cx, uintN argc, jsval *vp)
JSPropertySpec JSI_props[]
JSFunctionSpec JSI_methods[]