control-point-using-dirty.js

total 0
used 0
limit 0
/* title: (Better) Control Point files: head point pointlist mouse dragging stage stroke --- A better "control point" for a point. In this version we use the points builtin `dirty` flag, coupling the points using a simple _is dirty_ test. */ class MainStage extends Stage { canvas = 'playspace' mounted(){ this.point = new Point(100, 100, 20) this.cp = new Point(this.point.getTip()) this.cp._dirty = false; this.dragging.add(this.point, this.cp) } draw(ctx){ this.clear(ctx) if(this.cp.wasDirty) { this.point.lookAt(this.cp) this.point.radius = this.point.distanceTo(this.cp) } if(this.point.wasDirty) { this.cp.copy(this.point.getTip()) this.cp._dirty = false; } this.point.pen.indicator(ctx); this.cp.pen.indicator(ctx); } } stage = MainStage.go(/*{ loop: true }*/)
Run
Meta Data
title (Better) Control Point
imports ()
files ('head', 'point', 'pointlist', 'mouse', 'dragging', 'stage', 'stroke')
unused_keys ()
unknown_keys ()
filepath_exists True
path control-point-using-dirty.js
filepath control-point-using-dirty.js
clean_files ('../point_src/core/head.js', '../point_src/pointpen.js', '../point_src/compass.js', '../point_src/center.js', '../point_src/point-content.js', '../point_src/pointdraw.js', '../point_src/relative-xy.js', '../point_src/pointcast.js', '../point_src/point.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/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/stage-hooks.js', '../point_src/stage-resize.js', '../point_src/functions/resolve.js', '../point_src/stage.js', '../point_src/setunset.js', '../point_src/stroke.js')
markdown {'html': '<hr />\n<p>A better "control point" for a point. In this version we use the points builtin\n<code>dirty</code> flag, coupling the points using a simple <em>is dirty</em> test.</p>', 'content': 'title: (Better) Control Point\nfiles:\n head\n point\n pointlist\n mouse\n dragging\n stage\n stroke\n\n---\n\nA better "control point" for a point. In this version we use the points builtin\n`dirty` flag, coupling the points using a simple _is dirty_ test.'}