/** * Created by G-Canvas Open Source Team. * Copyright (c) 2017, Alibaba, Inc. All rights reserved. * * This source code is licensed under the Apache Licence 2.0. * For the full copyright and license information, please view * the LICENSE file in the root directory of this source tree. */ #include "TextMetrics.h" namespace NodeBinding { Napi::FunctionReference TextMetrics::constructor; TextMetrics::TextMetrics(const Napi::CallbackInfo &info) : Napi::ObjectWrap(info) { this->textWidth = info[0].As().FloatValue(); } void TextMetrics::Init(Napi::Env env) { Napi::HandleScope scope(env); Napi::Function func = DefineClass(env, "TextMetric", { InstanceAccessor("width", &TextMetrics::getWidth, nullptr), }); constructor = Napi::Persistent(func); constructor.SuppressDestruct(); } Napi::Object TextMetrics::NewInstance(Napi::Env env, const Napi::Value arg) { Napi::Object obj = constructor.New({arg}); return obj; } Napi::Value TextMetrics::getWidth(const Napi::CallbackInfo &info) { return Napi::Number::New(info.Env(), this->textWidth); } } // namespace NodeBinding