MCPcopy Create free account
hub / github.com/NodeRT/NodeRT / RectFromJs

Function RectFromJs

src/NodeRTLib/ProjectFiles/NodeRtUtils.cpp:487–531  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

485}
486
487::Windows::Foundation::Rect RectFromJs(Local<Value> value) {
488 ::Windows::Foundation::Rect rect = ::Windows::Foundation::Rect::Empty;
489
490 if (!value->IsObject()) {
491 Nan::ThrowError(Nan::Error(
492 NodeRT::Utils::NewString(L"Value to set is of unexpected type")));
493 return rect;
494 }
495
496 Local<Object> obj = Nan::To<Object>(value).ToLocalChecked();
497
498 if (Nan::Has(obj, Nan::New<String>("x").ToLocalChecked()).FromMaybe(false)) {
499 rect.X = static_cast<float>(
500 Nan::To<double>(Nan::Get(obj, Nan::New<String>("x").ToLocalChecked())
501 .ToLocalChecked())
502 .FromMaybe(0.0));
503 }
504
505 if (Nan::Has(obj, Nan::New<String>("y").ToLocalChecked()).FromMaybe(false)) {
506 rect.Y = static_cast<float>(
507 Nan::To<double>(Nan::Get(obj, Nan::New<String>("y").ToLocalChecked())
508 .ToLocalChecked())
509 .FromMaybe(0.0));
510 }
511
512 if (Nan::Has(obj, Nan::New<String>("height").ToLocalChecked())
513 .FromMaybe(false)) {
514 rect.Height = static_cast<float>(
515 Nan::To<double>(
516 Nan::Get(obj, Nan::New<String>("height").ToLocalChecked())
517 .ToLocalChecked())
518 .FromMaybe(0.0));
519 }
520
521 if (Nan::Has(obj, Nan::New<String>("width").ToLocalChecked())
522 .FromMaybe(false)) {
523 rect.Width = static_cast<float>(
524 Nan::To<double>(
525 Nan::Get(obj, Nan::New<String>("width").ToLocalChecked())
526 .ToLocalChecked())
527 .FromMaybe(0.0));
528 }
529
530 return rect;
531}
532
533bool IsRect(Local<Value> value) {
534 if (!value->IsObject()) {

Callers

nothing calls this directly

Calls 1

NewStringFunction · 0.85

Tested by

no test coverage detected