Commit Graph

5175 Commits

Author SHA1 Message Date
Cary Clark
cb6bef0ad5 Update bookmaker
- This update includes font documentation.
SkFont_Reference.bmh was generated by running:

  bookmaker -b docs -i include/core/SkFont.h -t

This creates a placeholder
for examples and additional documentation.

- More work done to exclude experimental/private
symbols.

Symbols that include "experimental_", "legacy_",
"private_", "temporary_", "deprecated_" as part
of their name (case-insensitive) are not
referenced by the on-line docs and don't need
comments.

Tables built for online only include public symbols.

- Better links for constructors, destructors, operators
- Fixed some minor public interfaces
- Removed _const crutch on operators
- Keep includes inside 100 columns

TBR=reed@google.com

Docs-Preview: https://skia.org/?cl=171900
Bug: skia:
Change-Id: I93b229c6625d800604671e05b82a14c06cb906d2
Reviewed-on: https://skia-review.googlesource.com/c/171900
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-11-29 18:17:30 +00:00
Mike Reed
6f07788196 remove textblobbuilder guard
Bug: skia:
Change-Id: Ie686a8dcedf26a0f7c10f29befded7978a92daca
Reviewed-on: https://skia-review.googlesource.com/c/173230
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-29 13:00:11 +00:00
Mike Reed
c33ec9f8c4 remove legacy hinting-enum guards
Bug: skia:
Change-Id: I762fd834859fc6334b4eb36c1fad05538e873dd9
Reviewed-on: https://skia-review.googlesource.com/c/173229
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-28 20:15:03 +00:00
Brian Salomon
572fdcf08a Remove SkCanvas::ImageSetEntry constructors
Change-Id: Ib75b6a836184df739e4690dc275421e015d6a9bb
Reviewed-on: https://skia-review.googlesource.com/c/173228
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-11-28 18:59:43 +00:00
Mike Reed
54bf684343 Revert "Revert "migrate to passing paint/ctm for bounds""
Fix: pass real paint to FindOrCreateStrikeWithNoDeviceExclusive

This reverts commit 914d319a02.

Bug: skia:
Change-Id: I2d618a868ae57e34cba5964aadd4a365481cb4cd
Reviewed-on: https://skia-review.googlesource.com/c/172976
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-11-27 17:53:47 +00:00
Mike Reed
914d319a02 Revert "migrate to passing paint/ctm for bounds"
This reverts commit d5ed3dafb2.

Reason for revert: goofed up, passing default paint instead of real one

Original change's description:
> migrate to passing paint/ctm for bounds
> 
> Some of this is left in for migrating callers (see docs)
> 
> - want getWidths to just take widths (and no paint)
> - want getBounds to just take bounds AND paint
> - want getWidthsBounds to take it all
> 
> Bug: skia:
> Change-Id: I498cd8295b90995c45237d3cf39fc097252f485e
> Reviewed-on: https://skia-review.googlesource.com/c/172868
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=bungeman@google.com,herb@google.com,reed@google.com

Change-Id: Ifa827d824f0f0ef63308e5cc1fe579b1b14df616
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/172975
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-27 16:47:03 +00:00
Mike Reed
d5ed3dafb2 migrate to passing paint/ctm for bounds
Some of this is left in for migrating callers (see docs)

- want getWidths to just take widths (and no paint)
- want getBounds to just take bounds AND paint
- want getWidthsBounds to take it all

Bug: skia:
Change-Id: I498cd8295b90995c45237d3cf39fc097252f485e
Reviewed-on: https://skia-review.googlesource.com/c/172868
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-27 02:37:28 +00:00
Brian Salomon
d003d22eb0 Remove SkCanvas::experimental_drawImageSetV0
Bug: skia:8563
Change-Id: I4421a19979a2a1ddae4ca52871c71e9d7d1220d8
Reviewed-on: https://skia-review.googlesource.com/c/172870
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-11-26 20:17:30 +00:00
Cary Clark
fda7b3cfd5 minor SkFont interface edits
Add missing comments.
Fix copy/pasted comments.
Change operator== to a const function.

R=reed@google.com

Docs-Preview: https://skia.org/?cl=172866
Bug: skia:
Change-Id: I4b89204ae674f93bfaf9d86a5d09a84cc8021146
Reviewed-on: https://skia-review.googlesource.com/c/172866
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-11-26 16:32:05 +00:00
Mike Reed
2871509751 change params to getPaths callback, avoiding a xform/copy up front.
Before

  18/18  MB	1	33.1µs	33.3µs	33.4µs	34.2µs	1%	█▄▃▂▂▁▁▁▁▂	nonrendering	font-path-batch
  18/18  MB	12	43.7µs	43.8µs	43.8µs	44.1µs	0%	█▂▁▂▁▅▂▂▆▂	nonrendering	font-path-loop

After

  17/17  MB	1	10.2µs	10.3µs	10.4µs	11µs	2%	█▃▂▂▂▂▂▁▁▂	nonrendering	font-path-batch
  17/17  MB	21	23.4µs	23.4µs	23.4µs	23.4µs	0%	█▂▁▃▃▂▄▁▂▂	nonrendering	font-path-loop

Bug: skia:
Change-Id: Ib1aa886fd675326bf5936b47b0d459ba02f1681e
Reviewed-on: https://skia-review.googlesource.com/c/172743
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-25 15:32:33 +00:00
Mike Reed
c16abee8c5 impl gettextpath using SkFont
Bug: skia:
Change-Id: I23dce4ed9718e7ce2d6511e08ef350c9ee2e94b4
Reviewed-on: https://skia-review.googlesource.com/c/172645
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-11-24 18:52:59 +00:00
Mike Reed
358fcad1b8 start to hide textparams on SkPaint
Bug: skia:
Change-Id: Id73c983cc71d39fe587d355e690261627fa63aee
Reviewed-on: https://skia-review.googlesource.com/c/172643
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-23 20:54:16 +00:00
Mike Reed
70ea9260ee don't define flag -- let clients do that
Bug: skia:
Change-Id: I01ad384ccabf2fa181eb475270fd0c3f44b5e1f0
Reviewed-on: https://skia-review.googlesource.com/c/172641
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-23 19:07:47 +00:00
Mike Reed
2ed7820970 use SkFont in a lot of places
Bug: skia:
Change-Id: I86df3f650eb5bb0219b3251ef5f8e95403838bba
Reviewed-on: https://skia-review.googlesource.com/c/172482
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-21 20:44:03 +00:00
Cary Clark
e9c5a15993 fix bookmaker
Mark experimental method in SkCanvas as "Experimental" in its
comment. Maybe it should be enough to name the routine experimental_...
but for now bookmaker requires the comment to say that as well.

Change the TextIntercept examples to #NoExample.

TBR=reed@google.com,bsalomon@google.com

Docs-Preview: https://skia.org/?cl=172402
Bug: skia:
Change-Id: Id74b59e141d5002a8b6118ca28cb9c62a36e2f02
Reviewed-on: https://skia-review.googlesource.com/c/172402
Reviewed-by: Cary Clark <caryclark@skia.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-11-21 19:15:59 +00:00
Brian Salomon
ea02708e07 Add SK_API to SkCanvas::ImageSetEntry to fix Chrome roll
Change-Id: I9c73ff0ca6badb9c357f75c6054286d5a787a324
Reviewed-on: https://skia-review.googlesource.com/c/172403
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2018-11-21 18:29:33 +00:00
Brian Salomon
1da5cade3e Make experimental_drawImageSet support per-quad alpha.
The V0 version of this will use the product of the "global" and per-quad
alpha.

A new V1 version is added that does not take a global alpha.

The V0 version will be removed once SkiaRenderer no longer uses it.


Bug: skia:8563
Change-Id: Iace3dff6c4f1fd1a5c6c30eb8226f4815c58e0ed
Reviewed-on: https://skia-review.googlesource.com/c/172146
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2018-11-21 14:50:41 +00:00
Mike Reed
114bde830b Revert "Revert "add rect-parameter to makeImageSnapshot""
This reverts commit 1e28e5d79e.

Bug: skia:
Change-Id: I71c246885721c71de540e9079ecf7323234c8871
Reviewed-on: https://skia-review.googlesource.com/c/172302
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-21 14:46:06 +00:00
Mike Reed
1e28e5d79e Revert "add rect-parameter to makeImageSnapshot"
This reverts commit e195d1c22e.

Reason for revert: broke android subclass (illegal)

Original change's description:
> add rect-parameter to makeImageSnapshot
> 
> Bug: skia:
> Change-Id: I56044fb1f21b959993d69fc587f95e3dbf30c371
> Reviewed-on: https://skia-review.googlesource.com/c/171905
> Commit-Queue: Mike Reed <reed@google.com>
> Auto-Submit: Mike Reed <reed@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=djsollen@google.com,egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,reed@google.com

Change-Id: Ied294732b332192e251a845a5cb6349a670c25b0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/172301
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-21 13:13:37 +00:00
Mike Reed
e195d1c22e add rect-parameter to makeImageSnapshot
Bug: skia:
Change-Id: I56044fb1f21b959993d69fc587f95e3dbf30c371
Reviewed-on: https://skia-review.googlesource.com/c/171905
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-11-21 02:58:28 +00:00
Mike Reed
dde5c0ce6b hide (unused) intercepts methods -- for staging migration to SkFont
Bug: skia:
Change-Id: I93a52a9f20fe715dca0393e2c892369e01817de1
Reviewed-on: https://skia-review.googlesource.com/c/172063
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-20 17:25:44 +00:00
Mike Reed
ddafa42fdb guard flag, so we can remove it and force clients to opt-in
Bug: skia:
Change-Id: Ia4e5a735d8527ca17a2a19db16205490870510b3
Reviewed-on: https://skia-review.googlesource.com/c/172064
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-20 17:05:08 +00:00
Jim Van Verth
c8429addf1 Add SkImage::MakeFromYUVAPixmaps
Bug: skia:7903
Change-Id: I41ee31ad3657aee372e22ec3e7a0a317e31b2791
Reviewed-on: https://skia-review.googlesource.com/c/171007
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-11-20 16:43:28 +00:00
Cary Clark
b2f8c3eb28 font doc
Prepping SkFont.h so that docs can be generated.
Mostly copying and pasting documentation with
edits to match SkFont conventions.

Added parameter names where missing to public
functions.

In a follow-on CL bookmaker will generate the
corresponding docs/SkFont_Reference.bmh

R=reed@google.com

Bug: skia:
Change-Id: Ib413b07000b368e2ee1b9145da1fca206a07a592
Reviewed-on: https://skia-review.googlesource.com/c/171646
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-11-19 19:07:29 +00:00
Leon Scroggins III
c41a5f58b2 Generate Android Framework host-side Skia (linux)
Bug: b/118742766

Update gn_to_bp to write an Android.bp file that will build a host-side
Skia library.

Switch some methods from SK_BUILD_FOR_ANDROID to
SK_BUILD_FOR_ANDROID_FRAMEWORK.

Prior reviews were done at ag/5482397.

gn_to_bp.py:
- Run GN twice - once for android and once for linux
- Disable GPU (depends on a to-be-written host side GL target) and HEIF
  (which relies on Android hardware) on linux
  - TODO: Turn on GPU on linux
- Split sources into everywhere, android-only, and linux-only.
  It seems that Android.bp does not allow using the same cpp
  file in multiple targets.
  - note that we currently *only* divide out the sources. The cflags are
    the same (except for a couple manual ones) and include
    directories are mostly the same (again, except for manual ones).
    Android has a "gpu" include directory, which I don't expect to
    make a difference to the linux build, which isn't using GPU (yet).
- Use the same "custom empty" font manager on the host as on Android
- Write separate SkUserConfig files; one for android and one for linux.
  This allows libskia to force libraries that use it to use the right
  defines by setting export_include_dirs.
- Add extra checks to SkUserConfig.h to ensure we have only the
  appropriate SK_BUILD_FOR macro defined
- Add host_supported: true for libskia

gn_to_bp_utils.py:
- Switch SkUserConfig.h from include guards to pragma once so it is
  easier to append to the end. This matches how Android generally
  includes headers.

BUILD.gn:
- Add skia_use_fixed_gamma_text so host build can use the same SK_GAMMA
  defines as the device.

SkPreConfig.h:
- Stop making SK_BUILD_FOR_ANDROID_FRAMEWORK imply SK_BUILD_FOR_ANDROID.
  The host build needs the former defined but not the latter.

SkRegion.cpp/.h:
- Make toString() SK_BUILD_FOR_ANDROID_FRAMEWORK so it can be called on
  the host.

SkCamera.h/.cpp:
- Switch methods to SK_BUILD_FOR_ANDROID_FRAMEWORK so they can be called
  on the host.
- Make getCameraLocation*() const. They are logically const, and this
  allows removing a const_cast + TODO in hwui.

Change-Id: I771f825d06380e01c0488fd1c00df1d8a2454dc0
Reviewed-on: https://skia-review.googlesource.com/c/171231
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-11-19 17:51:32 +00:00
Mike Reed
55bdb7c566 Reland "remove dead code around SK_SUPPORT_LEGACY_FONT_FLAGS"
This reverts commit c41a41d67e.

Reason for revert: hmmm, this might still work in Fuchsia...

Original change's description:
> Revert "remove dead code around SK_SUPPORT_LEGACY_FONT_FLAGS"
> 
> This reverts commit 3b155a77c3.
> 
> Reason for revert: breaks fuchsia (needs to roll newer flutter)
> 
> Original change's description:
> > remove dead code around SK_SUPPORT_LEGACY_FONT_FLAGS
> > 
> > Bug: skia:
> > Change-Id: I5a36e6827610c2a429e2f8b36adf432b95993c54
> > Reviewed-on: https://skia-review.googlesource.com/c/171529
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> 
> TBR=reed@google.com
> 
> Change-Id: I37bfab86e4a4243ddd94255aa0b126414bd9e835
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/c/171536
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I12183ecfb5e17b8919afbce7b42dad2064ee93b3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/171538
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-16 19:41:55 +00:00
Mike Reed
c41a41d67e Revert "remove dead code around SK_SUPPORT_LEGACY_FONT_FLAGS"
This reverts commit 3b155a77c3.

Reason for revert: breaks fuchsia (needs to roll newer flutter)

Original change's description:
> remove dead code around SK_SUPPORT_LEGACY_FONT_FLAGS
> 
> Bug: skia:
> Change-Id: I5a36e6827610c2a429e2f8b36adf432b95993c54
> Reviewed-on: https://skia-review.googlesource.com/c/171529
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I37bfab86e4a4243ddd94255aa0b126414bd9e835
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/171536
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-16 19:07:58 +00:00
Mike Reed
3b155a77c3 remove dead code around SK_SUPPORT_LEGACY_FONT_FLAGS
Bug: skia:
Change-Id: I5a36e6827610c2a429e2f8b36adf432b95993c54
Reviewed-on: https://skia-review.googlesource.com/c/171529
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-16 18:41:07 +00:00
Mike Reed
e5bb81f640 remove def of flag -- rely on clients to do that
Bug: skia:
Change-Id: I0e187484317c85f1ed913f277df33822c1690d8b
Reviewed-on: https://skia-review.googlesource.com/c/171360
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-16 01:39:17 +00:00
Mike Reed
2791be4038 guard flag
Bug: skia:
Change-Id: I15f5d34501b03a69d054b8ccf526d1bfddfb889c
Reviewed-on: https://skia-review.googlesource.com/c/171228
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-11-15 20:09:05 +00:00
Cary Clark
abaffd85ab bookmaker does deprecated
Bookmaker does not require documentation for public symbols
described as "deprecated", "private", or "experimental".
Adding one of these words (case-insensitive) to the symbol
description in the include file tells bookmaker that the bmh file
should not include documentation, and the generated markdown
should omit it in its indices and descriptions.

Symbols marked as "to be deprecated" or "may be deprecated"
are still regarded as public and documented.

Private notes in the includes that start with TODO: are
omitted as well.

This CL updated generated includes to describe its symbols
accordingly. The includes will be fully regenerated in a future
CL. The corresponding documentation has been deleted from the
bmh files, and the web markup has been regenerated.

TBR=reed@google.com
Docs-Preview: https://skia.org/?cl=169830
Bug: skia:
Change-Id: Ie6ec3ccdadb7be9ac15db4811823a30948c4af25
Reviewed-on: https://skia-review.googlesource.com/c/169830
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-11-15 14:08:45 +00:00
Mike Reed
07f93f2999 impl SkFont::getPath
Replacement for SkPaint::getTextPath and getPosTextPath
- only works with glyphIDs
- doesn't try to do positioning
- doesn't force caller to consolidate all the glyphs into one giant path

Much of the time is spent transforming the path from the cache's size to the callers.
Might consider passing the raw path + matrix rather than scaling it for them???

Bug: skia:
Change-Id: Ie13015c61ebe410eaec084282d600338cfccb51a
Reviewed-on: https://skia-review.googlesource.com/c/170881
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-14 17:28:10 +00:00
Mike Reed
d723ee1a1a change SkTextEncoding to enum class
Bug: skia:
Change-Id: I3ea2792a49ca93fdd4bba686c63047727372f88b
Reviewed-on: https://skia-review.googlesource.com/c/170880
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-13 22:51:38 +00:00
Leon Scroggins III
97f455a39a Remove unused SkPath::unique()
It was only supported for ANDROID_FRAMEWORK, which no longer uses it.
(It looks like the last use was removed with
ag/I18bfe51896672272ce7d471eaead69b651399368.)

Change-Id: Ia0811a8625d6a20ae7411a7578a5358ff1cc1a37
Reviewed-on: https://skia-review.googlesource.com/c/170480
Auto-Submit: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-11-13 20:22:11 +00:00
Leon Scroggins III
fd1fd279a3 Remove unused exposedInAndroidJavaAPI
This method was introduced in crrev.com/974913002 (DIFFERENT ISSUE) for
ViaAndroidSDK in DM. ViaAndroidSDK has been removed, and no one
currently calls this method.

Change-Id: Ie613e41f9bf7e2c4213f0122ff418b974d3ff2f3
Reviewed-on: https://skia-review.googlesource.com/c/170481
Auto-Submit: Leon Scroggins <scroggo@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2018-11-12 21:27:02 +00:00
Mike Reed
5f50f5776d New plan -- aa and lcd DO belong on SkFont
edging settings are needed for metrics calls, as well as drawing, hence
we really have to include them in almost every SkFont call/usage, so I
guess we can just accept them as real.

This seems to imply that we have to document what happens in drawTextBlob,
since it has a bunch of SkFonts (runs) AND a paint. This is the situation
today of course, and I had hoped to simplify it, but I think I've failed.

Proposal dox for drawTextBlob.

drawTextBlob respects the paint when drawing the blog, but it IGNORES the
paint's antialias (and lcdrender) flags, as these are already specified in
the blob's runs.

Bug: skia:2664, skia:8494
Change-Id: I8f69186c9c337d98d058919f53b7901ff830a16e
Reviewed-on: https://skia-review.googlesource.com/c/170352
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-11-12 19:30:16 +00:00
Mike Reed
b5784ace85 use SkFontMetrics so we can deprecated the typedef
Bug: skia:
Change-Id: Icd40c042b0a8251bbd0b39dd3ee1a4634fff379f
Reviewed-on: https://skia-review.googlesource.com/c/170344
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-12 15:03:03 +00:00
Mike Reed
477fb91163 add getwidths to SkFont
It *seems* that chrome only ever uses glyphs, so I hope we can skip the encoding parameter.
Bug: skia:
Change-Id: I3b6857ba6a37050a9fd0913a16b980bc45d54bda
Reviewed-on: https://skia-review.googlesource.com/c/170341
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-12 02:40:59 +00:00
Mike Reed
9a06c57d43 impl SkFont::measureText
Bug: skia:
Change-Id: Ibd76b72e8486d89acf4ce9babc18f35357884b2d
Reviewed-on: https://skia-review.googlesource.com/c/170276
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-11 22:34:18 +00:00
Mike Reed
064ca01324 move GlyphCacheProc into fontpriv
Bug: skia:2664
Change-Id: I55c84cfae33f8861d66c7a500b940225c1ba8107
Reviewed-on: https://skia-review.googlesource.com/c/170277
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-10 14:40:35 +00:00
Mike Reed
dca2e91afa add fontmetrics to SkFont
Bug: skia:2664
Change-Id: I49030b6010e08814ec50c75dd26b44a5265d74bd
Reviewed-on: https://skia-review.googlesource.com/c/167461
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-10 13:28:04 +00:00
Mike Reed
d7a4bea20a Revert "rm legacy flags for hinting enum"
This reverts commit 5cd242b4fc.

Reason for revert: breaking google3

Original change's description:
> rm legacy flags for hinting enum
> 
> Bug: skia:
> Change-Id: I56ad33fa30aa8cec8a60cd70d4e4767defb923ca
> Reviewed-on: https://skia-review.googlesource.com/c/170105
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: Iffa9b20d77455b4554aae132268af8a0cf252496
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/170270
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-09 21:59:17 +00:00
Cary Clark
777eede780 fix bookmaker
Remove references to old SkPaint::Hinting.

Also fix bug recently introduced that made
unlinkable words use the last link found.

TBR=reed@google.com

Docs-Preview: https://skia.org/?cl=170266
Bug: skia:
Change-Id: I8b83bcb479bd3f79699a1c74818a817190fd42a5
Reviewed-on: https://skia-review.googlesource.com/c/170266
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-11-09 21:33:54 +00:00
Mike Reed
5cd242b4fc rm legacy flags for hinting enum
Bug: skia:
Change-Id: I56ad33fa30aa8cec8a60cd70d4e4767defb923ca
Reviewed-on: https://skia-review.googlesource.com/c/170105
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-09 20:11:37 +00:00
Nathan Rogers
c03ad1714b Fix another typo in SkSize comments
Didn't notice that this was on both SkISize and SkSize the first time
around.

Change-Id: I20d7da0f653aeb4810ab67c9991646b16670497a
Reviewed-on: https://skia-review.googlesource.com/c/169889
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-09 14:49:34 +00:00
Cary Clark
885f10787b fix bookmaker
more strict bookmaker rules are now in effect;
all methods require documentation, and all documentation
is checked for accuracy.

In this case, the multiple temporary copies of SkPaint::getHinting
and SkPaint::setHinting are checked.

In an upcoming change, bookmaker will ignore symbols marked
as deprecated, experimental, or private; making this bookmaker's
strictness a little more palatable.

TBR=reed@google.com

Docs-Preview: https://skia.org/?cl=169822
Bug: skia:
Change-Id: If1bc079a13828a5ca435911338b9c75acbe8ad6f
Reviewed-on: https://skia-review.googlesource.com/c/169822
Commit-Queue: Cary Clark <caryclark@skia.org>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-11-08 19:02:39 +00:00
Mike Reed
9edbf42e75 Revert[4] "hide nested hinting enum"
This reverts commit 8e12cc6dfe.

Bug: skia:
Change-Id: Ice5e3480adad75ab77d97f7366495015f36b15a6
Reviewed-on: https://skia-review.googlesource.com/c/169520
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-08 16:33:04 +00:00
Cary Clark
77b3f3aeee Check every word in docs
This enables checking all text to see if it
either represents a valid reference or is a
word in docs/spelling.txt . Expressions are
checked for validity as well.

There are a few shortcuts (marked with TODO):
- typedefs aren't resolved, so cheats are
added for SkVector and SkIVector.
- operator overload detection is incomplete
- constructor detection is incomplete
- formula definitions aren't detected

Found and fixed a bunch of spelling, usage,
and incorrect or obsolete references.

A few comment changes are needed in
include/core to get this to work, mostly
centered around recent SkPaint/SkFont edits.

TBR=reed@google.com
Docs-Preview: https://skia.org/?cl=167541
Bug: skia:
Change-Id: I2e0d5990105c5a8482b0c0d3e50fd0b330996dd6
Reviewed-on: https://skia-review.googlesource.com/c/167541
Reviewed-by: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-11-08 13:27:57 +00:00
Mike Klein
8e12cc6dfe Reland "Revert "hide nested hinting enum""
This reverts commit f49563bf92.

Reason for revert: Google3 also.

Original change's description:
> Revert "Revert "hide nested hinting enum""
> 
> This reverts commit 6bd19df9fa.
> 
> Restores original CL, but adds guards for flutter.
> 
> Bug: skia:
> Change-Id: I380b4ea87d293355026d734249aa2b8c397da144
> Reviewed-on: https://skia-review.googlesource.com/c/169345
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Mike Reed <reed@google.com>
> Auto-Submit: Mike Reed <reed@google.com>

TBR=fmalita@chromium.org,reed@google.com

Change-Id: I26a07555df56ce92e86b114ecf4ab64643e71ed1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/169441
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-07 23:56:24 +00:00
Mike Reed
f49563bf92 Revert "Revert "hide nested hinting enum""
This reverts commit 6bd19df9fa.

Restores original CL, but adds guards for flutter.

Bug: skia:
Change-Id: I380b4ea87d293355026d734249aa2b8c397da144
Reviewed-on: https://skia-review.googlesource.com/c/169345
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2018-11-07 22:47:53 +00:00