14514f5e3Sopenharmony_ci/*
24514f5e3Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
34514f5e3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
44514f5e3Sopenharmony_ci * you may not use this file except in compliance with the License.
54514f5e3Sopenharmony_ci * You may obtain a copy of the License at
64514f5e3Sopenharmony_ci *
74514f5e3Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
84514f5e3Sopenharmony_ci *
94514f5e3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
104514f5e3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
114514f5e3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
124514f5e3Sopenharmony_ci * See the License for the specific language governing permissions and
134514f5e3Sopenharmony_ci * limitations under the License.
144514f5e3Sopenharmony_ci */
154514f5e3Sopenharmony_ci
164514f5e3Sopenharmony_ciclass CanvasInput {
174514f5e3Sopenharmony_ci  static FOCUS = false;
184514f5e3Sopenharmony_ci  static SAFE_AREA = [];
194514f5e3Sopenharmony_ci  static SetSafeArea(x, y, w, h) {
204514f5e3Sopenharmony_ci    CanvasInput.SAFE_AREA = [x, y, w, h];
214514f5e3Sopenharmony_ci  }
224514f5e3Sopenharmony_ci  static Reset(x, y, w, h, value, cb, cb2, cb3) {
234514f5e3Sopenharmony_ci    CanvasInput.SAFE_AREA = [x, y, w, h];
244514f5e3Sopenharmony_ci    let ci = document.getElementById('canvas_textarea');
254514f5e3Sopenharmony_ci    ci.style.left = x + 'px';
264514f5e3Sopenharmony_ci    ci.style.top = y + 'px';
274514f5e3Sopenharmony_ci    ci.style.width = w + 'px';
284514f5e3Sopenharmony_ci    ci.style.height = h + 'px';
294514f5e3Sopenharmony_ci    ci.style.display = 'block';
304514f5e3Sopenharmony_ci    ci.value = value;
314514f5e3Sopenharmony_ci    ci.onchange = (e) => {
324514f5e3Sopenharmony_ci      if (cb) {
334514f5e3Sopenharmony_ci        cb(e.target.value);
344514f5e3Sopenharmony_ci      }
354514f5e3Sopenharmony_ci    };
364514f5e3Sopenharmony_ci    ci.oninput = (e) => {
374514f5e3Sopenharmony_ci      if (cb2) {
384514f5e3Sopenharmony_ci        cb2(e.target.value);
394514f5e3Sopenharmony_ci      }
404514f5e3Sopenharmony_ci    };
414514f5e3Sopenharmony_ci    ci.focus();
424514f5e3Sopenharmony_ci
434514f5e3Sopenharmony_ci    ci.addEventListener('keydown', (e) => {
444514f5e3Sopenharmony_ci      if (e.key === 'Enter') {
454514f5e3Sopenharmony_ci        console.log(e);
464514f5e3Sopenharmony_ci        e.preventDefault();
474514f5e3Sopenharmony_ci        if (cb3) {
484514f5e3Sopenharmony_ci          cb3();
494514f5e3Sopenharmony_ci        }
504514f5e3Sopenharmony_ci      }
514514f5e3Sopenharmony_ci    });
524514f5e3Sopenharmony_ci    CanvasInput.FOCUS = true;
534514f5e3Sopenharmony_ci  }
544514f5e3Sopenharmony_ci  static HideEx() {
554514f5e3Sopenharmony_ci    let ci = document.getElementById('canvas_textarea');
564514f5e3Sopenharmony_ci    ci.style.display = 'none';
574514f5e3Sopenharmony_ci    CanvasInput.FOCUS = false;
584514f5e3Sopenharmony_ci  }
594514f5e3Sopenharmony_ci}
604514f5e3Sopenharmony_ci
614514f5e3Sopenharmony_cimodule.exports = {
624514f5e3Sopenharmony_ci  CanvasInput,
634514f5e3Sopenharmony_ci};
64