offscreen-context.js

total 0
used 0
limit 0
/* title: Offscreen rendering. category: offscreen files: ../point_src/core/head.js ../point_src/pointpen.js ../point_src/pointdraw.js ../point_src/math.js ../point_src/extras.js ../point_src/point-content.js ../point_src/pointlist.js ../point_src/pointlistpen.js ../point_src/point.js ../point_src/stage.js ../point_src/offscreen.js mouse dragging stroke --- In this example generate an offscreen canvas and replace the stage `ctx`. Draw routines are done on the offscreen canvas, then copied to the onscreen canvas offScreenCanvas = stage.offscreen.create() context = offScreenCanvas.getContext("2d"); copyToOnScreen(offScreenCanvas, stage.canvas) */ class MainStageOffScreenContext extends Stage { /* In this format we Install an "offscreen canvas" as the primary rendering unit. the `copyToOnScreen` copies the offScreen canvas into the visible onscreen canvas. The offscreen canvas is the same size as the original, therefore no scaling occurs. */ // canvas = document.getElementById('playspace'); canvas = 'playspace' // canvas = new OffscreenCanvas(500, 400) mounted(){ // this.canvas = new OffscreenCanvas(500, 400) // this.canvas = this.canvas.transferControlToOffscreen() /* Alternatively: this.offScreenCanvas = new OffscreenCanvas(500, 400) */ this.offScreenCanvas = this.offscreen.create() this._ctx = this.offScreenCanvas.getContext('2d') // this.onScreenCanvas = document.getElementById("playspace")//.getContext("2d"); this.point = new Point(10, 10) } // resolveCanvas() {} // stickCanvasSize(canvas){ // const onScreenCanvas = document.getElementById("playspace")//.getContext("2d"); // onScreenCanvas.width = 300 // onScreenCanvas.height = 200 // return // } draw(ctx){ var context = this.offScreenCanvas.getContext("2d"); // this.clear(ctx) context.fillStyle = '#444'; //set fill color context.fillRect(10, 10, 40, 40); this.point.rotation += 1 this.point.pen.indicator(ctx) copyToOnScreen(this.offScreenCanvas, this.canvas) } } stage = MainStageOffScreenContext.go()//{ loop: false })
Run
Meta Data
title Offscreen rendering.
imports ()
files ('../point_src/core/head.js', '../point_src/pointpen.js', '../point_src/pointdraw.js', '../point_src/math.js', '../point_src/extras.js', '../point_src/point-content.js', '../point_src/pointlist.js', '../point_src/pointlistpen.js', '../point_src/point.js', '../point_src/stage.js', '../point_src/offscreen.js', 'mouse', 'dragging', 'stroke')
unused_keys ()
unknown_keys ('category',)
category ['offscreen']
filepath_exists True
path offscreen-context.js
filepath offscreen-context.js
clean_files ('../point_src/core/head.js', '../point_src/pointpen.js', '../point_src/pointdraw.js', '../point_src/math.js', '../point_src/extras.js', '../point_src/compass.js', '../point_src/center.js', '../point_src/point-content.js', '../point_src/pointlistdraw.js', '../point_src/pointlistgradient.js', '../point_src/pointlistshape.js', '../point_src/pointlistgenerator.js', '../point_src/unpack.js', '../point_src/pointlist.js', '../point_src/pointlistpen.js', '../point_src/relative-xy.js', '../point_src/pointcast.js', '../point_src/point.js', '../point_src/stage-resize.js', '../point_src/functions/resolve.js', '../point_src/stage.js', '../point_src/offscreen.js', '../point_src/events.js', '../point_src/automouse.js', '../point_src/functions/clamp.js', '../point_src/distances.js', '../point_src/protractor.js', '../point_src/text/beta.js', '../point_src/dragging.js', '../point_src/setunset.js', '../point_src/stroke.js')
markdown {'html': '<p>In this example generate an offscreen canvas and replace the stage <code>ctx</code>.\nDraw routines are done on the offscreen canvas, then copied to the onscreen\ncanvas</p>\n<pre><code>offScreenCanvas = stage.offscreen.create()\ncontext = offScreenCanvas.getContext("2d");\ncopyToOnScreen(offScreenCanvas, stage.canvas)\n</code></pre>', 'content': 'title: Offscreen rendering.\ncategory: offscreen\nfiles:\n ../point_src/core/head.js\n ../point_src/pointpen.js\n ../point_src/pointdraw.js\n ../point_src/math.js\n ../point_src/extras.js\n ../point_src/point-content.js\n ../point_src/pointlist.js\n ../point_src/pointlistpen.js\n ../point_src/point.js\n ../point_src/stage.js\n ../point_src/offscreen.js\n mouse\n dragging\n stroke\n---\n\nIn this example generate an offscreen canvas and replace the stage `ctx`.\nDraw routines are done on the offscreen canvas, then copied to the onscreen\ncanvas\n\n offScreenCanvas = stage.offscreen.create()\n context = offScreenCanvas.getContext("2d");\n copyToOnScreen(offScreenCanvas, stage.canvas)'}