First set of minimal docs for the new Markdown server, which will eventually replace https://sites.google.com/site/skiadocs/.
Design of the new Markdown server is documented here: https://github.com/google/skia-buildbot/blob/master/doc/README.md You can see the server up and running here: http://skiadocs.com:8000/ This is *reed because it adds a new top level directory to the skia repo. BUG=skia: Review URL: https://codereview.chromium.org/835083003
This commit is contained in:
parent
53a8f216a8
commit
942262fcb5
22
site/index.md
Normal file
22
site/index.md
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
Overview
|
||||||
|
========
|
||||||
|
Skia is an open source 2D graphics library which provides common APIs that work
|
||||||
|
across a variety of hardware and software platforms. It serves as the graphics
|
||||||
|
engine for Google Chrome and Chrome OS, Android, Mozilla Firefox and Firefox
|
||||||
|
OS, and many other products.
|
||||||
|
|
||||||
|
Skia is sponsored and managed by Google, but is available for use by anyone
|
||||||
|
under the BSD Free Software License. While engineering of the core components
|
||||||
|
is done by the Skia development team, we consider contributions from any
|
||||||
|
source.
|
||||||
|
|
||||||
|
Roadmap
|
||||||
|
-------
|
||||||
|
For a look at high level items we have on tap the next 6-12 months, view our
|
||||||
|
roadmap [here](https://docs.google.com/a/skia.org/document/d/1cjB8QBB6orRtvpDn2MHAr95K8I0QvVgyJfUq5zGjf1M).
|
||||||
|
Note it is a living document that changes based on the requirements of our users.
|
||||||
|
|
||||||
|
Recent Highlights
|
||||||
|
-----------------
|
||||||
|
See a summary of recent changes to the library [here](https://docs.google.com/a/skia.org/document/d/1Q4-YN8wDY9Q3L7gkqOJmmCLM73dj3tr9epUHL1vMZm4).
|
||||||
|
|
12
site/roles.md
Normal file
12
site/roles.md
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
Project Roles
|
||||||
|
=============
|
||||||
|
|
||||||
|
The Skia open source project includes individuals working in a variety of
|
||||||
|
roles. Anyone can view the code, use the Skia library, file bugs, and submit
|
||||||
|
patches. This page describes in detail the kinds of roles that interested
|
||||||
|
parties can assume.
|
||||||
|
|
||||||
|
For more information on ways to get involved in Skia development, see the
|
||||||
|
[Contributing to Skia page](/dev/contrib/).
|
||||||
|
|
||||||
|
![roles.png](roles.png)
|
BIN
site/roles.png
Normal file
BIN
site/roles.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
11
site/user/api.md
Normal file
11
site/user/api.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
API Overview & Doxygen Docs
|
||||||
|
===========================
|
||||||
|
|
||||||
|
See navigable API Overview here:
|
||||||
|
|
||||||
|
[http://code.google.com/p/skia/wiki/APIOverview](http://code.google.com/p/skia/wiki/APIOverview)
|
||||||
|
|
||||||
|
Autogenerated Doxygen docs are here:
|
||||||
|
|
||||||
|
[http://chromium-skia-gm.commondatastorage.googleapis.com/doxygen/doxygen/html/index.html](http://chromium-skia-gm.commondatastorage.googleapis.com/doxygen/doxygen/html/index.html)
|
||||||
|
|
74
site/user/download.md
Normal file
74
site/user/download.md
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
How to download Skia
|
||||||
|
====================
|
||||||
|
|
||||||
|
Install gclient and git
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
Follow the instructions on
|
||||||
|
http://www.chromium.org/developers/how-tos/install-depot-tools to download
|
||||||
|
chromium's depot_tools (which includes gclient ).
|
||||||
|
|
||||||
|
depot_tools will also install git on your system, if it wasn't installed
|
||||||
|
already.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Configure git
|
||||||
|
-------------
|
||||||
|
|
||||||
|
$ git config --global user.name "Your Name"
|
||||||
|
$ git config --global user.email you@example.com
|
||||||
|
|
||||||
|
Download your tree
|
||||||
|
------------------
|
||||||
|
|
||||||
|
$ mkdir skia
|
||||||
|
$ cd skia
|
||||||
|
$ gclient config --name . --unmanaged https://skia.googlesource.com/skia.git
|
||||||
|
$ gclient sync
|
||||||
|
$ git checkout master
|
||||||
|
|
||||||
|
At this point, you have everything you need to build and use Skia! If
|
||||||
|
you want to make changes, and possibly contribute them back to the Skia
|
||||||
|
project, read on...
|
||||||
|
|
||||||
|
Making changes
|
||||||
|
--------------
|
||||||
|
|
||||||
|
First create a branch for your changes:
|
||||||
|
|
||||||
|
$ git checkout --track origin/master -b my_feature master
|
||||||
|
|
||||||
|
After making your changes, create a commit
|
||||||
|
|
||||||
|
$ git add [file1] [file2] ...
|
||||||
|
$ git commit
|
||||||
|
|
||||||
|
If your branch gets out of date, you will need to update it:
|
||||||
|
|
||||||
|
$ git pull --rebase
|
||||||
|
$ gclient sync
|
||||||
|
|
||||||
|
Uploading changes for review
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
$ git cl upload
|
||||||
|
|
||||||
|
You may have to enter a Google Account username and password to authenticate
|
||||||
|
yourself to codereview.chromium.org. A free gmail account will do fine, or any
|
||||||
|
other type of Google account. It does not have to match the email address you
|
||||||
|
configured using git config --global user.email above, but it can.
|
||||||
|
|
||||||
|
The command output should include a URL (similar to
|
||||||
|
https://codereview.chromium.org/111893004/ ) indicating where your changelist
|
||||||
|
can be reviewed.
|
||||||
|
|
||||||
|
Once your change has received an LGTM ("looks good to me"), you can check the
|
||||||
|
"Commit" box on the codereview page and it will be committed on your behalf.
|
||||||
|
|
||||||
|
Once your commit has gone in, you should delete the branch containing your
|
||||||
|
change:
|
||||||
|
|
||||||
|
$ git checkout master
|
||||||
|
$ git branch -D my_feature
|
||||||
|
|
20
site/user/index.md
Normal file
20
site/user/index.md
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
User Documentation
|
||||||
|
==================
|
||||||
|
|
||||||
|
If you want to write code that uses the Skia library, this is the place for you.
|
||||||
|
|
||||||
|
The Skia graphics library can be used for drawing Text, Geometries, and Images:
|
||||||
|
|
||||||
|
* 3x3 matrices w/ perspective
|
||||||
|
* antialiasing, transparency, filters
|
||||||
|
* shaders, xfermodes, maskfilters, patheffects
|
||||||
|
* subpixel text
|
||||||
|
|
||||||
|
Device backends for Skia currently include:
|
||||||
|
|
||||||
|
* Raster
|
||||||
|
* OpenGL
|
||||||
|
* PDF
|
||||||
|
* XPS
|
||||||
|
* Picture (for recording and then playing back into another Canvas)
|
||||||
|
|
7
site/user/issue-tracker.md
Normal file
7
site/user/issue-tracker.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Issue Tracker (bug database)
|
||||||
|
============================
|
||||||
|
|
||||||
|
The "Issue Tracker" is the bug database where we track all bug reports and
|
||||||
|
feature requests.
|
||||||
|
|
||||||
|
You can find it at https://code.google.com/p/skia/issues/list
|
48
site/user/tips.md
Normal file
48
site/user/tips.md
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
Tips & FAQ
|
||||||
|
==========
|
||||||
|
|
||||||
|
Tips and Tricks
|
||||||
|
---------------
|
||||||
|
|
||||||
|
### Bitmap Subsetting
|
||||||
|
|
||||||
|
Taking a subset of a bitmap is effectively free - no pixels are copied or
|
||||||
|
memory is allocated. This allows Skia to offer an API that typically operates
|
||||||
|
on entire bitmaps; clients who want to operate on a subset of a bitmap can use
|
||||||
|
the following pattern, here being used to magnify a portion of an image with
|
||||||
|
drawBitmapNine():
|
||||||
|
|
||||||
|
SkBitmap subset;
|
||||||
|
bitmap.extractSubset(&subset, rect);
|
||||||
|
canvas->drawBitmapNine(subset, ...);
|
||||||
|
|
||||||
|
FAQ
|
||||||
|
---
|
||||||
|
|
||||||
|
### Does Skia support HW acceleration?
|
||||||
|
|
||||||
|
|
||||||
|
There are two ways Skia can take advantage of HW.
|
||||||
|
|
||||||
|
1. Subclass SkCanvas
|
||||||
|
|
||||||
|
Since all drawing calls go through SkCanvas, those calls can be redirected to
|
||||||
|
a different graphics API. SkGLCanvas has been written to direct its drawing
|
||||||
|
calls to OpenGL. See src/gl/
|
||||||
|
|
||||||
|
2. Custom bottleneck routines
|
||||||
|
|
||||||
|
There are sets of bottleneck routines inside the blits of Skia that can be
|
||||||
|
replace on a platform in order to take advantage of specific CPU features. One
|
||||||
|
such example is the NEON SIMD instructions on ARM v7 devices. See src/opts/
|
||||||
|
|
||||||
|
### Does Skia support Font hinting?
|
||||||
|
|
||||||
|
Skia has a built-in font cache, but it does not know how to actual render font
|
||||||
|
files like TrueType? into its cache. For that it relies on the platform to
|
||||||
|
supply an instance of SkScalerContext?. This is Skia's abstract interface for
|
||||||
|
communicating with a font scaler engine. In src/ports you can see support
|
||||||
|
files for FreeType?, Mac OS X, and Windows GDI font engines. Other font
|
||||||
|
engines can easily be supported in a like manner.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user