1cb93a386Sopenharmony_ci// Copyright 2021 Google LLC.
2cb93a386Sopenharmony_ci#include "experimental/sktext/editor/Cursor.h"
3cb93a386Sopenharmony_ci
4cb93a386Sopenharmony_ciusing namespace skia::text;
5cb93a386Sopenharmony_ci
6cb93a386Sopenharmony_cinamespace skia {
7cb93a386Sopenharmony_cinamespace editor {
8cb93a386Sopenharmony_ci
9cb93a386Sopenharmony_cistd::unique_ptr<Cursor> Cursor::Make() { return std::make_unique<Cursor>(); }
10cb93a386Sopenharmony_ci
11cb93a386Sopenharmony_ciCursor::Cursor() {
12cb93a386Sopenharmony_ci    fLinePaint.setColor(SK_ColorGRAY);
13cb93a386Sopenharmony_ci    fLinePaint.setAntiAlias(true);
14cb93a386Sopenharmony_ci
15cb93a386Sopenharmony_ci    fRectPaint.setColor(DEFAULT_CURSOR_COLOR);
16cb93a386Sopenharmony_ci    fRectPaint.setStyle(SkPaint::kStroke_Style);
17cb93a386Sopenharmony_ci    fRectPaint.setStrokeWidth(2);
18cb93a386Sopenharmony_ci    fRectPaint.setAntiAlias(true);
19cb93a386Sopenharmony_ci
20cb93a386Sopenharmony_ci    fXY = SkPoint::Make(0, 0);
21cb93a386Sopenharmony_ci    fSize = SkSize::Make(0, 0);
22cb93a386Sopenharmony_ci    fBlink = true;
23cb93a386Sopenharmony_ci}
24cb93a386Sopenharmony_ci
25cb93a386Sopenharmony_civoid Cursor::paint(SkCanvas* canvas) {
26cb93a386Sopenharmony_ci
27cb93a386Sopenharmony_ci    if (fBlink) {
28cb93a386Sopenharmony_ci       canvas->drawRect(SkRect::MakeXYWH(fXY.fX, fXY.fY, DEFAULT_CURSOR_WIDTH, fSize.fHeight), fRectPaint);
29cb93a386Sopenharmony_ci    } else {
30cb93a386Sopenharmony_ci        //canvas->drawLine(fXY + xy, fXY + xy + SkPoint::Make(1, fSize.fHeight), fLinePaint);
31cb93a386Sopenharmony_ci    }
32cb93a386Sopenharmony_ci}
33cb93a386Sopenharmony_ci
34cb93a386Sopenharmony_ci} // namespace editor
35cb93a386Sopenharmony_ci} // namespace skia
36