mirror of
https://github.com/rkd77/elinks.git
synced 2025-01-03 14:57:44 -05:00
[quickjs] window.innerWidth and innerHeight
This commit is contained in:
parent
3456d27b22
commit
330bfb7d29
@ -451,6 +451,62 @@ js_window_get_property_event(JSContext *ctx, JSValueConst this_val)
|
|||||||
return get_keyboardEvent(ctx, &last_event);
|
return get_keyboardEvent(ctx, &last_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static JSValue
|
||||||
|
js_window_get_property_innerHeight(JSContext *ctx, JSValueConst this_val)
|
||||||
|
{
|
||||||
|
#ifdef ECMASCRIPT_DEBUG
|
||||||
|
fprintf(stderr, "%s:%s\n", __FILE__, __FUNCTION__);
|
||||||
|
#endif
|
||||||
|
REF_JS(this_val);
|
||||||
|
|
||||||
|
struct ecmascript_interpreter *interpreter = (struct ecmascript_interpreter *)JS_GetContextOpaque(ctx);
|
||||||
|
struct view_state *vs = interpreter->vs;
|
||||||
|
struct document_view *doc_view = vs->doc_view;
|
||||||
|
|
||||||
|
if (!doc_view) {
|
||||||
|
return JS_UNDEFINED;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct session *ses = doc_view->session;
|
||||||
|
|
||||||
|
if (!ses) {
|
||||||
|
#ifdef ECMASCRIPT_DEBUG
|
||||||
|
fprintf(stderr, "%s:%s %d\n", __FILE__, __FUNCTION__, __LINE__);
|
||||||
|
#endif
|
||||||
|
return JS_UNDEFINED;
|
||||||
|
}
|
||||||
|
|
||||||
|
return JS_NewInt32(ctx, doc_view->box.height * ses->tab->term->cell_height);
|
||||||
|
}
|
||||||
|
|
||||||
|
static JSValue
|
||||||
|
js_window_get_property_innerWidth(JSContext *ctx, JSValueConst this_val)
|
||||||
|
{
|
||||||
|
#ifdef ECMASCRIPT_DEBUG
|
||||||
|
fprintf(stderr, "%s:%s\n", __FILE__, __FUNCTION__);
|
||||||
|
#endif
|
||||||
|
REF_JS(this_val);
|
||||||
|
|
||||||
|
struct ecmascript_interpreter *interpreter = (struct ecmascript_interpreter *)JS_GetContextOpaque(ctx);
|
||||||
|
struct view_state *vs = interpreter->vs;
|
||||||
|
struct document_view *doc_view = vs->doc_view;
|
||||||
|
|
||||||
|
if (!doc_view) {
|
||||||
|
return JS_UNDEFINED;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct session *ses = doc_view->session;
|
||||||
|
|
||||||
|
if (!ses) {
|
||||||
|
#ifdef ECMASCRIPT_DEBUG
|
||||||
|
fprintf(stderr, "%s:%s %d\n", __FILE__, __FUNCTION__, __LINE__);
|
||||||
|
#endif
|
||||||
|
return JS_UNDEFINED;
|
||||||
|
}
|
||||||
|
|
||||||
|
return JS_NewInt32(ctx, doc_view->box.width * ses->tab->term->cell_width);
|
||||||
|
}
|
||||||
|
|
||||||
static JSValue
|
static JSValue
|
||||||
js_window_get_property_location(JSContext *ctx, JSValueConst this_val)
|
js_window_get_property_location(JSContext *ctx, JSValueConst this_val)
|
||||||
{
|
{
|
||||||
@ -879,6 +935,8 @@ js_window_postMessage(JSContext *ctx, JSValueConst this_val, int argc, JSValueCo
|
|||||||
static const JSCFunctionListEntry js_window_proto_funcs[] = {
|
static const JSCFunctionListEntry js_window_proto_funcs[] = {
|
||||||
JS_CGETSET_DEF("closed", js_window_get_property_closed, NULL),
|
JS_CGETSET_DEF("closed", js_window_get_property_closed, NULL),
|
||||||
JS_CGETSET_DEF("event", js_window_get_property_event, NULL),
|
JS_CGETSET_DEF("event", js_window_get_property_event, NULL),
|
||||||
|
JS_CGETSET_DEF("innerHeight", js_window_get_property_innerHeight, NULL),
|
||||||
|
JS_CGETSET_DEF("innerWidth", js_window_get_property_innerWidth, NULL),
|
||||||
JS_CGETSET_DEF("location", js_window_get_property_location, js_window_set_property_location),
|
JS_CGETSET_DEF("location", js_window_get_property_location, js_window_set_property_location),
|
||||||
JS_CGETSET_DEF("parent", js_window_get_property_parent, NULL),
|
JS_CGETSET_DEF("parent", js_window_get_property_parent, NULL),
|
||||||
JS_CGETSET_DEF("self", js_window_get_property_self, NULL),
|
JS_CGETSET_DEF("self", js_window_get_property_self, NULL),
|
||||||
|
Loading…
Reference in New Issue
Block a user