SkTextUtils.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * Copyright 2018 Google Inc.
  3. *
  4. * Use of this source code is governed by a BSD-style license that can be
  5. * found in the LICENSE file.
  6. */
  7. #ifndef SkTextUtils_DEFINED
  8. #define SkTextUtils_DEFINED
  9. #include "include/core/SkCanvas.h"
  10. #include "include/core/SkFont.h"
  11. #include "include/core/SkPaint.h"
  12. #include "include/core/SkString.h"
  13. class SkPath;
  14. class SK_API SkTextUtils {
  15. public:
  16. enum Align {
  17. kLeft_Align,
  18. kCenter_Align,
  19. kRight_Align,
  20. };
  21. static void Draw(SkCanvas*, const void* text, size_t size, SkTextEncoding,
  22. SkScalar x, SkScalar y, const SkFont&, const SkPaint&, Align = kLeft_Align);
  23. static void DrawString(SkCanvas* canvas, const char text[], SkScalar x, SkScalar y,
  24. const SkFont& font, const SkPaint& paint, Align align = kLeft_Align) {
  25. Draw(canvas, text, strlen(text), SkTextEncoding::kUTF8, x, y, font, paint, align);
  26. }
  27. static void GetPath(const void* text, size_t length, SkTextEncoding, SkScalar x, SkScalar y,
  28. const SkFont&, SkPath*);
  29. };
  30. #endif