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:
jcgregorio 2015-01-05 11:17:27 -08:00 committed by Commit bot
parent 53a8f216a8
commit 942262fcb5
8 changed files with 194 additions and 0 deletions

22
site/index.md Normal file
View 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
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

11
site/user/api.md Normal file
View 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
View 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
View 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)

View 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
View 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.