Class: Processing::Context

Inherits:
Object
  • Object
show all
Includes:
GraphicsContext, Xot::Inspectable
Defined in:
lib/processing/context.rb

Overview

Processing context

Constant Summary collapse

Capture =
Processing::Capture
Font =
Processing::Font
Graphics =
Processing::Graphics
Image =
Processing::Image
Shader =
Processing::Shader
TextBounds =
Processing::TextBounds
Touch =
Processing::Touch
Vector =
Processing::Vector

Constants included from GraphicsContext

GraphicsContext::ADD, GraphicsContext::ALT, GraphicsContext::BACKSPACE, GraphicsContext::BASELINE, GraphicsContext::BLEND, GraphicsContext::BLUR, GraphicsContext::BOTTOM, GraphicsContext::CAPSLOCK, GraphicsContext::CENTER, GraphicsContext::CLEAR, GraphicsContext::COMMAND, GraphicsContext::CONTROL, GraphicsContext::CORNER, GraphicsContext::CORNERS, GraphicsContext::DARKEST, GraphicsContext::DEGREES, GraphicsContext::DELETE, GraphicsContext::DOWN, GraphicsContext::ENTER, GraphicsContext::ESC, GraphicsContext::EXCLUSION, GraphicsContext::F1, GraphicsContext::F10, GraphicsContext::F11, GraphicsContext::F12, GraphicsContext::F13, GraphicsContext::F14, GraphicsContext::F15, GraphicsContext::F16, GraphicsContext::F17, GraphicsContext::F18, GraphicsContext::F19, GraphicsContext::F2, GraphicsContext::F20, GraphicsContext::F21, GraphicsContext::F22, GraphicsContext::F23, GraphicsContext::F24, GraphicsContext::F3, GraphicsContext::F4, GraphicsContext::F5, GraphicsContext::F6, GraphicsContext::F7, GraphicsContext::F8, GraphicsContext::F9, GraphicsContext::FUNCTION, GraphicsContext::GRAY, GraphicsContext::HALF_PI, GraphicsContext::HELP, GraphicsContext::HOME, GraphicsContext::HSB, GraphicsContext::INVERT, GraphicsContext::LEFT, GraphicsContext::LIGHTEST, GraphicsContext::MITER, GraphicsContext::MULTIPLY, GraphicsContext::OPTION, GraphicsContext::PAGEDOWN, GraphicsContext::PAGEUP, GraphicsContext::PI, GraphicsContext::PROJECT, GraphicsContext::QUARTER_PI, GraphicsContext::RADIANS, GraphicsContext::RADIUS, GraphicsContext::REPLACE, GraphicsContext::RGB, GraphicsContext::RGBA, GraphicsContext::RIGHT, GraphicsContext::ROUND, GraphicsContext::SCREEN, GraphicsContext::SECTION, GraphicsContext::SHIFT, GraphicsContext::SPACE, GraphicsContext::SQUARE, GraphicsContext::SUBTRACT, GraphicsContext::TAB, GraphicsContext::TAU, GraphicsContext::THRESHOLD, GraphicsContext::TOP, GraphicsContext::TWO_PI, GraphicsContext::UP, GraphicsContext::WIN

Instance Method Summary collapse

Methods included from GraphicsContext

#abs, #acos, #angleMode, #arc, #asin, #atan, #atan2, #background, #bezier, #blend, #blendMode, #ceil, #circle, #clip, #colorMode, #constrain, #copy, #cos, #createCapture, #createGraphics, #createImage, #createShader, #createVector, #curve, #degrees, #dist, #ellipse, #ellipseMode, #exp, #fill, #filter, #floor, #height, #image, #imageMode, #lerp, #line, #loadImage, #loadShader, #log, #mag, #map, #max, #min, #noClip, #noFill, #noStroke, #noTint, #noise, #norm, #point, #pop, #popMatrix, #popStyle, #pow, #push, #pushMatrix, #pushStyle, #quad, #radians, #random, #rect, #rectMode, #resetMatrix, #resetShader, #rotate, #round, #save, #scale, #shader, #sin, #sq, #sqrt, #square, #stroke, #strokeCap, #strokeJoin, #strokeWeight, #tan, #text, #textAlign, #textAscent, #textDescent, #textFont, #textSize, #textWidth, #tint, #translate, #triangle, #width

Instance Method Details

#createCanvas(width, height, pixelDensity: self.pixelDensity) ⇒ nil

Changes canvas size.

Parameters:

  • width (Integer)

    new width

  • height (Integer)

    new height

  • pixelDensity (Numeric) (defaults to: self.pixelDensity)

    new pixel density

Returns:

  • (nil)

    nil



317
318
319
320
# File 'lib/processing/context.rb', line 317

def createCanvas(width, height, pixelDensity: self.pixelDensity)
  resizeCanvas__ :createCanvas, width, height, pixelDensity
  nil
end

#displayDensityNumeric

Returns pixel density of display.

Returns:

  • (Numeric)

    pixel density



359
360
361
# File 'lib/processing/context.rb', line 359

def displayDensity()
  @window__.painter.pixel_density
end

#draw(&block) ⇒ nil

Defines draw block.

Returns:

  • (nil)

    nil



183
184
185
186
# File 'lib/processing/context.rb', line 183

def draw(&block)
  @drawBlock__ = block if block
  nil
end

#frameCountInteger

Returns number of frames since program started.

Returns:

  • (Integer)

    total number of frames



383
384
385
# File 'lib/processing/context.rb', line 383

def frameCount()
  @frameCount__
end

#frameRateFloat

Returns number of frames per second.

Returns:

  • (Float)

    frames per second



391
392
393
# File 'lib/processing/context.rb', line 391

def frameRate()
  @window__.event.fps
end

#keyString

Returns the last key that was pressed or released.

Returns:

  • (String)

    last key



399
400
401
# File 'lib/processing/context.rb', line 399

def key()
  @key__
end

#keyCodeSymbol

Returns the last key code that was pressed or released.

Returns:

  • (Symbol)

    last key code



407
408
409
# File 'lib/processing/context.rb', line 407

def keyCode()
  @keyCode__
end

#keyPressed(&block) ⇒ Boolean

Defines keyPressed block.

Returns:

  • (Boolean)

    is any key pressed or not



192
193
194
195
# File 'lib/processing/context.rb', line 192

def keyPressed(&block)
  @keyPressedBlock__ = block if block
  not @keysPressed__.empty?
end

#keyReleased(&block) ⇒ nil

Defines keyReleased block.

Returns:

  • (nil)

    nil



201
202
203
204
# File 'lib/processing/context.rb', line 201

def keyReleased(&block)
  @keyReleasedBlock__ = block if block
  nil
end

#keyTyped(&block) ⇒ nil

Defines keyTyped block.

Returns:

  • (nil)

    nil



210
211
212
213
# File 'lib/processing/context.rb', line 210

def keyTyped(&block)
  @keyTypedBlock__ = block if block
  nil
end

#loopnil

Enables calling draw block on every frame.

Returns:

  • (nil)

    nil



471
472
473
# File 'lib/processing/context.rb', line 471

def loop()
  @loop__ = true
end

#motion(&block) ⇒ nil

Defines motion block.

Returns:

  • (nil)

    nil



291
292
293
294
# File 'lib/processing/context.rb', line 291

def motion(&block)
  @motionBlock__ = block if block
  nil
end

#motionGravityVector

Returns vector for real world gravity

Returns:



463
464
465
# File 'lib/processing/context.rb', line 463

def motionGravity()
  @motionGravity__
end

#mouseButtonNumeric

Returns which mouse button was pressed

Returns:

  • (Numeric)

    LEFT, RIGHT, CENTER or 0



447
448
449
# File 'lib/processing/context.rb', line 447

def mouseButton()
  ((@pointersPressed__ + @pointersReleased__) & [LEFT, RIGHT, CENTER]).last
end

#mouseClicked(&block) ⇒ nil

Defines mouseClicked block.

Returns:

  • (nil)

    nil



255
256
257
258
# File 'lib/processing/context.rb', line 255

def mouseClicked(&block)
  @mouseClickedBlock__ = block if block
  nil
end

#mouseDragged(&block) ⇒ nil

Defines mouseDragged block.

Returns:

  • (nil)

    nil



246
247
248
249
# File 'lib/processing/context.rb', line 246

def mouseDragged(&block)
  @mouseDraggedBlock__ = block if block
  nil
end

#mouseMoved(&block) ⇒ nil

Defines mouseMoved block.

Returns:

  • (nil)

    nil



237
238
239
240
# File 'lib/processing/context.rb', line 237

def mouseMoved(&block)
  @mouseMovedBlock__ = block if block
  nil
end

#mousePressed(&block) ⇒ Boolean

Defines mousePressed block.

Returns:

  • (Boolean)

    is any mouse button pressed or not



219
220
221
222
# File 'lib/processing/context.rb', line 219

def mousePressed(&block)
  @mousePressedBlock__ = block if block
  not @pointersPressed__.empty?
end

#mouseReleased(&block) ⇒ nil

Defines mouseReleased block.

Returns:

  • (nil)

    nil



228
229
230
231
# File 'lib/processing/context.rb', line 228

def mouseReleased(&block)
  @mouseReleasedBlock__ = block if block
  nil
end

#mouseXNumeric

Returns mouse x position

Returns:

  • (Numeric)

    horizontal position of mouse



415
416
417
# File 'lib/processing/context.rb', line 415

def mouseX()
  @pointerPos__.x
end

#mouseYNumeric

Returns mouse y position

Returns:

  • (Numeric)

    vertical position of mouse



423
424
425
# File 'lib/processing/context.rb', line 423

def mouseY()
  @pointerPos__.y
end

#noLoopnil

Disables calling draw block on every frame.

Returns:

  • (nil)

    nil



479
480
481
# File 'lib/processing/context.rb', line 479

def noLoop()
  @loop__ = false
end

#pixelDensity(density = nil) ⇒ Numeric

Changes and returns canvas pixel density.

Parameters:

  • density (Numeric) (defaults to: nil)

    new pixel density

Returns:

  • (Numeric)

    current pixel density



339
340
341
342
# File 'lib/processing/context.rb', line 339

def pixelDensity(density = nil)
  resizeCanvas__ :pixelDensity, width, height, density if density
  @painter__.pixel_density
end

#pmouseXNumeric

Returns mouse x position in previous frame

Returns:

  • (Numeric)

    horizontal position of mouse



431
432
433
# File 'lib/processing/context.rb', line 431

def pmouseX()
  @pointerPrevPos__.x
end

#pmouseYNumeric

Returns mouse y position in previous frame

Returns:

  • (Numeric)

    vertical position of mouse



439
440
441
# File 'lib/processing/context.rb', line 439

def pmouseY()
  @pointerPrevPos__.y
end

#redrawnil

Calls draw block to redraw frame.

Returns:

  • (nil)

    nil



487
488
489
# File 'lib/processing/context.rb', line 487

def redraw()
  @redraw__ = true
end

#setTitle(title) ⇒ nil

Changes title of window.

Parameters:

  • title (String)

    new title

Returns:

  • (nil)

    nil



328
329
330
331
# File 'lib/processing/context.rb', line 328

def setTitle(title)
  @window__.title = title
  nil
end

#setup(&block) ⇒ nil

Defines setup block.

Returns:

  • (nil)

    nil



157
158
159
160
# File 'lib/processing/context.rb', line 157

def setup(&block)
  @window__.setup = block
  nil
end

#size(width, height, pixelDensity: self.pixelDensity) ⇒ nil

Changes canvas size.

Parameters:

  • width (Integer)

    new width

  • height (Integer)

    new height

  • pixelDensity (Numeric) (defaults to: self.pixelDensity)

    new pixel density

Returns:

  • (nil)

    nil



304
305
306
307
# File 'lib/processing/context.rb', line 304

def size(width, height, pixelDensity: self.pixelDensity)
  resizeCanvas__ :size, width, height, pixelDensity
  nil
end

#touchEnded(&block) ⇒ nil

Defines touchEnded block.

Returns:

  • (nil)

    nil



273
274
275
276
# File 'lib/processing/context.rb', line 273

def touchEnded(&block)
  @touchEndedBlock__ = block if block
  nil
end

#touchesArray

Returns array of touches

Returns:

  • (Array)

    Touch objects



455
456
457
# File 'lib/processing/context.rb', line 455

def touches()
  @touches__
end

#touchMoved(&block) ⇒ nil

Defines touchMoved block.

Returns:

  • (nil)

    nil



282
283
284
285
# File 'lib/processing/context.rb', line 282

def touchMoved(&block)
  @touchMovedBlock__ = block if block
  nil
end

#touchStarted(&block) ⇒ nil

Defines touchStarted block.

Returns:

  • (nil)

    nil



264
265
266
267
# File 'lib/processing/context.rb', line 264

def touchStarted(&block)
  @touchStartedBlock__ = block if block
  nil
end

#windowHeightNumeric

Returns window height.

Returns:

  • (Numeric)

    window height



375
376
377
# File 'lib/processing/context.rb', line 375

def windowHeight()
  @window__.height
end

#windowWidthNumeric

Returns window width.

Returns:

  • (Numeric)

    window width



367
368
369
# File 'lib/processing/context.rb', line 367

def windowWidth()
  @window__.width
end