OnDoc
| sign
in
up
~
pub
|
pdf
txt
html
toc
url
|
<<
>>
1
~
33
34
35
36
37
38
39
~
253
Table of Contents
1 Introduction
1.1 Feature Set
1.2 Target Applications
SVG and Adobe Flash Viewers
Portable Mapping Applications
E-book Readers
Games
Scalable User Interfaces
Low-Level Graphics Device Interface
1.3 Target Devices
1.4 Design Philosophy
1.5 Naming and Typographical Conventions
1.6 Library Naming
2 The OpenVG Pipeline
2.1 Stage 1: Path, Transformation, Stroke, and Paint
2.2 Stage 2: Stroked Path Generation
2.3 Stage 3: Transformation
2.4 Stage 4: Rasterization
2.5 Stage 5: Clipping and Masking
2.6 Stage 6: Paint Generation
2.7 Stage 7: Image Interpolation
2.8 Stage 8: Color Transformation, Blending, and Antialiasing
2.9 Multisampling
3 Constants, Functions and Data Types
3.1 Versioning
OPENVG_VERSION_1_1
3.2 Primitive Data Types
VGbyte
VGubyte
VGshort
VGint
VGuint
VGbitfield
VGboolean
VGfloat
3.3 Floating-Point and Integer Representations
VG_MAXSHORT
VG_MAXINT
VG_MAX_FLOAT
3.4 Colors
3.4.1 Linear and Non-Linear Color Representations
3.4.2 Color Space Definitions
3.4.3 Premultiplied Alpha
3.4.4 Color Format Conversion
3.5 Enumerated Data Types
3.6 Handle-based Data Types
VGHandle
VG_INVALID_HANDLE
4 The Drawing Context
4.1 Errors
VGErrorCode
vgGetError
4.2 Manipulating the Context Using EGL
4.2.1 EGLConfig Attributes
EGL_OPENVG_BIT
EGL_ALPHA_MASK_SIZE
4.2.2 EGL Functions
eglBindAPI
eglCreateContext
eglCreateWindowSurface
eglCreatePbufferFromClientBuffer
eglMakeCurrent
eglGetCurrentContext
eglDestroyContext
eglSwapBuffers
4.3 Forcing Drawing to Complete
vgFlush
vgFinish
5 Setting API Parameters
5.1 Context Parameter Types
VGParamType
5.2 Setting and Querying Context Parameter Values
vgSet
vgGet and vgGetVectorSize
5.2.1 Default Context Parameter Values
5.3 Setting and Querying Object Parameter Values
vgSetParameter
vgGetParameter and vgGetParameterVectorSize
6 Rendering Quality and Antialiasing
6.1 Rendering Quality
VGRenderingQuality
6.2 Additional Quality Settings
VGPixelLayout
6.3 Coordinate Systems and Transformations
6.4 Coordinate Systems
6.5 Transformations
6.5.1 Homogeneous Coordinates
6.5.2 Affine Transformations
6.5.3 Projective (Perspective) Transformations
6.6 Matrix Manipulation
VGMatrixMode
vgLoadIdentity
vgLoadMatrix
vgGetMatrix
vgMultMatrix
vgTranslate
vgScale
vgShear
vgRotate
7 Scissoring, Masking, and Clearing
7.1 Scissoring
VG_MAX_SCISSOR_RECTS
Specifying Scissoring Rectangles
7.2 Masking
VGMaskOperation
vgMask
vgRenderToMask
VGMaskLayer
vgCreateMaskLayer
vgDestroyMaskLayer
vgFillMaskLayer
vgCopyMask
7.3 Fast Clearing
vgClear
8 Paths
8.1 Moves
8.2 Straight Line Segments
8.3 Bézier Curves
8.3.1 Quadratic Bézier Curves
8.3.2 Cubic Bézier Curves
8.3.3 G1 Smooth Segments
8.3.4 C1 Smooth Segments
8.3.5 C2 Smooth Segments
8.3.6 Converting Segments From Quadratic to Cubic Form
8.4 Elliptical Arcs
8.5 The Standard Path Format
VG_PATH_FORMAT_STANDARD
8.5.1 Path Segment Command Side Effects
8.5.2 Segment Commands
8.5.3 Coordinate Data Formats
VGPathDatatype
8.5.4 Segment Type Marker Definitions
VGPathAbsRel
VGPathSegment
VGPathCommand
8.5.5 Path Example
8.6 Path Operations
8.6.1 Storage of Paths
VGPath
8.6.2 Creating and Destroying Paths
VGPathCapabilities
vgCreatePath
vgClearPath
vgDestroyPath
8.6.3 Path Queries
VGPathParamType
Path Format
Path Datatype
Path Scale
Path Bias
Number of Segments
Number of Coordinates
8.6.4 Querying and Modifying Path Capabilities
vgGetPathCapabilities
vgRemovePathCapabilities
8.6.5 Copying Data Between Paths
vgAppendPath
8.6.6 Appending Data to a Path
vgAppendPathData
8.6.7 Modifying Path Data
vgModifyPathCoords
8.6.8 Transforming a Path
vgTransformPath
8.6.9 Interpolating Between Paths
vgInterpolatePath
8.6.10 Length of a Path
vgPathLength
8.6.11 Position and Tangent Along a Path
The Tangents of a Path Segment
vgPointAlongPath
8.6.12 Querying the Bounding Box of a Path
vgPathBounds
vgPathTransformedBounds
8.7 Interpretation of Paths
8.7.1 Filling Paths
Creating Holes in Paths
Implicit Closure of Filled Subpaths
8.7.2 Stroking Paths
8.7.3 Stroke Parameters
End Cap Styles
Line Join Styles
Miter Length
Dashing
8.7.4 Stroke Generation
8.7.5 Setting Stroke Parameters
VGCapStyle
VGJoinStyle
VG_MAX_DASH_COUNT
Setting the Dash Pattern
8.7.6 Non-Scaling Strokes
8.8 Filling or Stroking a Path
VGFillRule
VGPaintMode
vgDrawPath
Filling a Path
Stroking a Path
Filling and Stroking a Path
9 Paint
9.1 Paint Definitions
VGPaint
9.1.1 Creating and Destroying Paint Objects
vgCreatePaint
vgDestroyPaint
9.1.2 Setting the Current Paint
vgSetPaint
vgGetPaint
9.1.3 Setting Paint Parameters
VGPaintParamType
VGPaintType
9.2 Color Paint
Setting Color Paint Parameters
vgSetColor
vgGetColor
9.3 Gradient Paint
9.3.1 Linear Gradients
Setting Linear Gradient Parameters
9.3.2 Radial Gradients
Setting Radial Gradient Parameters
9.3.3 Color Ramps
VG_MAX_COLOR_RAMP_STOPS
VGColorRampSpreadMode
Setting Color Ramp Parameters
Formal Definition of Spread Modes
9.3.4 Gradient Examples
9.4 Pattern Paint
vgPaintPattern
9.4.1 Pattern Tiling
VGTilingMode
Setting the Pattern Tiling Mode
10 Images
10.1 Image Coordinate Systems
10.2 Image Formats
VGImageFormat
10.3 Creating and Destroying Images
VGImage
VGImageQuality
VG_MAX_IMAGE_WIDTH
VG_MAX_IMAGE_HEIGHT
VG_MAX_IMAGE_PIXELS
VG_MAX_IMAGE_BYTES
vgCreateImage
vgDestroyImage
10.4 Querying Images
VGImageParamType
Image Format
Image Width
Image Height
10.5 Reading and Writing Image Pixels
vgClearImage
vgImageSubData
vgGetImageSubData
10.6 Child Images
vgChildImage
vgGetParent
10.7 Copying Pixels Between Images
vgCopyImage
10.8 Drawing Images to the Drawing Surface
VGImageMode
vgDrawImage
VG_DRAW_IMAGE_NORMAL
VG_DRAW_IMAGE_MULTIPLY
VG_DRAW_IMAGE_STENCIL
10.9 Reading and Writing Drawing Surface Pixels
10.9.1 Writing Drawing Surface Pixels
vgSetPixels
vgWritePixels
10.9.2 Reading Drawing Surface Pixels
vgGetPixels
vgReadPixels
10.10 Copying Portions of the Drawing Surface
vgCopyPixels
11 Text
11.1 Text Rendering
11.2 Font Terminology
11.3 Glyph Positioning and Text Layout
11.4 Fonts in OpenVG
11.4.1 VGFont Objects and Glyph Mapping
VGFont
Glyph Mapping
11.4.2 Managing VGFont Objects
vgCreateFont
vgDestroyFont
11.4.3 Querying VGFont Objects
VGFontParamType
Number of Glyphs
11.4.4 Adding and Modifying Glyphs in VGFonts
vgSetGlyphToPath
vgSetGlyphToImage
vgClearGlyph
11.4.5 Font Sharing
11.5 Text Layout and Rendering
vgDrawGlyph
vgDrawGlyphs
12 Image Filters
12.1 Format Normalization
12.2 Channel Masks
VGImageChannel
12.3 Color Combination
vgColorMatrix
12.4 Convolution
VG_MAX_KERNEL_SIZE
VG_MAX_SEPARABLE_KERNEL_SIZE
VG_MAX_GAUSSIAN_STD_DEVIATION
vgConvolve
vgSeparableConvolve
vgGaussianBlur
12.5 Lookup Tables
vgLookup
vgLookupSingle
13 Color Transformation and Blending
13.1 Color Transformation
Setting the Color Transformation
13.2 Blending Equations
13.3 Porter-Duff Blending
13.4 Additional Blending Modes
13.5 Additive Blending
13.6 Setting the Blend Mode
VGBlendMode
14 Querying Hardware Capabilities
VGHardwareQueryType
VGHardwareQueryResult
vgHardwareQuery
15 Extending the API
15.1 Extension Naming Conventions
15.2 The Extension Registry
15.3 Using Extensions
15.3.1 Accessing Extensions Statically
15.3.2 Accessing Extensions Dynamically
VGStringID
vgGetString
eglGetProcAddress
15.4 Creating Extensions
16 API Conformance
16.1 Conformance Test Principles
16.1.1 Window System Independence
16.1.2 Antialiasing Algorithm Independence
16.1.3 On-Device and Off-Device Testing
16.2 Types of Conformance Tests
16.2.1 Pipeline Tests
16.2.2 Self-Consistency Tests
16.2.3 Matrix Tests
16.2.4 Interior/Exterior Tests
16.2.5 Positional Invariance
16.2.6 Image Comparison Tests
17 The VGU Utility Library
VGU_VERSION_1_1
VGUErrorCode
17.1 Higher-level Geometric Primitives
17.1.1 Lines
vguLine
17.1.2 Polylines and Polygons
vguPolygon
17.1.3 Rectangles
vguRect
17.1.4 Round-Cornered Rectangles
vguRoundRect
17.1.5 Ellipses
vguEllipse
17.1.6 Arcs
VGUArcType
vguArc
17.2 Image Warping
vguComputeWarpQuadToSquare
vguComputeWarpSquareToQuad
vguComputeWarpQuadToQuad
18 Appendix A: Mathematics of Ellipses
18.1 The Center Parameterization
18.2 The Endpoint Parameterization
18.3 Converting from Center to Endpoint Parameterization
18.4 Converting from Endpoint to Center Parameterization
18.5 Implicit Representation of an Ellipse
18.6 Transformation of Ellipses
19 Appendix B: Header Files
openvg.h
vgu.h
20 Bibliography
21 Document History
22 Acknowledgments
23 Indices
Index of Tables
Index of Figures