blob: 1a434c17db9a8a57516972e9ba1003d0852dca2e [file] [log] [blame]
Cary Clark8032b982017-07-28 11:04:54 -04001# external references that will be documented eventually ...
2#External
Cary Clark61ca7c52018-01-02 11:34:14 -05003 DirectWrite TrueType Windows Linux Android iOS __ANDROID_API__ AHardwareBuffer
Cary Clark682c58d2018-05-16 07:07:07 -04004 FreeType FreeType-based Harfbuzz
Cary Clark77b3f3a2018-11-07 14:59:03 -05005 LCD RGB sRGB BGR RGBA ARGB YUV YUVA HSV SDTV HDTV
Cary Clark8032b982017-07-28 11:04:54 -04006 Unicode Unicode5 UTF-8 UTF-16 UTF-32 ASCII Unichar
Cary Clark8032b982017-07-28 11:04:54 -04007 API
Cary Clark61ca7c52018-01-02 11:34:14 -05008 BMP GIF HEIF ICO JPEG PNG WBMP WebP
Cary Clark5538c132018-06-14 12:28:14 -04009 CPU
Cary Clark09d80c02018-10-31 12:14:03 -040010 GPU GPU-backed OpenGL Vulkan VkDevice I/O MSAA
Cary Clarkbc5697d2017-10-04 14:31:33 -040011 PDF XPS
Cary Clark8032b982017-07-28 11:04:54 -040012 RFC
Cary Clarkbc5697d2017-10-04 14:31:33 -040013 NaN NaNs
Cary Clark77b3f3a2018-11-07 14:59:03 -050014 bool U16CPU int int8_t int16_t int32_t int64_t uint8_t uint16_t uint32_t uint64_t size_t
Cary Clark09d80c02018-10-31 12:14:03 -040015 nullptr
16 malloc() calloc() assert() std::move()
Cary Clark77b3f3a2018-11-07 14:59:03 -050017 C C++ SIZE_MAX C_FILE FILE
Cary Clark682c58d2018-05-16 07:07:07 -040018 CSS HTML
Cary Clarkabaffd82018-11-15 08:25:12 -050019
Cary Clark77b3f3a2018-11-07 14:59:03 -050020 affine destructor multitexturing representable subclasses descender descenders grayscale kerning
Cary Clarke9c5a152018-11-21 11:45:57 -050021 unhinted no-parameter
Cary Clark77b3f3a2018-11-07 14:59:03 -050022
23 Sa Da Sc Dc 0xAARRGGBB # temporary until figure out what to do
Cary Clark224c7002018-06-27 11:00:21 -040024
Cary Clark77b3f3a2018-11-07 14:59:03 -050025 SkUserConfig.h # not external, but still thinking about how markup refers to this
Cary Clarkbad5ad72017-08-03 17:14:08 -040026 SkXXX.h # ditto
Cary Clarkd0530ba2017-09-14 11:25:39 -040027 SkXXX_Reference # ditto
Cary Clark8032b982017-07-28 11:04:54 -040028 Skia # ditto
Cary Clarkbc5697d2017-10-04 14:31:33 -040029 SK_ABORT # ditto
Cary Clarkd0530ba2017-09-14 11:25:39 -040030 SK_DEBUG # ditto
31 SK_RELEASE # ditto
Cary Clark8032b982017-07-28 11:04:54 -040032 SK_USE_FREETYPE_EMBOLDEN # ditto
Cary Clark8032b982017-07-28 11:04:54 -040033 SK_BUILD_FOR_ANDROID_FRAMEWORK # ditto
Cary Clarkac47b882018-01-11 10:35:44 -050034 SK_BUILD_FOR_MAC # ditto
35 SK_BUILD_FOR_IOS # ditto
Cary Clarka560c472017-11-27 10:44:06 -050036 SK_SUPPORT_GPU # ditto
Cary Clarkac47b882018-01-11 10:35:44 -050037 SK_HAS_JPEG_LIBRARY # ditto
38 SK_HAS_PNG_LIBRARY # ditto
39 SK_HAS_WEBP_LIBRARY # ditto
Cary Clark2d4bf5f2018-04-16 08:37:38 -040040 SK_IGNORE_GPU_DITHER # ditto
Cary Clark06c20f32018-03-20 15:53:27 -040041 SK_PMCOLOR_BYTE_ORDER # ditto
Cary Clark8032b982017-07-28 11:04:54 -040042
43# FreeType related
44FT_LOAD_TARGET_LIGHT
45FT_LOAD_TARGET_NORMAL
46FT_LOAD_TARGET_LCD
47FT_LOAD_TARGET_LCD_V
48FT_LOAD_NO_HINTING
49FT_Load_Glyph
50
51#External ##
52
Ruiqi Maoc97a3392018-08-15 10:44:19 -040053# this jargon requires a substitute to space the phrase.
54#Topic Little_Endian
Cary Clark5538c132018-06-14 12:28:14 -040055#Substitute little endian
56##
57
58#Topic Big_Endian
59#Substitute big endian
60##
61
Ruiqi Maoc97a3392018-08-15 10:44:19 -040062#Topic YUV_Component_Y
Cary Clark5538c132018-06-14 12:28:14 -040063#Substitute YUV component y
64##
65
Ruiqi Maoc97a3392018-08-15 10:44:19 -040066#Topic YUV_Component_U
Cary Clark5538c132018-06-14 12:28:14 -040067#Substitute YUV component u
68##
69
70#Topic YUV_Component_V
71#Substitute YUV component v
72##
73
74#Topic UV_Mapping
75#Substitute UV mapping
76##
77
Ruiqi Maoc97a3392018-08-15 10:44:19 -040078#Topic Multi_Sample_Anti_Aliasing
Cary Clark5538c132018-06-14 12:28:14 -040079#Substitute multi-sample anti-aliasing
80##
81
82#Topic GPU_Share_Group
83#Substitute GPU share group
84##
85
Ruiqi Maoc97a3392018-08-15 10:44:19 -040086#Topic Bezier_Curve
Cary Clark5538c132018-06-14 12:28:14 -040087#Substitute Bezier cruve
88##
89
Ruiqi Maoc97a3392018-08-15 10:44:19 -040090#Topic Coons_Patch
Cary Clark5538c132018-06-14 12:28:14 -040091#Substitute Coons patch
92##
93
Ruiqi Maoc97a3392018-08-15 10:44:19 -040094#Topic Cartesian_Coordinate
Cary Clark5538c132018-06-14 12:28:14 -040095#Substitute Cartesian coordinate
96##
97
Ruiqi Maoc97a3392018-08-15 10:44:19 -040098#Topic Euclidean_Distance
Cary Clark5538c132018-06-14 12:28:14 -040099#Substitute Euclidean distance
100##
101
Ruiqi Maoc97a3392018-08-15 10:44:19 -0400102#Topic Euclidean_Space
Cary Clark5538c132018-06-14 12:28:14 -0400103#Substitute Euclidean space
104##
105
Ruiqi Maoc97a3392018-08-15 10:44:19 -0400106#Topic HTML_Gray
Cary Clark5538c132018-06-14 12:28:14 -0400107#Substitute HTML gray
108##
109
Ruiqi Maoc97a3392018-08-15 10:44:19 -0400110#Topic HTML_Silver
Cary Clark5538c132018-06-14 12:28:14 -0400111#Substitute HTML silver
112##
113
Ruiqi Maoc97a3392018-08-15 10:44:19 -0400114#Topic HTML_Lime
Cary Clark5538c132018-06-14 12:28:14 -0400115#Substitute HTML lime
116##
117
Ruiqi Maoc97a3392018-08-15 10:44:19 -0400118#Topic HTML_Green
Cary Clark5538c132018-06-14 12:28:14 -0400119#Substitute HTML green
120##
121
Ruiqi Maoc97a3392018-08-15 10:44:19 -0400122#Topic HTML_Aqua
Cary Clark5538c132018-06-14 12:28:14 -0400123#Substitute HTML aqua
124##
125
126#Topic HTML_Fuchsia
127#Substitute HTML fuchsia
128##
129
Ruiqi Maoc97a3392018-08-15 10:44:19 -0400130#Topic SVG_lightgray
Cary Clark5538c132018-06-14 12:28:14 -0400131#Substitute SVG light gray
132##
133
134#Topic SVG_darkgray
135#Substitute SVG dark gray
136##
137
138# start of topics to be documented in the future
139
Cary Clarkce101242017-09-01 15:51:02 -0400140#Topic Alias
Cary Clark137b8742018-05-30 09:21:49 -0400141#Alias Aliased ##
142#Alias Aliasing ##
Cary Clarkce101242017-09-01 15:51:02 -0400143##
144
Cary Clark8032b982017-07-28 11:04:54 -0400145#Topic Arc
Cary Clark137b8742018-05-30 09:21:49 -0400146#Alias Arcs ##
Cary Clark8032b982017-07-28 11:04:54 -0400147#Topic ##
148
Cary Clarka560c472017-11-27 10:44:06 -0500149#Topic Backend_Semaphore
Cary Clark137b8742018-05-30 09:21:49 -0400150#Alias Backend_Semaphores ##
Cary Clarka560c472017-11-27 10:44:06 -0500151#Class GrBackendSemaphore
Cary Clarka560c472017-11-27 10:44:06 -0500152##
153##
154
Cary Clark8032b982017-07-28 11:04:54 -0400155#Topic BBH_Factory
156#Class SkBBHFactory
157##
158##
159
Cary Clark8032b982017-07-28 11:04:54 -0400160
161#Topic Circle
Cary Clark137b8742018-05-30 09:21:49 -0400162#Alias Circles ##
Cary Clark8032b982017-07-28 11:04:54 -0400163#Topic ##
164
165#Topic Clip_Op
166#EnumClass SkClipOp
167 #Const kDifference 0
168 ##
169 #Const kIntersect 1
170 ##
171##
172##
173
Cary Clark8032b982017-07-28 11:04:54 -0400174#Topic Color_Filter
175#Class SkColorFilter
176#Class ##
Cary Clark682c58d2018-05-16 07:07:07 -0400177##
Cary Clark8032b982017-07-28 11:04:54 -0400178
179#Topic Color_Space
Cary Clarkd0530ba2017-09-14 11:25:39 -0400180#Class SkColorSpace
181 #Method static sk_sp<SkColorSpace> MakeSRGBLinear()
182 ##
Cary Clark681287e2018-03-16 11:34:15 -0400183 #Method bool gammaCloseToSRGB() const
184 ##
Cary Clark06c20f32018-03-20 15:53:27 -0400185 #Method static bool Equals(const SkColorSpace* src, const SkColorSpace* dst)
186 ##
Cary Clarkd0530ba2017-09-14 11:25:39 -0400187##
Cary Clark8032b982017-07-28 11:04:54 -0400188##
189
Cary Clark2ade9972017-11-02 17:49:34 -0400190#Topic Create_Color_Space_Xform_Canvas
Cary Clarkfd32e722018-11-16 14:36:02 -0500191#Method std::unique_ptr<SkCanvas> SkCreateColorSpaceXformCanvas(SkCanvas* target,
192 sk_sp<SkColorSpace> targetCS)
Cary Clark2ade9972017-11-02 17:49:34 -0400193##
194##
195
Cary Clarkce101242017-09-01 15:51:02 -0400196#Topic Core_Graphics
197#Substitute Core Graphics
198##
199
200#Topic Core_Text
201#Substitute Core Text
202##
203
Cary Clark8032b982017-07-28 11:04:54 -0400204#Topic Curve
Cary Clark137b8742018-05-30 09:21:49 -0400205#Alias Curves ##
Cary Clark8032b982017-07-28 11:04:54 -0400206##
207
208#Topic Data
Cary Clarka560c472017-11-27 10:44:06 -0500209#Class SkData
210##
Cary Clark8032b982017-07-28 11:04:54 -0400211##
212
Cary Clark94732662018-03-12 08:09:48 -0400213#Topic Debug_Canvas
214#Class SkDebugCanvas
215##
216##
217
Cary Clark7fc1d122017-10-09 14:07:42 -0400218#Topic Debugging
Cary Clarkfd32e722018-11-16 14:36:02 -0500219#Method void SkDebugf(const char format[], ...)
Cary Clark7fc1d122017-10-09 14:07:42 -0400220##
221##
222
Cary Clarka560c472017-11-27 10:44:06 -0500223#Topic Deferred_Display_List
224#Class SkDeferredDisplayList
225##
226#Subtopic Recorder
227#Class SkDeferredDisplayListRecorder
228##
229##
230##
231
Cary Clark224c7002018-06-27 11:00:21 -0400232#Topic Deserial_Procs
233#Struct SkDeserialProcs
Cary Clark09d80c02018-10-31 12:14:03 -0400234#Member SkDeserialPictureProc fPictureProc
235##
236#Member void* fPictureCtx
237##
238#Member SkDeserialTypefaceProc fTypefaceProc
239##
240#Member void* fTypefaceCtx
241##
Cary Clark224c7002018-06-27 11:00:21 -0400242##
243##
244
Cary Clark8032b982017-07-28 11:04:54 -0400245#Topic Device
246#Class SkBaseDevice
247##
Cary Clark682c58d2018-05-16 07:07:07 -0400248##
Cary Clark8032b982017-07-28 11:04:54 -0400249
250#Topic Document
251#Class SkDocument
252 #Method SkCanvas* beginPage(SkScalar width, SkScalar height,
253 const SkRect* content = NULL)
254 ##
255##
256#Subtopic PDF
257##
258##
259
Cary Clarkce101242017-09-01 15:51:02 -0400260#Topic Draw_Layer
261##
262
Cary Clark8032b982017-07-28 11:04:54 -0400263#Topic Draw_Looper
264#Class SkDrawLooper
265#Class ##
Cary Clark682c58d2018-05-16 07:07:07 -0400266##
Cary Clark8032b982017-07-28 11:04:54 -0400267
268#Topic Drawable
269#Class SkDrawable
270 #Method void draw(SkCanvas*, const SkMatrix* = NULL)
271 ##
272##
273##
274
Cary Clark682c58d2018-05-16 07:07:07 -0400275# to be in topic Encoded_Image_Format
Cary Clarkac47b882018-01-11 10:35:44 -0500276#EnumClass SkEncodedImageFormat
277 #Const kUnknown 0
278 ##
279 #Const kBMP 1
280 ##
281 #Const kGIF 2
282 ##
283 #Const kICO 3
284 ##
285 #Const kJPEG 4
286 ##
287 #Const kPNG 5
288 ##
289 #Const kWBMP 6
290 ##
291 #Const kWEBP 7
292 ##
293 #Const kPKM 8
294 ##
295 #Const kKTX 9
296 ##
297 #Const kASTC 10
298 ##
299 #Const kDNG 11
300 ##
301 #Const kHEIF 12
302 ##
303##
Cary Clark682c58d2018-05-16 07:07:07 -0400304# end of topic Encoded_Image_Format
Cary Clarkac47b882018-01-11 10:35:44 -0500305
Cary Clark8032b982017-07-28 11:04:54 -0400306#Topic Filter_Quality
307#Enum SkFilterQuality
308 #Const kNone_SkFilterQuality 0
309 ##
310 #Const kLow_SkFilterQuality 1
311 ##
312 #Const kMedium_SkFilterQuality 2
313 ##
314 #Const kHigh_SkFilterQuality 3
315 ##
316#Enum ##
Cary Clarkd0530ba2017-09-14 11:25:39 -0400317#Subtopic Nearest_Neighbor
318#Substitute nearest neighbor filter
319##
320#Subtopic Bilerp
321#Substitute bilerp filter
322##
323#Subtopic MipMap
324#Substitute mip-map filter
325##
326#Subtopic BiCubic
327#Substitute bicubic filter
328##
Cary Clark8032b982017-07-28 11:04:54 -0400329#Topic ##
330
Cary Clarkcb6bef02018-11-29 12:05:25 -0500331#Topic Font_Types
Cary Clark14768f62018-10-29 20:33:51 -0400332#Enum SkTextEncoding
333#Const kUTF8_SkTextEncoding 0
334##
335#Const kUTF16_SkTextEncoding 1
336##
337#Const kUTF32_SkTextEncoding 2
338##
339#Const kGlyphID_SkTextEncoding 3
340##
Mike Reed0f9d33e2018-12-05 10:54:05 -0500341TextEncoding determines whether text specifies character codes and their encoded
342size, or glyph indices. Characters are encoded as specified by the
343#A Unicode standard # https://unicode.org/standard/standard.html ##
344.
345
346Character codes encoded size are specified by UTF-8, UTF-16, or UTF-32.
347All character code formats are able to represent all of Unicode, differing only
348in the total storage required.
349
350#A UTF-8 (RFC 3629) # https://tools.ietf.org/html/rfc3629 ##
351encodes each character as one or more 8-bit bytes.
352
353#A UTF-16 (RFC 2781) # https://tools.ietf.org/html/rfc2781 ##
354encodes each character as one or two 16-bit words.
355
356#A UTF-32 # https://www.unicode.org/versions/Unicode5.0.0/ch03.pdf ##
357encodes each character as one 32-bit word.
358
359Font_Manager uses font data to convert character code points into glyph indices.
360A glyph index is a 16-bit word.
Cary Clark14768f62018-10-29 20:33:51 -0400361##
Cary Clarkcb6bef02018-11-29 12:05:25 -0500362
Cary Clark885f1072018-11-08 13:31:39 -0500363#EnumClass SkFontHinting
364#Const kNone 0
Cary Clark4a23bbf2018-11-08 16:00:33 -0500365#Line # glyph outlines unchanged ##
366 Leaves glyph outlines unchanged from their native representation.
367 With FreeType, this is equivalent to the FT_LOAD_NO_HINTING
368 bit-field constant supplied to FT_Load_Glyph, which indicates that the vector
369 outline being loaded should not be fitted to the pixel grid but simply scaled
370 to 26.6 fractional pixels.
Cary Clark11407e52018-11-05 21:26:13 -0500371##
Cary Clark885f1072018-11-08 13:31:39 -0500372#Const kSlight 1
Cary Clark4a23bbf2018-11-08 16:00:33 -0500373#Line # minimal modification to improve contrast ##
374 Modifies glyph outlines minimally to improve contrast.
375 With FreeType, this is equivalent in spirit to the
376 FT_LOAD_TARGET_LIGHT value supplied to FT_Load_Glyph. It chooses a
377 lighter hinting algorithm for non-monochrome modes.
378 Generated Glyphs may be fuzzy but better resemble their original shape.
Cary Clark11407e52018-11-05 21:26:13 -0500379##
Cary Clark885f1072018-11-08 13:31:39 -0500380#Const kNormal 2
Cary Clark4a23bbf2018-11-08 16:00:33 -0500381#Line # glyph outlines modified to improve contrast ##
382 Modifies glyph outlines to improve contrast. This is the default.
383 With FreeType, this supplies FT_LOAD_TARGET_NORMAL to FT_Load_Glyph,
384 choosing the default hinting algorithm, which is optimized for standard
385 gray-level rendering.
Cary Clark11407e52018-11-05 21:26:13 -0500386##
Cary Clark885f1072018-11-08 13:31:39 -0500387#Const kFull 3
Cary Clark4a23bbf2018-11-08 16:00:33 -0500388#Line # modifies glyph outlines for maximum contrast ##
389 Modifies glyph outlines for maximum contrast. With FreeType, this selects
390 FT_LOAD_TARGET_LCD or FT_LOAD_TARGET_LCD_V if kLCDRenderText_Flag is set.
391 FT_LOAD_TARGET_LCD is a variant of FT_LOAD_TARGET_NORMAL optimized for
392 horizontally decimated LCD displays; FT_LOAD_TARGET_LCD_V is a
393 variant of FT_LOAD_TARGET_NORMAL optimized for vertically decimated LCD displays.
Cary Clark11407e52018-11-05 21:26:13 -0500394##
395##
Cary Clarkcb6bef02018-11-29 12:05:25 -0500396
Cary Clark7e69c8f2018-11-06 20:40:45 -0500397#Struct SkFontMetrics
398#Line # values computed by Font_Manager using Typeface ##
399
400 SkFontMetrics is filled out by SkPaint::getFontMetrics. SkFontMetrics contents
401 reflect the values
402 computed by Font_Manager using Typeface. Values are set to zero if they are
403 not available.
404
405 All vertical values are relative to the baseline, on a y-axis pointing down.
406 Zero is on the baseline, negative values are above the baseline, and positive
407 values are below the baseline.
408
409 fUnderlineThickness and fUnderlinePosition have a bit set in fFlags if their values
410 are valid, since their value may be zero.
411
412 fStrikeoutThickness and fStrikeoutPosition have a bit set in fFlags if their values
413 are valid, since their value may be zero.
414
415 #Enum FontMetricsFlags
416 #Line # valid Font_Metrics ##
417
418 FontMetricsFlags are set in fFlags when underline and strikeout metrics are valid;
419 the underline or strikeout metric may be valid and zero.
420 Fonts with embedded bitmaps may not have valid underline or strikeout metrics.
421
422 #Const kUnderlineThicknessIsValid_Flag 0x0001
423 #Line # set if fUnderlineThickness is valid ##
424 ##
425 #Const kUnderlinePositionIsValid_Flag 0x0002
426 #Line # set if fUnderlinePosition is valid ##
427 ##
428 #Const kStrikeoutThicknessIsValid_Flag 0x0004
429 #Line # set if fStrikeoutThickness is valid ##
430 ##
431 #Const kStrikeoutPositionIsValid_Flag 0x0008
432 #Line # set if fStrikeoutPosition is valid ##
433 ##
434
435 #Enum ##
436
437 #Member uint32_t fFlags
438 #Line # is set to FontMetricsFlags when metrics are valid ##
439 ##
440
441 #Member SkScalar fTop
442 #Line # extent above baseline ##
443 Greatest extent above the baseline for any glyph.
444 Typically less than zero.
445 ##
446
447 #Member SkScalar fAscent
448 #Line # distance to reserve above baseline ##
449 Recommended distance above the baseline to reserve for a line of text.
450 Typically less than zero.
451 ##
452
453 #Member SkScalar fDescent
454 #Line # distance to reserve below baseline ##
455 Recommended distance below the baseline to reserve for a line of text.
456 Typically greater than zero.
457 ##
458
459 #Member SkScalar fBottom
460 #Line # extent below baseline ##
461 Greatest extent below the baseline for any glyph.
462 Typically greater than zero.
463 ##
464
465 #Member SkScalar fLeading
466 #Line # distance to add between lines ##
467 Recommended distance to add between lines of text.
468 Typically greater than or equal to zero.
469 ##
470
471 #Member SkScalar fAvgCharWidth
472 #Line # average character width ##
473 Average character width, if it is available.
474 Zero if no average width is stored in the font.
475 ##
476
477 #Member SkScalar fMaxCharWidth
478 #Line # maximum character width ##
479 ##
480
481 #Member SkScalar fXMin
482 #Line # minimum x ##
483 Minimum bounding box x-axis value for all Glyphs.
484 Typically less than zero.
485 ##
486
487 #Member SkScalar fXMax
488 #Line # maximum x ##
489 Maximum bounding box x-axis value for all Glyphs.
490 Typically greater than zero.
491 ##
492
493 #Member SkScalar fXHeight
494 #Line # height of lower-case 'x' ##
495 May be zero if no lower-case height is stored in the font.
496 ##
497
498 #Member SkScalar fCapHeight
499 #Line # height of an upper-case letter ##
500 May be zero if no upper-case height is stored in the font.
501 ##
502
503 #Member SkScalar fUnderlineThickness
504 #Line # underline thickness ##
505 If the metric is valid, the kUnderlineThicknessIsValid_Flag is set in fFlags.
506 If kUnderlineThicknessIsValid_Flag is clear, fUnderlineThickness is zero.
507 ##
508
509 #Member SkScalar fUnderlinePosition
510 #Line # underline position relative to baseline ##
511 Position of the top of the underline stroke relative to the baseline.
512 Typically positive when valid.
513
514 If the metric is valid, the kUnderlinePositionIsValid_Flag is set in fFlags.
515 If kUnderlinePositionIsValid_Flag is clear, fUnderlinePosition is zero.
516 ##
517
518 #Member SkScalar fStrikeoutThickness
519 #Line # strikeout thickness ##
520
521 If the metric is valid, the kStrikeoutThicknessIsValid_Flag is set in fFlags.
522 If kStrikeoutThicknessIsValid_Flag is clear, fStrikeoutThickness is zero.
523 ##
524
525 #Member SkScalar fStrikeoutPosition
526 #Line # strikeout position relative to baseline ##
527 Position of the bottom of the strikeout stroke relative to the baseline.
528 Typically negative when valid.
529
530 If the metric is valid, the kStrikeoutPositionIsValid_Flag is set in fFlags.
531 If kStrikeoutPositionIsValid_Flag is clear, fStrikeoutPosition is zero.
532 ##
533
534 #Method bool hasUnderlineThickness(SkScalar* thickness) const
535 #Line # returns underline thickness if set ##
536
537#NoExample
538 ##
539 ##
540
541 #Method bool hasUnderlinePosition(SkScalar* position) const
542 #Line # returns underline position if set ##
543
544#NoExample
545 ##
546 ##
547
548 #Method bool hasStrikeoutThickness(SkScalar* thickness) const
549 #Line # returns strikeout thickness if set ##
550
551#NoExample
552 ##
553 ##
554
555 #Method bool hasStrikeoutPosition(SkScalar* position) const
556 #Line # returns strikeout position if set ##
557
558#NoExample
559 ##
560 ##
561
562#Struct ##
Cary Clark8032b982017-07-28 11:04:54 -0400563#Topic ##
564
565#Topic Font_Manager
566#Topic ##
567
568#Topic Glyph
Cary Clarkd2ca79c2018-08-10 13:09:13 -0400569#Subtopic ID
570##
Cary Clark137b8742018-05-30 09:21:49 -0400571#Alias Glyphs ##
Cary Clark8032b982017-07-28 11:04:54 -0400572##
573
Cary Clarkbad5ad72017-08-03 17:14:08 -0400574#Topic GPU_Context
575#Substitute GPU context
Cary Clark2ade9972017-11-02 17:49:34 -0400576#Class GrContext
Cary Clark77b3f3a2018-11-07 14:59:03 -0500577#Method void abandonContext()
578##
Cary Clark2ade9972017-11-02 17:49:34 -0400579#Method void flush()
580##
581##
Cary Clarkbad5ad72017-08-03 17:14:08 -0400582##
583
584#Topic GPU_Surface
585#Substitute GPU surface
586##
587
Cary Clark61ca7c52018-01-02 11:34:14 -0500588#Topic GPU_Texture
589#Substitute GPU texture
590##
591
Cary Clarkce101242017-09-01 15:51:02 -0400592#Topic HTML_Canvas
593 #Substitute HTML Canvas
594 #Subtopic ArcTo
595 #Substitute HTML Canvas arcTo
596 ##
597##
598
Cary Clark8032b982017-07-28 11:04:54 -0400599#Topic Image_Filter
Cary Clark8032b982017-07-28 11:04:54 -0400600#Class SkImageFilter
601#Class ##
602#Topic ##
603
Cary Clark682c58d2018-05-16 07:07:07 -0400604#Class SkImageGenerator
605##
606
Cary Clark8032b982017-07-28 11:04:54 -0400607#Topic Image_Scaling
608##
609
Cary Clark154beea2017-10-26 07:58:48 -0400610#Topic ISize
611#Struct SkISize
Cary Clark09d80c02018-10-31 12:14:03 -0400612#Method int32_t width() const
613##
614#Method int32_t height() const
615##
Cary Clark154beea2017-10-26 07:58:48 -0400616##
617##
618
Cary Clark682c58d2018-05-16 07:07:07 -0400619#Topic Left_Side_Bearing
Cary Clarkce101242017-09-01 15:51:02 -0400620##
621
Cary Clark8032b982017-07-28 11:04:54 -0400622#Topic Line
Cary Clark137b8742018-05-30 09:21:49 -0400623#Alias Lines ##
Cary Clark8032b982017-07-28 11:04:54 -0400624#Topic ##
625
Cary Clark682c58d2018-05-16 07:07:07 -0400626# to be in Topic Malloc_Pixel_Ref
Cary Clarkbc5697d2017-10-04 14:31:33 -0400627#Class SkMallocPixelRef
628 #Method static sk_sp<SkPixelRef> MakeZeroed(const SkImageInfo&, size_t rowBytes)
629 ##
630 #Method static sk_sp<SkPixelRef> MakeAllocate(const SkImageInfo&, size_t rowBytes)
631 ##
632##
Cary Clark682c58d2018-05-16 07:07:07 -0400633# end of Topic Malloc_Pixel_Ref
634
635#Struct SkMask
Cary Clarkbc5697d2017-10-04 14:31:33 -0400636##
637
Cary Clark8032b982017-07-28 11:04:54 -0400638#Topic Mask_Alpha
639#Topic ##
640
641#Topic Mask_Filter
642#Class SkMaskFilter
643#Class ##
644#Topic ##
645
Cary Clark682c58d2018-05-16 07:07:07 -0400646# to be in Topic Math
Cary Clark77b3f3a2018-11-07 14:59:03 -0500647 #Method Luminosity(dstColor)
648 # this permits using Luminosity() in documentation
Cary Clark09d80c02018-10-31 12:14:03 -0400649 ##
Cary Clark77b3f3a2018-11-07 14:59:03 -0500650 #Method Saturation(dstColor)
651 # this permits using Saturation() in documentation
652 ##
653 #Method SetLuminosity(srcSaturation, dstLuminosity)
654 # this permits using SetLuminosity() in documentation
655 ##
656 #Method SetSaturation(srcSaturation, dstSaturation)
657 # this permits using SetSaturation() in documentation
Cary Clarkd0530ba2017-09-14 11:25:39 -0400658 ##
Cary Clarkbc5697d2017-10-04 14:31:33 -0400659 #Method SkIntToScalar(x)
660 ##
661 #Method SkScalarRoundToInt(x)
662 ##
663 #Method SkScalarFloorToInt(x)
664 ##
665 #Method SkScalarCeilToInt(x)
666 ##
667 #Method SkScalarFloorToScalar(x)
668 ##
669 #Method SkScalarCeilToScalar(x)
670 ##
Cary Clark7fc1d122017-10-09 14:07:42 -0400671 #Method SkScalarIsFinite(x)
672 ##
673 #Method SkScalarIsNaN(x)
674 ##
675 #Method template <typename D, typename S> inline bool SkTFitsIn(S s)
676 ##
Cary Clark77b3f3a2018-11-07 14:59:03 -0500677 #Method float abs(float x)
678 # this permits using abs(x) in documentation
679 ##
680 #Method float max(float x)
681 # this permits using max(x) in documentation
682 ##
683 #Method float min(float x)
684 # this permits using max(x) in documentation
685 ##
686 #Method float sizeof(float x)
687 # this permits using sizeof(x) in documentation
688 ##
689 #Method float sqrt(float x)
690 # this permits using sqrt(x) in documentation
691 ##
692 #Method static inline bool sk_64_isS32(int64_t value)
693 ##
Cary Clark682c58d2018-05-16 07:07:07 -0400694# end of Topic Math
Cary Clarkd0530ba2017-09-14 11:25:39 -0400695
Cary Clark2ade9972017-11-02 17:49:34 -0400696#Topic Meta_Data
697#Class SkMetaData
698##
699##
700
Cary Clarkbc5697d2017-10-04 14:31:33 -0400701#Topic Mip_Map
Cary Clark5538c132018-06-14 12:28:14 -0400702#Substitute mip map
Cary Clarkbc5697d2017-10-04 14:31:33 -0400703##
Cary Clark8032b982017-07-28 11:04:54 -0400704
705#Topic Nine_Patch
706##
707
Cary Clark09d80c02018-10-31 12:14:03 -0400708# to be in Topic Number_Types ?
Cary Clarka560c472017-11-27 10:44:06 -0500709 #Typedef uint16_t SkGlyphID
Cary Clark8032b982017-07-28 11:04:54 -0400710 #Typedef ##
Cary Clark682c58d2018-05-16 07:07:07 -0400711 #Topic Scalar
Cary Clarkd2ca79c2018-08-10 13:09:13 -0400712 #Alias Scalars ##
Cary Clarka560c472017-11-27 10:44:06 -0500713 #Typedef float SkScalar
Cary Clark8032b982017-07-28 11:04:54 -0400714 #Typedef ##
Cary Clark7fc1d122017-10-09 14:07:42 -0400715 ##
Cary Clark884dd7d2017-10-11 10:37:52 -0400716 #Const SK_MinS32FitsInFloat
717 to be written
718 ##
719 #Const SK_MaxS32FitsInFloat
720 to be written
721 ##
Cary Clark7fc1d122017-10-09 14:07:42 -0400722 #Const SK_ScalarMin
723 to be written
724 ##
Cary Clark8032b982017-07-28 11:04:54 -0400725 #Const SK_ScalarMax
726 to be written
727 ##
728 #Const SK_ScalarInfinity
729 to be written
730 ##
731 #Const SK_ScalarNegativeInfinity
732 to be written
733 ##
734 #Const SK_ScalarNaN
735 to be written
736 ##
Cary Clark682c58d2018-05-16 07:07:07 -0400737 #Const SK_ScalarNearlyZero
738 to be written
739 ##
Cary Clark7fc1d122017-10-09 14:07:42 -0400740 #Const SK_MinS32
741 to be written
742 ##
743 #Const SK_MaxS32
744 to be written
745 ##
Cary Clarka560c472017-11-27 10:44:06 -0500746 #Typedef int32_t SkUnichar
Cary Clark8032b982017-07-28 11:04:54 -0400747 #Typedef ##
Cary Clarka560c472017-11-27 10:44:06 -0500748 #Typedef unsigned U8CPU
Cary Clark8032b982017-07-28 11:04:54 -0400749 #Typedef ##
Cary Clark682c58d2018-05-16 07:07:07 -0400750# end of Topic Number_Types
Cary Clark8032b982017-07-28 11:04:54 -0400751
Cary Clarkce101242017-09-01 15:51:02 -0400752#Topic OS_X
753#Substitute OS X
754##
755
Cary Clark8032b982017-07-28 11:04:54 -0400756#Topic Oval
Cary Clark137b8742018-05-30 09:21:49 -0400757#Alias Ovals ##
Cary Clark8032b982017-07-28 11:04:54 -0400758#Topic ##
759
760#Topic Paint_Defaults
761#Const SkPaintDefaults_Flags 0
762##
763#Const SkPaintDefaults_Hinting 2
764##
765#Const SkPaintDefaults_TextSize 12
766##
767#Const SkPaintDefaults_MiterLimit 4
768##
769#Topic ##
770
771#Topic Patch
Cary Clark137b8742018-05-30 09:21:49 -0400772#Alias Patches ##
Cary Clark8032b982017-07-28 11:04:54 -0400773#Topic ##
774
775#Topic Path_Effect
776 #Class SkPathEffect
777 #Class ##
778#Topic ##
779
Cary Clark682c58d2018-05-16 07:07:07 -0400780# to be in Topic Path_Measure
Cary Clark8032b982017-07-28 11:04:54 -0400781 #Class SkPathMeasure
782 #Method void dump() const
783 ##
784 ##
Cary Clark682c58d2018-05-16 07:07:07 -0400785# end of Topic Path_Measure
Cary Clark8032b982017-07-28 11:04:54 -0400786
787#Topic PathOps
Cary Clark682c58d2018-05-16 07:07:07 -0400788 #Enum SkPathOp
789 ##
Cary Clarkfd32e722018-11-16 14:36:02 -0500790 #Method bool Op(const SkPath& one, const SkPath& two, SkPathOp op, SkPath* result)
Cary Clark8032b982017-07-28 11:04:54 -0400791 ##
792#Topic ##
793
Cary Clark224c7002018-06-27 11:00:21 -0400794#Topic Picture_Recorder
Cary Clark8032b982017-07-28 11:04:54 -0400795 #Class SkPictureRecorder
796 #Method SkCanvas* beginRecording(const SkRect& bounds,
797 SkBBHFactory* bbhFactory = NULL,
798 uint32_t recordFlags = 0)
799 ##
800 ##
801##
Cary Clark8032b982017-07-28 11:04:54 -0400802
803#Topic Pixel
804#Subtopic Storage
805##
806##
807
Cary Clarkbc5697d2017-10-04 14:31:33 -0400808#Topic Pixel_Ref
Cary Clarkd0530ba2017-09-14 11:25:39 -0400809#Class SkPixelRef
Cary Clarkbc5697d2017-10-04 14:31:33 -0400810 #Method int width() const
811 ##
812 #Method int height() const
813 ##
814 #Method bool isImmutable() const
815 ##
816 #Method void setImmutable()
817 ##
Cary Clarkd0530ba2017-09-14 11:25:39 -0400818##
Cary Clarkbad5ad72017-08-03 17:14:08 -0400819##
820
Cary Clarkd0530ba2017-09-14 11:25:39 -0400821#Enum SkPixelGeometry
Cary Clark8032b982017-07-28 11:04:54 -0400822##
823
Cary Clark154beea2017-10-26 07:58:48 -0400824#Topic Point3
825#Struct SkPoint3
826##
827#Topic ##
828
Cary Clarkce101242017-09-01 15:51:02 -0400829#Topic PostScript
830#Substitute PostScript
831#Subtopic Arct
832#Substitute PostScript arct
833##
834##
835
836#Topic Premultiply
Cary Clark137b8742018-05-30 09:21:49 -0400837#Alias Premultiplied ##
Cary Clark80247e52018-07-11 16:18:41 -0400838#Alias Premultiplies ##
Cary Clarkce101242017-09-01 15:51:02 -0400839##
840
841#Topic Raster_Engine
842##
843
Cary Clark8032b982017-07-28 11:04:54 -0400844#Topic Raster_Handle_Allocator
845#Class SkRasterHandleAllocator
Cary Clark682c58d2018-05-16 07:07:07 -0400846 #Typedef void* Handle
847 ##
Cary Clark8032b982017-07-28 11:04:54 -0400848 #Struct Rec
849 ##
850 #Method static std::unique_ptr<SkCanvas> MakeCanvas(std::unique_ptr<SkRasterHandleAllocator>, const SkImageInfo&, const Rec* rec = nullptr)
851 ##
852##
853##
854
Cary Clark2f466242017-12-11 16:03:17 -0500855#Topic Raster_Bitmap
856##
857
Cary Clarkbad5ad72017-08-03 17:14:08 -0400858#Topic Raster_Surface
859##
860
Cary Clark682c58d2018-05-16 07:07:07 -0400861# to be in Topic Rasterizer
Cary Clark8032b982017-07-28 11:04:54 -0400862#Class SkRasterizer
863#Class ##
Cary Clark682c58d2018-05-16 07:07:07 -0400864# end of Topic Rasterizer
Cary Clark8032b982017-07-28 11:04:54 -0400865
Cary Clark8032b982017-07-28 11:04:54 -0400866#Topic Reference_Count
Cary Clarkbc5697d2017-10-04 14:31:33 -0400867#Class SkRefCnt
868#Class ##
Cary Clarkcb6bef02018-11-29 12:05:25 -0500869
870#Template SkNVRefCnt
871##
Cary Clark09d80c02018-10-31 12:14:03 -0400872##
873
874#Topic Smart_Pointer
Cary Clark8032b982017-07-28 11:04:54 -0400875#Class sk_sp
876#Class ##
877#Topic ##
878
Cary Clarka560c472017-11-27 10:44:06 -0500879#Topic Render_Target
880#Class GrRenderTarget
881##
882##
883
Cary Clarkce101242017-09-01 15:51:02 -0400884#Topic Right_Side_Bearing
885##
886
Cary Clark8032b982017-07-28 11:04:54 -0400887#Topic RSXform
888#Struct SkRSXform
Cary Clark09d80c02018-10-31 12:14:03 -0400889#Member SkScalar fSCos
890##
891#Member SkScalar fSSin
892##
893#Member SkScalar fTx
894##
895#Member SkScalar fTy
896##
Cary Clark8032b982017-07-28 11:04:54 -0400897##
898##
899
Cary Clark224c7002018-06-27 11:00:21 -0400900#Topic Serial_Procs
901#Struct SkSerialProcs
Cary Clark09d80c02018-10-31 12:14:03 -0400902#Member SkSerialPictureProc fPictureProc
903##
904#Member void* fPictureCtx
905##
906#Member SkSerialTypefaceProc fTypefaceProc
907##
908#Member void* fTypefaceCtx
909##
Cary Clark224c7002018-06-27 11:00:21 -0400910##
911##
912
Cary Clark8032b982017-07-28 11:04:54 -0400913#Topic Shader
914#Class SkShader
915 #Enum TileMode
916 #Const kClamp_TileMode 0
917 ##
Cary Clark61dfc3a2018-01-03 08:37:53 -0500918 #Const kRepeat_TileMode 1
919 ##
920 #Const kMirror_TileMode 2
921 ##
Cary Clark8032b982017-07-28 11:04:54 -0400922 ##
923 #Method static sk_sp<SkShader> MakeBitmapShader(const SkBitmap& src, TileMode tmx, TileMode tmy,
924 const SkMatrix* localMatrix = nullptr)
925 ##
Cary Clark224c7002018-06-27 11:00:21 -0400926 #Method static sk_sp<SkShader> MakeCompose(sk_sp<SkShader> dst, sk_sp<SkShader> src,
927 SkBlendMode mode, float lerp = 1)
928 ##
Cary Clark8032b982017-07-28 11:04:54 -0400929#Class ##
Cary Clark8032b982017-07-28 11:04:54 -0400930#Topic ##
931
Cary Clarkbc5697d2017-10-04 14:31:33 -0400932#Topic Size
Cary Clark154beea2017-10-26 07:58:48 -0400933#Struct SkSize
Cary Clark09d80c02018-10-31 12:14:03 -0400934#Method int32_t width() const
935##
936#Method int32_t height() const
937##
Cary Clark154beea2017-10-26 07:58:48 -0400938##
Cary Clarkbc5697d2017-10-04 14:31:33 -0400939##
940
Cary Clark8032b982017-07-28 11:04:54 -0400941#Topic Sprite
Cary Clark137b8742018-05-30 09:21:49 -0400942#Alias Sprites ##
Cary Clark8032b982017-07-28 11:04:54 -0400943#Topic ##
944
Cary Clarkd2ca79c2018-08-10 13:09:13 -0400945#Topic Stream_Asset
946#Class SkStreamAsset
Cary Clark682c58d2018-05-16 07:07:07 -0400947##
Cary Clarkd2ca79c2018-08-10 13:09:13 -0400948#Topic ##
Cary Clark8032b982017-07-28 11:04:54 -0400949
950#Topic String
951#Class SkString
952#Class ##
953#Topic ##
954
Cary Clarkce101242017-09-01 15:51:02 -0400955#Topic Supersampling
956##
957
Cary Clarka560c472017-11-27 10:44:06 -0500958#Topic Surface_Characterization
959#Class SkSurfaceCharacterization
Cary Clark8032b982017-07-28 11:04:54 -0400960##
Cary Clarka560c472017-11-27 10:44:06 -0500961##
962
963#Topic Surface_Properties
Cary Clark8032b982017-07-28 11:04:54 -0400964 #Class SkSurfaceProps
Cary Clark2a8c48b2018-02-15 17:31:24 -0500965 #Subtopic Legacy_Font_Host
Cary Clark8032b982017-07-28 11:04:54 -0400966 #Enum InitType
967 #Const kLegacyFontHost_InitType 0
968 ##
969 ##
Cary Clarkbad5ad72017-08-03 17:14:08 -0400970 #Topic ##
Cary Clark8032b982017-07-28 11:04:54 -0400971 ##
972##
Cary Clark8032b982017-07-28 11:04:54 -0400973
974#Topic SVG
975#Subtopic Canvas
976##
977#Subtopic Arc
978##
Cary Clark09d80c02018-10-31 12:14:03 -0400979#Subtopic Sweep_Flag
980#Substitute SVG sweep-flag
981##
Cary Clark8032b982017-07-28 11:04:54 -0400982##
983
984#Topic Text
985#Topic ##
986
Cary Clarka560c472017-11-27 10:44:06 -0500987#Topic Texture
988#Class GrBackendTexture
Cary Clarkba75aee2018-04-05 08:18:41 -0400989 #Method bool isValid() const
990 ##
Cary Clarka560c472017-11-27 10:44:06 -0500991##
992##
993
Robert Phillipsb6df1c12018-10-05 10:31:34 -0400994#Topic YUV_Planes
995#Class SkYUVAIndex
996##
997##
998
Robert Phillips8caf85f2018-04-05 09:30:38 -0400999#Topic RenderTarget
1000#Class GrBackendRenderTarget
1001 #Method bool isValid() const
1002 ##
1003##
1004##
1005
Cary Clark681287e2018-03-16 11:34:15 -04001006#Topic Transfer_Mode
1007##
1008
Cary Clark8032b982017-07-28 11:04:54 -04001009#Topic Typeface
Cary Clarkd2ca79c2018-08-10 13:09:13 -04001010#Subtopic ID
1011#Typedef uint32_t SkFontID
1012##
1013##
Cary Clark8032b982017-07-28 11:04:54 -04001014#Class SkTypeface
Cary Clarkd2ca79c2018-08-10 13:09:13 -04001015 #Method SkFontID uniqueID() const
1016 ##
Cary Clark8032b982017-07-28 11:04:54 -04001017#Class ##
1018#Topic ##
1019
Cary Clark682c58d2018-05-16 07:07:07 -04001020# to be defined in types
Cary Clarka560c472017-11-27 10:44:06 -05001021 #Typedef intptr_t GrBackendObject
1022 #Typedef ##
1023
Cary Clark5538c132018-06-14 12:28:14 -04001024 #EnumClass GrMipMapped
1025 #Const kNo 0
1026 ##
1027 #Const kYes 1
1028 ##
1029 #EnumClass ##
1030
Cary Clarka560c472017-11-27 10:44:06 -05001031 #Enum GrSurfaceOrigin
Cary Clark682c58d2018-05-16 07:07:07 -04001032 #Const kBottomLeft_GrSurfaceOrigin 0
Cary Clarka560c472017-11-27 10:44:06 -05001033 ##
1034 #Const kTopLeft_GrSurfaceOrigin 1
1035 ##
1036 #Enum ##
1037
Cary Clarka560c472017-11-27 10:44:06 -05001038 #EnumClass SkBudgeted
1039 #Const kNo 0
1040 ##
1041 #Const kYes 1
1042 ##
1043 #EnumClass ##
Cary Clarka560c472017-11-27 10:44:06 -05001044
1045 #EnumClass GrSemaphoresSubmitted
1046 #Const kNo 0
1047 ##
1048 #Const kYes 1
1049 ##
1050 #EnumClass ##
Cary Clark682c58d2018-05-16 07:07:07 -04001051# end of defined in types
Cary Clarka560c472017-11-27 10:44:06 -05001052
Cary Clarkce101242017-09-01 15:51:02 -04001053#Topic Unpremultiply
Cary Clark137b8742018-05-30 09:21:49 -04001054#Alias Unpremultiplied ##
Cary Clarkce101242017-09-01 15:51:02 -04001055##
1056
Cary Clark8032b982017-07-28 11:04:54 -04001057#Topic Vertices
Cary Clark682c58d2018-05-16 07:07:07 -04001058#Class SkVertices
Ruiqi Maoc97a3392018-08-15 10:44:19 -04001059#Class Bone
1060##
Cary Clark682c58d2018-05-16 07:07:07 -04001061##
Cary Clark8032b982017-07-28 11:04:54 -04001062#Subtopic Colors
1063##
1064#Subtopic Texs
1065##
1066#Topic ##
1067
Cary Clark224c7002018-06-27 11:00:21 -04001068#Topic Xfermode_Image_Filter
1069#Class SkXfermodeImageFilter
1070##
1071##