Module: Processing::GraphicsContext
Overview
Drawing context
Constant Summary collapse
- PI =
PI
Math::PI
- HALF_PI =
PI / 2
PI / 2
- QUARTER_PI =
PI / 4
PI / 4
- TWO_PI =
PI * 2
PI * 2
- TAU =
PI * 2
PI * 2
- PROCESSING =
Processing mode for renderMode().
:processing- P5JS =
p5.js mode for renderMode().
:p5js- RGBA =
RGBA format for createImage().
:rgba- RGB =
RGB format for createImage, or RGB mode for colorMode().
:rgb- HSB =
HSB mode for colorMode().
:hsb- RADIANS =
Radian mode for angleMode().
:radians- DEGREES =
Degree mode for angleMode().
:degrees- CORNER =
Mode for rectMode(), ellipseMode(), imageMode(), and shapeMode().
:corner- CORNERS =
Mode for rectMode(), ellipseMode(), imageMode(), and shapeMode().
:corners- CENTER =
Mode for rectMode(), ellipseMode(), imageMode(), shapeMode(), and textAlign().
:center- RADIUS =
Mode for rectMode() and ellipseMode().
:radius- ROUND =
Mode for strokeCap() and strokeJoin().
:round- SQUARE =
Mode for strokeCap().
:butt- PROJECT =
Mode for strokeCap().
:square- MITER =
Mode for strokeJoin().
:miter- BEVEL =
Mode for strokeCap() and strokeJoin().
:square- BLEND =
Mode for blendMode().
:normal- ADD =
Mode for blendMode().
:add- SUBTRACT =
Mode for blendMode().
:subtract- LIGHTEST =
Mode for blendMode().
:lightest- DARKEST =
Mode for blendMode().
:darkest- EXCLUSION =
Mode for blendMode().
:exclusion- MULTIPLY =
Mode for blendMode().
:multiply- SCREEN =
Mode for blendMode().
:screen- REPLACE =
Mode for blendMode().
:replace- LEFT =
Key code or Mode for textAlign().
:left- RIGHT =
Key code or Mode for textAlign().
:right- TOP =
Mode for textAlign().
:top- BOTTOM =
Mode for textAlign().
:bottom- BASELINE =
Mode for textAlign().
:baseline- IMAGE =
Mode for textureMode().
:image- NORMAL =
Mode for textureMode().
:normal- CLAMP =
Mode for textureWrap().
:clamp- REPEAT =
Mode for textureWrap().
:repeat- THRESHOLD =
Filter type for filter()
:threshold- GRAY =
Filter type for filter()
:gray- INVERT =
Filter type for filter()
:invert- BLUR =
Filter type for filter()
:blur- LINE =
Shape mode for createShape()
:line- RECT =
Shape mode for createShape()
:rect- ELLIPSE =
Shape mode for createShape()
:ellipse- ARC =
Shape mode for createShape()
:arc- TRIANGLE =
Shape mode for createShape()
:triangle- QUAD =
Shape mode for createShape()
:quad- GROUP =
Shape mode for createShape()
:group- POINTS =
Shape mode for beginShape()
:points- LINES =
Shape mode for beginShape()
:lines- TRIANGLES =
Shape mode for beginShape()
:triangles- TRIANGLE_FAN =
Shape mode for beginShape()
:triangle_fan- TRIANGLE_STRIP =
Shape mode for beginShape()
:triangle_strip- QUADS =
Shape mode for beginShape()
:quads- QUAD_STRIP =
Shape mode for beginShape()
:quad_strip- TESS =
Shape mode for beginShape()
:tess- OPEN =
OPEN flag for endShape()
:open- CLOSE =
CLOSE flag for endShape()
:close- ENTER =
Key codes.
:enter- SPACE =
:space- TAB =
:tab- DELETE =
:delete- BACKSPACE =
:backspace- ESC =
:escape- HOME =
:home- PAGEUP =
END = :end
:pageup- PAGEDOWN =
:pagedown- CLEAR =
:clear- SHIFT =
:shift- CONTROL =
:control- ALT =
:alt- WIN =
:win- COMMAND =
:command- OPTION =
:option- FUNCTION =
:function- CAPSLOCK =
:capslock- SECTION =
:section- HELP =
:help- F1 =
:f1- F2 =
:f2- F3 =
:f3- F4 =
:f4- F5 =
:f5- F6 =
:f6- F7 =
:f7- F8 =
:f8- F9 =
:f9- F10 =
:f10- F11 =
:f11- F12 =
:f12- F13 =
:f13- F14 =
:f14- F15 =
:f15- F16 =
:f16- F17 =
:f17- F18 =
:f18- F19 =
:f19- F20 =
:f20- F21 =
:f21- F22 =
:f22- F23 =
:f23- F24 =
:f24- UP =
:up- DOWN =
:down- COLOR_CODES =
{ aliceblue: '#f0f8ff', antiquewhite: '#faebd7', aqua: '#00ffff', aquamarine: '#7fffd4', azure: '#f0ffff', beige: '#f5f5dc', bisque: '#ffe4c4', black: '#000000', blanchedalmond: '#ffebcd', blue: '#0000ff', blueviolet: '#8a2be2', brown: '#a52a2a', burlywood: '#deb887', cadetblue: '#5f9ea0', chartreuse: '#7fff00', chocolate: '#d2691e', coral: '#ff7f50', cornflowerblue: '#6495ed', cornsilk: '#fff8dc', crimson: '#dc143c', cyan: '#00ffff', darkblue: '#00008b', darkcyan: '#008b8b', darkgoldenrod: '#b8860b', darkgray: '#a9a9a9', darkgreen: '#006400', darkgrey: '#a9a9a9', darkkhaki: '#bdb76b', darkmagenta: '#8b008b', darkolivegreen: '#556b2f', darkorange: '#ff8c00', darkorchid: '#9932cc', darkred: '#8b0000', darksalmon: '#e9967a', darkseagreen: '#8fbc8f', darkslateblue: '#483d8b', darkslategray: '#2f4f4f', darkslategrey: '#2f4f4f', darkturquoise: '#00ced1', darkviolet: '#9400d3', deeppink: '#ff1493', deepskyblue: '#00bfff', dimgray: '#696969', dimgrey: '#696969', dodgerblue: '#1e90ff', firebrick: '#b22222', floralwhite: '#fffaf0', forestgreen: '#228b22', fuchsia: '#ff00ff', gainsboro: '#dcdcdc', ghostwhite: '#f8f8ff', goldenrod: '#daa520', gold: '#ffd700', gray: '#808080', green: '#008000', greenyellow: '#adff2f', grey: '#808080', honeydew: '#f0fff0', hotpink: '#ff69b4', indianred: '#cd5c5c', indigo: '#4b0082', ivory: '#fffff0', khaki: '#f0e68c', lavenderblush: '#fff0f5', lavender: '#e6e6fa', lawngreen: '#7cfc00', lemonchiffon: '#fffacd', lightblue: '#add8e6', lightcoral: '#f08080', lightcyan: '#e0ffff', lightgoldenrodyellow: '#fafad2', lightgray: '#d3d3d3', lightgreen: '#90ee90', lightgrey: '#d3d3d3', lightpink: '#ffb6c1', lightsalmon: '#ffa07a', lightseagreen: '#20b2aa', lightskyblue: '#87cefa', lightslategray: '#778899', lightslategrey: '#778899', lightsteelblue: '#b0c4de', lightyellow: '#ffffe0', lime: '#00ff00', limegreen: '#32cd32', linen: '#faf0e6', magenta: '#ff00ff', maroon: '#800000', mediumaquamarine: '#66cdaa', mediumblue: '#0000cd', mediumorchid: '#ba55d3', mediumpurple: '#9370db', mediumseagreen: '#3cb371', mediumslateblue: '#7b68ee', mediumspringgreen: '#00fa9a', mediumturquoise: '#48d1cc', mediumvioletred: '#c71585', midnightblue: '#191970', mintcream: '#f5fffa', mistyrose: '#ffe4e1', moccasin: '#ffe4b5', navajowhite: '#ffdead', navy: '#000080', oldlace: '#fdf5e6', olive: '#808000', olivedrab: '#6b8e23', orange: '#ffa500', orangered: '#ff4500', orchid: '#da70d6', palegoldenrod: '#eee8aa', palegreen: '#98fb98', paleturquoise: '#afeeee', palevioletred: '#db7093', papayawhip: '#ffefd5', peachpuff: '#ffdab9', peru: '#cd853f', pink: '#ffc0cb', plum: '#dda0dd', powderblue: '#b0e0e6', purple: '#800080', rebeccapurple: '#663399', red: '#ff0000', rosybrown: '#bc8f8f', royalblue: '#4169e1', saddlebrown: '#8b4513', salmon: '#fa8072', sandybrown: '#f4a460', seagreen: '#2e8b57', seashell: '#fff5ee', sienna: '#a0522d', silver: '#c0c0c0', skyblue: '#87ceeb', slateblue: '#6a5acd', slategray: '#708090', slategrey: '#708090', snow: '#fffafa', springgreen: '#00ff7f', steelblue: '#4682b4', tan: '#d2b48c', teal: '#008080', thistle: '#d8bfd8', tomato: '#ff6347', turquoise: '#40e0d0', violet: '#ee82ee', wheat: '#f5deb3', white: '#ffffff', whitesmoke: '#f5f5f5', yellow: '#ffff00', yellowgreen: '#9acd32', none: '#00000000', }
Instance Method Summary collapse
-
#abs(value) ⇒ Numeric
Returns the absolute number of the value.
-
#acos(value) ⇒ Numeric
Returns the inverse of cos().
-
#alpha(color) ⇒ Numeric
Returns the red value of the color.
-
#angleMode(mode = nil) ⇒ RADIANS, DEGREES
Sets angle mode.
-
#applyMatrix(*args) ⇒ nil
Reset current transformation matrix with 2x3, or 4x4 matrix.
-
#arc(a, b, c, d, start, stop) ⇒ nil
(also: #drawArc)
Draws an arc.
-
#asin(value) ⇒ Numeric
Returns the inverse of sin().
-
#atan(value) ⇒ Numeric
Returns the inverse of tan().
-
#atan2(y, x) ⇒ Numeric
Returns the angle from a specified point.
-
#background(*args) ⇒ nil
Clears screen.
-
#beginContour ⇒ nil
Begins drawing a hole inside shape.
-
#beginShape(type = nil) ⇒ nil
Begins drawing complex shapes.
-
#bezier(x1, y1, cx1, cy1, cx2, cy2, x2, y2) ⇒ nil
(also: #drawBezier)
Draws a Bezier spline curve.
-
#bezierDetail(detail) ⇒ nil
Sets the resolution at which Bezier’s curve is displayed.
-
#bezierPoint(a, b, c, d, t) ⇒ Numeric
Evaluates the Bezier at point t for points a, b, c, d.
-
#bezierTangent(a, b, c, d, t) ⇒ Numeric
Calculates the tangent of a point on a Bezier curve.
-
#bezierVertex(x2, y2, x3, y3, x4, y4) ⇒ nil
Append bezier vertex for shape polygon.
-
#blend(img = nil, sx, sy, sw, sh, dx, dy, dw, dh, mode) ⇒ nil
Blends image.
-
#blendMode(mode = nil) ⇒ nil
Sets blend mode.
-
#blue(color) ⇒ Numeric
Returns the blue value of the color.
-
#brightness(color) ⇒ Numeric
Returns the brightness value of the color.
-
#ceil(value) ⇒ Numeric
Returns the closest integer number greater than or equal to the value.
-
#circle(x, y, extent) ⇒ nil
(also: #drawCircle)
Draws a circle.
- #clear ⇒ Object
-
#clip(a, b, c, d) ⇒ nil
Limits the drawable rectangle.
-
#color(*args) ⇒ Integer
Creates color value.
-
#colorMode(mode = nil, *maxes) ⇒ RGB, HSB
Sets color mode and max color values.
-
#constrain(value, min, max) ⇒ Numeric
Constrains the number between min..max.
-
#copy(img = nil, sx, sy, sw, sh, dx, dy, dw, dh) ⇒ nil
Copies image.
-
#cos(angle) ⇒ Numeric
Returns the cosine of an angle.
-
#createCapture(*args) ⇒ Capture
Creates a camera object as a video input device.
-
#createFont(name, size) ⇒ Font
Creates a new font object.
-
#createGraphics(width, height, pixelDensity = 1) ⇒ Graphics
Creates a new off-screen graphics context object.
-
#createImage(w, h, format = RGBA) ⇒ Image
Creates a new image object.
-
#createShader(vert, frag) ⇒ Shader
Creates a shader object.
-
#createShape(kind = nil, *args) ⇒ Shape
Creates a new shape object.
-
#createVector(*args) ⇒ Vector
Creates a new vector object.
-
#curve(cx1, cy1, x1, y1, x2, y2, cx2, cy2) ⇒ nil
(also: #drawCurve)
Draws a Catmull-Rom spline curve.
-
#curveDetail(detail) ⇒ nil
Sets the resolution at which curves display.
-
#curvePoint(a, b, c, d, t) ⇒ Numeric
Evaluates the curve at point t for points a, b, c, d.
-
#curveTangent(a, b, c, d, t) ⇒ Numeric
Calculates the tangent of a point on a curve.
-
#curveTightness(tightness) ⇒ nil
Sets the quality of curve forms.
-
#curveVertex(x, y) ⇒ nil
Append curve vertex for shape polygon.
-
#degrees(radian) ⇒ Numeric
Converts radian to degree.
-
#dist(*args) ⇒ Numeric
Returns distance between 2 points.
-
#ellipse(a, b, c, d = nil) ⇒ nil
(also: #drawEllipse)
Draws an ellipse.
-
#ellipseMode(mode) ⇒ nil
Sets ellipse mode.
-
#endContour ⇒ nil
Ends drawing a hole.
-
#endShape(mode = nil) ⇒ nil
Ends drawing complex shapes.
-
#exp(n) ⇒ Numeric
Returns Euler’s number e raised to the power of value.
-
#fill(*args) ⇒ nil
Sets fill color.
-
#filter(*args) ⇒ nil
Applies an image filter to screen.
-
#floor(value) ⇒ Numeric
Returns the closest integer number less than or equal to the value.
-
#green(color) ⇒ Numeric
Returns the green value of the color.
-
#height ⇒ Numeric
Returns the height of the graphics object.
-
#hue(color) ⇒ Numeric
Returns the hue value of the color.
-
#image(img, a, b, c = nil, d = nil) ⇒ nil
(also: #drawImage)
Draws an image.
-
#imageMode(mode) ⇒ nil
Sets image mode.
-
#lerp(start, stop, amount) ⇒ Numeric
Returns the interpolated number between range start..stop.
-
#lerpColor(color1, color2, amount) ⇒ Integer
Returns the interpolated color between color1 and color2.
-
#line(x1, y1, x2, y2) ⇒ nil
(also: #drawLine)
Draws a line.
-
#loadFont(filename) ⇒ Font
Loads font from file.
-
#loadImage(filename, extension = nil) ⇒ Image
Loads image.
-
#loadPixels ⇒ nil
Loads all pixels to the ‘pixels’ array.
-
#loadShader(fragPath, vertPath = nil) ⇒ Shader
Loads shader file.
- #loadShape(filename) ⇒ Object
-
#log(n) ⇒ Numeric
Returns the natural logarithm (the base-e logarithm) of a number.
-
#mag(*args) ⇒ Numeric
Returns the magnitude (or length) of a vector.
-
#map(value, start1, stop1, start2, stop2) ⇒ Numeric
Maps a number from range start1..stop1 to range start2..stop2.
-
#max(*args) ⇒ Numeric
Returns maximum value.
-
#min(*args) ⇒ Numeric
Returns minimum value.
-
#noClip ⇒ nil
Disables clipping.
-
#noFill ⇒ nil
Disables filling.
-
#noise(x, y = 0, z = 0) ⇒ Numeric
Returns the perlin noise value.
-
#noiseDetail(lod, falloff = nil) ⇒ nil
Adjusts the character and level of detail produced by the Perlin noise function.
-
#noiseSeed(seed) ⇒ nil
Sets the seed value for noise().
-
#norm(value, start, stop) ⇒ Numeric
Normalize the value from range start..stop into 0..1.
-
#noStroke ⇒ nil
Disables drawing stroke.
-
#noTint ⇒ nil
Resets tint color.
-
#pixelDensity ⇒ Numeric
Returns the pixel density of the graphics object.
-
#pixelHeight ⇒ Numeric
Returns the height of the graphics object in pixels.
-
#pixels ⇒ Array
An array of all pixels.
-
#pixelWidth ⇒ Numeric
Returns the width of the graphics object in pixels.
-
#point(x, y) ⇒ nil
(also: #drawPoint)
Draws a point.
-
#pop ⇒ nil
Restore styles and transformations from stack.
-
#popMatrix ⇒ nil
Pops the current transformation matrix from stack.
-
#popStyle ⇒ nil
Restore style values from the style stack.
-
#pow(value, exponent) ⇒ Numeric
Returns value raised to the power of exponent.
-
#printMatrix ⇒ nil
Prints matrix elements to console.
-
#push(&block) ⇒ Object
Save current styles and transformations to stack.
-
#pushMatrix(&block) ⇒ Object
Pushes the current transformation matrix to stack.
-
#pushStyle(&block) ⇒ Object
Save current style values to the style stack.
-
#quad(x1, y1, x2, y2, x3, y3, x4, y4) ⇒ nil
(also: #drawQuad)
Draws a quad.
-
#quadraticVertex(cx, cy, x3, y3) ⇒ nil
Append quadratic vertex for shape polygon.
-
#radians(degree) ⇒ Numeric
Converts degree to radian.
-
#random(*args) ⇒ Float
Returns a random number in range low…high.
-
#randomGaussian(mean = 0, sd = 1) ⇒ Float
Returns a random number fitting a Gaussian, or normal, distribution.
-
#randomSeed(seed) ⇒ nil
Sets the seed value for random().
-
#rect(a, b, c, d, *args) ⇒ nil
(also: #drawRect)
Draws a rectangle.
-
#rectMode(mode) ⇒ nil
Sets rect mode.
-
#red(color) ⇒ Numeric
Returns the red value of the color.
-
#renderMode(mode = nil) ⇒ PROCESSING, P5JS
Sets render mode.
-
#requestImage(filename, extension = nil) ⇒ Image
Loads image on a new thread.
-
#resetMatrix ⇒ nil
Reset current transformation matrix with identity matrix.
-
#resetShader ⇒ nil
Resets shader.
-
#rotate(angle) ⇒ nil
Applies rotation matrix to current transformation matrix.
-
#rotateX(angle) ⇒ nil
Applies rotation around the x-axis.
-
#rotateY(angle) ⇒ nil
Applies rotation around the y-axis.
-
#rotateZ(angle) ⇒ nil
Applies rotation around the z-axis.
-
#round(value) ⇒ Numeric
Returns the closest integer number.
-
#saturation(color) ⇒ Numeric
Returns the saturation value of the color.
-
#save(filename) ⇒ nil
Saves screen image to file.
-
#scale(x, y = nil, z = 1) ⇒ nil
Applies scale matrix to current transformation matrix.
-
#shader(shader) ⇒ nil
Sets shader.
-
#shape(shp, a = 0, b = 0, c = nil, d = nil) ⇒ nil
(also: #drawShape)
Draws a shape.
-
#shapeMode(mode) ⇒ nil
Sets shape mode.
-
#shearX(angle) ⇒ nil
Applies shear around the x-axis.
-
#shearY(angle) ⇒ nil
Applies shear around the y-axis.
-
#sin(angle) ⇒ Numeric
Returns the sine of an angle.
-
#sq(value) ⇒ Numeric
Returns squared value.
-
#sqrt(value) ⇒ Numeric
Returns squared value.
-
#square(x, y, extent) ⇒ nil
(also: #drawSquare)
Draws a square.
-
#stroke(*args) ⇒ nil
Sets stroke color.
-
#strokeCap(cap) ⇒ nil
Sets stroke cap mode.
-
#strokeJoin(join) ⇒ nil
Sets stroke join mode.
-
#strokeWeight(weight) ⇒ nil
Sets stroke weight.
-
#tan(angle) ⇒ Numeric
Returns the ratio of the sine and cosine of an angle.
-
#text(str, x, y, x2 = nil, y2 = nil) ⇒ nil
(also: #drawText)
Draws a text.
-
#textAlign(horizontal, vertical = BASELINE) ⇒ nil
Sets the alignment for drawing text.
-
#textAscent ⇒ Numeric
Returns ascent of the current font at its current size.
-
#textDescent ⇒ Numeric
Returns descent of the current font at its current size.
-
#textFont(font = nil, size = nil) ⇒ Font
Sets text font.
-
#textLeading(leading = nil) ⇒ Numeric
Sets the spacing between lines of text in units of pixels.
-
#textSize(size) ⇒ nil
Sets text size.
-
#texture(image) ⇒ nil
Sets texture.
-
#textureMode(mode) ⇒ nil
Sets the coordinate space for texture mapping.
-
#textureWrap(wrap) ⇒ nil
Sets the texture wrapping mode.
-
#textWidth(str) ⇒ Numeric
Returns the width of the text.
-
#tint(*args) ⇒ nil
Sets fill color for drawing images.
-
#translate(x, y, z = 0) ⇒ nil
Applies translation matrix to current transformation matrix.
-
#triangle(x1, y1, x2, y2, x3, y3) ⇒ nil
(also: #drawTriangle)
Draws a triangle.
-
#updatePixels(&block) ⇒ nil
Update the image pixels with the ‘pixels’ array.
-
#vertex(x, y, u = nil, v = nil) ⇒ nil
Append vertex for shape polygon.
-
#width ⇒ Numeric
Returns the width of the graphics object.
Instance Method Details
#abs(value) ⇒ Numeric
Returns the absolute number of the value.
2551 2552 2553 |
# File 'lib/processing/graphics_context.rb', line 2551 def abs(value) value.abs end |
#acos(value) ⇒ Numeric
Returns the inverse of cos().
2922 2923 2924 |
# File 'lib/processing/graphics_context.rb', line 2922 def acos(value) Math.acos value end |
#alpha(color) ⇒ Numeric
Returns the red value of the color.
756 757 758 |
# File 'lib/processing/graphics_context.rb', line 756 def alpha(color) ((color >> 24) & 0xff) / 255.0 * @colorMaxes__[3] end |
#angleMode(mode = nil) ⇒ RADIANS, DEGREES
Sets angle mode.
849 850 851 852 853 854 855 856 857 858 859 860 |
# File 'lib/processing/graphics_context.rb', line 849 def angleMode(mode = nil) if mode != nil @angleMode__ = mode @toRad__, @toDeg__, @fromRad__, @fromDeg__ = case mode.downcase.to_sym when RADIANS then [1.0, RAD2DEG__, 1.0, DEG2RAD__] when DEGREES then [DEG2RAD__, 1.0, RAD2DEG__, 1.0] else raise ArgumentError, "invalid angle mode: #{mode}" end end @angleMode__ end |
#applyMatrix(array) ⇒ nil #applyMatrix(a, b, c, d, e, f) ⇒ nil #applyMatrix(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) ⇒ nil
Reset current transformation matrix with 2x3, or 4x4 matrix.
2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 |
# File 'lib/processing/graphics_context.rb', line 2347 def applyMatrix(*args) assertDrawing__ args = args.first if args.first.kind_of?(Array) if args.size == 6 a, b, c, d, e, f = args args = [ a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, e, f, 0, 1 ] end raise ArgumentError unless args.size == 16 m = Rays::Matrix.new(*args) m.transpose! if @p5jsMode__ @painter__.matrix *= m nil end |
#arc(a, b, c, d, start, stop) ⇒ nil Also known as: drawArc
Draws an arc.
The parameters a, b, c, and d are determined by ellipseMode().
1641 1642 1643 1644 1645 1646 1647 |
# File 'lib/processing/graphics_context.rb', line 1641 def arc(a, b, c, d, start, stop) assertDrawing__ x, y, w, h = toXYWH__ @ellipseMode__, a, b, c, d from, to = toDegrees__(-start), toDegrees__(-stop) @painter__.ellipse x, y, w, h, from: from, to: to nil end |
#asin(value) ⇒ Numeric
Returns the inverse of sin().
2909 2910 2911 |
# File 'lib/processing/graphics_context.rb', line 2909 def asin(value) Math.asin value end |
#atan(value) ⇒ Numeric
Returns the inverse of tan().
2935 2936 2937 |
# File 'lib/processing/graphics_context.rb', line 2935 def atan(value) Math.atan value end |
#atan2(y, x) ⇒ Numeric
Returns the angle from a specified point.
2949 2950 2951 |
# File 'lib/processing/graphics_context.rb', line 2949 def atan2(y, x) Math.atan2 y, x end |
#background(str) ⇒ nil #background(str, alpha) ⇒ nil #background(gray) ⇒ nil #background(gray, alpha) ⇒ nil #background(r, g, b) ⇒ nil #background(r, g, b, alpha) ⇒ nil
Clears screen.
1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 |
# File 'lib/processing/graphics_context.rb', line 1466 def background(*args) assertDrawing__ rgba = toRGBA__(*args) if rgba[3] == 1 @painter__.background(*rgba) else @painter__.push fill: rgba, stroke: :none, blend_mode: :replace do |_| @painter__.rect 0, 0, width, height end end nil end |
#beginContour ⇒ nil
Begins drawing a hole inside shape.
1946 1947 1948 1949 |
# File 'lib/processing/graphics_context.rb', line 1946 def beginContour() (@drawingShape__ or raise "beginContour() must be called after beginShape()") .beginContour end |
#beginShape(type = nil) ⇒ nil
Begins drawing complex shapes.
1900 1901 1902 1903 1904 |
# File 'lib/processing/graphics_context.rb', line 1900 def beginShape(type = nil) raise "beginShape() cannot be called twice" if @drawingShape__ @drawingShape__ = createShape @drawingShape__.beginShape type end |
#bezier(x1, y1, cx1, cy1, cx2, cy2, x2, y2) ⇒ nil Also known as: drawBezier
Draws a Bezier spline curve.
1756 1757 1758 1759 1760 1761 1762 |
# File 'lib/processing/graphics_context.rb', line 1756 def bezier(x1, y1, cx1, cy1, cx2, cy2, x2, y2) assertDrawing__ @painter__.nsegment = @bezierDetail__ @painter__.bezier x1, y1, cx1, cy1, cx2, cy2, x2, y2 @painter__.nsegment = 0 nil end |
#bezierDetail(detail) ⇒ nil
Sets the resolution at which Bezier’s curve is displayed. The default value is 20.
1149 1150 1151 1152 1153 |
# File 'lib/processing/graphics_context.rb', line 1149 def bezierDetail(detail) detail = 1 if detail < 1 @bezierDetail__ = detail nil end |
#bezierPoint(a, b, c, d, t) ⇒ Numeric
Evaluates the Bezier at point t for points a, b, c, d.
3014 3015 3016 3017 3018 3019 3020 |
# File 'lib/processing/graphics_context.rb', line 3014 def bezierPoint(a, b, c, d, t) tt = 1.0 - t tt ** 3.0 * a + tt ** 2.0 * b * 3.0 * t + t ** 2.0 * c * 3.0 * tt + t ** 3.0 * d end |
#bezierTangent(a, b, c, d, t) ⇒ Numeric
Calculates the tangent of a point on a Bezier curve.
3035 3036 3037 3038 3039 3040 3041 3042 3043 |
# File 'lib/processing/graphics_context.rb', line 3035 def bezierTangent(a, b, c, d, t) tt = 1.0 - t 3.0 * d * t ** 2.0 - 3.0 * c * t ** 2.0 + 6.0 * c * tt * t - 6.0 * b * tt * t + 3.0 * b * tt ** 2.0 - 3.0 * a * tt ** 2.0 end |
#bezierVertex(x2, y2, x3, y3, x4, y4) ⇒ nil
Append bezier vertex for shape polygon.
2008 2009 2010 2011 |
# File 'lib/processing/graphics_context.rb', line 2008 def bezierVertex(x2, y2, x3, y3, x4, y4) (@drawingShape__ or raise "bezierVertex() must be called after beginShape()") .bezierVertex x2, y2, x3, y3, x4, y4 end |
#blend(sx, sy, sw, sh, dx, dy, dw, dh, mode) ⇒ nil #blend(img, sx, sy, sw, sh, dx, dy, dw, dh, mode) ⇒ nil
Blends image.
2073 2074 2075 2076 2077 2078 |
# File 'lib/processing/graphics_context.rb', line 2073 def blend(img = nil, sx, sy, sw, sh, dx, dy, dw, dh, mode) assertDrawing__ (img || self).drawImage__( @painter__, sx, sy, sw, sh, dx, dy, dw, dh, fill: getTint__, stroke: :none, blend_mode: mode) end |
#blendMode(mode = nil) ⇒ nil
Sets blend mode. Default is BLEND.
971 972 973 974 975 976 977 |
# File 'lib/processing/graphics_context.rb', line 971 def blendMode(mode = nil) if mode != nil @blendMode__ = mode @painter__.blend_mode = mode end @blendMode__ end |
#blue(color) ⇒ Numeric
Returns the blue value of the color.
743 744 745 |
# File 'lib/processing/graphics_context.rb', line 743 def blue(color) (color & 0xff) / 255.0 * @colorMaxes__[2] end |
#brightness(color) ⇒ Numeric
Returns the brightness value of the color.
797 798 799 800 |
# File 'lib/processing/graphics_context.rb', line 797 def brightness(color) _, _, b = color2raw__(color).to_hsv b * (@hsbColor__ ? @colorMaxes__[2] : 1) end |
#ceil(value) ⇒ Numeric
Returns the closest integer number greater than or equal to the value.
2564 2565 2566 |
# File 'lib/processing/graphics_context.rb', line 2564 def ceil(value) value.ceil end |
#circle(x, y, extent) ⇒ nil Also known as: drawCircle
Draws a circle.
1619 1620 1621 |
# File 'lib/processing/graphics_context.rb', line 1619 def circle(x, y, extent) ellipse x, y, extent, extent end |
#clear ⇒ Object
1479 1480 1481 1482 1483 |
# File 'lib/processing/graphics_context.rb', line 1479 def clear() assertDrawing__ @painter__.background 0, 0 nil end |
#clip(a, b, c, d) ⇒ nil
Limits the drawable rectangle.
The parameters a, b, c, and d are determined by rectMode().
1211 1212 1213 1214 1215 |
# File 'lib/processing/graphics_context.rb', line 1211 def clip(a, b, c, d) x, y, w, h = toXYWH__ @imageMode__, a, b, c, d @painter__.clip x, y, w, h nil end |
#color(gray) ⇒ Integer #color(gray, alpha) ⇒ Integer #color(v1, v2, v3) ⇒ Integer #color(v1, v2, v3, alpha) ⇒ Integer
Creates color value.
693 694 695 696 697 |
# File 'lib/processing/graphics_context.rb', line 693 def color(*args) toRGBA__(*args) .map {|n| (n * 255).to_i.clamp 0, 255} .then {|r, g, b, a| Image.toColor__ r, g, b, a} end |
#colorMode(mode) ⇒ RGB, HSB #colorMode(mode, max) ⇒ RGB, HSB #colorMode(mode, max1, max2, max3) ⇒ RGB, HSB #colorMode(mode, max1, max2, max3, maxA) ⇒ RGB, HSB
Sets color mode and max color values.
659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 |
# File 'lib/processing/graphics_context.rb', line 659 def colorMode(mode = nil, *maxes) if mode != nil mode = mode.downcase.to_sym raise ArgumentError, "invalid color mode: #{mode}" unless [RGB, HSB].include?(mode) raise ArgumentError unless [0, 1, 3, 4].include?(maxes.size) @colorMode__ = mode @hsbColor__ = mode == HSB case maxes.size when 1 then @colorMaxes__ = [maxes.first.to_f] * 4 when 3, 4 then @colorMaxes__[0...maxes.size] = maxes.map &:to_f end end @colorMode__ end |
#constrain(value, min, max) ⇒ Numeric
Constrains the number between min..max.
2831 2832 2833 |
# File 'lib/processing/graphics_context.rb', line 2831 def constrain(value, min, max) value < min ? min : (value > max ? max : value) end |
#copy(sx, sy, sw, sh, dx, dy, dw, dh) ⇒ nil #copy(img, sx, sy, sw, sh, dx, dy, dw, dh) ⇒ nil
Copies image.
2048 2049 2050 |
# File 'lib/processing/graphics_context.rb', line 2048 def copy(img = nil, sx, sy, sw, sh, dx, dy, dw, dh) blend img, sx, sy, sw, sh, dx, dy, dw, dh, BLEND end |
#cos(angle) ⇒ Numeric
Returns the cosine of an angle.
2883 2884 2885 |
# File 'lib/processing/graphics_context.rb', line 2883 def cos(angle) Math.cos angle end |
#createCapture(*args) ⇒ Capture
Creates a camera object as a video input device.
3345 3346 3347 |
# File 'lib/processing/graphics_context.rb', line 3345 def createCapture(*args) Capture.new(*args) end |
#createFont(name, size) ⇒ Font
Creates a new font object.
3196 3197 3198 3199 |
# File 'lib/processing/graphics_context.rb', line 3196 def createFont(name, size) size = FONT_SIZE_MAX__ if size && size > FONT_SIZE_MAX__ Font.new Rays::Font.new(name, size || FONT_SIZE_DEFAULT__) end |
#createGraphics(width, height, pixelDensity = 1) ⇒ Graphics
Creates a new off-screen graphics context object.
3297 3298 3299 |
# File 'lib/processing/graphics_context.rb', line 3297 def createGraphics(width, height, pixelDensity = 1) Graphics.new width, height, pixelDensity end |
#createImage(w, h) ⇒ Image #createImage(w, h, format) ⇒ Image
Creates a new image object.
3215 3216 3217 3218 3219 |
# File 'lib/processing/graphics_context.rb', line 3215 def createImage(w, h, format = RGBA) colorspace = {RGB => Rays::RGB, RGBA => Rays::RGBA}[format] raise ArgumentError, "Unknown image format" unless colorspace Image.new Rays::Image.new(w, h, colorspace).paint {background 0, 0} end |
#createShader(vertPath, fragPath) ⇒ Shader #createShader(vertSource, fragSource) ⇒ Shader
Creates a shader object.
Passing nil for a vertex shader parameter causes the following default vertex shader to be used. “‘ attribute vec3 position; attribute vec3 texCoord; attribute vec4 color; varying vec4 vertPosition; varying vec4 vertTexCoord; varying vec4 vertColor; uniform mat4 transform; uniform mat4 texMatrix; void main ()
vec4 pos__ = vec4(position, 1.0);
vertPosition = pos__;
vertTexCoord = texMatrix * vec4(texCoord, 1.0);
vertColor = color;
gl_Position = transform * pos__;
“‘
3335 3336 3337 3338 3339 |
# File 'lib/processing/graphics_context.rb', line 3335 def createShader(vert, frag) vert = File.read if vert && File.exist?(vert) frag = File.read if frag && File.exist?(frag) Shader.new vert, frag end |
#createShape ⇒ Shape #createShape(LINE, x1, y1, x2, y2) ⇒ Shape #createShape(RECT, a, b, c, d) ⇒ Shape #createShape(ELLIPSE, a, b, c, d) ⇒ Shape #createShape(ARC, a, b, c, d, start, stop) ⇒ Shape #createShape(TRIANGLE, x1, y1, x2, y2, x3, y3) ⇒ Shape #createShape(QUAD, x1, y1, x2, y2, x3, y3, x4, y4) ⇒ Shape #createShape(GROUP) ⇒ Shape
Creates a new shape object.
3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 |
# File 'lib/processing/graphics_context.rb', line 3238 def createShape(kind = nil, *args) case kind when LINE then createLineShape__( *args) when RECT then createRectShape__( *args) when ELLIPSE then createEllipseShape__( *args) when ARC then createArcShape__( *args) when TRIANGLE then createTriangleShape__(*args) when QUAD then createQuadShape__( *args) when GROUP then Shape.new nil, [], context: self when nil then Shape.new context: self else raise ArgumentError, "Unknown shape kind '#{kind}'" end end |
#createVector ⇒ Vector #createVector(x, y) ⇒ Vector #createVector(x, y, z) ⇒ Vector
Creates a new vector object.
3183 3184 3185 |
# File 'lib/processing/graphics_context.rb', line 3183 def createVector(*args) Vector.new(*args, context: self) end |
#curve(cx1, cy1, x1, y1, x2, y2, cx2, cy2) ⇒ nil Also known as: drawCurve
Draws a Catmull-Rom spline curve.
1730 1731 1732 1733 1734 1735 1736 |
# File 'lib/processing/graphics_context.rb', line 1730 def curve(cx1, cy1, x1, y1, x2, y2, cx2, cy2) assertDrawing__ @painter__.nsegment = @curveDetail__ @painter__.curve cx1, cy1, x1, y1, x2, y2, cx2, cy2 @painter__.nsegment = 0 nil end |
#curveDetail(detail) ⇒ nil
Sets the resolution at which curves display. The default value is 20 while the minimum value is 3.
1119 1120 1121 1122 1123 |
# File 'lib/processing/graphics_context.rb', line 1119 def curveDetail(detail) detail = 3 if detail < 3 @curveDetail__ = detail nil end |
#curvePoint(a, b, c, d, t) ⇒ Numeric
Evaluates the curve at point t for points a, b, c, d.
2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 |
# File 'lib/processing/graphics_context.rb', line 2966 def curvePoint(a, b, c, d, t) s = @curveTightness__ t3 = t * t * t t2 = t * t f1 = ( s - 1.0) / 2.0 * t3 + ( 1.0 - s) * t2 + (s - 1.0) / 2.0 * t f2 = ( s + 3.0) / 2.0 * t3 + (-5.0 - s) / 2.0 * t2 + 1.0 f3 = (-3.0 - s) / 2.0 * t3 + ( s + 2.0) * t2 + (1.0 - s) / 2.0 * t f4 = ( 1.0 - s) / 2.0 * t3 + ( s - 1.0) / 2.0 * t2 a * f1 + b * f2 + c * f3 + d * f4 end |
#curveTangent(a, b, c, d, t) ⇒ Numeric
Calculates the tangent of a point on a curve.
2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 |
# File 'lib/processing/graphics_context.rb', line 2990 def curveTangent(a, b, c, d, t) s = @curveTightness__ tt3 = t * t * 3.0 t2 = t * 2.0 f1 = ( s - 1.0) / 2.0 * tt3 + ( 1.0 - s) * t2 + (s - 1.0) / 2.0 f2 = ( s + 3.0) / 2.0 * tt3 + (-5.0 - s) / 2.0 * t2 f3 = (-3.0 - s) / 2.0 * tt3 + ( s + 2.0) * t2 + (1.0 - s) / 2.0 f4 = ( 1.0 - s) / 2.0 * tt3 + ( s - 1.0) / 2.0 * t2 a * f1 + b * f2 + c * f3 + d * f4 end |
#curveTightness(tightness) ⇒ nil
Sets the quality of curve forms.
1134 1135 1136 1137 |
# File 'lib/processing/graphics_context.rb', line 1134 def curveTightness(tightness) @curveTightness__ = tightness nil end |
#curveVertex(x, y) ⇒ nil
Append curve vertex for shape polygon.
1993 1994 1995 1996 |
# File 'lib/processing/graphics_context.rb', line 1993 def curveVertex(x, y) (@drawingShape__ or raise "curveVertex() must be called after beginShape()") .curveVertex x, y end |
#degrees(radian) ⇒ Numeric
Converts radian to degree.
2857 2858 2859 |
# File 'lib/processing/graphics_context.rb', line 2857 def degrees(radian) radian * RAD2DEG__ end |
#dist(x1, y1, x2, y2) ⇒ Numeric #dist(x1, y1, z1, x2, y2, z2) ⇒ Numeric
Returns distance between 2 points.
2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 |
# File 'lib/processing/graphics_context.rb', line 2700 def dist(*args) case args.size when 4 x1, y1, x2, y2 = *args xx, yy = x2 - x1, y2 - y1 Math.sqrt xx * xx + yy * yy when 3 x1, y1, z1, x2, y2, z2 = *args xx, yy, zz = x2 - x1, y2 - y1, z2 - z1 Math.sqrt xx * xx + yy * yy + zz * zz else raise ArgumentError end end |
#ellipse(a, b, c) ⇒ nil #ellipse(a, b, c, d) ⇒ nil Also known as: drawEllipse
Draws an ellipse.
The parameters a, b, c, and d are determined by ellipseMode().
1595 1596 1597 1598 1599 1600 |
# File 'lib/processing/graphics_context.rb', line 1595 def ellipse(a, b, c, d = nil) assertDrawing__ x, y, w, h = toXYWH__ @ellipseMode__, a, b, c, (d || c) @painter__.ellipse x, y, w, h nil end |
#ellipseMode(mode) ⇒ nil
Sets ellipse mode. Default is CENTER.
CORNER -> ellipse(left, top, width, height) CORNERS -> ellipse(left, top, right, bottom) CENTER -> ellipse(centerX, centerY, width, height) RADIUS -> ellipse(centerX, centerY, radiusH, radiusV)
914 915 916 |
# File 'lib/processing/graphics_context.rb', line 914 def ellipseMode(mode) @ellipseMode__ = mode end |
#endContour ⇒ nil
Ends drawing a hole.
1958 1959 1960 1961 |
# File 'lib/processing/graphics_context.rb', line 1958 def endContour() (@drawingShape__ or raise "endContour() must be called after beginShape()") .endContour end |
#endShape ⇒ nil #endShape(CLOSE) ⇒ nil
Ends drawing complex shapes.
1917 1918 1919 1920 1921 1922 1923 |
# File 'lib/processing/graphics_context.rb', line 1917 def endShape(mode = nil) s = @drawingShape__ or raise "endShape() must be called after beginShape()" s.endShape mode shape s @drawingShape__ = nil nil end |
#exp(n) ⇒ Numeric
Returns Euler’s number e raised to the power of value.
2616 2617 2618 |
# File 'lib/processing/graphics_context.rb', line 2616 def exp(n) Math.exp n end |
#fill(rgb) ⇒ nil #fill(rgb, alpha) ⇒ nil #fill(gray) ⇒ nil #fill(gray, alpha) ⇒ nil #fill(r, g, b) ⇒ nil #fill(r, g, b, alpha) ⇒ nil
Sets fill color.
1005 1006 1007 1008 |
# File 'lib/processing/graphics_context.rb', line 1005 def fill(*args) @painter__.fill(*toRGBA__(*args)) nil end |
#filter(*args) ⇒ nil
Applies an image filter to screen.
overload filter(shader) overload filter(type) overload filter(type, param)
1434 1435 1436 1437 |
# File 'lib/processing/graphics_context.rb', line 1434 def filter(*args) @filter__ = Shader.createFilter__(*args) nil end |
#floor(value) ⇒ Numeric
Returns the closest integer number less than or equal to the value.
2577 2578 2579 |
# File 'lib/processing/graphics_context.rb', line 2577 def floor(value) value.floor end |
#green(color) ⇒ Numeric
Returns the green value of the color.
730 731 732 |
# File 'lib/processing/graphics_context.rb', line 730 def green(color) ((color >> 8) & 0xff) / 255.0 * @colorMaxes__[1] end |
#height ⇒ Numeric
Returns the height of the graphics object.
591 592 593 |
# File 'lib/processing/graphics_context.rb', line 591 def height() getInternal__.height end |
#hue(color) ⇒ Numeric
Returns the hue value of the color.
769 770 771 772 |
# File 'lib/processing/graphics_context.rb', line 769 def hue(color) h, = color2raw__(color).to_hsv h * (@hsbColor__ ? @colorMaxes__[0] : 1) end |
#image(img, a, b) ⇒ nil #image(img, a, b, c, d) ⇒ nil Also known as: drawImage
Draws an image.
The parameters a, b, c, and d are determined by imageMode().
1833 1834 1835 1836 1837 1838 |
# File 'lib/processing/graphics_context.rb', line 1833 def image(img, a, b, c = nil, d = nil) assertDrawing__ x, y, w, h = toXYWH__ @imageMode__, a, b, c || img.width, d || img.height img.drawImage__ @painter__, x, y, w, h, fill: getTint__, stroke: :none nil end |
#imageMode(mode) ⇒ nil
Sets image mode. Default is CORNER.
CORNER -> image(img, left, top, width, height) CORNERS -> image(img, left, top, right, bottom) CENTER -> image(img, centerX, centerY, width, height)
931 932 933 |
# File 'lib/processing/graphics_context.rb', line 931 def imageMode(mode) @imageMode__ = mode end |
#lerp(start, stop, amount) ⇒ Numeric
Returns the interpolated number between range start..stop.
2740 2741 2742 |
# File 'lib/processing/graphics_context.rb', line 2740 def lerp(start, stop, amount) start + (stop - start) * amount end |
#lerpColor(color1, color2, amount) ⇒ Integer
Returns the interpolated color between color1 and color2.
2755 2756 2757 2758 2759 2760 2761 |
# File 'lib/processing/graphics_context.rb', line 2755 def lerpColor(color1, color2, amount) color( lerp(red( color1), red( color2), amount), lerp(green(color1), green(color2), amount), lerp(blue( color1), blue( color2), amount), lerp(alpha(color1), alpha(color2), amount)) end |
#line(x1, y1, x2, y2) ⇒ nil Also known as: drawLine
Draws a line.
1523 1524 1525 1526 1527 |
# File 'lib/processing/graphics_context.rb', line 1523 def line(x1, y1, x2, y2) assertDrawing__ @painter__.line x1, y1, x2, y2 nil end |
#loadFont(filename) ⇒ Font
Loads font from file.
3358 3359 3360 3361 3362 3363 3364 |
# File 'lib/processing/graphics_context.rb', line 3358 def loadFont(filename) ext = File.extname filename raise "unsupported font type -- '#{ext}'" unless ext =~ /^\.?(ttf|otf)$/i filename = httpGet__ filename, ext if filename =~ %r|^https?://| Font.new Rays::Font.load filename end |
#loadImage(filename, extension = nil) ⇒ Image
Loads image.
3376 3377 3378 3379 3380 3381 3382 |
# File 'lib/processing/graphics_context.rb', line 3376 def loadImage(filename, extension = nil) ext = extension || File.extname(filename) raise "unsupported image type -- '#{ext}'" unless ext =~ /^\.?(png|jpg|gif)$/i filename = httpGet__ filename, ext if filename =~ %r|^https?://| Image.new Rays::Image.load filename end |
#loadPixels ⇒ nil
Loads all pixels to the ‘pixels’ array.
2087 2088 2089 |
# File 'lib/processing/graphics_context.rb', line 2087 def loadPixels() @pixels__ = getInternal__.pixels end |
#loadShader(fragPath) ⇒ Shader #loadShader(fragPath, vertPath) ⇒ Shader
Loads shader file.
3423 3424 3425 |
# File 'lib/processing/graphics_context.rb', line 3423 def loadShader(fragPath, vertPath = nil) createShader vertPath, fragPath end |
#loadShape(filename) ⇒ Object
3406 3407 3408 |
# File 'lib/processing/graphics_context.rb', line 3406 def loadShape(filename) Processing::SVGLoader.new(self).load filename end |
#log(n) ⇒ Numeric
Returns the natural logarithm (the base-e logarithm) of a number.
2603 2604 2605 |
# File 'lib/processing/graphics_context.rb', line 2603 def log(n) Math.log n end |
#mag(x, y) ⇒ Numeric #mag(x, y, z) ⇒ Numeric
Returns the magnitude (or length) of a vector.
2674 2675 2676 2677 2678 2679 2680 2681 |
# File 'lib/processing/graphics_context.rb', line 2674 def mag(*args) x, y, z = *args case args.size when 2 then Math.sqrt x * x + y * y when 3 then Math.sqrt x * x + y * y + z * z else raise ArgumentError end end |
#map(value, start1, stop1, start2, stop2) ⇒ Numeric
Maps a number from range start1..stop1 to range start2..stop2.
2776 2777 2778 |
# File 'lib/processing/graphics_context.rb', line 2776 def map(value, start1, stop1, start2, stop2) lerp start2, stop2, norm(value, start1, stop1) end |
#max(a, b) ⇒ Numeric #max(a, b, c) ⇒ Numeric #max(array) ⇒ Numeric
Returns maximum value.
2816 2817 2818 |
# File 'lib/processing/graphics_context.rb', line 2816 def max(*args) args.flatten.max end |
#min(a, b) ⇒ Numeric #min(a, b, c) ⇒ Numeric #min(array) ⇒ Numeric
Returns minimum value.
2796 2797 2798 |
# File 'lib/processing/graphics_context.rb', line 2796 def min(*args) args.flatten.min end |
#noClip ⇒ nil
Disables clipping.
1223 1224 1225 1226 |
# File 'lib/processing/graphics_context.rb', line 1223 def noClip() @painter__.no_clip nil end |
#noFill ⇒ nil
Disables filling.
1017 1018 1019 1020 |
# File 'lib/processing/graphics_context.rb', line 1017 def noFill() @painter__.fill nil nil end |
#noise(x) ⇒ Numeric #noise(x, y) ⇒ Numeric #noise(x, y, z) ⇒ Numeric
Returns the perlin noise value.
3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 |
# File 'lib/processing/graphics_context.rb', line 3060 def noise(x, y = 0, z = 0) seed, falloff = @noiseSeed__, @noiseFallOff__ amp = 0.5 @noiseOctaves__.times.reduce(0) do |sum| value = (Rays.perlin(x, y, z, seed) / 2.0 + 0.5) * amp x *= 2 y *= 2 z *= 2 amp *= falloff sum + value end end |
#noiseDetail(lod, falloff = nil) ⇒ nil
Adjusts the character and level of detail produced by the Perlin noise function.
3096 3097 3098 3099 |
# File 'lib/processing/graphics_context.rb', line 3096 def noiseDetail(lod, falloff = nil) @noiseOctaves__ = lod if lod && lod > 0 @noiseFallOff__ = falloff if falloff && falloff > 0 end |
#noiseSeed(seed) ⇒ nil
Sets the seed value for noise()
3082 3083 3084 |
# File 'lib/processing/graphics_context.rb', line 3082 def noiseSeed(seed) @noiseSeed__ = Random.new(seed).rand 0.0..1.0 end |
#norm(value, start, stop) ⇒ Numeric
Normalize the value from range start..stop into 0..1.
2725 2726 2727 |
# File 'lib/processing/graphics_context.rb', line 2725 def norm(value, start, stop) (value.to_f - start.to_f) / (stop.to_f - start.to_f) end |
#noStroke ⇒ nil
Disables drawing stroke.
1060 1061 1062 1063 |
# File 'lib/processing/graphics_context.rb', line 1060 def noStroke() @painter__.stroke nil nil end |
#noTint ⇒ nil
Resets tint color.
1188 1189 1190 |
# File 'lib/processing/graphics_context.rb', line 1188 def noTint() @tint__ = nil end |
#pixelDensity ⇒ Numeric
Returns the pixel density of the graphics object.
622 623 624 |
# File 'lib/processing/graphics_context.rb', line 622 def pixelDensity() @painter__.pixel_density end |
#pixelHeight ⇒ Numeric
Returns the height of the graphics object in pixels.
611 612 613 |
# File 'lib/processing/graphics_context.rb', line 611 def pixelHeight() height * pixelDensity end |
#pixels ⇒ Array
An array of all pixels. Call loadPixels() before accessing the array.
2119 2120 2121 |
# File 'lib/processing/graphics_context.rb', line 2119 def pixels() @pixels__ end |
#pixelWidth ⇒ Numeric
Returns the width of the graphics object in pixels.
601 602 603 |
# File 'lib/processing/graphics_context.rb', line 601 def pixelWidth() width * pixelDensity end |
#point(x, y) ⇒ nil Also known as: drawPoint
Draws a point.
1499 1500 1501 1502 1503 |
# File 'lib/processing/graphics_context.rb', line 1499 def point(x, y) assertDrawing__ @painter__.point x, y nil end |
#pop ⇒ nil
Restore styles and transformations from stack.
2510 2511 2512 2513 |
# File 'lib/processing/graphics_context.rb', line 2510 def pop() popMatrix popStyle end |
#popMatrix ⇒ nil
Pops the current transformation matrix from stack.
2311 2312 2313 2314 2315 2316 |
# File 'lib/processing/graphics_context.rb', line 2311 def popMatrix() assertDrawing__ raise "matrix stack underflow" if @matrixStack__.empty? @painter__.matrix = @matrixStack__.pop nil end |
#popStyle ⇒ nil
Restore style values from the style stack.
2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 |
# File 'lib/processing/graphics_context.rb', line 2447 def popStyle() assertDrawing__ raise "style stack underflow" if @styleStack__.empty? @painter__.fill, @painter__.stroke, @painter__.stroke_width, @painter__.stroke_cap, @painter__.stroke_join, @painter__.miter_limit, @painter__.line_height, @painter__.clip, @painter__.blend_mode, @painter__.font, @painter__.texture, @painter__.texcoord_mode, @painter__.texcoord_wrap, @painter__.shader, @colorMode__, @hsbColor__, @colorMaxes__, @angleMode__, @toRad__, @toDeg__, @fromRad__, @fromDeg__, @rectMode__, @ellipseMode__, @imageMode__, @shapeMode__, @blendMode__, @curveDetail__, @curveTightness__, @bezierDetail__, @textAlignH__, @textAlignV__, @textFont__, @tint__ = @styleStack__.pop @textFont__.setSize__ @painter__.font.size nil end |
#pow(value, exponent) ⇒ Numeric
Returns value raised to the power of exponent.
2630 2631 2632 |
# File 'lib/processing/graphics_context.rb', line 2630 def pow(value, exponent) value ** exponent end |
#printMatrix ⇒ nil
Prints matrix elements to console.
2385 2386 2387 2388 2389 2390 |
# File 'lib/processing/graphics_context.rb', line 2385 def printMatrix() m = @painter__.matrix m.transpose! if @p5jsMode__ print "%f %f %f %f\n%f %f %f %f\n%f %f %f %f\n%f %f %f %f\n" % m.to_a nil end |
#push(&block) ⇒ Object
Save current styles and transformations to stack.
2495 2496 2497 2498 2499 2500 2501 |
# File 'lib/processing/graphics_context.rb', line 2495 def push(&block) pushMatrix pushStyle block.call if block ensure pop if block end |
#pushMatrix(&block) ⇒ Object
Pushes the current transformation matrix to stack.
2297 2298 2299 2300 2301 2302 2303 |
# File 'lib/processing/graphics_context.rb', line 2297 def pushMatrix(&block) assertDrawing__ @matrixStack__.push @painter__.matrix block.call if block ensure popMatrix if block end |
#pushStyle(&block) ⇒ Object
Save current style values to the style stack.
2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 |
# File 'lib/processing/graphics_context.rb', line 2398 def pushStyle(&block) assertDrawing__ @styleStack__.push [ @painter__.fill, @painter__.stroke, @painter__.stroke_width, @painter__.stroke_cap, @painter__.stroke_join, @painter__.miter_limit, @painter__.line_height!, @painter__.clip, @painter__.blend_mode, @painter__.font, @painter__.texture, @painter__.texcoord_mode, @painter__.texcoord_wrap, @painter__.shader, @colorMode__, @hsbColor__, @colorMaxes__, @angleMode__, @toRad__, @toDeg__, @fromRad__, @fromDeg__, @rectMode__, @ellipseMode__, @imageMode__, @shapeMode__, @blendMode__, @curveDetail__, @curveTightness__, @bezierDetail__, @textAlignH__, @textAlignV__, @textFont__, @tint__, ] block.call if block ensure popStyle if block end |
#quad(x1, y1, x2, y2, x3, y3, x4, y4) ⇒ nil Also known as: drawQuad
Draws a quad.
1706 1707 1708 1709 1710 |
# File 'lib/processing/graphics_context.rb', line 1706 def quad(x1, y1, x2, y2, x3, y3, x4, y4) assertDrawing__ @painter__.line x1, y1, x2, y2, x3, y3, x4, y4, loop: true nil end |
#quadraticVertex(cx, cy, x3, y3) ⇒ nil
Append quadratic vertex for shape polygon.
2023 2024 2025 2026 |
# File 'lib/processing/graphics_context.rb', line 2023 def quadraticVertex(cx, cy, x3, y3) (@drawingShape__ or raise "quadraticVertex() must be called after beginShape()") .quadraticVertex cx, cy, x3, y3 end |
#radians(degree) ⇒ Numeric
Converts degree to radian.
2844 2845 2846 |
# File 'lib/processing/graphics_context.rb', line 2844 def radians(degree) degree * DEG2RAD__ end |
#random(high) ⇒ Float #random(low, high) ⇒ Float #random(choices) ⇒ Float
Returns a random number in range low…high
3116 3117 3118 3119 3120 3121 3122 3123 3124 |
# File 'lib/processing/graphics_context.rb', line 3116 def random(*args) if args.first.kind_of? Array a = args.first a.empty? ? nil : a[@random__.rand a.size] else high, low = args.reverse @random__.rand (low || 0).to_f...(high || 1).to_f end end |
#randomGaussian(mean = 0, sd = 1) ⇒ Float
Returns a random number fitting a Gaussian, or normal, distribution.
3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 |
# File 'lib/processing/graphics_context.rb', line 3150 def randomGaussian(mean = 0, sd = 1) value = if @nextGaussian__ x, @nextGaussian__ = @nextGaussian__, nil x else a, b, w = 0, 0, 1 until w < 1 a = random(2) - 1 b = random(2) - 1 w = a ** 2 + b ** 2 end w = Math.sqrt(-2 * Math.log(w) / w) @randomGaussian__ = a * w b * w end value * sd + mean end |
#randomSeed(seed) ⇒ nil
Sets the seed value for random()
3135 3136 3137 3138 |
# File 'lib/processing/graphics_context.rb', line 3135 def randomSeed(seed) @random__ = Random.new seed @nextGaussian__ = nil end |
#rect(a, b, c, d) ⇒ nil #rect(a, b, c, d, r) ⇒ nil #rect(a, b, c, d, tl, tr, br, bl) ⇒ nil Also known as: drawRect
Draws a rectangle.
The parameters a, b, c, and d are determined by rectMode().
1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 |
# File 'lib/processing/graphics_context.rb', line 1559 def rect(a, b, c, d, *args) assertDrawing__ x, y, w, h = toXYWH__ @rectMode__, a, b, c, d case args.size when 0 then @painter__.rect x, y, w, h when 1 then @painter__.rect x, y, w, h, round: args[0] when 4 then @painter__.rect x, y, w, h, lt: args[0], rt: args[1], rb: args[2], lb: args[3] else raise ArgumentError # ToDo: refine error message end nil end |
#rectMode(mode) ⇒ nil
Sets rect mode. Default is CORNER.
CORNER -> rect(left, top, width, height) CORNERS -> rect(left, top, right, bottom) CENTER -> rect(centerX, centerY, width, height) RADIUS -> rect(centerX, centerY, radiusH, radiusV)
896 897 898 |
# File 'lib/processing/graphics_context.rb', line 896 def rectMode(mode) @rectMode__ = mode end |
#red(color) ⇒ Numeric
Returns the red value of the color.
717 718 719 |
# File 'lib/processing/graphics_context.rb', line 717 def red(color) ((color >> 16) & 0xff) / 255.0 * @colorMaxes__[0] end |
#renderMode(mode = nil) ⇒ PROCESSING, P5JS
Sets render mode.
632 633 634 635 636 637 638 |
# File 'lib/processing/graphics_context.rb', line 632 def renderMode(mode = nil) if mode @renderMode__ = mode @p5jsMode__ = mode == P5JS end @renderMode__ end |
#requestImage(filename, extension = nil) ⇒ Image
Loads image on a new thread. When the image is loading, its width and height will be 0. If an error occurs while loading the image, its width and height wil be -1.
3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 |
# File 'lib/processing/graphics_context.rb', line 3395 def requestImage(filename, extension = nil) img = Image.new nil Thread.new filename, extension do |fn, ext| loaded = loadImage(fn, ext) or raise img.setInternal__ loaded.getInternal__ rescue img.setInternal__ nil, true end img end |
#resetMatrix ⇒ nil
Reset current transformation matrix with identity matrix.
2373 2374 2375 2376 2377 |
# File 'lib/processing/graphics_context.rb', line 2373 def resetMatrix() assertDrawing__ @painter__.matrix = 1 nil end |
#resetShader ⇒ nil
Resets shader.
1414 1415 1416 1417 |
# File 'lib/processing/graphics_context.rb', line 1414 def resetShader() @painter__.no_shader nil end |
#rotate(angle) ⇒ nil
Applies rotation matrix to current transformation matrix.
2202 2203 2204 2205 2206 |
# File 'lib/processing/graphics_context.rb', line 2202 def rotate(angle) assertDrawing__ @painter__.rotate toDegrees__ angle nil end |
#rotateX(angle) ⇒ nil
Applies rotation around the x-axis.
2217 2218 2219 2220 2221 |
# File 'lib/processing/graphics_context.rb', line 2217 def rotateX(angle) assertDrawing__ @painter__.rotate toDegrees__(angle), 1, 0, 0 nil end |
#rotateY(angle) ⇒ nil
Applies rotation around the y-axis.
2232 2233 2234 2235 2236 |
# File 'lib/processing/graphics_context.rb', line 2232 def rotateY(angle) assertDrawing__ @painter__.rotate toDegrees__(angle), 0, 1, 0 nil end |
#rotateZ(angle) ⇒ nil
Applies rotation around the z-axis.
2247 2248 2249 2250 2251 |
# File 'lib/processing/graphics_context.rb', line 2247 def rotateZ(angle) assertDrawing__ @painter__.rotate toDegrees__(angle), 0, 0, 1 nil end |
#round(value) ⇒ Numeric
Returns the closest integer number.
2590 2591 2592 |
# File 'lib/processing/graphics_context.rb', line 2590 def round(value) value.round end |
#saturation(color) ⇒ Numeric
Returns the saturation value of the color.
783 784 785 786 |
# File 'lib/processing/graphics_context.rb', line 783 def saturation(color) _, s, = color2raw__(color).to_hsv s * (@hsbColor__ ? @colorMaxes__[1] : 1) end |
#save(filename) ⇒ nil
Saves screen image to file.
2132 2133 2134 2135 |
# File 'lib/processing/graphics_context.rb', line 2132 def save(filename) getInternal__.save filename nil end |
#scale(s) ⇒ nil #scale(x, y) ⇒ nil #scale(x, y, z) ⇒ nil
Applies scale matrix to current transformation matrix.
2182 2183 2184 2185 2186 |
# File 'lib/processing/graphics_context.rb', line 2182 def scale(x, y = nil, z = 1) assertDrawing__ @painter__.scale x, (y || x), z nil end |
#shader(shader) ⇒ nil
Sets shader.
1402 1403 1404 1405 |
# File 'lib/processing/graphics_context.rb', line 1402 def shader(shader) @painter__.shader shader&.getInternal__ nil end |
#shape(img, a, b) ⇒ nil #shape(img, a, b, c, d) ⇒ nil Also known as: drawShape
Draws a shape.
The parameters a, b, c, and d are determined by shapeMode().
1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 |
# File 'lib/processing/graphics_context.rb', line 1859 def shape(shp, a = 0, b = 0, c = nil, d = nil) assertDrawing__ return nil unless shp.isVisible drawWithTexture__ do |_| if c || d || @shapeMode__ != CORNER x, y, w, h = toXYWH__ @shapeMode__, a, b, c || shp.width, d || shp.height shp.draw__ @painter__, x, y, w, h else shp.draw__ @painter__, a, b end end nil end |
#shapeMode(mode) ⇒ nil
Sets shape mode. Default is CORNER.
CORNER -> shape(shp, left, top, width, height) CORNERS -> shape(shp, left, top, right, bottom) CENTER -> shape(shp, centerX, centerY, width, height)
947 948 949 |
# File 'lib/processing/graphics_context.rb', line 947 def shapeMode(mode) @shapeMode__ = mode end |
#shearX(angle) ⇒ nil
Applies shear around the x-axis.
2262 2263 2264 2265 2266 2267 2268 2269 2270 |
# File 'lib/processing/graphics_context.rb', line 2262 def shearX(angle) t = Math.tan toRadians__(angle) @painter__.matrix *= Rays::Matrix.new( 1, t, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1) nil end |
#shearY(angle) ⇒ nil
Applies shear around the y-axis.
2281 2282 2283 2284 2285 2286 2287 2288 2289 |
# File 'lib/processing/graphics_context.rb', line 2281 def shearY(angle) t = Math.tan toRadians__(angle) @painter__.matrix *= Rays::Matrix.new( 1, 0, 0, 0, t, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1) nil end |
#sin(angle) ⇒ Numeric
Returns the sine of an angle.
2870 2871 2872 |
# File 'lib/processing/graphics_context.rb', line 2870 def sin(angle) Math.sin angle end |
#sq(value) ⇒ Numeric
Returns squared value.
2643 2644 2645 |
# File 'lib/processing/graphics_context.rb', line 2643 def sq(value) value * value end |
#sqrt(value) ⇒ Numeric
Returns squared value.
2656 2657 2658 |
# File 'lib/processing/graphics_context.rb', line 2656 def sqrt(value) Math.sqrt value end |
#square(x, y, extent) ⇒ nil Also known as: drawSquare
Draws a square.
1662 1663 1664 |
# File 'lib/processing/graphics_context.rb', line 1662 def square(x, y, extent) rect x, y, extent, extent end |
#stroke(rgb) ⇒ nil #stroke(rgb, alpha) ⇒ nil #stroke(gray) ⇒ nil #stroke(gray, alpha) ⇒ nil #stroke(r, g, b) ⇒ nil #stroke(r, g, b, alpha) ⇒ nil
Sets stroke color.
1048 1049 1050 1051 |
# File 'lib/processing/graphics_context.rb', line 1048 def stroke(*args) @painter__.stroke(*toRGBA__(*args)) nil end |
#strokeCap(cap) ⇒ nil
Sets stroke cap mode. The default cap if ROUND.
1089 1090 1091 1092 |
# File 'lib/processing/graphics_context.rb', line 1089 def strokeCap(cap) @painter__.stroke_cap cap nil end |
#strokeJoin(join) ⇒ nil
Sets stroke join mode. The default join is MITER.
1104 1105 1106 1107 |
# File 'lib/processing/graphics_context.rb', line 1104 def strokeJoin(join) @painter__.stroke_join join nil end |
#strokeWeight(weight) ⇒ nil
Sets stroke weight.
1074 1075 1076 1077 |
# File 'lib/processing/graphics_context.rb', line 1074 def strokeWeight(weight) @painter__.stroke_width weight nil end |
#tan(angle) ⇒ Numeric
Returns the ratio of the sine and cosine of an angle.
2896 2897 2898 |
# File 'lib/processing/graphics_context.rb', line 2896 def tan(angle) Math.tan angle end |
#text(str) ⇒ nil #text(str, x, y) ⇒ nil #text(str, a, b, c, d) ⇒ nil Also known as: drawText
Draws a text.
The parameters a, b, c, and d are determined by rectMode().
1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 |
# File 'lib/processing/graphics_context.rb', line 1787 def text(str, x, y, x2 = nil, y2 = nil) assertDrawing__ if x2 raise ArgumentError, "missing y2 parameter" unless y2 x, y, w, h = toXYWH__ @rectMode__, x, y, x2, y2 case @textAlignH__ when RIGHT then x += w - @painter__.font.width(str) when CENTER then x += (w - @painter__.font.width(str)) / 2 end case @textAlignV__ when BOTTOM then y += h - @painter__.font.height when CENTER then y += (h - @painter__.font.height) / 2 else end else y -= @painter__.font.ascent end @painter__.text str, x, y nil end |
#textAlign(horizontal, vertical = BASELINE) ⇒ nil
Sets the alignment for drawing text.
1319 1320 1321 1322 1323 |
# File 'lib/processing/graphics_context.rb', line 1319 def textAlign(horizontal, vertical = BASELINE) @textAlignH__ = horizontal @textAlignV__ = vertical nil end |
#textAscent ⇒ Numeric
Returns ascent of the current font at its current size.
1294 1295 1296 |
# File 'lib/processing/graphics_context.rb', line 1294 def textAscent() @painter__.font.ascent end |
#textDescent ⇒ Numeric
Returns descent of the current font at its current size.
1305 1306 1307 |
# File 'lib/processing/graphics_context.rb', line 1305 def textDescent() @painter__.font.descent end |
#textFont ⇒ Font #textFont(font) ⇒ Font #textFont(name) ⇒ Font #textFont(font, size) ⇒ Font #textFont(name, size) ⇒ Font
Sets text font. (Passing a font name as the first parameter is deprecated)
1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 |
# File 'lib/processing/graphics_context.rb', line 1246 def textFont(font = nil, size = nil) if font != nil || size != nil size = FONT_SIZE_MAX__ if size && size > FONT_SIZE_MAX__ if font.nil? || font.kind_of?(String) font = createFont font, size elsif size font.setSize__ size end @painter__.font = font.getInternal__ @textFont__ = font end @textFont__ end |
#textLeading ⇒ Numeric #textLeading(leading) ⇒ Numeric
Sets the spacing between lines of text in units of pixels.
1337 1338 1339 1340 |
# File 'lib/processing/graphics_context.rb', line 1337 def textLeading(leading = nil) @painter__.line_height = leading if leading @painter__.line_height end |
#textSize(size) ⇒ nil
Sets text size.
1269 1270 1271 1272 |
# File 'lib/processing/graphics_context.rb', line 1269 def textSize(size) textFont @textFont__, size nil end |
#texture(image) ⇒ nil
Sets texture.
1351 1352 1353 1354 |
# File 'lib/processing/graphics_context.rb', line 1351 def texture(image) @painter__.texture image&.getInternal__ nil end |
#textureMode(mode) ⇒ nil
Sets the coordinate space for texture mapping.
1374 1375 1376 1377 |
# File 'lib/processing/graphics_context.rb', line 1374 def textureMode(mode) @painter__.texcoord_mode = mode nil end |
#textureWrap(wrap) ⇒ nil
Sets the texture wrapping mode.
1388 1389 1390 1391 |
# File 'lib/processing/graphics_context.rb', line 1388 def textureWrap(wrap) @painter__.texcoord_wrap = wrap nil end |
#textWidth(str) ⇒ Numeric
Returns the width of the text.
1283 1284 1285 |
# File 'lib/processing/graphics_context.rb', line 1283 def textWidth(str) @painter__.font.width str end |
#tint(rgb) ⇒ nil #tint(rgb, alpha) ⇒ nil #tint(gray) ⇒ nil #tint(gray, alpha) ⇒ nil #tint(r, g, b) ⇒ nil #tint(r, g, b, alpha) ⇒ nil
Sets fill color for drawing images.
1176 1177 1178 1179 |
# File 'lib/processing/graphics_context.rb', line 1176 def tint(*args) @tint__ = args nil end |
#translate(x, y) ⇒ nil #translate(x, y, z) ⇒ nil
Applies translation matrix to current transformation matrix.
2155 2156 2157 2158 2159 |
# File 'lib/processing/graphics_context.rb', line 2155 def translate(x, y, z = 0) assertDrawing__ @painter__.translate x, y, z nil end |
#triangle(x1, y1, x2, y2, x3, y3) ⇒ nil Also known as: drawTriangle
Draws a triangle.
1682 1683 1684 1685 1686 |
# File 'lib/processing/graphics_context.rb', line 1682 def triangle(x1, y1, x2, y2, x3, y3) assertDrawing__ @painter__.line x1, y1, x2, y2, x3, y3, loop: true nil end |
#updatePixels(&block) ⇒ nil
Update the image pixels with the ‘pixels’ array.
2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 |
# File 'lib/processing/graphics_context.rb', line 2098 def updatePixels(&block) return if !block && !@pixels__ if block loadPixels block.call pixels end getInternal__.tap do |img| img.pixels = @pixels__ img.paint {} # update texture and set modifiied end @pixels__ = nil end |
#vertex(x, y) ⇒ nil #vertex(x, y, u, v) ⇒ nil
Append vertex for shape polygon.
1978 1979 1980 1981 |
# File 'lib/processing/graphics_context.rb', line 1978 def vertex(x, y, u = nil, v = nil) (@drawingShape__ or raise "vertex() must be called after beginShape()") .vertex x, y, u, v end |
#width ⇒ Numeric
Returns the width of the graphics object.
580 581 582 |
# File 'lib/processing/graphics_context.rb', line 580 def width() getInternal__.width end |