Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1254)

Unified Diff: resources/slides_content2.lua

Issue 697923002: add code-style for slides (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « resources/slides_content.lua ('k') | resources/slides_utils.lua » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: resources/slides_content2.lua
diff --git a/resources/slides_content2.lua b/resources/slides_content2.lua
new file mode 100644
index 0000000000000000000000000000000000000000..d2a4016fbd1ae3489a6b06a61486e8b52f82deb8
--- /dev/null
+++ b/resources/slides_content2.lua
@@ -0,0 +1,96 @@
+Skia Update
+
+Skia : Overview
+- portable 2D graphics engine
+- src: geometry, images, text
+- dst : raster, gpu, pdf, displaylist, *user-defined
+- attr: shaders, filters, antialiasing, blending, *user-defined
+
+Skia : Clients
+- Blink : direct and via GraphicsContext
+- Chrome : ui/gfx and compositor
+- Android framework
+- third parties : e.g. Mozilla
+- code.google.com/p/skia
+
+Skia : Porting
+- C++ and some SIMD assembly
+- Fonts : CoreText, FreeType, GDI, DirectWrite, *user-define
+- Threads : wrappers for native apis
+- Memory : wrappers for [new, malloc, discardable]
+
+Skia : API
+- SkCanvas
+-- save, saveLayer, restore
+-- translate, scale, rotate, concat
+-- clipRect, clipPath
+- SkPaint
+-- color, stroking, antialiasing, filtering
+-- typeface, textSize, text-flags
+-- effects: shader, color-filter, image-filter, mask-filter, xfermode
+
+<blockstyle = code>
+void onDraw(SkCanvas* canvas) {
+ SkPaint paint;
+ paint.setFoo(...);
+ canvas->drawRect(..., paint);
+ paint.setBar(...);
+ canvas->drawOval(..., paint);
+}
+
+<blockstyle = code>
+void onDraw(SkCanvas* canvas) {
+ canvas->drawRect(..., fPaint0);
+ canvas->drawOval(..., fPaint1);
+}
+
+Skia In Blink : GraphicsContext
+- Similar
+-- rects, paths, images, text
+-- matrices, clips
+- Different
+-- save/restore affect matrix+clip PLUS all paint settings
+-- both fill and stroke settings are specified
+-- hence: fillRect(), strokeRect(), drawRect()
+
+<blockstyle = code>
+void onDraw(GraphicsContext* gc) {
+ gc->save();
+ gc->setFoo(...);
+ gc->fillRect(...);
+ gc->setBar(...);
+ gc->fillOval(...);
+ gc->restore();
+}
+
+Skia In Blink : more than GraphicsContext
+- Simple wrappers
+-- FloatRect -- SkRect
+-- Path -- SkPath
+- Font.h + 21 others
+-- SkTypeface + flags
+- Image.h + 25 others
+-- SkBitmap, SkImage
+
+Skia In Blink : Fonts
+- Assist with code-sharing between platforms
+- Runtime switch between GDI and DirectWrite
+- Add SkFontMgr for selection
+- Push LCD decision-making out of Blink
+
+Skia In Blink : Record-Time-Rasterization
+- Direct rendering during “Paint” pass
+-- Image scaling, filters
+-- SVG patterns, masks
+- Problematic in modern Blink
+-- CTM not always known/knowable
+-- Rendering backend not always known (gpu or cpu)
+-- Rasterization takes (too much) time
+
+Skia In Blink : RTR response
+- SkImageFilter w/ CPU and GPU implementations
+- SkPaint::FilterLevel : none, low, medium (mipmaps), high
+- SkPicture for caching SVG
+- SkPicture + saveLayer() for masks
+-- PathOps for resolving complex paths
+- SkPictureShader for device-independent patterns
« no previous file with comments | « resources/slides_content.lua ('k') | resources/slides_utils.lua » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698