UNPKG

bot18

Version:

A high-frequency cryptocurrency trading bot by Zenbot creator @carlos8f

88 lines (64 loc) 2.63 kB
var blessed = require('blessed') , Node = blessed.Node , Canvas = require('./canvas') , InnerMap = require('map-canvas') function Map(options) { var self = this if (!(this instanceof Node)) { return new Map(options); } Canvas.call(this, options); this.on("attach", function() { options.style = options.style || {} var opts = { excludeAntartica: (options.excludeAntarctica === undefined) ? true : options.excludeAntarctica , disableBackground: (options.disableBackground === undefined) ? true : options.disableBackground , disableMapBackground: (options.disableMapBackground === undefined) ? true : options.disableMapBackground , disableGraticule: (options.disableGraticule === undefined) ? true : options.disableGraticule , disableFill: (options.disableFill === undefined) ? true : options.disableFill , width: self.ctx._canvas.width , height: self.ctx._canvas.height , shapeColor: options.style.shapeColor || "green"} opts.startLon = options.startLon || undefined opts.endLon = options.endLon || undefined opts.startLat = options.startLat || undefined opts.endLat = options.endLat || undefined opts.region = options.region || undefined opts.labelSpace = options.labelSpace || 5 this.ctx.strokeStyle= options.style.stroke || "green" this.ctx.fillStyle=options.style.fill || "green" self.innerMap = new InnerMap(opts, this._canvas) self.innerMap.draw() if (self.options.markers) { for (var m in self.options.markers) { self.addMarker(self.options.markers[m]) } } }) } Map.prototype.calcSize = function() { this.canvasSize = {width: this.width*2-12, height: this.height*4} } Map.prototype.__proto__ = Canvas.prototype; Map.prototype.type = 'map'; Map.prototype.addMarker = function(options) { if (!this.innerMap) { throw "error: canvas context does not exist. addMarker() for maps must be called after the map has been added to the screen via screen.append()" } this.innerMap.addMarker(options) } Map.prototype.getOptionsPrototype = function() { return { startLon: 10 , endLon: 10 , startLat: 10 , endLat: 10 , region: 'us' , markers: [ {"lon" : "-79.0000", "lat" : "37.5000", color: "red", char: "X" } , {"lon" : "79.0000", "lat" : "37.5000", color: "blue", char: "O" } ] } } Map.prototype.clearMarkers = function() { this.innerMap.draw() } module.exports = Map