SkTextUtils.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  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 "SkCanvas.h"
  10. #include "SkPaint.h"
  11. #include "SkFont.h"
  12. #include "SkString.h"
  13. class SkTextUtils {
  14. public:
  15. enum Align {
  16. kLeft_Align,
  17. kCenter_Align,
  18. kRight_Align,
  19. };
  20. static void DrawText(SkCanvas*, const void* text, size_t size, SkScalar x, SkScalar y,
  21. const SkPaint&, Align = kLeft_Align);
  22. static void DrawString(SkCanvas* canvas, const char text[], SkScalar x, SkScalar y,
  23. const SkPaint& paint, Align align = kLeft_Align) {
  24. DrawText(canvas, text, strlen(text), x, y, paint, align);
  25. }
  26. static void DrawString(SkCanvas* canvas, const SkString& str, SkScalar x, SkScalar y,
  27. const SkPaint& paint, Align align = kLeft_Align) {
  28. DrawText(canvas, str.c_str(), str.size(), x, y, paint, align);
  29. }
  30. };
  31. #endif