Class NanoVG
Color utils
Colors in NanoVG are stored as unsigned ints in ABGR format.
State Handling
NanoVG contains state which represents how paths will be rendered. The state contains transform, fill and stroke styles, text and font styles, and scissor clipping.
Render styles
Fill and stroke render style can be either a solid color or a paint which is a gradient or a pattern. Solid color is simply defined as a color value,
different kinds of paints can be created using LinearGradient
, BoxGradient
, RadialGradient
and ImagePattern
.
Current render style can be saved and restored using Save
and Restore
.
Transforms
The paths, gradients, patterns and scissor region are transformed by an transformation matrix at the time when they are passed to the API. The current transformation matrix is a affine matrix:
[sx kx tx]
[ky sy ty]
[ 0 0 1]
Where: sx,sy
define scaling, kx,ky
skewing, and tx,ty
translation. The last row is assumed to be 0,0,1
and is not
stored.
Apart from ResetTransform
, each transformation function first creates specific transformation matrix and pre-multiplies the current transformation
by it.
Current coordinate system (transformation) can be saved and restored using Save
and Restore
.
Images
NanoVG allows you to load jpg, png, psd, tga, pic and gif files to be used for rendering. In addition you can upload your own image. The image loading
is provided by stb_image
.
Paints
NanoVG supports four types of paints: linear gradient, box gradient, radial gradient and image pattern. These can be used as paints for strokes and fills.
Scissoring
Scissoring allows you to clip the rendering into a rectangle. This is useful for various user interface cases like rendering a text edit or a timeline.
Paths
Drawing a new shape starts with BeginPath
, it clears all the currently defined paths. Then you define one or more paths and sub-paths which describe
the shape. The are functions to draw common shapes like rectangles and circles, and lower level step-by-step functions, which allow to define a path
curve by curve.
NanoVG uses even-odd fill rule to draw the shapes. Solid shapes should have counter clockwise winding and holes should have counter clockwise order. To
specify winding of a path you can call PathWinding
. This is useful especially for the common shapes, which are drawn CCW
.
Finally you can fill the path using current fill style by calling Fill
, and stroke it with current stroke style by calling Stroke
.
The curve segments and sub-paths are transformed by the current transform.
Text
NanoVG allows you to load .ttf files and use the font to render text.
The appearance of the text can be defined by setting the current text style and by specifying the fill color. Common text and font settings such as font size, letter spacing and text align are supported. Font blur allows you to create simple text effects such as drop shadows.
At render time the font face can be set based on the font handles or name.
Font measure functions return values in local space, the calculations are carried in the same resolution as the final rendering. This is done because the text glyph positions are snapped to the nearest pixels sharp rendering.
The local space means that values are not rotated or scale as per the current transformation. For example if you set font size to 12, which would mean that line height is 16, then regardless of the current scaling and rotation, the returned line height is always 16. Some measures may vary because of the scaling since aforementioned pixel snapping.
While this may sound a little odd, the setup allows you to always render the same way regardless of scaling. I.e. following works regardless of scaling:
const char* txt = "Text me up.";
nvgTextBounds(vg, x,y, txt, NULL, bounds);
nvgBeginPath(vg);
nvgRect(vg, bounds[0],bounds[1], bounds[2]-bounds[0], bounds[3]-bounds[1]);
nvgFill(vg);
Note: currently only solid color fill is supported for text.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Alignments.static final int
Alignments.static final int
Alignments.static final int
Alignments.static final int
Alignments.static final int
Alignments.static final int
Alignments.static final int
Composite operations.static final int
Line caps and joins.static final int
Line caps and joins.static final int
Winding order.static final int
Composite operations.static final int
Winding order.static final int
Composite operations.static final int
Composite operations.static final int
Composite operations.static final int
Composite operations.static final int
Blend factors.static final int
Blend factors.static final int
Solidity.static final int
Image flags.static final int
Image flags.static final int
Image flags.static final int
Image flags.static final int
Image flags.static final int
Image flags.static final int
Composite operations.static final int
Line caps and joins.static final int
Blend factors.static final int
Blend factors.static final int
Blend factors.static final int
Blend factors.static final int
Blend factors.static final float
PIstatic final int
Line caps and joins.static final int
Solidity.static final int
Composite operations.static final int
Composite operations.static final int
Composite operations.static final int
Line caps and joins.static final int
Blend factors.static final int
Blend factors.static final int
Blend factors.static final int
Composite operations.static final int
Blend factors. -
Method Summary
Modifier and TypeMethodDescriptionstatic int
nnvgAddFallbackFont
(long ctx, long baseFont, long fallbackFont) Unsafe version of:AddFallbackFont
static int
nnvgAddFallbackFontId
(long ctx, int baseFont, int fallbackFont) Unsafe version of:AddFallbackFontId
static void
nnvgArc
(long ctx, float cx, float cy, float r, float a0, float a1, int dir) Unsafe version of:Arc
static void
nnvgArcTo
(long ctx, float x1, float y1, float x2, float y2, float radius) Unsafe version of:ArcTo
static void
nnvgBeginFrame
(long ctx, float windowWidth, float windowHeight, float devicePixelRatio) Unsafe version of:BeginFrame
static void
nnvgBeginPath
(long ctx) Unsafe version of:BeginPath
static void
nnvgBezierTo
(long ctx, float c1x, float c1y, float c2x, float c2y, float x, float y) Unsafe version of:BezierTo
static void
nnvgBoxGradient
(long ctx, float x, float y, float w, float h, float r, float f, long icol, long ocol, long __result) Unsafe version of:BoxGradient
static void
nnvgCancelFrame
(long ctx) Unsafe version of:CancelFrame
static void
nnvgCircle
(long ctx, float cx, float cy, float r) Unsafe version of:Circle
static void
nnvgClosePath
(long ctx) Unsafe version of:ClosePath
static int
nnvgCreateFont
(long ctx, long name, long filename) Unsafe version of:CreateFont
static int
nnvgCreateFontAtIndex
(long ctx, long name, long filename, int fontIndex) Unsafe version of:CreateFontAtIndex
static int
nnvgCreateFontMem
(long ctx, long name, long data, int ndata, int freeData) Unsafe version of:CreateFontMem
static int
nnvgCreateFontMemAtIndex
(long ctx, long name, long data, int ndata, int freeData, int fontIndex) Unsafe version of:CreateFontMemAtIndex
static int
nnvgCreateImage
(long ctx, long filename, int imageFlags) Unsafe version of:CreateImage
static int
nnvgCreateImageMem
(long ctx, int imageFlags, long data, int ndata) Unsafe version of:CreateImageMem
static int
nnvgCreateImageRGBA
(long ctx, int w, int h, int imageFlags, long data) Unsafe version of:CreateImageRGBA
static void
nnvgCurrentTransform
(long ctx, float[] xform) Array version of:nnvgCurrentTransform(long, long)
static void
nnvgCurrentTransform
(long ctx, long xform) Unsafe version of:CurrentTransform
static void
nnvgDeleteImage
(long ctx, int image) Unsafe version of:DeleteImage
static void
nnvgEllipse
(long ctx, float cx, float cy, float rx, float ry) Unsafe version of:Ellipse
static void
nnvgEndFrame
(long ctx) Unsafe version of:EndFrame
static void
nnvgFill
(long ctx) Unsafe version of:Fill
static void
nnvgFillColor
(long ctx, long color) Unsafe version of:FillColor
static void
nnvgFillPaint
(long ctx, long paint) Unsafe version of:FillPaint
static int
nnvgFindFont
(long ctx, long name) Unsafe version of:FindFont
static void
nnvgFontBlur
(long ctx, float blur) Unsafe version of:FontBlur
static void
nnvgFontFace
(long ctx, long font) Unsafe version of:FontFace
static void
nnvgFontFaceId
(long ctx, int font) Unsafe version of:FontFaceId
static void
nnvgFontSize
(long ctx, float size) Unsafe version of:FontSize
static void
nnvgGlobalAlpha
(long ctx, float alpha) Unsafe version of:GlobalAlpha
static void
nnvgGlobalCompositeBlendFunc
(long ctx, int sfactor, int dfactor) Unsafe version of:GlobalCompositeBlendFunc
static void
nnvgGlobalCompositeBlendFuncSeparate
(long ctx, int srcRGB, int dstRGB, int srcAlpha, int dstAlpha) Unsafe version of:GlobalCompositeBlendFuncSeparate
static void
nnvgGlobalCompositeOperation
(long ctx, int op) Unsafe version of:GlobalCompositeOperation
static void
nnvgHSL
(float h, float s, float l, long __result) Unsafe version of:HSL
static void
nnvgHSLA
(float h, float s, float l, byte a, long __result) Unsafe version of:HSLA
static void
nnvgImagePattern
(long ctx, float ox, float oy, float ex, float ey, float angle, int image, float alpha, long __result) Unsafe version of:ImagePattern
static void
nnvgImageSize
(long ctx, int image, int[] w, int[] h) Array version of:nnvgImageSize(long, int, long, long)
static void
nnvgImageSize
(long ctx, int image, long w, long h) Unsafe version of:ImageSize
static void
nnvgIntersectScissor
(long ctx, float x, float y, float w, float h) Unsafe version of:IntersectScissor
static void
nnvgLerpRGBA
(long c0, long c1, float u, long __result) Unsafe version of:LerpRGBA
static void
nnvgLinearGradient
(long ctx, float sx, float sy, float ex, float ey, long icol, long ocol, long __result) Unsafe version of:LinearGradient
static void
nnvgLineCap
(long ctx, int cap) Unsafe version of:LineCap
static void
nnvgLineJoin
(long ctx, int join) Unsafe version of:LineJoin
static void
nnvgLineTo
(long ctx, float x, float y) Unsafe version of:LineTo
static void
nnvgMiterLimit
(long ctx, float limit) Unsafe version of:MiterLimit
static void
nnvgMoveTo
(long ctx, float x, float y) Unsafe version of:MoveTo
static void
nnvgPathWinding
(long ctx, int dir) Unsafe version of:PathWinding
static void
nnvgQuadTo
(long ctx, float cx, float cy, float x, float y) Unsafe version of:QuadTo
static void
nnvgRadialGradient
(long ctx, float cx, float cy, float inr, float outr, long icol, long ocol, long __result) Unsafe version of:RadialGradient
static void
nnvgRect
(long ctx, float x, float y, float w, float h) Unsafe version of:Rect
static void
nnvgReset
(long ctx) Unsafe version of:Reset
static void
nnvgResetFallbackFonts
(long ctx, long baseFont) Unsafe version of:ResetFallbackFonts
static void
nnvgResetFallbackFontsId
(long ctx, int baseFont) Unsafe version of:ResetFallbackFontsId
static void
nnvgResetScissor
(long ctx) Unsafe version of:ResetScissor
static void
nnvgResetTransform
(long ctx) Unsafe version of:ResetTransform
static void
nnvgRestore
(long ctx) Unsafe version of:Restore
static void
nnvgRGB
(byte r, byte g, byte b, long __result) Unsafe version of:RGB
static void
nnvgRGBA
(byte r, byte g, byte b, byte a, long __result) Unsafe version of:RGBA
static void
nnvgRGBAf
(float r, float g, float b, float a, long __result) Unsafe version of:RGBAf
static void
nnvgRGBf
(float r, float g, float b, long __result) Unsafe version of:RGBf
static void
nnvgRotate
(long ctx, float angle) Unsafe version of:Rotate
static void
nnvgRoundedRect
(long ctx, float x, float y, float w, float h, float r) Unsafe version of:RoundedRect
static void
nnvgRoundedRectVarying
(long ctx, float x, float y, float w, float h, float radTopLeft, float radTopRight, float radBottomRight, float radBottomLeft) Unsafe version of:RoundedRectVarying
static void
nnvgSave
(long ctx) Unsafe version of:Save
static void
nnvgScale
(long ctx, float x, float y) Unsafe version of:Scale
static void
nnvgScissor
(long ctx, float x, float y, float w, float h) Unsafe version of:Scissor
static void
nnvgShapeAntiAlias
(long ctx, int enabled) Unsafe version of:ShapeAntiAlias
static void
nnvgSkewX
(long ctx, float angle) Unsafe version of:SkewX
static void
nnvgSkewY
(long ctx, float angle) Unsafe version of:SkewY
static void
nnvgStroke
(long ctx) Unsafe version of:Stroke
static void
nnvgStrokeColor
(long ctx, long color) Unsafe version of:StrokeColor
static void
nnvgStrokePaint
(long ctx, long paint) Unsafe version of:StrokePaint
static void
nnvgStrokeWidth
(long ctx, float size) Unsafe version of:StrokeWidth
static float
nnvgText
(long ctx, float x, float y, long string, long end) Unsafe version of:Text
static void
nnvgTextAlign
(long ctx, int align) Unsafe version of:TextAlign
static float
nnvgTextBounds
(long ctx, float x, float y, long string, long end, float[] bounds) Array version of:nnvgTextBounds(long, float, float, long, long, long)
static float
nnvgTextBounds
(long ctx, float x, float y, long string, long end, long bounds) Unsafe version of:TextBounds
static void
nnvgTextBox
(long ctx, float x, float y, float breakRowWidth, long string, long end) Unsafe version of:TextBox
static void
nnvgTextBoxBounds
(long ctx, float x, float y, float breakRowWidth, long string, long end, float[] bounds) Array version of:nnvgTextBoxBounds(long, float, float, float, long, long, long)
static void
nnvgTextBoxBounds
(long ctx, float x, float y, float breakRowWidth, long string, long end, long bounds) Unsafe version of:TextBoxBounds
static int
nnvgTextBreakLines
(long ctx, long string, long end, float breakRowWidth, long rows, int maxRows) Unsafe version of:TextBreakLines
static int
nnvgTextGlyphPositions
(long ctx, float x, float y, long string, long end, long positions, int maxPositions) Unsafe version of:TextGlyphPositions
static void
nnvgTextLetterSpacing
(long ctx, float spacing) Unsafe version of:TextLetterSpacing
static void
nnvgTextLineHeight
(long ctx, float lineHeight) Unsafe version of:TextLineHeight
static void
nnvgTextMetrics
(long ctx, float[] ascender, float[] descender, float[] lineh) Array version of:nnvgTextMetrics(long, long, long, long)
static void
nnvgTextMetrics
(long ctx, long ascender, long descender, long lineh) Unsafe version of:TextMetrics
static void
nnvgTransform
(long ctx, float a, float b, float c, float d, float e, float f) Unsafe version of:Transform
static void
nnvgTransformIdentity
(float[] dst) Array version of:nnvgTransformIdentity(long)
static void
nnvgTransformIdentity
(long dst) Unsafe version of:TransformIdentity
static int
nnvgTransformInverse
(float[] dst, float[] src) Array version of:nnvgTransformInverse(long, long)
static int
nnvgTransformInverse
(long dst, long src) Unsafe version of:TransformInverse
static void
nnvgTransformMultiply
(float[] dst, float[] src) Array version of:nnvgTransformMultiply(long, long)
static void
nnvgTransformMultiply
(long dst, long src) Unsafe version of:TransformMultiply
static void
nnvgTransformPoint
(float[] dstx, float[] dsty, float[] xform, float srcx, float srcy) Array version of:nnvgTransformPoint(long, long, long, float, float)
static void
nnvgTransformPoint
(long dstx, long dsty, long xform, float srcx, float srcy) Unsafe version of:TransformPoint
static void
nnvgTransformPremultiply
(float[] dst, float[] src) Array version of:nnvgTransformPremultiply(long, long)
static void
nnvgTransformPremultiply
(long dst, long src) Unsafe version of:TransformPremultiply
static void
nnvgTransformRotate
(float[] dst, float a) Array version of:nnvgTransformRotate(long, float)
static void
nnvgTransformRotate
(long dst, float a) Unsafe version of:TransformRotate
static void
nnvgTransformScale
(float[] dst, float sx, float sy) Array version of:nnvgTransformScale(long, float, float)
static void
nnvgTransformScale
(long dst, float sx, float sy) Unsafe version of:TransformScale
static void
nnvgTransformSkewX
(float[] dst, float a) Array version of:nnvgTransformSkewX(long, float)
static void
nnvgTransformSkewX
(long dst, float a) Unsafe version of:TransformSkewX
static void
nnvgTransformSkewY
(float[] dst, float a) Array version of:nnvgTransformSkewY(long, float)
static void
nnvgTransformSkewY
(long dst, float a) Unsafe version of:TransformSkewY
static void
nnvgTransformTranslate
(float[] dst, float tx, float ty) Array version of:nnvgTransformTranslate(long, float, float)
static void
nnvgTransformTranslate
(long dst, float tx, float ty) Unsafe version of:TransformTranslate
static void
nnvgTranslate
(long ctx, float x, float y) Unsafe version of:Translate
static void
nnvgTransRGBA
(long c0, byte a, long __result) Unsafe version of:TransRGBA
static void
nnvgTransRGBAf
(long c0, float a, long __result) Unsafe version of:TransRGBAf
static void
nnvgUpdateImage
(long ctx, int image, long data) Unsafe version of:UpdateImage
static int
nvgAddFallbackFont
(long ctx, CharSequence baseFont, CharSequence fallbackFont) Adds fallback font by name.static int
nvgAddFallbackFont
(long ctx, ByteBuffer baseFont, ByteBuffer fallbackFont) Adds fallback font by name.static int
nvgAddFallbackFontId
(long ctx, int baseFont, int fallbackFont) Adds fallback font by handle.static void
nvgArc
(long ctx, float cx, float cy, float r, float a0, float a1, int dir) Creates new circle arc shaped sub-path.static void
nvgArcTo
(long ctx, float x1, float y1, float x2, float y2, float radius) Adds an arc segment at the corner defined by the last path point, and two specified points.static void
nvgBeginFrame
(long ctx, float windowWidth, float windowHeight, float devicePixelRatio) Begins drawing a new frame.static void
nvgBeginPath
(long ctx) Clears the current path and sub-paths.static void
nvgBezierTo
(long ctx, float c1x, float c1y, float c2x, float c2y, float x, float y) Adds cubic bezier segment from last point in the path via two control points to the specified point.static NVGPaint
nvgBoxGradient
(long ctx, float x, float y, float w, float h, float r, float f, NVGColor icol, NVGColor ocol, NVGPaint __result) Creates and returns a box gradient.static void
nvgCancelFrame
(long ctx) Cancels drawing the current frame.static void
nvgCircle
(long ctx, float cx, float cy, float r) Creates new circle shaped sub-path.static void
nvgClosePath
(long ctx) Closes current sub-path with a line segment.static int
nvgCreateFont
(long ctx, CharSequence name, CharSequence filename) Creates font by loading it from the disk from specified file name.static int
nvgCreateFont
(long ctx, ByteBuffer name, ByteBuffer filename) Creates font by loading it from the disk from specified file name.static int
nvgCreateFontAtIndex
(long ctx, CharSequence name, CharSequence filename, int fontIndex) Creates font by loading it from the disk from specified file name.static int
nvgCreateFontAtIndex
(long ctx, ByteBuffer name, ByteBuffer filename, int fontIndex) Creates font by loading it from the disk from specified file name.static int
nvgCreateFontMem
(long ctx, CharSequence name, ByteBuffer data, boolean freeData) Creates font by loading it from the specified memory chunk.static int
nvgCreateFontMem
(long ctx, ByteBuffer name, ByteBuffer data, boolean freeData) Creates font by loading it from the specified memory chunk.static int
nvgCreateFontMemAtIndex
(long ctx, CharSequence name, ByteBuffer data, boolean freeData, int fontIndex) Creates font by loading it from the specified memory chunk.static int
nvgCreateFontMemAtIndex
(long ctx, ByteBuffer name, ByteBuffer data, boolean freeData, int fontIndex) Creates font by loading it from the specified memory chunk.static int
nvgCreateImage
(long ctx, CharSequence filename, int imageFlags) Creates image by loading it from the disk from specified file name.static int
nvgCreateImage
(long ctx, ByteBuffer filename, int imageFlags) Creates image by loading it from the disk from specified file name.static int
nvgCreateImageMem
(long ctx, int imageFlags, ByteBuffer data) Creates image by loading it from the specified chunk of memory.static int
nvgCreateImageRGBA
(long ctx, int w, int h, int imageFlags, ByteBuffer data) Creates image from specified image data.static void
nvgCurrentTransform
(long ctx, float[] xform) Array version of:CurrentTransform
static void
nvgCurrentTransform
(long ctx, FloatBuffer xform) Stores the top part (a-f) of the current transformation matrix in to the specified buffer.static float
nvgDegToRad
(float deg) Converts degrees to radians.static void
nvgDeleteImage
(long ctx, int image) Deletes created image.static void
nvgEllipse
(long ctx, float cx, float cy, float rx, float ry) Creates new ellipse shaped sub-path.static void
nvgEndFrame
(long ctx) Ends drawing flushing remaining render state.static void
nvgFill
(long ctx) Fills the current path with current fill style.static void
nvgFillColor
(long ctx, NVGColor color) Sets current fill style to a solid color.static void
nvgFillPaint
(long ctx, NVGPaint paint) Sets current fill style to a paint, which can be a one of the gradients or a pattern.static int
nvgFindFont
(long ctx, CharSequence name) Finds a loaded font of specified name, and returns handle to it, or -1 if the font is not found.static int
nvgFindFont
(long ctx, ByteBuffer name) Finds a loaded font of specified name, and returns handle to it, or -1 if the font is not found.static void
nvgFontBlur
(long ctx, float blur) Sets the blur of current text style.static void
nvgFontFace
(long ctx, CharSequence font) Sets the font face based on specified name of current text style.static void
nvgFontFace
(long ctx, ByteBuffer font) Sets the font face based on specified name of current text style.static void
nvgFontFaceId
(long ctx, int font) Sets the font face based on specified id of current text style.static void
nvgFontSize
(long ctx, float size) Sets the font size of current text style.static void
nvgGlobalAlpha
(long ctx, float alpha) Sets the transparency applied to all rendered shapes.static void
nvgGlobalCompositeBlendFunc
(long ctx, int sfactor, int dfactor) Sets the composite operation with custom pixel arithmetic.static void
nvgGlobalCompositeBlendFuncSeparate
(long ctx, int srcRGB, int dstRGB, int srcAlpha, int dstAlpha) Sets the composite operation with custom pixel arithmetic for RGB and alpha components separately.static void
nvgGlobalCompositeOperation
(long ctx, int op) Sets the composite operation.static NVGColor
Returns color value specified by hue, saturation and lightness.static NVGColor
Returns color value specified by hue, saturation and lightness and alpha.static NVGPaint
nvgImagePattern
(long ctx, float ox, float oy, float ex, float ey, float angle, int image, float alpha, NVGPaint __result) Creates and returns an image patter.static void
nvgImageSize
(long ctx, int image, int[] w, int[] h) Array version of:ImageSize
static void
nvgImageSize
(long ctx, int image, IntBuffer w, IntBuffer h) Returns the dimensions of a created image.static void
nvgIntersectScissor
(long ctx, float x, float y, float w, float h) Intersects current scissor rectangle with the specified rectangle.static NVGColor
nvgLerpRGBA
(NVGColor c0, NVGColor c1, float u, NVGColor __result) Linearly interpolates from colorc0
toc1
, and returns resulting color value.static NVGPaint
nvgLinearGradient
(long ctx, float sx, float sy, float ex, float ey, NVGColor icol, NVGColor ocol, NVGPaint __result) Creates and returns a linear gradient.static void
nvgLineCap
(long ctx, int cap) Sets how the end of the line (cap) is drawn.static void
nvgLineJoin
(long ctx, int join) Sets how sharp path corners are drawn.static void
nvgLineTo
(long ctx, float x, float y) Adds line segment from the last point in the path to the specified point.static void
nvgMiterLimit
(long ctx, float limit) Sets the miter limit of the stroke style.static void
nvgMoveTo
(long ctx, float x, float y) Starts new sub-path with specified point as first point.static void
nvgPathWinding
(long ctx, int dir) Sets the current sub-path winding.static void
nvgQuadTo
(long ctx, float cx, float cy, float x, float y) Adds quadratic bezier segment from last point in the path via a control point to the specified point.static NVGPaint
nvgRadialGradient
(long ctx, float cx, float cy, float inr, float outr, NVGColor icol, NVGColor ocol, NVGPaint __result) Creates and returns a radial gradient.static float
nvgRadToDeg
(float rad) Converts radians to degrees.static void
nvgRect
(long ctx, float x, float y, float w, float h) Creates new rectangle shaped sub-path.static void
nvgReset
(long ctx) Resets current render state to default values.static void
nvgResetFallbackFonts
(long ctx, CharSequence baseFont) Resets fallback fonts by name.static void
nvgResetFallbackFonts
(long ctx, ByteBuffer baseFont) Resets fallback fonts by name.static void
nvgResetFallbackFontsId
(long ctx, int baseFont) Resets fallback fonts by handle.static void
nvgResetScissor
(long ctx) Resets and disables scissoring.static void
nvgResetTransform
(long ctx) Resets current transform to an identity matrix.static void
nvgRestore
(long ctx) Pops and restores current render state.static NVGColor
Returns a color value from red, green, blue values.static NVGColor
Returns a color value from red, green, blue and alpha values.static NVGColor
Returns a color value from red, green, blue and alpha values.static NVGColor
Returns a color value from red, green, blue values.static void
nvgRotate
(long ctx, float angle) Rotates current coordinate system.static void
nvgRoundedRect
(long ctx, float x, float y, float w, float h, float r) Creates new rounded rectangle shaped sub-path.static void
nvgRoundedRectVarying
(long ctx, float x, float y, float w, float h, float radTopLeft, float radTopRight, float radBottomRight, float radBottomLeft) Creates new rounded rectangle shaped sub-path with varying radii for each corner.static void
nvgSave
(long ctx) Pushes and saves the current render state into a state stack.static void
nvgScale
(long ctx, float x, float y) Scales the current coordinate system.static void
nvgScissor
(long ctx, float x, float y, float w, float h) Sets the current scissor rectangle.static void
nvgShapeAntiAlias
(long ctx, boolean enabled) static void
nvgSkewX
(long ctx, float angle) Skews the current coordinate system along X axis.static void
nvgSkewY
(long ctx, float angle) Skews the current coordinate system along Y axis.static void
nvgStroke
(long ctx) Fills the current path with current stroke style.static void
nvgStrokeColor
(long ctx, NVGColor color) Sets current stroke style to a solid color.static void
nvgStrokePaint
(long ctx, NVGPaint paint) Sets current stroke style to a paint, which can be a one of the gradients or a pattern.static void
nvgStrokeWidth
(long ctx, float size) Sets the stroke width of the stroke style.static float
nvgText
(long ctx, float x, float y, CharSequence string) Draws text string at specified location.static float
nvgText
(long ctx, float x, float y, ByteBuffer string) Draws text string at specified location.static void
nvgTextAlign
(long ctx, int align) Sets the text align of current text style.static float
nvgTextBounds
(long ctx, float x, float y, CharSequence string, float[] bounds) Array version of:TextBounds
static float
nvgTextBounds
(long ctx, float x, float y, CharSequence string, FloatBuffer bounds) Measures the specified text string.static float
nvgTextBounds
(long ctx, float x, float y, ByteBuffer string, float[] bounds) Array version of:TextBounds
static float
nvgTextBounds
(long ctx, float x, float y, ByteBuffer string, FloatBuffer bounds) Measures the specified text string.static void
nvgTextBox
(long ctx, float x, float y, float breakRowWidth, CharSequence string) Draws multi-line text string at specified location wrapped at the specified width.static void
nvgTextBox
(long ctx, float x, float y, float breakRowWidth, ByteBuffer string) Draws multi-line text string at specified location wrapped at the specified width.static void
nvgTextBoxBounds
(long ctx, float x, float y, float breakRowWidth, CharSequence string, float[] bounds) Array version of:TextBoxBounds
static void
nvgTextBoxBounds
(long ctx, float x, float y, float breakRowWidth, CharSequence string, FloatBuffer bounds) Measures the specified multi-text string.static void
nvgTextBoxBounds
(long ctx, float x, float y, float breakRowWidth, ByteBuffer string, float[] bounds) Array version of:TextBoxBounds
static void
nvgTextBoxBounds
(long ctx, float x, float y, float breakRowWidth, ByteBuffer string, FloatBuffer bounds) Measures the specified multi-text string.static int
nvgTextBreakLines
(long ctx, CharSequence string, float breakRowWidth, NVGTextRow.Buffer rows) Breaks the specified text into lines.static int
nvgTextBreakLines
(long ctx, ByteBuffer string, float breakRowWidth, NVGTextRow.Buffer rows) Breaks the specified text into lines.static int
nvgTextGlyphPositions
(long ctx, float x, float y, CharSequence string, NVGGlyphPosition.Buffer positions) Calculates the glyph x positions of the specified text.static int
nvgTextGlyphPositions
(long ctx, float x, float y, ByteBuffer string, NVGGlyphPosition.Buffer positions) Calculates the glyph x positions of the specified text.static void
nvgTextLetterSpacing
(long ctx, float spacing) Sets the letter spacing of current text style.static void
nvgTextLineHeight
(long ctx, float lineHeight) Sets the proportional line height of current text style.static void
nvgTextMetrics
(long ctx, float[] ascender, float[] descender, float[] lineh) Array version of:TextMetrics
static void
nvgTextMetrics
(long ctx, FloatBuffer ascender, FloatBuffer descender, FloatBuffer lineh) Returns the vertical metrics based on the current text style.static void
nvgTransform
(long ctx, float a, float b, float c, float d, float e, float f) Premultiplies current coordinate system by specified matrix.static void
nvgTransformIdentity
(float[] dst) Array version of:TransformIdentity
static void
Sets the transform to identity matrix.static boolean
nvgTransformInverse
(float[] dst, float[] src) Array version of:TransformInverse
static boolean
nvgTransformInverse
(FloatBuffer dst, FloatBuffer src) Sets the destination to inverse of specified transform.static void
nvgTransformMultiply
(float[] dst, float[] src) Array version of:TransformMultiply
static void
nvgTransformMultiply
(FloatBuffer dst, FloatBuffer src) Sets the transform to the result of multiplication of two transforms, ofA = A*B
.static void
nvgTransformPoint
(float[] dstx, float[] dsty, float[] xform, float srcx, float srcy) Array version of:TransformPoint
static void
nvgTransformPoint
(FloatBuffer dstx, FloatBuffer dsty, FloatBuffer xform, float srcx, float srcy) Transform a point by given transform.static void
nvgTransformPremultiply
(float[] dst, float[] src) Array version of:TransformPremultiply
static void
nvgTransformPremultiply
(FloatBuffer dst, FloatBuffer src) Sets the transform to the result of multiplication of two transforms, ofA = B*A
.static void
nvgTransformRotate
(float[] dst, float a) Array version of:TransformRotate
static void
nvgTransformRotate
(FloatBuffer dst, float a) Sets the transform to rotate matrix.static void
nvgTransformScale
(float[] dst, float sx, float sy) Array version of:TransformScale
static void
nvgTransformScale
(FloatBuffer dst, float sx, float sy) Sets the transform to scale matrix.static void
nvgTransformSkewX
(float[] dst, float a) Array version of:TransformSkewX
static void
nvgTransformSkewX
(FloatBuffer dst, float a) Sets the transform to skew-x matrix.static void
nvgTransformSkewY
(float[] dst, float a) Array version of:TransformSkewY
static void
nvgTransformSkewY
(FloatBuffer dst, float a) Sets the transform to skew-y matrix.static void
nvgTransformTranslate
(float[] dst, float tx, float ty) Array version of:TransformTranslate
static void
nvgTransformTranslate
(FloatBuffer dst, float tx, float ty) Sets the transform to translation matrix matrix.static void
nvgTranslate
(long ctx, float x, float y) Translates current coordinate system.static NVGColor
nvgTransRGBA
(NVGColor c0, byte a, NVGColor __result) Sets transparency of a color value.static NVGColor
nvgTransRGBAf
(NVGColor c0, float a, NVGColor __result) Sets transparency of a color value.static void
nvgUpdateImage
(long ctx, int image, ByteBuffer data) Updates image data specified by image handle.
-
Field Details
-
NVG_PI
public static final float NVG_PIPI- See Also:
-
NVG_CCW
public static final int NVG_CCW- See Also:
-
NVG_CW
public static final int NVG_CW- See Also:
-
NVG_SOLID
public static final int NVG_SOLID- See Also:
-
NVG_HOLE
public static final int NVG_HOLE- See Also:
-
NVG_BUTT
public static final int NVG_BUTT- See Also:
-
NVG_ROUND
public static final int NVG_ROUND- See Also:
-
NVG_SQUARE
public static final int NVG_SQUARE- See Also:
-
NVG_BEVEL
public static final int NVG_BEVEL- See Also:
-
NVG_MITER
public static final int NVG_MITER- See Also:
-
NVG_ALIGN_LEFT
public static final int NVG_ALIGN_LEFTAlignments.Enum values:
ALIGN_LEFT
- Default, align text horizontally to left.ALIGN_CENTER
- Align text horizontally to center.ALIGN_RIGHT
- Align text horizontally to right.ALIGN_TOP
- Align text vertically to top.ALIGN_MIDDLE
- Align text vertically to middle.ALIGN_BOTTOM
- Align text vertically to bottom.ALIGN_BASELINE
- Default, align text vertically to baseline.
- See Also:
-
NVG_ALIGN_CENTER
public static final int NVG_ALIGN_CENTERAlignments.Enum values:
ALIGN_LEFT
- Default, align text horizontally to left.ALIGN_CENTER
- Align text horizontally to center.ALIGN_RIGHT
- Align text horizontally to right.ALIGN_TOP
- Align text vertically to top.ALIGN_MIDDLE
- Align text vertically to middle.ALIGN_BOTTOM
- Align text vertically to bottom.ALIGN_BASELINE
- Default, align text vertically to baseline.
- See Also:
-
NVG_ALIGN_RIGHT
public static final int NVG_ALIGN_RIGHTAlignments.Enum values:
ALIGN_LEFT
- Default, align text horizontally to left.ALIGN_CENTER
- Align text horizontally to center.ALIGN_RIGHT
- Align text horizontally to right.ALIGN_TOP
- Align text vertically to top.ALIGN_MIDDLE
- Align text vertically to middle.ALIGN_BOTTOM
- Align text vertically to bottom.ALIGN_BASELINE
- Default, align text vertically to baseline.
- See Also:
-
NVG_ALIGN_TOP
public static final int NVG_ALIGN_TOPAlignments.Enum values:
ALIGN_LEFT
- Default, align text horizontally to left.ALIGN_CENTER
- Align text horizontally to center.ALIGN_RIGHT
- Align text horizontally to right.ALIGN_TOP
- Align text vertically to top.ALIGN_MIDDLE
- Align text vertically to middle.ALIGN_BOTTOM
- Align text vertically to bottom.ALIGN_BASELINE
- Default, align text vertically to baseline.
- See Also:
-
NVG_ALIGN_MIDDLE
public static final int NVG_ALIGN_MIDDLEAlignments.Enum values:
ALIGN_LEFT
- Default, align text horizontally to left.ALIGN_CENTER
- Align text horizontally to center.ALIGN_RIGHT
- Align text horizontally to right.ALIGN_TOP
- Align text vertically to top.ALIGN_MIDDLE
- Align text vertically to middle.ALIGN_BOTTOM
- Align text vertically to bottom.ALIGN_BASELINE
- Default, align text vertically to baseline.
- See Also:
-
NVG_ALIGN_BOTTOM
public static final int NVG_ALIGN_BOTTOMAlignments.Enum values:
ALIGN_LEFT
- Default, align text horizontally to left.ALIGN_CENTER
- Align text horizontally to center.ALIGN_RIGHT
- Align text horizontally to right.ALIGN_TOP
- Align text vertically to top.ALIGN_MIDDLE
- Align text vertically to middle.ALIGN_BOTTOM
- Align text vertically to bottom.ALIGN_BASELINE
- Default, align text vertically to baseline.
- See Also:
-
NVG_ALIGN_BASELINE
public static final int NVG_ALIGN_BASELINEAlignments.Enum values:
ALIGN_LEFT
- Default, align text horizontally to left.ALIGN_CENTER
- Align text horizontally to center.ALIGN_RIGHT
- Align text horizontally to right.ALIGN_TOP
- Align text vertically to top.ALIGN_MIDDLE
- Align text vertically to middle.ALIGN_BOTTOM
- Align text vertically to bottom.ALIGN_BASELINE
- Default, align text vertically to baseline.
- See Also:
-
NVG_ZERO
public static final int NVG_ZEROBlend factors.Enum values:
- See Also:
-
NVG_ONE
public static final int NVG_ONEBlend factors.Enum values:
- See Also:
-
NVG_SRC_COLOR
public static final int NVG_SRC_COLORBlend factors.Enum values:
- See Also:
-
NVG_ONE_MINUS_SRC_COLOR
public static final int NVG_ONE_MINUS_SRC_COLORBlend factors.Enum values:
- See Also:
-
NVG_DST_COLOR
public static final int NVG_DST_COLORBlend factors.Enum values:
- See Also:
-
NVG_ONE_MINUS_DST_COLOR
public static final int NVG_ONE_MINUS_DST_COLORBlend factors.Enum values:
- See Also:
-
NVG_SRC_ALPHA
public static final int NVG_SRC_ALPHABlend factors.Enum values:
- See Also:
-
NVG_ONE_MINUS_SRC_ALPHA
public static final int NVG_ONE_MINUS_SRC_ALPHABlend factors.Enum values:
- See Also:
-
NVG_DST_ALPHA
public static final int NVG_DST_ALPHABlend factors.Enum values:
- See Also:
-
NVG_ONE_MINUS_DST_ALPHA
public static final int NVG_ONE_MINUS_DST_ALPHABlend factors.Enum values:
- See Also:
-
NVG_SRC_ALPHA_SATURATE
public static final int NVG_SRC_ALPHA_SATURATEBlend factors.Enum values:
- See Also:
-
NVG_SOURCE_OVER
public static final int NVG_SOURCE_OVERComposite operations.Enum values:
- See Also:
-
NVG_SOURCE_IN
public static final int NVG_SOURCE_INComposite operations.Enum values:
- See Also:
-
NVG_SOURCE_OUT
public static final int NVG_SOURCE_OUTComposite operations.Enum values:
- See Also:
-
NVG_ATOP
public static final int NVG_ATOPComposite operations.Enum values:
- See Also:
-
NVG_DESTINATION_OVER
public static final int NVG_DESTINATION_OVERComposite operations.Enum values:
- See Also:
-
NVG_DESTINATION_IN
public static final int NVG_DESTINATION_INComposite operations.Enum values:
- See Also:
-
NVG_DESTINATION_OUT
public static final int NVG_DESTINATION_OUTComposite operations.Enum values:
- See Also:
-
NVG_DESTINATION_ATOP
public static final int NVG_DESTINATION_ATOPComposite operations.Enum values:
- See Also:
-
NVG_LIGHTER
public static final int NVG_LIGHTERComposite operations.Enum values:
- See Also:
-
NVG_COPY
public static final int NVG_COPYComposite operations.Enum values:
- See Also:
-
NVG_XOR
public static final int NVG_XORComposite operations.Enum values:
- See Also:
-
NVG_IMAGE_GENERATE_MIPMAPS
public static final int NVG_IMAGE_GENERATE_MIPMAPSImage flags.Enum values:
IMAGE_GENERATE_MIPMAPS
- Generate mipmaps during creation of the image.IMAGE_REPEATX
- Repeat image in X direction.IMAGE_REPEATY
- Repeat image in Y direction.IMAGE_FLIPY
- Flips (inverses) image in Y direction when rendered.IMAGE_PREMULTIPLIED
- Image data has premultiplied alpha.IMAGE_NEAREST
- Image interpolation is Nearest instead Linear.
- See Also:
-
NVG_IMAGE_REPEATX
public static final int NVG_IMAGE_REPEATXImage flags.Enum values:
IMAGE_GENERATE_MIPMAPS
- Generate mipmaps during creation of the image.IMAGE_REPEATX
- Repeat image in X direction.IMAGE_REPEATY
- Repeat image in Y direction.IMAGE_FLIPY
- Flips (inverses) image in Y direction when rendered.IMAGE_PREMULTIPLIED
- Image data has premultiplied alpha.IMAGE_NEAREST
- Image interpolation is Nearest instead Linear.
- See Also:
-
NVG_IMAGE_REPEATY
public static final int NVG_IMAGE_REPEATYImage flags.Enum values:
IMAGE_GENERATE_MIPMAPS
- Generate mipmaps during creation of the image.IMAGE_REPEATX
- Repeat image in X direction.IMAGE_REPEATY
- Repeat image in Y direction.IMAGE_FLIPY
- Flips (inverses) image in Y direction when rendered.IMAGE_PREMULTIPLIED
- Image data has premultiplied alpha.IMAGE_NEAREST
- Image interpolation is Nearest instead Linear.
- See Also:
-
NVG_IMAGE_FLIPY
public static final int NVG_IMAGE_FLIPYImage flags.Enum values:
IMAGE_GENERATE_MIPMAPS
- Generate mipmaps during creation of the image.IMAGE_REPEATX
- Repeat image in X direction.IMAGE_REPEATY
- Repeat image in Y direction.IMAGE_FLIPY
- Flips (inverses) image in Y direction when rendered.IMAGE_PREMULTIPLIED
- Image data has premultiplied alpha.IMAGE_NEAREST
- Image interpolation is Nearest instead Linear.
- See Also:
-
NVG_IMAGE_PREMULTIPLIED
public static final int NVG_IMAGE_PREMULTIPLIEDImage flags.Enum values:
IMAGE_GENERATE_MIPMAPS
- Generate mipmaps during creation of the image.IMAGE_REPEATX
- Repeat image in X direction.IMAGE_REPEATY
- Repeat image in Y direction.IMAGE_FLIPY
- Flips (inverses) image in Y direction when rendered.IMAGE_PREMULTIPLIED
- Image data has premultiplied alpha.IMAGE_NEAREST
- Image interpolation is Nearest instead Linear.
- See Also:
-
NVG_IMAGE_NEAREST
public static final int NVG_IMAGE_NEARESTImage flags.Enum values:
IMAGE_GENERATE_MIPMAPS
- Generate mipmaps during creation of the image.IMAGE_REPEATX
- Repeat image in X direction.IMAGE_REPEATY
- Repeat image in Y direction.IMAGE_FLIPY
- Flips (inverses) image in Y direction when rendered.IMAGE_PREMULTIPLIED
- Image data has premultiplied alpha.IMAGE_NEAREST
- Image interpolation is Nearest instead Linear.
- See Also:
-
-
Method Details
-
nnvgBeginFrame
public static void nnvgBeginFrame(long ctx, float windowWidth, float windowHeight, float devicePixelRatio) Unsafe version of:BeginFrame
-
nvgBeginFrame
public static void nvgBeginFrame(long ctx, float windowWidth, float windowHeight, float devicePixelRatio) Begins drawing a new frame.Calls to nanovg drawing API should be wrapped in
BeginFrame
&EndFrame
.BeginFrame
defines the size of the window to render to in relation currently set viewport (i.e.glViewport
on GL backends). Device pixel ration allows to control the rendering on Hi-DPI devices. For example, GLFW returns two dimension for an opened window: window size and frame buffer size. In that case you would setwindowWidth/Height
to the window sizedevicePixelRatio
to:frameBufferWidth / windowWidth
.- Parameters:
ctx
- the NanoVG contextwindowWidth
- the window widthwindowHeight
- the window heightdevicePixelRatio
- the device pixel ratio
-
nnvgCancelFrame
public static void nnvgCancelFrame(long ctx) Unsafe version of:CancelFrame
-
nvgCancelFrame
public static void nvgCancelFrame(long ctx) Cancels drawing the current frame.- Parameters:
ctx
- the NanoVG context
-
nnvgEndFrame
public static void nnvgEndFrame(long ctx) Unsafe version of:EndFrame
-
nvgEndFrame
public static void nvgEndFrame(long ctx) Ends drawing flushing remaining render state.- Parameters:
ctx
- the NanoVG context
-
nnvgGlobalCompositeOperation
public static void nnvgGlobalCompositeOperation(long ctx, int op) Unsafe version of:GlobalCompositeOperation
-
nvgGlobalCompositeOperation
public static void nvgGlobalCompositeOperation(long ctx, int op) Sets the composite operation.- Parameters:
ctx
- the NanoVG contextop
- the composite operation. One of:SOURCE_OVER
SOURCE_IN
SOURCE_OUT
ATOP
DESTINATION_OVER
DESTINATION_IN
DESTINATION_OUT
DESTINATION_ATOP
LIGHTER
COPY
XOR
-
nnvgGlobalCompositeBlendFunc
public static void nnvgGlobalCompositeBlendFunc(long ctx, int sfactor, int dfactor) Unsafe version of:GlobalCompositeBlendFunc
-
nvgGlobalCompositeBlendFunc
public static void nvgGlobalCompositeBlendFunc(long ctx, int sfactor, int dfactor) Sets the composite operation with custom pixel arithmetic.- Parameters:
ctx
- the NanoVG contextsfactor
- the source blend factor. One of:ZERO
ONE
SRC_COLOR
ONE_MINUS_SRC_COLOR
DST_COLOR
ONE_MINUS_DST_COLOR
SRC_ALPHA
ONE_MINUS_SRC_ALPHA
DST_ALPHA
ONE_MINUS_DST_ALPHA
SRC_ALPHA_SATURATE
dfactor
- the destination blend factor. One of:ZERO
ONE
SRC_COLOR
ONE_MINUS_SRC_COLOR
DST_COLOR
ONE_MINUS_DST_COLOR
SRC_ALPHA
ONE_MINUS_SRC_ALPHA
DST_ALPHA
ONE_MINUS_DST_ALPHA
SRC_ALPHA_SATURATE
-
nnvgGlobalCompositeBlendFuncSeparate
public static void nnvgGlobalCompositeBlendFuncSeparate(long ctx, int srcRGB, int dstRGB, int srcAlpha, int dstAlpha) Unsafe version of:GlobalCompositeBlendFuncSeparate
-
nvgGlobalCompositeBlendFuncSeparate
public static void nvgGlobalCompositeBlendFuncSeparate(long ctx, int srcRGB, int dstRGB, int srcAlpha, int dstAlpha) Sets the composite operation with custom pixel arithmetic for RGB and alpha components separately.- Parameters:
ctx
- the NanoVG contextsrcRGB
- the source RGB blend factor. One of:ZERO
ONE
SRC_COLOR
ONE_MINUS_SRC_COLOR
DST_COLOR
ONE_MINUS_DST_COLOR
SRC_ALPHA
ONE_MINUS_SRC_ALPHA
DST_ALPHA
ONE_MINUS_DST_ALPHA
SRC_ALPHA_SATURATE
dstRGB
- the destination RGB blend factor. One of:ZERO
ONE
SRC_COLOR
ONE_MINUS_SRC_COLOR
DST_COLOR
ONE_MINUS_DST_COLOR
SRC_ALPHA
ONE_MINUS_SRC_ALPHA
DST_ALPHA
ONE_MINUS_DST_ALPHA
SRC_ALPHA_SATURATE
srcAlpha
- the source alpha blend factor. One of:ZERO
ONE
SRC_COLOR
ONE_MINUS_SRC_COLOR
DST_COLOR
ONE_MINUS_DST_COLOR
SRC_ALPHA
ONE_MINUS_SRC_ALPHA
DST_ALPHA
ONE_MINUS_DST_ALPHA
SRC_ALPHA_SATURATE
dstAlpha
- the destination alpha blend factor. One of:ZERO
ONE
SRC_COLOR
ONE_MINUS_SRC_COLOR
DST_COLOR
ONE_MINUS_DST_COLOR
SRC_ALPHA
ONE_MINUS_SRC_ALPHA
DST_ALPHA
ONE_MINUS_DST_ALPHA
SRC_ALPHA_SATURATE
-
nnvgRGB
public static void nnvgRGB(byte r, byte g, byte b, long __result) Unsafe version of:RGB
-
nvgRGB
Returns a color value from red, green, blue values. Alpha will be set to 255 (1.0f).- Parameters:
r
- the red valueg
- the green valueb
- the blue value
-
nnvgRGBf
public static void nnvgRGBf(float r, float g, float b, long __result) Unsafe version of:RGBf
-
nvgRGBf
Returns a color value from red, green, blue values. Alpha will be set to 1.0f.- Parameters:
r
- the red valueg
- the green valueb
- the blue value
-
nnvgRGBA
public static void nnvgRGBA(byte r, byte g, byte b, byte a, long __result) Unsafe version of:RGBA
-
nvgRGBA
Returns a color value from red, green, blue and alpha values.- Parameters:
r
- the red valueg
- the green valueb
- the blue valuea
- the alpha value
-
nnvgRGBAf
public static void nnvgRGBAf(float r, float g, float b, float a, long __result) Unsafe version of:RGBAf
-
nvgRGBAf
Returns a color value from red, green, blue and alpha values.- Parameters:
r
- the red valueg
- the green valueb
- the blue valuea
- the alpha value
-
nnvgLerpRGBA
public static void nnvgLerpRGBA(long c0, long c1, float u, long __result) Unsafe version of:LerpRGBA
-
nvgLerpRGBA
Linearly interpolates from colorc0
toc1
, and returns resulting color value.- Parameters:
c0
- the first colorc1
- the second coloru
- the interpolation factor
-
nnvgTransRGBA
public static void nnvgTransRGBA(long c0, byte a, long __result) Unsafe version of:TransRGBA
-
nvgTransRGBA
Sets transparency of a color value.- Parameters:
c0
- the colora
- the alpha value
-
nnvgTransRGBAf
public static void nnvgTransRGBAf(long c0, float a, long __result) Unsafe version of:TransRGBAf
-
nvgTransRGBAf
Sets transparency of a color value.- Parameters:
c0
- the colora
- the alpha value
-
nnvgHSL
public static void nnvgHSL(float h, float s, float l, long __result) Unsafe version of:HSL
-
nvgHSL
Returns color value specified by hue, saturation and lightness.HSL values are all in range
[0..1]
, alpha will be set to 255.- Parameters:
h
- the hue values
- the saturation valuel
- the lightness value
-
nnvgHSLA
public static void nnvgHSLA(float h, float s, float l, byte a, long __result) Unsafe version of:HSLA
-
nvgHSLA
Returns color value specified by hue, saturation and lightness and alpha.HSL values are all in range
[0..1]
, alpha in range[0..255]
- Parameters:
h
- the hue values
- the saturation valuel
- the lightness valuea
- the alpha value
-
nnvgSave
public static void nnvgSave(long ctx) Unsafe version of:Save
-
nvgSave
public static void nvgSave(long ctx) Pushes and saves the current render state into a state stack. A matchingRestore
must be used to restore the state.- Parameters:
ctx
- the NanoVG context
-
nnvgRestore
public static void nnvgRestore(long ctx) Unsafe version of:Restore
-
nvgRestore
public static void nvgRestore(long ctx) Pops and restores current render state.- Parameters:
ctx
- the NanoVG context
-
nnvgReset
public static void nnvgReset(long ctx) Unsafe version of:Reset
-
nvgReset
public static void nvgReset(long ctx) Resets current render state to default values. Does not affect the render state stack.- Parameters:
ctx
- the NanoVG context
-
nnvgShapeAntiAlias
public static void nnvgShapeAntiAlias(long ctx, int enabled) Unsafe version of:ShapeAntiAlias
-
nvgShapeAntiAlias
public static void nvgShapeAntiAlias(long ctx, boolean enabled) - Parameters:
ctx
- the NanoVG contextenabled
- the flag to set
-
nnvgStrokeColor
public static void nnvgStrokeColor(long ctx, long color) Unsafe version of:StrokeColor
-
nvgStrokeColor
Sets current stroke style to a solid color.- Parameters:
ctx
- the NanoVG contextcolor
- the color to set
-
nnvgStrokePaint
public static void nnvgStrokePaint(long ctx, long paint) Unsafe version of:StrokePaint
-
nvgStrokePaint
Sets current stroke style to a paint, which can be a one of the gradients or a pattern.- Parameters:
ctx
- the NanoVG contextpaint
- the paint to set
-
nnvgFillColor
public static void nnvgFillColor(long ctx, long color) Unsafe version of:FillColor
-
nvgFillColor
Sets current fill style to a solid color.- Parameters:
ctx
- the NanoVG contextcolor
- the color to set
-
nnvgFillPaint
public static void nnvgFillPaint(long ctx, long paint) Unsafe version of:FillPaint
-
nvgFillPaint
Sets current fill style to a paint, which can be a one of the gradients or a pattern.- Parameters:
ctx
- the NanoVG contextpaint
- the paint to set
-
nnvgMiterLimit
public static void nnvgMiterLimit(long ctx, float limit) Unsafe version of:MiterLimit
-
nvgMiterLimit
public static void nvgMiterLimit(long ctx, float limit) Sets the miter limit of the stroke style. Miter limit controls when a sharp corner is beveled.- Parameters:
ctx
- the NanoVG contextlimit
- the miter limit to set
-
nnvgStrokeWidth
public static void nnvgStrokeWidth(long ctx, float size) Unsafe version of:StrokeWidth
-
nvgStrokeWidth
public static void nvgStrokeWidth(long ctx, float size) Sets the stroke width of the stroke style.- Parameters:
ctx
- the NanoVG contextsize
- the stroke width to set
-
nnvgLineCap
public static void nnvgLineCap(long ctx, int cap) Unsafe version of:LineCap
-
nvgLineCap
public static void nvgLineCap(long ctx, int cap) Sets how the end of the line (cap) is drawn.The default line cap is
BUTT
. -
nnvgLineJoin
public static void nnvgLineJoin(long ctx, int join) Unsafe version of:LineJoin
-
nvgLineJoin
public static void nvgLineJoin(long ctx, int join) Sets how sharp path corners are drawn.The default line join is
MITER
. -
nnvgGlobalAlpha
public static void nnvgGlobalAlpha(long ctx, float alpha) Unsafe version of:GlobalAlpha
-
nvgGlobalAlpha
public static void nvgGlobalAlpha(long ctx, float alpha) Sets the transparency applied to all rendered shapes.Already transparent paths will get proportionally more transparent as well.
- Parameters:
ctx
- the NanoVG contextalpha
- the alpha value to set
-
nnvgResetTransform
public static void nnvgResetTransform(long ctx) Unsafe version of:ResetTransform
-
nvgResetTransform
public static void nvgResetTransform(long ctx) Resets current transform to an identity matrix.- Parameters:
ctx
- the NanoVG context
-
nnvgTransform
public static void nnvgTransform(long ctx, float a, float b, float c, float d, float e, float f) Unsafe version of:Transform
-
nvgTransform
public static void nvgTransform(long ctx, float a, float b, float c, float d, float e, float f) Premultiplies current coordinate system by specified matrix. The parameters are interpreted as matrix as follows:[a c e] [b d f] [0 0 1]
- Parameters:
ctx
- the NanoVG contexta
- the a valueb
- the b valuec
- the c valued
- the d valuee
- the e valuef
- the f value
-
nnvgTranslate
public static void nnvgTranslate(long ctx, float x, float y) Unsafe version of:Translate
-
nvgTranslate
public static void nvgTranslate(long ctx, float x, float y) Translates current coordinate system.- Parameters:
ctx
- the NanoVG contextx
- the X axis translation amounty
- the Y axis translation amount
-
nnvgRotate
public static void nnvgRotate(long ctx, float angle) Unsafe version of:Rotate
-
nvgRotate
public static void nvgRotate(long ctx, float angle) Rotates current coordinate system.- Parameters:
ctx
- the NanoVG contextangle
- the rotation angle, in radians
-
nnvgSkewX
public static void nnvgSkewX(long ctx, float angle) Unsafe version of:SkewX
-
nvgSkewX
public static void nvgSkewX(long ctx, float angle) Skews the current coordinate system along X axis.- Parameters:
ctx
- the NanoVG contextangle
- the skew angle, in radians
-
nnvgSkewY
public static void nnvgSkewY(long ctx, float angle) Unsafe version of:SkewY
-
nvgSkewY
public static void nvgSkewY(long ctx, float angle) Skews the current coordinate system along Y axis.- Parameters:
ctx
- the NanoVG contextangle
- the skew angle, in radians
-
nnvgScale
public static void nnvgScale(long ctx, float x, float y) Unsafe version of:Scale
-
nvgScale
public static void nvgScale(long ctx, float x, float y) Scales the current coordinate system.- Parameters:
ctx
- the NanoVG contextx
- the X axis scale factory
- the Y axis scale factor
-
nnvgCurrentTransform
public static void nnvgCurrentTransform(long ctx, long xform) Unsafe version of:CurrentTransform
-
nvgCurrentTransform
Stores the top part (a-f) of the current transformation matrix in to the specified buffer.[a c e] [b d f] [0 0 1]
There should be space for 6 floats in the return buffer for the values
a-f
.- Parameters:
ctx
- the NanoVG contextxform
- the destination buffer
-
nnvgTransformIdentity
public static void nnvgTransformIdentity(long dst) Unsafe version of:TransformIdentity
-
nvgTransformIdentity
Sets the transform to identity matrix.- Parameters:
dst
- the destination buffer
-
nnvgTransformTranslate
public static void nnvgTransformTranslate(long dst, float tx, float ty) Unsafe version of:TransformTranslate
-
nvgTransformTranslate
Sets the transform to translation matrix matrix.- Parameters:
dst
- the destination buffertx
- the X axis translation amountty
- the Y axis translation amount
-
nnvgTransformScale
public static void nnvgTransformScale(long dst, float sx, float sy) Unsafe version of:TransformScale
-
nvgTransformScale
Sets the transform to scale matrix.- Parameters:
dst
- the destination buffersx
- the X axis scale factorsy
- the Y axis scale factor
-
nnvgTransformRotate
public static void nnvgTransformRotate(long dst, float a) Unsafe version of:TransformRotate
-
nvgTransformRotate
Sets the transform to rotate matrix.- Parameters:
dst
- the destination buffera
- the rotation angle, in radians
-
nnvgTransformSkewX
public static void nnvgTransformSkewX(long dst, float a) Unsafe version of:TransformSkewX
-
nvgTransformSkewX
Sets the transform to skew-x matrix.- Parameters:
dst
- the destination buffera
- the skew angle, in radians
-
nnvgTransformSkewY
public static void nnvgTransformSkewY(long dst, float a) Unsafe version of:TransformSkewY
-
nvgTransformSkewY
Sets the transform to skew-y matrix.- Parameters:
dst
- the destination buffera
- the skew angle, in radians
-
nnvgTransformMultiply
public static void nnvgTransformMultiply(long dst, long src) Unsafe version of:TransformMultiply
-
nvgTransformMultiply
Sets the transform to the result of multiplication of two transforms, ofA = A*B
.- Parameters:
dst
- the destination buffersrc
- theB
transformation matrix
-
nnvgTransformPremultiply
public static void nnvgTransformPremultiply(long dst, long src) Unsafe version of:TransformPremultiply
-
nvgTransformPremultiply
Sets the transform to the result of multiplication of two transforms, ofA = B*A
.- Parameters:
dst
- the destination buffersrc
- theB
transformation matrix
-
nnvgTransformInverse
public static int nnvgTransformInverse(long dst, long src) Unsafe version of:TransformInverse
-
nvgTransformInverse
Sets the destination to inverse of specified transform.- Parameters:
dst
- the destination buffersrc
- the transformation matrix to inverse- Returns:
- 1 if the inverse could be calculated, else 0
-
nnvgTransformPoint
public static void nnvgTransformPoint(long dstx, long dsty, long xform, float srcx, float srcy) Unsafe version of:TransformPoint
-
nvgTransformPoint
public static void nvgTransformPoint(FloatBuffer dstx, FloatBuffer dsty, FloatBuffer xform, float srcx, float srcy) Transform a point by given transform.- Parameters:
dstx
- returns the transformed X axis coordinatedsty
- returns the transformed Y axis coordinatexform
- the transformation matrixsrcx
- the point X axis coordinatesrcy
- the point Y axis coordinate
-
nvgDegToRad
public static float nvgDegToRad(float deg) Converts degrees to radians.- Parameters:
deg
- the rotation value, in degrees
-
nvgRadToDeg
public static float nvgRadToDeg(float rad) Converts radians to degrees.- Parameters:
rad
- the rotation value, in radians
-
nnvgCreateImage
public static int nnvgCreateImage(long ctx, long filename, int imageFlags) Unsafe version of:CreateImage
-
nvgCreateImage
Creates image by loading it from the disk from specified file name.- Parameters:
ctx
- the NanoVG contextfilename
- the image file nameimageFlags
- the image flags. One of:IMAGE_GENERATE_MIPMAPS
IMAGE_REPEATX
IMAGE_REPEATY
IMAGE_FLIPY
IMAGE_PREMULTIPLIED
IMAGE_NEAREST
- Returns:
- a handle to the image
-
nvgCreateImage
Creates image by loading it from the disk from specified file name.- Parameters:
ctx
- the NanoVG contextfilename
- the image file nameimageFlags
- the image flags. One of:IMAGE_GENERATE_MIPMAPS
IMAGE_REPEATX
IMAGE_REPEATY
IMAGE_FLIPY
IMAGE_PREMULTIPLIED
IMAGE_NEAREST
- Returns:
- a handle to the image
-
nnvgCreateImageMem
public static int nnvgCreateImageMem(long ctx, int imageFlags, long data, int ndata) Unsafe version of:CreateImageMem
- Parameters:
ndata
- the image data size, in bytes
-
nvgCreateImageMem
Creates image by loading it from the specified chunk of memory.- Parameters:
ctx
- the NanoVG contextimageFlags
- the image flags. One of:IMAGE_GENERATE_MIPMAPS
IMAGE_REPEATX
IMAGE_REPEATY
IMAGE_FLIPY
IMAGE_PREMULTIPLIED
IMAGE_NEAREST
data
- the image data- Returns:
- a handle to the image
-
nnvgCreateImageRGBA
public static int nnvgCreateImageRGBA(long ctx, int w, int h, int imageFlags, long data) Unsafe version of:CreateImageRGBA
-
nvgCreateImageRGBA
Creates image from specified image data.- Parameters:
ctx
- the NanoVG contextw
- the image widthh
- the image heightimageFlags
- the image flags. One of:IMAGE_GENERATE_MIPMAPS
IMAGE_REPEATX
IMAGE_REPEATY
IMAGE_FLIPY
IMAGE_PREMULTIPLIED
IMAGE_NEAREST
data
- the image data- Returns:
- a handle to the image
-
nnvgUpdateImage
public static void nnvgUpdateImage(long ctx, int image, long data) Unsafe version of:UpdateImage
-
nvgUpdateImage
Updates image data specified by image handle.- Parameters:
ctx
- the NanoVG contextimage
- the image handledata
- the image data
-
nnvgImageSize
public static void nnvgImageSize(long ctx, int image, long w, long h) Unsafe version of:ImageSize
-
nvgImageSize
Returns the dimensions of a created image.- Parameters:
ctx
- the NanoVG contextimage
- the image handlew
- returns the image widthh
- returns the image height
-
nnvgDeleteImage
public static void nnvgDeleteImage(long ctx, int image) Unsafe version of:DeleteImage
-
nvgDeleteImage
public static void nvgDeleteImage(long ctx, int image) Deletes created image.- Parameters:
ctx
- the NanoVG contextimage
- the image handle to delete
-
nnvgLinearGradient
public static void nnvgLinearGradient(long ctx, float sx, float sy, float ex, float ey, long icol, long ocol, long __result) Unsafe version of:LinearGradient
-
nvgLinearGradient
public static NVGPaint nvgLinearGradient(long ctx, float sx, float sy, float ex, float ey, NVGColor icol, NVGColor ocol, NVGPaint __result) Creates and returns a linear gradient.The gradient is transformed by the current transform when it is passed to
FillPaint
orStrokePaint
.- Parameters:
ctx
- the NanoVG contextsx
- the X axis start coordinatesy
- the Y axis start coordinateex
- the X axis end coordinateey
- the Y axis end coordinateicol
- the start colorocol
- the end color
-
nnvgBoxGradient
public static void nnvgBoxGradient(long ctx, float x, float y, float w, float h, float r, float f, long icol, long ocol, long __result) Unsafe version of:BoxGradient
-
nvgBoxGradient
public static NVGPaint nvgBoxGradient(long ctx, float x, float y, float w, float h, float r, float f, NVGColor icol, NVGColor ocol, NVGPaint __result) Creates and returns a box gradient. Box gradient is a feathered rounded rectangle, it is useful for rendering drop shadows or highlights for boxes.The gradient is transformed by the current transform when it is passed to
FillPaint
orStrokePaint
.- Parameters:
ctx
- the NanoVG contextx
- the rectangle left coordinatey
- the rectangle top coordinatew
- the rectangle widthh
- the rectangle heightr
- the corner radiusf
- the feather value. Feather defines how blurry the border of the rectangle is.icol
- the inner colorocol
- the outer color
-
nnvgRadialGradient
public static void nnvgRadialGradient(long ctx, float cx, float cy, float inr, float outr, long icol, long ocol, long __result) Unsafe version of:RadialGradient
-
nvgRadialGradient
public static NVGPaint nvgRadialGradient(long ctx, float cx, float cy, float inr, float outr, NVGColor icol, NVGColor ocol, NVGPaint __result) Creates and returns a radial gradient.The gradient is transformed by the current transform when it is passed to
FillPaint
orStrokePaint
.- Parameters:
ctx
- the NanoVG contextcx
- the X axis center coordinatecy
- the Y axis center coordinateinr
- the inner radiusoutr
- the outer radiusicol
- the start colorocol
- the end color
-
nnvgImagePattern
public static void nnvgImagePattern(long ctx, float ox, float oy, float ex, float ey, float angle, int image, float alpha, long __result) Unsafe version of:ImagePattern
-
nvgImagePattern
public static NVGPaint nvgImagePattern(long ctx, float ox, float oy, float ex, float ey, float angle, int image, float alpha, NVGPaint __result) Creates and returns an image patter.The gradient is transformed by the current transform when it is passed to
FillPaint
orStrokePaint
.- Parameters:
ctx
- the NanoVG contextox
- the image pattern left coordinateoy
- the image pattern top coordinateex
- the image widthey
- the image heightangle
- the rotation angle around the top-left cornerimage
- the image to renderalpha
- the alpha value
-
nnvgScissor
public static void nnvgScissor(long ctx, float x, float y, float w, float h) Unsafe version of:Scissor
-
nvgScissor
public static void nvgScissor(long ctx, float x, float y, float w, float h) Sets the current scissor rectangle.The scissor rectangle is transformed by the current transform.
- Parameters:
ctx
- the NanoVG contextx
- the rectangle X axis coordinatey
- the rectangle Y axis coordinatew
- the rectangle widthh
- the rectangle height
-
nnvgIntersectScissor
public static void nnvgIntersectScissor(long ctx, float x, float y, float w, float h) Unsafe version of:IntersectScissor
-
nvgIntersectScissor
public static void nvgIntersectScissor(long ctx, float x, float y, float w, float h) Intersects current scissor rectangle with the specified rectangle.The scissor rectangle is transformed by the current transform.
Note: in case the rotation of previous scissor rect differs from the current one, the intersection will be done between the specified rectangle and the previous scissor rectangle transformed in the current transform space. The resulting shape is always rectangle.
- Parameters:
ctx
- the NanoVG contextx
- the rectangle X axis coordinatey
- the rectangle Y axis coordinatew
- the rectangle widthh
- the rectangle height
-
nnvgResetScissor
public static void nnvgResetScissor(long ctx) Unsafe version of:ResetScissor
-
nvgResetScissor
public static void nvgResetScissor(long ctx) Resets and disables scissoring.- Parameters:
ctx
- the NanoVG context
-
nnvgBeginPath
public static void nnvgBeginPath(long ctx) Unsafe version of:BeginPath
-
nvgBeginPath
public static void nvgBeginPath(long ctx) Clears the current path and sub-paths.- Parameters:
ctx
- the NanoVG context
-
nnvgMoveTo
public static void nnvgMoveTo(long ctx, float x, float y) Unsafe version of:MoveTo
-
nvgMoveTo
public static void nvgMoveTo(long ctx, float x, float y) Starts new sub-path with specified point as first point.- Parameters:
ctx
- the NanoVG contextx
- the point X axis coordinatey
- the point Y axis coordinate
-
nnvgLineTo
public static void nnvgLineTo(long ctx, float x, float y) Unsafe version of:LineTo
-
nvgLineTo
public static void nvgLineTo(long ctx, float x, float y) Adds line segment from the last point in the path to the specified point.- Parameters:
ctx
- the NanoVG contextx
- the point X axis coordinatey
- the point Y axis coordinate
-
nnvgBezierTo
public static void nnvgBezierTo(long ctx, float c1x, float c1y, float c2x, float c2y, float x, float y) Unsafe version of:BezierTo
-
nvgBezierTo
public static void nvgBezierTo(long ctx, float c1x, float c1y, float c2x, float c2y, float x, float y) Adds cubic bezier segment from last point in the path via two control points to the specified point.- Parameters:
ctx
- the NanoVG contextc1x
- the first control point X axis coordinatec1y
- the first control point Y axis coordinatec2x
- the second control point X axis coordinatec2y
- the second control point Y axis coordinatex
- the point X axis coordinatey
- the point Y axis coordinate
-
nnvgQuadTo
public static void nnvgQuadTo(long ctx, float cx, float cy, float x, float y) Unsafe version of:QuadTo
-
nvgQuadTo
public static void nvgQuadTo(long ctx, float cx, float cy, float x, float y) Adds quadratic bezier segment from last point in the path via a control point to the specified point.- Parameters:
ctx
- the NanoVG contextcx
- the control point X axis coordinatecy
- the control point Y axis coordinatex
- the point X axis coordinatey
- the point Y axis coordinate
-
nnvgArcTo
public static void nnvgArcTo(long ctx, float x1, float y1, float x2, float y2, float radius) Unsafe version of:ArcTo
-
nvgArcTo
public static void nvgArcTo(long ctx, float x1, float y1, float x2, float y2, float radius) Adds an arc segment at the corner defined by the last path point, and two specified points.- Parameters:
ctx
- the NanoVG contextx1
- the first point X axis coordinatey1
- the first point Y axis coordinatex2
- the second point X axis coordinatey2
- the second point Y axis coordinateradius
- the arc radius, in radians
-
nnvgClosePath
public static void nnvgClosePath(long ctx) Unsafe version of:ClosePath
-
nvgClosePath
public static void nvgClosePath(long ctx) Closes current sub-path with a line segment.- Parameters:
ctx
- the NanoVG context
-
nnvgPathWinding
public static void nnvgPathWinding(long ctx, int dir) Unsafe version of:PathWinding
-
nvgPathWinding
public static void nvgPathWinding(long ctx, int dir) Sets the current sub-path winding. -
nnvgArc
public static void nnvgArc(long ctx, float cx, float cy, float r, float a0, float a1, int dir) Unsafe version of:Arc
-
nvgArc
public static void nvgArc(long ctx, float cx, float cy, float r, float a0, float a1, int dir) Creates new circle arc shaped sub-path. -
nnvgRect
public static void nnvgRect(long ctx, float x, float y, float w, float h) Unsafe version of:Rect
-
nvgRect
public static void nvgRect(long ctx, float x, float y, float w, float h) Creates new rectangle shaped sub-path.- Parameters:
ctx
- the NanoVG contextx
- the rectangle X axis coordinatey
- the rectangle Y axis coordinatew
- the rectangle widthh
- the rectangle height
-
nnvgRoundedRect
public static void nnvgRoundedRect(long ctx, float x, float y, float w, float h, float r) Unsafe version of:RoundedRect
-
nvgRoundedRect
public static void nvgRoundedRect(long ctx, float x, float y, float w, float h, float r) Creates new rounded rectangle shaped sub-path.- Parameters:
ctx
- the NanoVG contextx
- the rectangle X axis coordinatey
- the rectangle Y axis coordinatew
- the rectangle widthh
- the rectangle heightr
- the corner radius
-
nnvgRoundedRectVarying
public static void nnvgRoundedRectVarying(long ctx, float x, float y, float w, float h, float radTopLeft, float radTopRight, float radBottomRight, float radBottomLeft) Unsafe version of:RoundedRectVarying
-
nvgRoundedRectVarying
public static void nvgRoundedRectVarying(long ctx, float x, float y, float w, float h, float radTopLeft, float radTopRight, float radBottomRight, float radBottomLeft) Creates new rounded rectangle shaped sub-path with varying radii for each corner.- Parameters:
ctx
- the NanoVG contextx
- the rectangle X axis coordinatey
- the rectangle Y axis coordinatew
- the rectangle widthh
- the rectangle heightradTopLeft
- the top-left corner radiusradTopRight
- the top-right corner radiusradBottomRight
- the bottom-right corner radiusradBottomLeft
- the bottom-left corner radius
-
nnvgEllipse
public static void nnvgEllipse(long ctx, float cx, float cy, float rx, float ry) Unsafe version of:Ellipse
-
nvgEllipse
public static void nvgEllipse(long ctx, float cx, float cy, float rx, float ry) Creates new ellipse shaped sub-path.- Parameters:
ctx
- the NanoVG contextcx
- the ellipse center X axis coordinatecy
- the ellipse center Y axis coordinaterx
- the ellipse X axis radiusry
- the ellipse Y axis radius
-
nnvgCircle
public static void nnvgCircle(long ctx, float cx, float cy, float r) Unsafe version of:Circle
-
nvgCircle
public static void nvgCircle(long ctx, float cx, float cy, float r) Creates new circle shaped sub-path.- Parameters:
ctx
- the NanoVG contextcx
- the circle center X axis coordinatecy
- the circle center Y axis coordinater
- the circle radius
-
nnvgFill
public static void nnvgFill(long ctx) Unsafe version of:Fill
-
nvgFill
public static void nvgFill(long ctx) Fills the current path with current fill style.- Parameters:
ctx
- the NanoVG context
-
nnvgStroke
public static void nnvgStroke(long ctx) Unsafe version of:Stroke
-
nvgStroke
public static void nvgStroke(long ctx) Fills the current path with current stroke style.- Parameters:
ctx
- the NanoVG context
-
nnvgCreateFont
public static int nnvgCreateFont(long ctx, long name, long filename) Unsafe version of:CreateFont
-
nvgCreateFont
Creates font by loading it from the disk from specified file name.- Parameters:
ctx
- the NanoVG contextname
- the font namefilename
- the font file name- Returns:
- a handle to the font
-
nvgCreateFont
Creates font by loading it from the disk from specified file name.- Parameters:
ctx
- the NanoVG contextname
- the font namefilename
- the font file name- Returns:
- a handle to the font
-
nnvgCreateFontAtIndex
public static int nnvgCreateFontAtIndex(long ctx, long name, long filename, int fontIndex) Unsafe version of:CreateFontAtIndex
-
nvgCreateFontAtIndex
public static int nvgCreateFontAtIndex(long ctx, ByteBuffer name, ByteBuffer filename, int fontIndex) Creates font by loading it from the disk from specified file name.- Parameters:
ctx
- the NanoVG contextname
- the font namefilename
- the font file namefontIndex
- specifies which font face to load from a .ttf/.ttc file- Returns:
- a handle to the font
-
nvgCreateFontAtIndex
public static int nvgCreateFontAtIndex(long ctx, CharSequence name, CharSequence filename, int fontIndex) Creates font by loading it from the disk from specified file name.- Parameters:
ctx
- the NanoVG contextname
- the font namefilename
- the font file namefontIndex
- specifies which font face to load from a .ttf/.ttc file- Returns:
- a handle to the font
-
nnvgCreateFontMem
public static int nnvgCreateFontMem(long ctx, long name, long data, int ndata, int freeData) Unsafe version of:CreateFontMem
- Parameters:
ndata
- the font data size, in bytes
-
nvgCreateFontMem
Creates font by loading it from the specified memory chunk.The memory chunk must remain valid for as long as the font is used by NanoVG.
- Parameters:
ctx
- the NanoVG contextname
- the font namedata
- the font datafreeData
- 1 if the font data should be freed automatically, 0 otherwise- Returns:
- a handle to the font
-
nvgCreateFontMem
Creates font by loading it from the specified memory chunk.The memory chunk must remain valid for as long as the font is used by NanoVG.
- Parameters:
ctx
- the NanoVG contextname
- the font namedata
- the font datafreeData
- 1 if the font data should be freed automatically, 0 otherwise- Returns:
- a handle to the font
-
nnvgCreateFontMemAtIndex
public static int nnvgCreateFontMemAtIndex(long ctx, long name, long data, int ndata, int freeData, int fontIndex) Unsafe version of:CreateFontMemAtIndex
- Parameters:
ndata
- the font data size, in bytes
-
nvgCreateFontMemAtIndex
public static int nvgCreateFontMemAtIndex(long ctx, ByteBuffer name, ByteBuffer data, boolean freeData, int fontIndex) Creates font by loading it from the specified memory chunk.The memory chunk must remain valid for as long as the font is used by NanoVG.
- Parameters:
ctx
- the NanoVG contextname
- the font namedata
- the font datafreeData
- 1 if the font data should be freed automatically, 0 otherwisefontIndex
- specifies which font face to load from a .ttf/.ttc file- Returns:
- a handle to the font
-
nvgCreateFontMemAtIndex
public static int nvgCreateFontMemAtIndex(long ctx, CharSequence name, ByteBuffer data, boolean freeData, int fontIndex) Creates font by loading it from the specified memory chunk.The memory chunk must remain valid for as long as the font is used by NanoVG.
- Parameters:
ctx
- the NanoVG contextname
- the font namedata
- the font datafreeData
- 1 if the font data should be freed automatically, 0 otherwisefontIndex
- specifies which font face to load from a .ttf/.ttc file- Returns:
- a handle to the font
-
nnvgFindFont
public static int nnvgFindFont(long ctx, long name) Unsafe version of:FindFont
-
nvgFindFont
Finds a loaded font of specified name, and returns handle to it, or -1 if the font is not found.- Parameters:
ctx
- the NanoVG contextname
- the font name
-
nvgFindFont
Finds a loaded font of specified name, and returns handle to it, or -1 if the font is not found.- Parameters:
ctx
- the NanoVG contextname
- the font name
-
nnvgAddFallbackFontId
public static int nnvgAddFallbackFontId(long ctx, int baseFont, int fallbackFont) Unsafe version of:AddFallbackFontId
-
nvgAddFallbackFontId
public static int nvgAddFallbackFontId(long ctx, int baseFont, int fallbackFont) Adds fallback font by handle.- Parameters:
ctx
- the NanoVG context
-
nnvgAddFallbackFont
public static int nnvgAddFallbackFont(long ctx, long baseFont, long fallbackFont) Unsafe version of:AddFallbackFont
-
nvgAddFallbackFont
Adds fallback font by name.- Parameters:
ctx
- the NanoVG context
-
nvgAddFallbackFont
Adds fallback font by name.- Parameters:
ctx
- the NanoVG context
-
nnvgResetFallbackFontsId
public static void nnvgResetFallbackFontsId(long ctx, int baseFont) Unsafe version of:ResetFallbackFontsId
-
nvgResetFallbackFontsId
public static void nvgResetFallbackFontsId(long ctx, int baseFont) Resets fallback fonts by handle.- Parameters:
ctx
- the NanoVG context
-
nnvgResetFallbackFonts
public static void nnvgResetFallbackFonts(long ctx, long baseFont) Unsafe version of:ResetFallbackFonts
-
nvgResetFallbackFonts
Resets fallback fonts by name.- Parameters:
ctx
- the NanoVG context
-
nvgResetFallbackFonts
Resets fallback fonts by name.- Parameters:
ctx
- the NanoVG context
-
nnvgFontSize
public static void nnvgFontSize(long ctx, float size) Unsafe version of:FontSize
-
nvgFontSize
public static void nvgFontSize(long ctx, float size) Sets the font size of current text style.- Parameters:
ctx
- the NanoVG contextsize
- the font size to set
-
nnvgFontBlur
public static void nnvgFontBlur(long ctx, float blur) Unsafe version of:FontBlur
-
nvgFontBlur
public static void nvgFontBlur(long ctx, float blur) Sets the blur of current text style.- Parameters:
ctx
- the NanoVG contextblur
- the blur amount to set
-
nnvgTextLetterSpacing
public static void nnvgTextLetterSpacing(long ctx, float spacing) Unsafe version of:TextLetterSpacing
-
nvgTextLetterSpacing
public static void nvgTextLetterSpacing(long ctx, float spacing) Sets the letter spacing of current text style.- Parameters:
ctx
- the NanoVG contextspacing
- the letter spacing amount to set
-
nnvgTextLineHeight
public static void nnvgTextLineHeight(long ctx, float lineHeight) Unsafe version of:TextLineHeight
-
nvgTextLineHeight
public static void nvgTextLineHeight(long ctx, float lineHeight) Sets the proportional line height of current text style. The line height is specified as multiple of font size.- Parameters:
ctx
- the NanoVG contextlineHeight
- the line height to set
-
nnvgTextAlign
public static void nnvgTextAlign(long ctx, int align) Unsafe version of:TextAlign
-
nvgTextAlign
public static void nvgTextAlign(long ctx, int align) Sets the text align of current text style.- Parameters:
ctx
- the NanoVG contextalign
- the text align to set. One of:ALIGN_LEFT
ALIGN_CENTER
ALIGN_RIGHT
ALIGN_TOP
ALIGN_MIDDLE
ALIGN_BOTTOM
ALIGN_BASELINE
-
nnvgFontFaceId
public static void nnvgFontFaceId(long ctx, int font) Unsafe version of:FontFaceId
-
nvgFontFaceId
public static void nvgFontFaceId(long ctx, int font) Sets the font face based on specified id of current text style.- Parameters:
ctx
- the NanoVG contextfont
- the font id
-
nnvgFontFace
public static void nnvgFontFace(long ctx, long font) Unsafe version of:FontFace
-
nvgFontFace
Sets the font face based on specified name of current text style.- Parameters:
ctx
- the NanoVG contextfont
- the font name
-
nvgFontFace
Sets the font face based on specified name of current text style.- Parameters:
ctx
- the NanoVG contextfont
- the font name
-
nnvgText
public static float nnvgText(long ctx, float x, float y, long string, long end) Unsafe version of:Text
- Parameters:
end
- a pointer to the end of the sub-string to draw, orNULL
-
nvgText
Draws text string at specified location. Ifend
is specified only the sub-string up to theend
is drawn.- Parameters:
ctx
- the NanoVG contextx
- the text X axis coordinatey
- the text Y axis coordinatestring
- the text string to draw
-
nvgText
Draws text string at specified location. Ifend
is specified only the sub-string up to theend
is drawn.- Parameters:
ctx
- the NanoVG contextx
- the text X axis coordinatey
- the text Y axis coordinatestring
- the text string to draw
-
nnvgTextBox
public static void nnvgTextBox(long ctx, float x, float y, float breakRowWidth, long string, long end) Unsafe version of:TextBox
- Parameters:
end
- a pointer to the end of the sub-string to draw, orNULL
-
nvgTextBox
Draws multi-line text string at specified location wrapped at the specified width. Ifend
is specified only the sub-string up to theend
is drawn.White space is stripped at the beginning of the rows, the text is split at word boundaries or when new-line characters are encountered. Words longer than the max width are slit at nearest character (i.e. no hyphenation).
- Parameters:
ctx
- the NanoVG contextx
- the text box X axis coordinatey
- the text box Y axis coordinatebreakRowWidth
- the maximum row widthstring
- the text string to draw
-
nvgTextBox
Draws multi-line text string at specified location wrapped at the specified width. Ifend
is specified only the sub-string up to theend
is drawn.White space is stripped at the beginning of the rows, the text is split at word boundaries or when new-line characters are encountered. Words longer than the max width are slit at nearest character (i.e. no hyphenation).
- Parameters:
ctx
- the NanoVG contextx
- the text box X axis coordinatey
- the text box Y axis coordinatebreakRowWidth
- the maximum row widthstring
- the text string to draw
-
nnvgTextBounds
public static float nnvgTextBounds(long ctx, float x, float y, long string, long end, long bounds) Unsafe version of:TextBounds
- Parameters:
end
- a pointer to the end of the sub-string to measure, orNULL
-
nvgTextBounds
public static float nvgTextBounds(long ctx, float x, float y, ByteBuffer string, @Nullable FloatBuffer bounds) Measures the specified text string.Parameter
bounds
should be a pointer tofloat[4]
, if the bounding box of the text should be returned. The bounds value are[xmin,ymin, xmax,ymax]
.Measured values are returned in local coordinate space.
- Parameters:
ctx
- the NanoVG contextx
- the text X axis coordinatey
- the text Y axis coordinatestring
- the text string to measurebounds
- returns the bounding box of the text- Returns:
- the horizontal advance of the measured text (i.e. where the next character should drawn)
-
nvgTextBounds
public static float nvgTextBounds(long ctx, float x, float y, CharSequence string, @Nullable FloatBuffer bounds) Measures the specified text string.Parameter
bounds
should be a pointer tofloat[4]
, if the bounding box of the text should be returned. The bounds value are[xmin,ymin, xmax,ymax]
.Measured values are returned in local coordinate space.
- Parameters:
ctx
- the NanoVG contextx
- the text X axis coordinatey
- the text Y axis coordinatestring
- the text string to measurebounds
- returns the bounding box of the text- Returns:
- the horizontal advance of the measured text (i.e. where the next character should drawn)
-
nnvgTextBoxBounds
public static void nnvgTextBoxBounds(long ctx, float x, float y, float breakRowWidth, long string, long end, long bounds) Unsafe version of:TextBoxBounds
- Parameters:
end
- a pointer to the end of the sub-string to measure, orNULL
-
nvgTextBoxBounds
public static void nvgTextBoxBounds(long ctx, float x, float y, float breakRowWidth, ByteBuffer string, @Nullable FloatBuffer bounds) Measures the specified multi-text string.Parameter
bounds
should be a pointer tofloat[4]
, if the bounding box of the text should be returned. The bounds value are[xmin,ymin, xmax,ymax]
.Measured values are returned in local coordinate space.
- Parameters:
ctx
- the NanoVG contextx
- the text box X axis coordinatey
- the text box Y axis coordinatebreakRowWidth
- the maximum row widthstring
- the text string to measurebounds
- returns the bounding box of the text box
-
nvgTextBoxBounds
public static void nvgTextBoxBounds(long ctx, float x, float y, float breakRowWidth, CharSequence string, @Nullable FloatBuffer bounds) Measures the specified multi-text string.Parameter
bounds
should be a pointer tofloat[4]
, if the bounding box of the text should be returned. The bounds value are[xmin,ymin, xmax,ymax]
.Measured values are returned in local coordinate space.
- Parameters:
ctx
- the NanoVG contextx
- the text box X axis coordinatey
- the text box Y axis coordinatebreakRowWidth
- the maximum row widthstring
- the text string to measurebounds
- returns the bounding box of the text box
-
nnvgTextGlyphPositions
public static int nnvgTextGlyphPositions(long ctx, float x, float y, long string, long end, long positions, int maxPositions) Unsafe version of:TextGlyphPositions
- Parameters:
end
- a pointer to the end of the sub-string to measure, orNULL
maxPositions
- the maximum number of glyph positions to return
-
nvgTextGlyphPositions
public static int nvgTextGlyphPositions(long ctx, float x, float y, ByteBuffer string, NVGGlyphPosition.Buffer positions) Calculates the glyph x positions of the specified text. Ifend
is specified only the sub-string will be used.Measured values are returned in local coordinate space.
- Parameters:
ctx
- the NanoVG contextx
- the text X axis coordinatey
- the text Y axis coordinatestring
- the text string to measurepositions
- returns the glyph x positions
-
nvgTextGlyphPositions
public static int nvgTextGlyphPositions(long ctx, float x, float y, CharSequence string, NVGGlyphPosition.Buffer positions) Calculates the glyph x positions of the specified text. Ifend
is specified only the sub-string will be used.Measured values are returned in local coordinate space.
- Parameters:
ctx
- the NanoVG contextx
- the text X axis coordinatey
- the text Y axis coordinatestring
- the text string to measurepositions
- returns the glyph x positions
-
nnvgTextMetrics
public static void nnvgTextMetrics(long ctx, long ascender, long descender, long lineh) Unsafe version of:TextMetrics
-
nvgTextMetrics
public static void nvgTextMetrics(long ctx, @Nullable FloatBuffer ascender, @Nullable FloatBuffer descender, @Nullable FloatBuffer lineh) Returns the vertical metrics based on the current text style.Measured values are returned in local coordinate space.
- Parameters:
ctx
- the NanoVG contextascender
- the line ascenddescender
- the line descendlineh
- the line height
-
nnvgTextBreakLines
public static int nnvgTextBreakLines(long ctx, long string, long end, float breakRowWidth, long rows, int maxRows) Unsafe version of:TextBreakLines
- Parameters:
end
- a pointer to the end of the sub-string to measure, orNULL
maxRows
- the maximum number of text rows to return
-
nvgTextBreakLines
public static int nvgTextBreakLines(long ctx, ByteBuffer string, float breakRowWidth, NVGTextRow.Buffer rows) Breaks the specified text into lines. Ifend
is specified only the sub-string will be used.White space is stripped at the beginning of the rows, the text is split at word boundaries or when new-line characters are encountered. Words longer than the max width are slit at nearest character (i.e. no hyphenation).
- Parameters:
ctx
- the NanoVG contextstring
- the text string to measurebreakRowWidth
- the maximum row widthrows
- returns the text rows
-
nvgTextBreakLines
public static int nvgTextBreakLines(long ctx, CharSequence string, float breakRowWidth, NVGTextRow.Buffer rows) Breaks the specified text into lines. Ifend
is specified only the sub-string will be used.White space is stripped at the beginning of the rows, the text is split at word boundaries or when new-line characters are encountered. Words longer than the max width are slit at nearest character (i.e. no hyphenation).
- Parameters:
ctx
- the NanoVG contextstring
- the text string to measurebreakRowWidth
- the maximum row widthrows
- returns the text rows
-
nnvgCurrentTransform
public static void nnvgCurrentTransform(long ctx, float[] xform) Array version of:nnvgCurrentTransform(long, long)
-
nvgCurrentTransform
public static void nvgCurrentTransform(long ctx, float[] xform) Array version of:CurrentTransform
-
nnvgTransformIdentity
public static void nnvgTransformIdentity(float[] dst) Array version of:nnvgTransformIdentity(long)
-
nvgTransformIdentity
public static void nvgTransformIdentity(float[] dst) Array version of:TransformIdentity
-
nnvgTransformTranslate
public static void nnvgTransformTranslate(float[] dst, float tx, float ty) Array version of:nnvgTransformTranslate(long, float, float)
-
nvgTransformTranslate
public static void nvgTransformTranslate(float[] dst, float tx, float ty) Array version of:TransformTranslate
-
nnvgTransformScale
public static void nnvgTransformScale(float[] dst, float sx, float sy) Array version of:nnvgTransformScale(long, float, float)
-
nvgTransformScale
public static void nvgTransformScale(float[] dst, float sx, float sy) Array version of:TransformScale
-
nnvgTransformRotate
public static void nnvgTransformRotate(float[] dst, float a) Array version of:nnvgTransformRotate(long, float)
-
nvgTransformRotate
public static void nvgTransformRotate(float[] dst, float a) Array version of:TransformRotate
-
nnvgTransformSkewX
public static void nnvgTransformSkewX(float[] dst, float a) Array version of:nnvgTransformSkewX(long, float)
-
nvgTransformSkewX
public static void nvgTransformSkewX(float[] dst, float a) Array version of:TransformSkewX
-
nnvgTransformSkewY
public static void nnvgTransformSkewY(float[] dst, float a) Array version of:nnvgTransformSkewY(long, float)
-
nvgTransformSkewY
public static void nvgTransformSkewY(float[] dst, float a) Array version of:TransformSkewY
-
nnvgTransformMultiply
public static void nnvgTransformMultiply(float[] dst, float[] src) Array version of:nnvgTransformMultiply(long, long)
-
nvgTransformMultiply
public static void nvgTransformMultiply(float[] dst, float[] src) Array version of:TransformMultiply
-
nnvgTransformPremultiply
public static void nnvgTransformPremultiply(float[] dst, float[] src) Array version of:nnvgTransformPremultiply(long, long)
-
nvgTransformPremultiply
public static void nvgTransformPremultiply(float[] dst, float[] src) Array version of:TransformPremultiply
-
nnvgTransformInverse
public static int nnvgTransformInverse(float[] dst, float[] src) Array version of:nnvgTransformInverse(long, long)
-
nvgTransformInverse
public static boolean nvgTransformInverse(float[] dst, float[] src) Array version of:TransformInverse
-
nnvgTransformPoint
public static void nnvgTransformPoint(float[] dstx, float[] dsty, float[] xform, float srcx, float srcy) Array version of:nnvgTransformPoint(long, long, long, float, float)
-
nvgTransformPoint
public static void nvgTransformPoint(float[] dstx, float[] dsty, float[] xform, float srcx, float srcy) Array version of:TransformPoint
-
nnvgImageSize
public static void nnvgImageSize(long ctx, int image, int[] w, int[] h) Array version of:nnvgImageSize(long, int, long, long)
-
nvgImageSize
public static void nvgImageSize(long ctx, int image, int[] w, int[] h) Array version of:ImageSize
-
nnvgTextBounds
public static float nnvgTextBounds(long ctx, float x, float y, long string, long end, float[] bounds) Array version of:nnvgTextBounds(long, float, float, long, long, long)
-
nvgTextBounds
public static float nvgTextBounds(long ctx, float x, float y, ByteBuffer string, @Nullable float[] bounds) Array version of:TextBounds
-
nvgTextBounds
public static float nvgTextBounds(long ctx, float x, float y, CharSequence string, @Nullable float[] bounds) Array version of:TextBounds
-
nnvgTextBoxBounds
public static void nnvgTextBoxBounds(long ctx, float x, float y, float breakRowWidth, long string, long end, float[] bounds) Array version of:nnvgTextBoxBounds(long, float, float, float, long, long, long)
-
nvgTextBoxBounds
public static void nvgTextBoxBounds(long ctx, float x, float y, float breakRowWidth, ByteBuffer string, @Nullable float[] bounds) Array version of:TextBoxBounds
-
nvgTextBoxBounds
public static void nvgTextBoxBounds(long ctx, float x, float y, float breakRowWidth, CharSequence string, @Nullable float[] bounds) Array version of:TextBoxBounds
-
nnvgTextMetrics
public static void nnvgTextMetrics(long ctx, float[] ascender, float[] descender, float[] lineh) Array version of:nnvgTextMetrics(long, long, long, long)
-
nvgTextMetrics
public static void nvgTextMetrics(long ctx, @Nullable float[] ascender, @Nullable float[] descender, @Nullable float[] lineh) Array version of:TextMetrics
-