Canvas: Extend Image element and adapt for latest core changes.
This commit is contained in:
parent
c20b4b1fbb
commit
c785b1bd1c
1 changed files with 37 additions and 15 deletions
|
@ -711,14 +711,41 @@ var Image = {
|
||||||
var m = {
|
var m = {
|
||||||
parents: [Image, Element.new(parent, "image", id, arg)]
|
parents: [Image, Element.new(parent, "image", id, arg)]
|
||||||
};
|
};
|
||||||
m.color = _createColorNodes(m._node, "color");
|
m.color_fill = _createColorNodes(m._node, "color-fill");
|
||||||
m.sourceRect = m._node.getNode("source", 1);
|
|
||||||
return m;
|
return m;
|
||||||
},
|
},
|
||||||
|
# Set image file to be used
|
||||||
|
#
|
||||||
|
# @param file Path to file or canvas (Use canvas://... for canvas, eg.
|
||||||
|
# canvas://by-index/texture[0])
|
||||||
setFile: func(file)
|
setFile: func(file)
|
||||||
{
|
{
|
||||||
me.set("file", file);
|
me.set("file", file);
|
||||||
|
},
|
||||||
|
# Set rectangular region of source image to be used
|
||||||
|
#
|
||||||
|
# @param left Rectangle minimum x coordinate
|
||||||
|
# @param top Rectangle minimum y coordinate
|
||||||
|
# @param right Rectangle maximum x coordinate
|
||||||
|
# @param bottom Rectangle maximum y coordinate
|
||||||
|
# @param normalized Whether to use normalized ([0,1]) or image
|
||||||
|
# ([0, image_width]/[0, image_height]) coordinates
|
||||||
|
setSourceRect: func(left, top, right, bottom, normalized = 1)
|
||||||
|
{
|
||||||
|
me._node.getNode("source", 1).setValues({
|
||||||
|
left: left,
|
||||||
|
top: top,
|
||||||
|
right: right,
|
||||||
|
bottom: bottom,
|
||||||
|
normalized: normalized
|
||||||
|
});
|
||||||
|
return me;
|
||||||
|
},
|
||||||
|
# Set size of image element
|
||||||
|
setSize: func(width, height)
|
||||||
|
{
|
||||||
|
me._node.setValues({size: [width, height]});
|
||||||
|
return me;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -779,11 +806,7 @@ var new = func(vals)
|
||||||
{
|
{
|
||||||
var m = { parents: [Canvas] };
|
var m = { parents: [Canvas] };
|
||||||
|
|
||||||
m.texture = _createNodeWithIndex
|
m.texture = _createNodeWithIndex(Canvas.property_root, "texture");
|
||||||
(
|
|
||||||
props.globals.getNode("canvas", 1),
|
|
||||||
"texture"
|
|
||||||
);
|
|
||||||
m.color = _createColorNodes(m.texture, "color-background");
|
m.color = _createColorNodes(m.texture, "color-background");
|
||||||
m.texture.setValues(vals);
|
m.texture.setValues(vals);
|
||||||
|
|
||||||
|
@ -802,11 +825,7 @@ var get = func(name)
|
||||||
node_canvas = name;
|
node_canvas = name;
|
||||||
else if( typeof(name) == 'scalar' )
|
else if( typeof(name) == 'scalar' )
|
||||||
{
|
{
|
||||||
var canvas_root = props.globals.getNode("canvas");
|
foreach(var c; Canvas.property_root.getChildren("texture"))
|
||||||
if( canvas_root == nil )
|
|
||||||
return nil;
|
|
||||||
|
|
||||||
foreach(var c; canvas_root.getChildren("texture"))
|
|
||||||
{
|
{
|
||||||
if( c.getValue("name") == name )
|
if( c.getValue("name") == name )
|
||||||
node_canvas = c;
|
node_canvas = c;
|
||||||
|
@ -847,4 +866,7 @@ else
|
||||||
{button: {legend: "Ok", binding: {command: "dialog-close"}}}
|
{button: {legend: "Ok", binding: {command: "dialog-close"}}}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} })();
|
}
|
||||||
|
|
||||||
|
Canvas.property_root = props.globals.getNode("canvas/by-index", 1);
|
||||||
|
})();
|
||||||
|
|
Loading…
Reference in a new issue