feat(openclaw): add shopping, supermarket deals, geizhals, and ebay MCP tools
This commit is contained in:
+72
@@ -0,0 +1,72 @@
|
||||
SVG.Point = SVG.invent({
|
||||
// Initialize
|
||||
create: function(x,y) {
|
||||
var i, source, base = {x:0, y:0}
|
||||
|
||||
// ensure source as object
|
||||
source = Array.isArray(x) ?
|
||||
{x:x[0], y:x[1]} :
|
||||
typeof x === 'object' ?
|
||||
{x:x.x, y:x.y} :
|
||||
x != null ?
|
||||
{x:x, y:(y != null ? y : x)} : base // If y has no value, then x is used has its value
|
||||
|
||||
// merge source
|
||||
this.x = source.x
|
||||
this.y = source.y
|
||||
}
|
||||
|
||||
// Add methods
|
||||
, extend: {
|
||||
// Clone point
|
||||
clone: function() {
|
||||
return new SVG.Point(this)
|
||||
}
|
||||
// Morph one point into another
|
||||
, morph: function(x, y) {
|
||||
// store new destination
|
||||
this.destination = new SVG.Point(x, y)
|
||||
|
||||
return this
|
||||
}
|
||||
// Get morphed point at a given position
|
||||
, at: function(pos) {
|
||||
// make sure a destination is defined
|
||||
if (!this.destination) return this
|
||||
|
||||
// calculate morphed matrix at a given position
|
||||
var point = new SVG.Point({
|
||||
x: this.x + (this.destination.x - this.x) * pos
|
||||
, y: this.y + (this.destination.y - this.y) * pos
|
||||
})
|
||||
|
||||
return point
|
||||
}
|
||||
// Convert to native SVGPoint
|
||||
, native: function() {
|
||||
// create new point
|
||||
var point = SVG.parser.native.createSVGPoint()
|
||||
|
||||
// update with current values
|
||||
point.x = this.x
|
||||
point.y = this.y
|
||||
|
||||
return point
|
||||
}
|
||||
// transform point with matrix
|
||||
, transform: function(matrix) {
|
||||
return new SVG.Point(this.native().matrixTransform(matrix.native()))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
SVG.extend(SVG.Element, {
|
||||
|
||||
// Get point
|
||||
point: function(x, y) {
|
||||
return new SVG.Point(x,y).transform(this.screenCTM().inverse());
|
||||
}
|
||||
|
||||
})
|
||||
Reference in New Issue
Block a user