Initial Commit Update Telerik
This commit is contained in:
1063
LPWeb20/RichtextEditor/rtepaint5/addon/adjust.xml
Normal file
1063
LPWeb20/RichtextEditor/rtepaint5/addon/adjust.xml
Normal file
File diff suppressed because it is too large
Load Diff
478
LPWeb20/RichtextEditor/rtepaint5/addon/border.xml
Normal file
478
LPWeb20/RichtextEditor/rtepaint5/addon/border.xml
Normal file
@@ -0,0 +1,478 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<?xml-stylesheet type="text/xsl" href="jsml.xsl"?>
|
||||
<jsml xmlns="http://cutesoft.net/jsml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://cutesoft.net/jsml ../../JSML/jsml.xsd">
|
||||
<panel jsml-class="border_item" height="94" width="140" border_color="#cccccc" border_width="1">
|
||||
<property name="framepadding">
|
||||
<get>
|
||||
return self._framepadding || [0,0,0,0];
|
||||
</get>
|
||||
<set arguments="val">
|
||||
<![CDATA[
|
||||
var arr = val.split(",");
|
||||
if(arr.length==1) {
|
||||
var ret = IntSure(arr[0]);
|
||||
self._framepadding = [ret,ret,ret,ret];
|
||||
return;
|
||||
}
|
||||
self._framepadding = [0,0,0,0];
|
||||
for(var i=0;i<4;i++) {
|
||||
if(arr.length>i) {
|
||||
var ret = IntSure(arr[i]);
|
||||
self._framepadding[i] = ret;
|
||||
}
|
||||
}
|
||||
|
||||
function IntSure(v)
|
||||
{
|
||||
if(typeof(v)=="undefined" || v==null || v=="" || isNaN(v))
|
||||
return 0;
|
||||
return parseInt(v);
|
||||
}
|
||||
]]>
|
||||
</set>
|
||||
</property>
|
||||
<property name="framename">
|
||||
<get>
|
||||
return self._framename;
|
||||
</get>
|
||||
<set>
|
||||
self._framename = value;
|
||||
</set>
|
||||
</property>
|
||||
<property name="emptycorner">
|
||||
<get>
|
||||
if(!self._emptycorner) return ",";
|
||||
return "," + self._emptycorner + ",";
|
||||
</get>
|
||||
<set>
|
||||
<![CDATA[
|
||||
self._emptycorner = value;
|
||||
]]>
|
||||
</set>
|
||||
</property>
|
||||
<property name="emptyborder">
|
||||
<get>
|
||||
if(!self._emptyborder) return ",";
|
||||
return "," + self._emptyborder + ",";
|
||||
</get>
|
||||
<set>
|
||||
<![CDATA[
|
||||
self._emptyborder = value;
|
||||
]]>
|
||||
</set>
|
||||
</property>
|
||||
<property name="cornersize">
|
||||
<get>
|
||||
<![CDATA[
|
||||
//four corners, [width,height]
|
||||
return self._cornersize || [[0,0],[0,0],[0,0],[0,0]];
|
||||
]]>
|
||||
</get>
|
||||
<set>
|
||||
<![CDATA[
|
||||
if(!value) return;
|
||||
var val = eval("("+value+")");
|
||||
if(val.length == 0)
|
||||
return;
|
||||
if(val.length==1)
|
||||
{
|
||||
self._cornersize = [val[0],val[0],val[0],val[0]];
|
||||
return;
|
||||
}
|
||||
self._cornersize = [[0,0],[0,0],[0,0],[0,0]];
|
||||
for(var i=0;i<4;i++)
|
||||
{
|
||||
if(val.length<=i) continue;
|
||||
self._cornersize[i] = val[i];
|
||||
}
|
||||
]]>
|
||||
</set>
|
||||
</property>
|
||||
<property name="mode">
|
||||
<get>
|
||||
return self._mode || "tile";
|
||||
</get>
|
||||
<set>
|
||||
<![CDATA[
|
||||
if(value=="single") self._mode = "single";
|
||||
else if(value=="corner") self._mode = "corner";
|
||||
else self._mode = "tile";
|
||||
]]>
|
||||
</set>
|
||||
</property>
|
||||
<panel jsml-local="btn_use" dock="bottom" margin="2" height="24" visible="0">
|
||||
<panel dock="right" width="60" margin="2" css_text="text-shadow: 2px 2px 5px #99999;border:solid #d1decd 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;">
|
||||
<image dock="left" margin="0,0,0,2" src="images/accept.png" vertical_align="middle" horizontal_align="center" width="16" cursor="default"></image>
|
||||
<label dock="fill" text="@Btn_Apply" margin="0,0,0,3" css_text="font-weight:bold;" vertical_align="middle" horizontal_align="left"></label>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
ImageEditorDocument.set_selection(null);
|
||||
var pd = instance.get_framepadding();
|
||||
var pdo = pd;
|
||||
var es = ImageEditorDocument.GetOption("Ctx_FrameExpandSize");
|
||||
if(!es) pd = [0,0,0,0];
|
||||
var mode = instance.get_mode();
|
||||
ImageEditorDocument.$0105(pd,DrawBorder);
|
||||
function DrawBorder(layer)
|
||||
{
|
||||
if(mode=="tile" || mode=="single")
|
||||
{
|
||||
instance.PreviewTile(pdo, layer);
|
||||
}
|
||||
if(mode=="corner")
|
||||
{
|
||||
instance.PreviewCorner(pdo, layer);
|
||||
}
|
||||
}
|
||||
instance.get_parent().get_parent().Remove();
|
||||
]]>
|
||||
</attach>
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$043(self.get_element(),"top","#fce877","#dfb642");
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="mousehover">
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$043(self.get_element(),"top","#f1f6fa","#b0bce2");
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mouseleave">
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$043(self.get_element(),"top","#fce877","#dfb642");
|
||||
return;
|
||||
self.get_element().style.background = "";
|
||||
if(jsml.msie) self.get_element().style.filter = "";
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel jsml-local="backpanel" dock="fill" vertical_align="middle" horizontal_align="center"></panel>
|
||||
<panel jsml-local="fillpanel" dock="fill"></panel>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
self.Preview();
|
||||
self.get_parent().SelectFrame(self);
|
||||
return;
|
||||
]]>
|
||||
</attach>
|
||||
<method name="Preview">
|
||||
<![CDATA[
|
||||
var pd = self.get_framepadding();
|
||||
var pdo = pd;
|
||||
var es = ImageEditorDocument.GetOption("Ctx_FrameExpandSize");
|
||||
if(!es) pd = [0,0,0,0];
|
||||
var rs = ImageEditorDocument.GetOption("CanvasRealSize");
|
||||
ImageEditorDocument._canvas.width = rs.width+pd[1]+pd[3];
|
||||
ImageEditorDocument._canvas.height = rs.height+pd[0]+pd[2];
|
||||
ImageEditorDocument._2d.clearRect(0,0, ImageEditorDocument._canvas.width, ImageEditorDocument._canvas.height);
|
||||
|
||||
try{ImageEditorDocument._canvas.calcpos();}catch(x){}
|
||||
|
||||
var layers = ImageEditorDocument._history._layers;
|
||||
for(var i=0;i<layers.length;i++)
|
||||
{
|
||||
var layer = layers[i];
|
||||
if(ImageEditorDocument._history.$040(layer, "Hidden"))
|
||||
continue;
|
||||
var sx = layer._canvas_x + pd[3];
|
||||
var sy = layer._canvas_y + pd[0];
|
||||
var dx = layer._canvas.width;
|
||||
var dy = layer._canvas.height;
|
||||
ImageEditorDocument._2d.drawImage(layer._cacheCanvas || layer._canvas, sx, sy, dx, dy);
|
||||
}
|
||||
|
||||
var mode = self.get_mode();
|
||||
if(mode=="tile" || mode=="single")
|
||||
{
|
||||
self.PreviewTile(pdo);
|
||||
return;
|
||||
}
|
||||
if(mode=="corner")
|
||||
{
|
||||
self.PreviewCorner(pdo);
|
||||
return;
|
||||
}
|
||||
]]>
|
||||
</method>
|
||||
<method name="PreviewCorner" arguments="pdo,layer">
|
||||
<![CDATA[
|
||||
var ec = self.get_emptycorner();
|
||||
var eb = self.get_emptyborder();
|
||||
var cs = self.get_cornersize();
|
||||
var _doc = ImageEditorDocument;
|
||||
var drawobj = _doc;
|
||||
if(layer) drawobj=layer;
|
||||
var canvas = document.createElement("canvas");
|
||||
canvas.width = drawobj._canvas.width;
|
||||
canvas.height = drawobj._canvas.height;
|
||||
var ctx = canvas.getContext("2d");
|
||||
var count = 0;
|
||||
for(var i=1;i<=4;i++)
|
||||
{
|
||||
if(ec.indexOf(","+i+",")!=-1)
|
||||
{
|
||||
calctime();
|
||||
continue;
|
||||
}
|
||||
var img = new Image();
|
||||
img.ix = i;
|
||||
img.onload = function()
|
||||
{
|
||||
var x = 0;
|
||||
var y = 0;
|
||||
if(this.ix==2 || this.ix==3) x = drawobj._canvas.width-this.width;
|
||||
if(this.ix==4 || this.ix==3) y = drawobj._canvas.height-this.height;
|
||||
drawobj._2d.drawImage(this, x, y,this.width,this.height);
|
||||
calctime();
|
||||
}
|
||||
img.src = "images/frame/" + self.get_framename() + "_"+i+".png";
|
||||
}
|
||||
var icanvas = document.createElement("canvas");
|
||||
var i2d = icanvas.getContext("2d");
|
||||
for(var i=1;i<=4;i++)
|
||||
{
|
||||
if(eb.indexOf(","+i+",")!=-1)
|
||||
{
|
||||
calctime();
|
||||
continue;
|
||||
}
|
||||
var img = new Image();
|
||||
img.ix = i;
|
||||
img.onload = function()
|
||||
{
|
||||
var ix = this.ix;
|
||||
var c_prev = cs[ix-1];
|
||||
var c_next = ix==4?cs[0]:cs[ix];
|
||||
var h = this.height;
|
||||
var w = this.width;
|
||||
var x = 0;
|
||||
var y = 0;
|
||||
var patt = null
|
||||
if(ix==1)
|
||||
{
|
||||
x = c_prev[0];
|
||||
w = drawobj._canvas.width - c_prev[0] - c_next[0];
|
||||
patt = i2d.createPattern(this,"repeat-x");
|
||||
}
|
||||
if(ix==2)
|
||||
{
|
||||
x = drawobj._canvas.width - this.width;
|
||||
y = c_prev[1];
|
||||
h = drawobj._canvas.height - c_prev[1] - c_next[1];
|
||||
patt = i2d.createPattern(this,"repeat-y");
|
||||
}
|
||||
if(ix==3)
|
||||
{
|
||||
x = c_next[0];
|
||||
y = drawobj._canvas.height - this.height;
|
||||
w = drawobj._canvas.width - c_prev[0] - c_next[0];
|
||||
patt = i2d.createPattern(this,"repeat-x");
|
||||
}
|
||||
if(ix == 4)
|
||||
{
|
||||
y = c_next[1];
|
||||
h = drawobj._canvas.height - c_prev[1] - c_next[1];
|
||||
patt = i2d.createPattern(this,"repeat-y");
|
||||
}
|
||||
icanvas.width = w;
|
||||
icanvas.height = h;
|
||||
i2d.fillStyle = patt;
|
||||
i2d.fillRect(0,0,w,h);
|
||||
|
||||
drawobj._2d.drawImage(icanvas,x,y,w,h);
|
||||
calctime();
|
||||
}
|
||||
img.src = "images/frame/" + self.get_framename() + "_"+i+"0.png";
|
||||
}
|
||||
function calctime()
|
||||
{
|
||||
count++;
|
||||
if(count>=8 && layer) _doc.$0118();
|
||||
}
|
||||
]]>
|
||||
</method>
|
||||
<method name="PreviewTile" arguments="pdo,layer">
|
||||
<![CDATA[
|
||||
var _doc = ImageEditorDocument;
|
||||
var drawobj = _doc;
|
||||
if(layer) drawobj = layer;
|
||||
var img = new Image();
|
||||
img.onload = function()
|
||||
{
|
||||
if(self.get_mode()=="tile")
|
||||
{
|
||||
var canvas = document.createElement("canvas");
|
||||
canvas.width = drawobj._canvas.width;
|
||||
canvas.height = drawobj._canvas.height;
|
||||
var ctx = canvas.getContext("2d");
|
||||
var pattern = ctx.createPattern(img,"repeat");
|
||||
ctx.fillStyle = pattern;
|
||||
ctx.fillRect(0,0,canvas.width,canvas.height);
|
||||
ctx.clearRect(pdo[0],pdo[3],canvas.width-pdo[1]-pdo[3],canvas.height-pdo[0]-pdo[2]);
|
||||
|
||||
drawobj._2d.drawImage(canvas,0,0);
|
||||
}
|
||||
else
|
||||
{
|
||||
var scalex = drawobj._canvas.width/img.width;
|
||||
var scaley = drawobj._canvas.height/img.height;
|
||||
|
||||
var canvas = document.createElement("canvas");
|
||||
canvas.width = drawobj._canvas.width;
|
||||
canvas.height = drawobj._canvas.height;
|
||||
var ctx = canvas.getContext("2d");
|
||||
ctx.scale(scalex,scaley);
|
||||
ctx.drawImage(img,0,0);
|
||||
drawobj._2d.drawImage(canvas,0,0);
|
||||
}
|
||||
if(layer) _doc.$0118();
|
||||
}
|
||||
img.src = "images/frame/" + self.get_framename() + ".png";
|
||||
]]>
|
||||
</method>
|
||||
<method name="SetButtonEnable" arguments="val">
|
||||
<![CDATA[
|
||||
if(val==true)
|
||||
{
|
||||
btn_use.set_visible(1);
|
||||
self.set_height(114);
|
||||
}
|
||||
else
|
||||
{
|
||||
btn_use.set_visible(0);
|
||||
self.set_height(90);
|
||||
}
|
||||
]]>
|
||||
</method>
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var div = backpanel.get_element();
|
||||
setTimeout(function(){
|
||||
var w = self.get_current_width();
|
||||
var pd = self.get_framepadding();
|
||||
fillpanel.set_margin(pd);
|
||||
if(self.get_mode()=="tile")
|
||||
{
|
||||
backpanel.set_background("url(images/frame/" + self.get_framename() + ".png)");
|
||||
fillpanel.set_back_color("gray");
|
||||
return;
|
||||
}
|
||||
var img = new Image();
|
||||
img.onload = function()
|
||||
{
|
||||
if(img.width>w || img.height>90)
|
||||
{
|
||||
if(img.width/img.height<w/90)
|
||||
{
|
||||
img.style.height = "90px";
|
||||
img.style.width = parseInt(img.width*90/img.height+"") + "px";
|
||||
img.style.marginLeft = parseInt((w-img.width*90/img.height)/2 + "") + "px";
|
||||
}
|
||||
else
|
||||
{
|
||||
img.style.width = w + "px";
|
||||
img.style.height = parseInt(img.height*w/img.width+"") + "px";
|
||||
img.style.marginTop = parseInt((90-img.height*w/img.width)/2 + "") + "px";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
img.style.marginLeft = parseInt((w-img.width)/2 + "") + "px";
|
||||
img.style.marginTop = parseInt((90-img.height)/2 + "") + "px";
|
||||
}
|
||||
div.appendChild(img);
|
||||
}
|
||||
img.src = "images/frame/" + self.get_framename() + ".png";
|
||||
},100);
|
||||
]]>
|
||||
</initialize>
|
||||
</panel>
|
||||
<panel jsml-class="borderlist" right="0" width="150" border_width="0,1,1,1" back_color="#eeeeee" border_color="#cccccc">
|
||||
<panel dock="top" height="24" css_text="background:#bcc3c6 url(images/back/group.gif) repeat-x;">
|
||||
<image dock="right" src="images/close.gif" tooltip="@Title_Close" vertical_align="middle" width="16" cursor="default">
|
||||
<attach name="click">
|
||||
if(instance._selectedframe)
|
||||
{
|
||||
instance._selectedframe = null;
|
||||
ImageEditorDocument.$0118();
|
||||
}
|
||||
instance.Remove();
|
||||
</attach>
|
||||
</image>
|
||||
<label dock="fill" width="10" overflow="visible" text="@Tool_Frame_Head" vertical_align="middle" text_color="#545454" css_text="font-weight:bold;" margin="0,0,0,3"></label>
|
||||
</panel>
|
||||
<panel dock="bottom" height="22">
|
||||
<checkbox dock="left" width="20" vertical_align="middle" margin="0,0,2,0">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
self.set_checked(ImageEditorDocument.GetOption("Ctx_FrameExpandSize"));
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
ImageEditorDocument.SetOption("Ctx_FrameExpandSize",self.get_checked());
|
||||
]]>
|
||||
</attach>
|
||||
</checkbox>
|
||||
<label dock="fill" vertical_align="middle" horizontal_align="left" text="@Tool_Frame_Expand"></label>
|
||||
</panel>
|
||||
<panel dock="fill" overflow_y="scroll">
|
||||
<panel jsml-base="border_item" dock="top" framepadding="10" framename="greenflower" mode="tile" margin="3"></panel>
|
||||
<panel jsml-base="border_item" dock="top" framepadding="40,45,40,45" framename="rope" mode="single" margin="3"></panel>
|
||||
<panel jsml-base="border_item" dock="top" framepadding="80" framename="leaf" mode="single" margin="3"></panel>
|
||||
<panel jsml-base="border_item" dock="top" framepadding="35" framename="fallleaf" mode="corner" emptycorner="2,4" emptyborder="1,2,3,4" margin="3"></panel>
|
||||
<panel jsml-base="border_item" dock="top" framepadding="30" framename="redline" mode="corner" cornersize="[[138,122]]" emptycorner="" emptyborder="" margin="3"></panel>
|
||||
<panel jsml-base="border_item" dock="top" framepadding="19,19,21,18" framename="brooch" mode="corner" cornersize="[[47,42],[23,24],[39,45],[22,25]]" margin="3"></panel>
|
||||
<method name="SelectFrame" arguments="frame">
|
||||
<![CDATA[
|
||||
var arr = self.get_children();
|
||||
for(var i=0;i<arr.length;i++)
|
||||
{
|
||||
arr[i].set_border_color("#cccccc");
|
||||
arr[i].SetButtonEnable(false);
|
||||
}
|
||||
if(frame)
|
||||
{
|
||||
frame.set_border_color("red");
|
||||
frame.SetButtonEnable(true);
|
||||
instance._selectedframe = frame;
|
||||
}
|
||||
]]>
|
||||
</method>
|
||||
</panel>
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
ImageEditorDocument._framelist = self;
|
||||
setInterval(function(){
|
||||
self.AdjustHight();
|
||||
},100);
|
||||
self.AdjustHight();
|
||||
]]>
|
||||
</initialize>
|
||||
<method name="AdjustHight">
|
||||
<![CDATA[
|
||||
var rect=jsml.get_body_rect();
|
||||
self.set_left(rect.width-150);
|
||||
if(rect.height==self.get_height())
|
||||
return;
|
||||
self.set_height(rect.height);
|
||||
]]>
|
||||
</method>
|
||||
<method name="Remove">
|
||||
<![CDATA[
|
||||
ImageEditorDocument._framelist = null;
|
||||
self.dispose();
|
||||
]]>
|
||||
</method>
|
||||
</panel>
|
||||
<execute>
|
||||
<![CDATA[
|
||||
plugin.LoadUI = function(ctrl)
|
||||
{
|
||||
ctrl.append_child(jsml.class_create_instance("borderlist"));
|
||||
}
|
||||
]]>
|
||||
</execute>
|
||||
</jsml>
|
||||
519
LPWeb20/RichtextEditor/rtepaint5/addon/contextmenu.xml
Normal file
519
LPWeb20/RichtextEditor/rtepaint5/addon/contextmenu.xml
Normal file
@@ -0,0 +1,519 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<?xml-stylesheet type="text/xsl" href="jsml.xsl"?>
|
||||
<jsml xmlns="http://cutesoft.net/jsml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://cutesoft.net/jsml ../../core/jsml.xsd">
|
||||
|
||||
<panel jsml-class="contextmenuitem" height="30" border_color="transparent" border_width="1" css_text="border-radius:3px;" margin="2,3,2,3">
|
||||
<panel dock="left" width ="26" height="28" vertical_align="middle" horizontal_align="center" margin="-1,0,-1,0">
|
||||
<panel width="24" margin="3,0,0,0">
|
||||
<image jsml-local="menu_image" visible="0" border_width="0"></image>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel dock="right" width="18" height="28" vertical_align="middle" horizontal_align="center">
|
||||
<panel width="18" height="18">
|
||||
<image jsml-local="menu_subimage" visible="0" border_width="0"></image>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel dock="fill" vertical_align="middle" margin="0,0,0,5" height="28">
|
||||
<label jsml-local="label_name" vertical_align="middle" padding="1"></label>
|
||||
</panel>
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
self.get_element().oncontextmenu = function(e)
|
||||
{
|
||||
var evt = window.event || e;
|
||||
if(jsml.msie) evt.cancelBubble = true;
|
||||
if (evt.stopPropagation) evt.stopPropagation();
|
||||
if (evt.preventDefault) evt.preventDefault();
|
||||
evt.returnValue = false;
|
||||
return false;
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
<property name="menutext">
|
||||
<get>
|
||||
return label_name.get_text();
|
||||
</get>
|
||||
<set arguments="val">
|
||||
label_name.set_text(val);
|
||||
</set>
|
||||
</property>
|
||||
<property name="enabled">
|
||||
<get>
|
||||
return self._enabled;
|
||||
</get>
|
||||
<set arguments="val">
|
||||
<![CDATA[
|
||||
self._enabled = val;
|
||||
if(val=="0")
|
||||
{
|
||||
label_name.set_text_color("gray");
|
||||
menu_subimage.set_visible(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
label_name.set_text_color("");
|
||||
if(self.get_subimage())
|
||||
menu_subimage.set_visible(1);
|
||||
}
|
||||
]]>
|
||||
</set>
|
||||
</property>
|
||||
<property name="menuimage">
|
||||
<get>
|
||||
return self._img;
|
||||
</get>
|
||||
<set arguments="val">
|
||||
self._img = val;
|
||||
menu_image.set_src(val);
|
||||
menu_image.set_visible(1);
|
||||
</set>
|
||||
</property>
|
||||
<property name="subimage">
|
||||
<get>
|
||||
return self._subimg;
|
||||
</get>
|
||||
<set arguments="val">
|
||||
self._subimg = val;
|
||||
menu_subimage.set_src(val);
|
||||
if(self.get_enabled()!="0")
|
||||
menu_subimage.set_visible(1);
|
||||
</set>
|
||||
</property>
|
||||
<attach name="mousehover">
|
||||
<![CDATA[
|
||||
var scm = self.get_parent()._doc._subcontextmenu;
|
||||
if(scm && scm.get_target()!=self && scm != self.get_parent())
|
||||
{
|
||||
scm.Remove();
|
||||
self.get_parent()._doc._subcontextmenu = null;
|
||||
}
|
||||
if(self.get_enabled()=="0")
|
||||
return;
|
||||
self.set_border_width(1);
|
||||
self.set_border_color("#FFBD69");
|
||||
self.set_back_color("#FFE7A2");
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mouseleave">
|
||||
<![CDATA[
|
||||
if(self.get_enabled()=="0")
|
||||
return;
|
||||
self.set_border_color("transparent");
|
||||
self.set_back_color("transparent");
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="click" arguments="sender,evt">
|
||||
<![CDATA[
|
||||
if(self.get_enabled()!="0" && !menu_subimage.get_visible())
|
||||
{
|
||||
self.get_parent()._doc.$044();
|
||||
}
|
||||
var e = window.event || evt.event;
|
||||
if(jsml.msie) e.cancelBubble = true;
|
||||
if (e.stopPropagation) e.stopPropagation();
|
||||
if (e.preventDefault) e.preventDefault();
|
||||
e.returnValue = false;
|
||||
return false;
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel jsml-class="canvascontextmenupanel" width="210" height="238" border_color="rgb(169, 169, 169)" border_width="1" css_text="box-shadow: rgb(153, 153, 153) 3px 3px 12px;" background="transparent url(images/menuleft.gif) repeat-y">
|
||||
<panel jsml-base="contextmenuitem" dock="top" menutext="@Context_Unselect">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var sel = instance._doc.get_selection();
|
||||
if(!sel)
|
||||
self.set_enabled("0");
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(self.get_enabled()=="0")
|
||||
return;
|
||||
var layer = instance.FindPixelLayer();
|
||||
instance._doc.set_selection(null);
|
||||
instance._doc.$0118();
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel jsml-base="contextmenuitem" dock="top" menutext="@Context_Invert">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var sel = instance._doc.get_selection();
|
||||
if(!sel)
|
||||
self.set_enabled("0");
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(self.get_enabled()=="0")
|
||||
return;
|
||||
var _canvas = document.createElement("canvas");
|
||||
_canvas.width = instance._doc._canvas.width;
|
||||
_canvas.height = instance._doc._canvas.height;
|
||||
var _2d = _canvas.getContext("2d");
|
||||
_2d.fillStyle = instance._doc.GetOption("SelectionPattern");
|
||||
|
||||
var _oldselection = instance._doc.get_selection();
|
||||
instance._doc.set_selection(null);
|
||||
|
||||
var w = _canvas.width;
|
||||
var h = _canvas.height;
|
||||
var c1 = ToolSelection_Inverse(_oldselection);
|
||||
|
||||
_2d.drawImage(c1, 0, 0, w, h);
|
||||
|
||||
instance._doc.$0118();
|
||||
instance._doc.set_selection(_canvas);
|
||||
instance._doc.$056(_canvas);
|
||||
|
||||
|
||||
instance._doc._invertcount = instance._doc._invertcount+1;
|
||||
|
||||
function ToolSelection_Inverse(canvas)
|
||||
{
|
||||
var newc = document.createElement("canvas");
|
||||
newc.width = canvas.width;
|
||||
newc.height = canvas.height;
|
||||
var new2d = newc.getContext("2d");
|
||||
new2d.fillStyle = ImageEditorDocument.GetOption("SelectionPattern");
|
||||
new2d.fillRect(0, 0, canvas.width, canvas.height);
|
||||
new2d.globalCompositeOperation = "destination-out"
|
||||
new2d.drawImage(canvas, 0, 0, canvas.width, canvas.height);
|
||||
return newc;
|
||||
}
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel jsml-base="contextmenuitem" dock="top" menutext="@Context_SelectLayer" enabled="0" menuimage="images/select.png" subimage="images/submenu.gif">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var sel = instance._doc.get_selection();
|
||||
if(!sel)
|
||||
{
|
||||
setTimeout(function(){
|
||||
var layer = instance.FindPixelLayer();
|
||||
if(layer!=null)
|
||||
{
|
||||
self.set_enabled("1");
|
||||
var layername = layer.get_name().length>12?layer.get_name().substr(0,9)+"...":layer.get_name();
|
||||
self.set_menutext(self.get_menutext() + " ("+ layername + ")");
|
||||
}
|
||||
},100);
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="mousehover">
|
||||
<![CDATA[
|
||||
if(self.get_enabled()=="0")
|
||||
return;
|
||||
var scm = instance._doc._subcontextmenu;
|
||||
if(scm && scm.get_target()==self)
|
||||
return;
|
||||
var cmp = jsml.class_create_instance("subcontextmenuselectlayer", [instance._doc]);
|
||||
cmp.set_parent(document.body);
|
||||
cmp.SetPos(instance,self,{x:0,y:60,width:210,height:30});
|
||||
instance._doc._subcontextmenu = cmp;
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel jsml-base="contextmenuitem" dock="top" menutext="@Context_MoveUp">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var layerlist = instance._doc.$073();
|
||||
var currlayer = instance._doc.get_layer();
|
||||
if(layerlist.length==0 || layerlist[layerlist.length-1]._layerid==currlayer._layerid)
|
||||
self.set_enabled("0");
|
||||
else
|
||||
{
|
||||
var layername = currlayer.get_name().length>12?currlayer.get_name().substr(0,9)+"...":currlayer.get_name();
|
||||
self.set_menutext(self.get_menutext() + " ("+ layername + ")");
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(self.get_enabled()=="0")
|
||||
return;
|
||||
var currlayer = instance._doc.get_layer();
|
||||
instance._doc.$082(currlayer);
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel jsml-base="contextmenuitem" dock="top" menutext="@Context_Delete">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var sel = instance._doc.get_selection();
|
||||
if(!sel)
|
||||
self.set_enabled("0");
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(self.get_enabled()=="0")
|
||||
return;
|
||||
instance._doc.$025();
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel jsml-base="contextmenuitem" dock="top" menutext="@Context_Copy">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var sel = instance._doc.get_selection();
|
||||
if(!sel)
|
||||
self.set_enabled("0");
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(self.get_enabled()=="0")
|
||||
return;
|
||||
var sel = instance._doc.get_selection();
|
||||
//Create a new history using selected area
|
||||
var newlayer = jsml.class_create_instance("$042", [instance._doc]);
|
||||
newlayer.set_name(ImageEditorDocument.Text["Layer_Copy"]);
|
||||
|
||||
//Draw new layer
|
||||
var ctx = newlayer._2d;
|
||||
var layer = instance._doc.get_layer();
|
||||
var sw = layer._canvas.width;
|
||||
var sh = layer._canvas.height;
|
||||
var dw = newlayer._canvas.width;
|
||||
var dh = newlayer._canvas.height;
|
||||
ctx.drawImage(layer._canvas, 0 - layer._canvas_x, 0 - layer._canvas_y, dw, dh, 0, 0, dw, dh);
|
||||
ctx.save();
|
||||
ctx.globalCompositeOperation = "destination-out";
|
||||
ctx.drawImage(sel, 0, 0, sel.width, sel.height);
|
||||
ctx.restore();
|
||||
instance._doc._clipboard = newlayer;
|
||||
instance._doc.set_selection(null);
|
||||
instance._doc.$0118();
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel jsml-base="contextmenuitem" dock="top" menutext="@Context_Paste">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
if(!instance._doc._clipboard)
|
||||
self.set_enabled("0");
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(self.get_enabled()=="0")
|
||||
return;
|
||||
var newlayer = jsml.class_create_instance("$042", [instance._doc]);
|
||||
newlayer.set_name(ImageEditorDocument.Text["Layer_Paste"]);
|
||||
var ctx = newlayer._2d;
|
||||
var sw = instance._doc._clipboard._canvas.width;
|
||||
var sh = instance._doc._clipboard._canvas.height;
|
||||
var dw = newlayer._canvas.width;
|
||||
var dh = newlayer._canvas.height;
|
||||
ctx.drawImage(instance._doc._clipboard._canvas, 0 - instance._doc._clipboard._canvas_x, 0 - instance._doc._clipboard._canvas_y, dw, dh, 0, 0, dw, dh);
|
||||
|
||||
instance._doc.$097(newlayer);
|
||||
//select this layer
|
||||
//instance._doc.$015(newlayer);
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<constructor arguments="doc,pos">
|
||||
self.panel_constructor();
|
||||
self._doc = doc;
|
||||
self._pos = pos;
|
||||
</constructor>
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
self.get_element().oncontextmenu = function(e)
|
||||
{
|
||||
var evt = window.event || e;
|
||||
if (evt.stopPropagation) evt.stopPropagation();
|
||||
if (evt.preventDefault) evt.preventDefault();
|
||||
evt.returnValue = false;
|
||||
return false;
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
<method name="Remove">
|
||||
try {document.body.removeChild(self.get_element());}catch(x){}
|
||||
</method>
|
||||
<method name="SetPos">
|
||||
<![CDATA[
|
||||
//self._pos = pos;
|
||||
var pos = self._pos;
|
||||
var rect=jsml.get_body_rect();
|
||||
var sw = self.get_current_width();
|
||||
var sh = self.get_current_height();
|
||||
var left = pos.x;
|
||||
if(left+sw>rect.width)
|
||||
left = rect.width-sw;
|
||||
var top = pos.y;
|
||||
if(top+sh>rect.height)
|
||||
top = rect.height-sh;
|
||||
var style = self.get_element().style;
|
||||
style.position = "absolute";
|
||||
self.set_offset_x(left);
|
||||
self.set_offset_y(top);
|
||||
self._pos.rx = left;
|
||||
self._pos.ry = top;
|
||||
self._pos.width = sw;
|
||||
self._pos.height = sh;
|
||||
]]>
|
||||
</method>
|
||||
<method name="FindPixelLayer">
|
||||
<![CDATA[
|
||||
var history = self._doc.get_history();
|
||||
var ls = history._layers;
|
||||
var layer = null;
|
||||
for (var i = ls.length - 1; i >= 0; i--) {
|
||||
var _layer = ls[i];
|
||||
var tp = self._doc.$0100({x:self._pos.offsetX,y:self._pos.offsetY});
|
||||
var x = tp.x - _layer._canvas_x;
|
||||
var y = tp.y - _layer._canvas_y;
|
||||
var imgdata = _layer._2d.getImageData(x, y, 1, 1);
|
||||
if (imgdata && imgdata.data && imgdata.data[3] > 0) {
|
||||
layer = _layer;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return layer;
|
||||
]]>
|
||||
</method>
|
||||
</panel>
|
||||
|
||||
<panel jsml-class="subcontextmenubase">
|
||||
<constructor arguments="doc">
|
||||
self.panel_constructor();
|
||||
self._doc = doc;
|
||||
</constructor>
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
self.get_element().oncontextmenu = function(e)
|
||||
{
|
||||
var evt = window.event || e;
|
||||
if (evt.stopPropagation) evt.stopPropagation();
|
||||
if (evt.preventDefault) evt.preventDefault();
|
||||
evt.returnValue = false;
|
||||
return false;
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
<method name="Remove">
|
||||
try {document.body.removeChild(self.get_element());}catch(x){}
|
||||
</method>
|
||||
<method name="SetPos" arguments="parentmenu,target,targetoffset">
|
||||
<![CDATA[
|
||||
var parentpos = parentmenu._pos;
|
||||
self.set_owner(parentmenu);
|
||||
self.set_target(target);
|
||||
var rect=jsml.get_body_rect();
|
||||
var sw = self.get_current_width();
|
||||
var sh = self.get_current_height();
|
||||
var left = parentpos.rx + targetoffset.width;
|
||||
if(left+sw>rect.width)
|
||||
left = parentpos.rx-sw;
|
||||
var top = parentpos.ry + targetoffset.y;
|
||||
if(top+sh>rect.height)
|
||||
top = top-sh;
|
||||
var style = self.get_element().style;
|
||||
style.position = "absolute";
|
||||
self.set_offset_x(left);
|
||||
self.set_offset_y(top);
|
||||
self._pos = {x:left,y:top,width:sw,height:sh};
|
||||
]]>
|
||||
</method>
|
||||
<property name="target">
|
||||
<get>
|
||||
return self._target;
|
||||
</get>
|
||||
<set>
|
||||
<![CDATA[
|
||||
self._target = value;
|
||||
]]>
|
||||
</set>
|
||||
</property>
|
||||
<property name="owner">
|
||||
<get>
|
||||
return self._owner;
|
||||
</get>
|
||||
<set>
|
||||
<![CDATA[
|
||||
self._owner = value;
|
||||
]]>
|
||||
</set>
|
||||
</property>
|
||||
</panel>
|
||||
<panel jsml-class="subcontextmenuselectlayer" jsml-base="subcontextmenubase" width="210" height="68" border_color="transparent" border_width="1" css_text="box-shadow: rgb(153, 153, 153) 3px 3px 12px;" background="transparent url(images/menuleft.gif) repeat-y">
|
||||
<panel jsml-base="contextmenuitem" dock="top" menutext="@Context_SetSelection" enabled="0">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var sel = instance._doc.get_selection();
|
||||
if(!sel)
|
||||
{
|
||||
try
|
||||
{
|
||||
setTimeout(function(){
|
||||
var layer = instance.get_owner().FindPixelLayer();
|
||||
if(layer!=null)
|
||||
self.set_enabled("1");
|
||||
},100);
|
||||
}catch(x){}
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(self.get_enabled()=="0")
|
||||
return;
|
||||
var layer = instance.get_owner().FindPixelLayer();
|
||||
if(layer==null)
|
||||
return;
|
||||
instance._doc.$015(layer);
|
||||
//instance._doc.set_layer(layer);
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel jsml-base="contextmenuitem" dock="top" menutext="@Context_SelectLayer" enabled="0">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var sel = instance._doc.get_selection();
|
||||
if(!sel)
|
||||
{
|
||||
try
|
||||
{
|
||||
setTimeout(function(){
|
||||
var layer = instance.get_owner().FindPixelLayer();
|
||||
if(layer!=null)
|
||||
self.set_enabled("1");
|
||||
},100);
|
||||
}catch(x){}
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(self.get_enabled()=="0")
|
||||
return;
|
||||
var layer = instance.get_owner().FindPixelLayer();
|
||||
if(layer==null)
|
||||
return;
|
||||
//instance._doc.$015(layer);
|
||||
instance._doc.set_layer(layer);
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
</panel>
|
||||
|
||||
<execute>
|
||||
<![CDATA[
|
||||
plugin.LoadUI = function(ctrl,pos)
|
||||
{
|
||||
var cmp = jsml.class_create_instance("canvascontextmenupanel",[doc, pos]);
|
||||
cmp.set_parent(ctrl);
|
||||
cmp.SetPos(pos);
|
||||
doc._contextmenu = cmp;
|
||||
}
|
||||
]]>
|
||||
</execute>
|
||||
</jsml>
|
||||
226
LPWeb20/RichtextEditor/rtepaint5/addon/create.xml
Normal file
226
LPWeb20/RichtextEditor/rtepaint5/addon/create.xml
Normal file
@@ -0,0 +1,226 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<?xml-stylesheet type="text/xsl" href="jsml.xsl"?>
|
||||
<jsml xmlns="http://cutesoft.net/jsml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://cutesoft.net/jsml ../../JSML/jsml.xsd">
|
||||
<panel jsml-class="createdialog_select" dock="top" back_color="rgba(220,220,220,1)" border_color="rgba(204,204,204,1)" border_width="1">
|
||||
<label jsml-local="label" dock="fill" horizontal_align="left" padding="0,0,0,20" font_size="26px" vertical_align="middle" cursor="pointer">
|
||||
</label>
|
||||
<attach name="mousehover">
|
||||
<![CDATA[
|
||||
self.set_back_color("rgba(172,203,222,1)");
|
||||
self.set_border_color("rgba(158,187,205,1)");
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mouseleave">
|
||||
<![CDATA[
|
||||
self.set_back_color("rgba(220,220,220,1)");
|
||||
self.set_border_color("rgba(204,204,204,1)");
|
||||
]]>
|
||||
</attach>
|
||||
<property name="label_text">
|
||||
<get>
|
||||
return label.get_text();
|
||||
</get>
|
||||
<set>
|
||||
label.set_text(value);
|
||||
</set>
|
||||
</property>
|
||||
</panel>
|
||||
<panel back_color="rgba(128,128,128,0.4)" dock="over" jsml-class="createdialog" vertical_align="middle" horizontal_align="center">
|
||||
<panel jsml-local="basic" width="400" height="250" back_color="white" padding="0,10,10,10" css_text="border-radius:5px;">
|
||||
<panel dock="top" height="25" vertical_align="middle" margin="5,-5,0,0">
|
||||
<image src="images/close.gif" width="16" cursor="default" dock="right" tooltip="@Title_Close">
|
||||
<attach name="click">
|
||||
instance.dispose();
|
||||
</attach>
|
||||
</image>
|
||||
</panel>
|
||||
<panel dock="top" height="60" jsml-base="createdialog_select" label_text="@Tool_New_Canvas">
|
||||
<attach name="click">
|
||||
basic.set_visible(0);
|
||||
canvastype.set_visible(1);
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="top" height="60" jsml-base="createdialog_select" label_text="@Tool_New_FromURL" margin="10,0,0,0">
|
||||
<attach name="click">
|
||||
basic.set_visible(0);
|
||||
urltype.set_visible(1);
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="top" height="60" jsml-base="createdialog_select" label_text="@Tool_New_File" margin="10,0,0,0" vertical_align="middle">
|
||||
<initialize>
|
||||
if(typeof(FileReader)=="undefined")
|
||||
{
|
||||
self.set_visible(0);
|
||||
}
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
var input=document.getElementById("imageeditorloadfile");
|
||||
if(!input.files)
|
||||
{
|
||||
alert(ImageEditorDocument.Text["FileAPI"]);
|
||||
return;
|
||||
}
|
||||
input.onchange=function()
|
||||
{
|
||||
if(!confirm(ImageEditorDocument.Text["ConfirmCreate"]))
|
||||
{
|
||||
input.value = "";
|
||||
return;
|
||||
}
|
||||
var file=input.files[0];
|
||||
ImageEditorDocument.$0109(file,true);
|
||||
input.value = "";
|
||||
instance.dispose();
|
||||
}
|
||||
input.click();
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<initialize>
|
||||
if(typeof(FileReader)=="undefined")
|
||||
self.set_height(180);
|
||||
</initialize>
|
||||
</panel>
|
||||
<panel jsml-local="canvastype" visible="0" width="320" height="190" back_color="#eeeeee" border_color="#cccccc" border_width="1" padding="10,20,10,20">
|
||||
<panel dock="top" height="30" margin="10,0,0,0">
|
||||
<label dock="left" width="110" css_text="font-weight:bold;" vertical_align="middle" text="@Tool_Width"></label>
|
||||
<textbox jsml-local="txt_width" dock="left" width="100">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$093(self._input);
|
||||
]]>
|
||||
</initialize>
|
||||
</textbox>
|
||||
</panel>
|
||||
<panel dock="top" height="30" margin="10,0,0,0">
|
||||
<label dock="left" width="110" css_text="font-weight:bold;" vertical_align="middle" text="@Tool_Height"></label>
|
||||
<textbox jsml-local="txt_height" dock="left" width="100">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$093(self._input);
|
||||
]]>
|
||||
</initialize>
|
||||
</textbox>
|
||||
</panel>
|
||||
<panel dock="top" height="30" margin="10,0,0,0">
|
||||
<label dock="left" width="110" css_text="font-weight:bold;" vertical_align="middle" text="@Tool_New_FillColor"></label>
|
||||
<dropdown jsml-local="ddl_fillcolor" dock="left" width="100">
|
||||
<listitem value="transparent" text="@Select_Color_Transparent"></listitem>
|
||||
<listitem value="backcolor" text="@Select_Color_BackColor"></listitem>
|
||||
<listitem value="forecolor" text="@Select_Color_ForeColor"></listitem>
|
||||
</dropdown>
|
||||
</panel>
|
||||
<panel dock="top" height="30" margin="10,0,0,0">
|
||||
<button text="@Btn_Apply" dock="left" css_text="border:solid #999999 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;" width="60" vertical_align="middle" margin="0,5,0,80">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
var w = txt_width.get_text();
|
||||
var h = txt_height.get_text();
|
||||
if(!w)
|
||||
{
|
||||
txt_width.focus();
|
||||
return;
|
||||
}
|
||||
if(!h)
|
||||
{
|
||||
txt_height.focus();
|
||||
return;
|
||||
}
|
||||
if(isNaN(w) || parseInt(w)<=0)
|
||||
{
|
||||
txt_width.focus();
|
||||
alert(ImageEditorDocument.Text["CreateWidth"]);
|
||||
return;
|
||||
}
|
||||
if(isNaN(h) || parseInt(h)<=0)
|
||||
{
|
||||
txt_height.focus();
|
||||
alert(ImageEditorDocument.Text["CreateHeight"]);
|
||||
return;
|
||||
}
|
||||
if(!confirm(ImageEditorDocument.Text["ConfirmCreate"]))
|
||||
return;
|
||||
|
||||
var fillcolor = ddl_fillcolor.get_text();
|
||||
var backcolor = ImageEditorDocument.GetOption("Ctx_BackColor");
|
||||
var forecolor = ImageEditorDocument.GetOption("Ctx_ForeColor");
|
||||
|
||||
ImageEditorDocument.$090();
|
||||
ImageEditorDocument._canvas.width = parseInt(w);
|
||||
ImageEditorDocument._canvas.height = parseInt(h);
|
||||
ImageEditorDocument.SetOption("CanvasRealSize", {width:parseInt(w),height:parseInt(h)});
|
||||
ImageEditorDocument.$0116();
|
||||
ImageEditorDocument._history = null;
|
||||
ImageEditorDocument._history = jsml.class_create_instance("$029", [ImageEditorDocument]);
|
||||
ImageEditorDocument._history.set_name(ImageEditorDocument.Text["Layer_Background"]);
|
||||
if(fillcolor!="transparent")
|
||||
{
|
||||
var layer = jsml.class_create_instance("$042", [ImageEditorDocument]);
|
||||
layer.set_name(ImageEditorDocument.Text["Layer_Background"]);
|
||||
layer._2d.fillStyle = fillcolor=="backcolor"?backcolor:forecolor;
|
||||
layer._2d.fillRect(0,0,layer._canvas.width,layer._canvas.height);
|
||||
ImageEditorDocument._history._layers[0] = layer;
|
||||
ImageEditorDocument._history._selectLayer = layer;
|
||||
}
|
||||
ImageEditorDocument.$055([ImageEditorDocument._history]);
|
||||
ImageEditorDocument.set_SelectedTool(null);
|
||||
ImageEditorDocument._canvas.calcpos();
|
||||
instance.dispose();
|
||||
]]>
|
||||
</attach>
|
||||
</button>
|
||||
<button text="@Btn_Cancel" dock="left" css_text="border:solid #999999 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;" width="60" vertical_align="middle">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
canvastype.set_visible(0);
|
||||
basic.set_visible(1);
|
||||
]]>
|
||||
</attach>
|
||||
</button>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel jsml-local="urltype" visible="0" width="480" height="110" back_color="#eeeeee" border_color="#cccccc" border_width="1" padding="10,20,10,20">
|
||||
<panel dock="top" height="30" margin="10,0,0,0">
|
||||
<label dock="left" width="80" css_text="font-weight:bold;" vertical_align="middle" text="@Tool_New_URL"></label>
|
||||
<textbox jsml-local="txt_imageurl" dock="left" width="360"></textbox>
|
||||
</panel>
|
||||
<panel dock="top" height="30" margin="10,0,0,0">
|
||||
<button text="@Btn_Apply" dock="left" css_text="border:solid #999999 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;" width="60" vertical_align="middle" margin="0,5,0,80">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(!txt_imageurl.get_text())
|
||||
{
|
||||
txt_imageurl.focus();
|
||||
//alert(ImageEditorDocument.Text["NeedUrl"]);
|
||||
return;
|
||||
}
|
||||
if(!confirm(ImageEditorDocument.Text["ConfirmCreate"]))
|
||||
return;
|
||||
|
||||
ImageEditorDocument.LoadUrl("",txt_imageurl.get_text());
|
||||
instance.dispose();
|
||||
]]>
|
||||
</attach>
|
||||
</button>
|
||||
<button text="@Btn_Cancel" dock="left" css_text="border:solid #999999 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;" width="60" vertical_align="middle">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
urltype.set_visible(0);
|
||||
basic.set_visible(1);
|
||||
]]>
|
||||
</attach>
|
||||
</button>
|
||||
</panel>
|
||||
</panel>
|
||||
</panel>
|
||||
<execute>
|
||||
<![CDATA[
|
||||
plugin.LoadUI = function(ctrl)
|
||||
{
|
||||
ctrl.append_child(jsml.class_create_instance("createdialog"));
|
||||
}
|
||||
]]>
|
||||
</execute>
|
||||
</jsml>
|
||||
376
LPWeb20/RichtextEditor/rtepaint5/addon/effect.xml
Normal file
376
LPWeb20/RichtextEditor/rtepaint5/addon/effect.xml
Normal file
@@ -0,0 +1,376 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<?xml-stylesheet type="text/xsl" href="jsml.xsl"?>
|
||||
<jsml xmlns="http://cutesoft.net/jsml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://cutesoft.net/jsml ../../core/jsml.xsd">
|
||||
<panel jsml-class="effectapplybutton" dock="top" height="20" margin="5,2,5,3">
|
||||
<button text="@Btn_Apply" dock="right" width="60" margin="0,15,0,5" vertical_align="middle" horizontal_align="center" css_text="border:solid #999999 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
instance._effectbox.$0106(true);
|
||||
instance._mybox.dispose();
|
||||
]]>
|
||||
</attach>
|
||||
</button>
|
||||
<constructor arguments="effectbox,mybox">
|
||||
<![CDATA[
|
||||
self.panel_constructor();
|
||||
self._effectbox = effectbox;
|
||||
self._mybox = mybox;
|
||||
]]>
|
||||
</constructor>
|
||||
</panel>
|
||||
<panel jsml-class="effectbutton" width="70" height="80" margin="3" border_color="#8f8f8f" border_width="0" css_text="border-radius:2px;">
|
||||
<image jsml-local="icon" dock="top" height ="56" margin="3,3,0,3" vertical_align="middle"></image>
|
||||
<label jsml-local="txt" dock="fill" margin="0,3,0,3" vertical_align="middle" horizontal_align="center"></label>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
self.get_parent().Select(self);
|
||||
self.get_parent().get_parent().ShowApply(self);
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mousehover">
|
||||
<![CDATA[
|
||||
self.set_back_color("#bfd6e6");
|
||||
self.get_parent().get_parent().CloseChild();
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mouseleave">
|
||||
<![CDATA[
|
||||
if(self.get_selected())
|
||||
return;
|
||||
self.set_back_color("");
|
||||
]]>
|
||||
</attach>
|
||||
<property name="selected">
|
||||
<get>
|
||||
return self._selected;
|
||||
</get>
|
||||
<set>
|
||||
<![CDATA[
|
||||
self._selected=value;
|
||||
]]>
|
||||
</set>
|
||||
</property>
|
||||
<property name="src">
|
||||
<get>
|
||||
return self._src;
|
||||
</get>
|
||||
<set>
|
||||
<![CDATA[
|
||||
self._src=value;
|
||||
icon.set_src(value);
|
||||
]]>
|
||||
</set>
|
||||
</property>
|
||||
<property name="effectname">
|
||||
<get>
|
||||
return self._effectname;
|
||||
</get>
|
||||
<set>
|
||||
<![CDATA[
|
||||
self._effectname=value;
|
||||
icon.set_src("images/effect/sample_"+value+".gif");
|
||||
]]>
|
||||
</set>
|
||||
</property>
|
||||
<property name="title">
|
||||
<get>
|
||||
return self._title;
|
||||
</get>
|
||||
<set>
|
||||
<![CDATA[
|
||||
self._title=value;
|
||||
txt.set_text(value);
|
||||
]]>
|
||||
</set>
|
||||
</property>
|
||||
</panel>
|
||||
<panel jsml-class="effectpanel" width="390" height="205" back_color="white">
|
||||
<panel jsml-local="backpanel" back_color="gray" opacity="30" visible="0" dock="over" vertical_align="middle" horizontal_align="center">
|
||||
<image jsml-local="backimg" src="images/loading.gif" back_color="transparent" vertical_align="middle" horizontal_align="center" width="120" height="120" css_text="z-index:101;"></image>
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var style=self._element.style;
|
||||
style.zIndex="100";
|
||||
|
||||
function repos()
|
||||
{
|
||||
if(self._removed || self._jsml_disposed)return;
|
||||
setTimeout(repos,100);
|
||||
|
||||
self.set_parent(document.body);
|
||||
|
||||
var rect=jsml.get_body_rect();
|
||||
style.position="absolute";
|
||||
style.top=rect.top+"px";
|
||||
style.left=rect.left+"px";
|
||||
style.width = rect.width + "px";
|
||||
style.height = rect.height + "px";
|
||||
|
||||
backimg._element.style.top = parseInt((rect.height-120)/2)+"px";
|
||||
backimg._element.style.left = parseInt((rect.width-120)/2)+"px";
|
||||
}
|
||||
//repos();
|
||||
]]>
|
||||
</initialize>
|
||||
<method name="Remove">
|
||||
//self._removed = true;
|
||||
//document.body.removeChild(self.get_element());
|
||||
</method>
|
||||
</panel>
|
||||
<panel dock="bottom" height="30" border_color="#8f8f8f" border_width="1,0,0,0" padding="0,5,0,5">
|
||||
<button text="@Btn_Cancel" dock="right" width="60" margin="3,0,3,5" vertical_align="middle" horizontal_align="center" css_text="border:solid #999999 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
doc.$0118();
|
||||
backpanel.Remove();
|
||||
instance.dispose();
|
||||
instance.get_box().dispose();
|
||||
]]>
|
||||
</attach>
|
||||
</button>
|
||||
<button text="@Btn_Apply" dock="right" width="60" margin="3,0,3,5" vertical_align="middle" horizontal_align="center" css_text="border:solid #999999 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(instance._effect)
|
||||
{
|
||||
instance.$0106();
|
||||
}
|
||||
else
|
||||
{
|
||||
backpanel.Remove();
|
||||
instance.dispose();
|
||||
instance.get_box().dispose();
|
||||
}
|
||||
]]>
|
||||
</attach>
|
||||
</button>
|
||||
<checkbox jsml-local="cbx_all" dock="right" checked="1" vertical_align="middle" margin="4,0,0,0"></checkbox>
|
||||
<label dock="fill" text_align="right" vertical_align="middle" text="@Effect_AllLayer"></label>
|
||||
</panel>
|
||||
<panel dock="fill">
|
||||
<panel dock="flow" jsml-base="effectbutton" title="@Effect_S_Aqua" effectname="aqua"/>
|
||||
<panel dock="flow" jsml-base="effectbutton" title="@Effect_S_Vivid" effectname="vivid"/>
|
||||
<panel dock="flow" jsml-base="effectbutton" title="@Effect_S_Coldblue" effectname="coldblue"/>
|
||||
<panel dock="flow" jsml-base="effectbutton" title="@Effect_S_Fresh" effectname="fresh"/>
|
||||
<panel dock="flow" jsml-base="effectbutton" title="@Effect_S_Concorde" effectname="concorde"/>
|
||||
<panel dock="flow" jsml-base="effectbutton" title="@Effect_S_Elegant" effectname="elegant"/>
|
||||
<panel dock="flow" jsml-base="effectbutton" title="@Effect_S_Indiglow" effectname="indiglow"/>
|
||||
<panel dock="flow" jsml-base="effectbutton" title="@Effect_S_Old" effectname="old"/>
|
||||
<panel dock="flow" jsml-base="effectbutton" title="@Effect_S_Singe" effectname="singe"/>
|
||||
<panel dock="flow" jsml-base="effectbutton" title="@Effect_S_Softfocus" effectname="softfocus"/>
|
||||
<method name="Select" arguments="btn">
|
||||
<![CDATA[
|
||||
var arr = self.get_children();
|
||||
for(var i=0;i<arr.length;i++)
|
||||
{
|
||||
arr[i].set_selected(null);
|
||||
arr[i].set_back_color("");
|
||||
}
|
||||
if(btn)
|
||||
{
|
||||
instance._effect = btn.get_effectname();
|
||||
btn.set_selected(true);
|
||||
btn.set_back_color("#bfd6e6");
|
||||
instance.Preview();
|
||||
}
|
||||
]]>
|
||||
</method>
|
||||
</panel>
|
||||
<property name="box">
|
||||
<get>
|
||||
return self._box;
|
||||
</get>
|
||||
<set>
|
||||
self._box = value;
|
||||
</set>
|
||||
</property>
|
||||
<method name="CloseChild">
|
||||
<![CDATA[
|
||||
if(self._effectbox)self._effectbox.dispose();
|
||||
self._effectbox=null;
|
||||
]]>
|
||||
</method>
|
||||
<method name="ShowApply" arguments="tag">
|
||||
<![CDATA[
|
||||
var effectbox=jsml.class_create_instance("floatbox");
|
||||
effectbox.set_height(31);
|
||||
effectbox.set_manualclose(true);
|
||||
effectbox.show(tag.get_element(),0,10,{"floatMode":"r-b"});
|
||||
instance._effectbox = effectbox;
|
||||
var bluroption = jsml.class_create_instance("effectapplybutton",[instance,effectbox]);
|
||||
effectbox.append_child(bluroption);
|
||||
]]>
|
||||
</method>
|
||||
<method name="$0106" arguments="keepopen">
|
||||
<![CDATA[
|
||||
if(self._effect)
|
||||
{
|
||||
doc.$0106(DrawEffect);
|
||||
}
|
||||
function DrawEffect()
|
||||
{
|
||||
self.Preview(true,keepopen);
|
||||
}
|
||||
]]>
|
||||
</method>
|
||||
<method name="Preview" arguments="isapply,keepopen">
|
||||
<![CDATA[
|
||||
if(!self._effect) return;
|
||||
|
||||
backpanel.set_visible(1);
|
||||
var effect = jsml.class_create_instance("$035");
|
||||
var method = self._effect;
|
||||
|
||||
setTimeout(Func,100);
|
||||
|
||||
function Func(){
|
||||
var isall = cbx_all.get_checked();
|
||||
var rs = doc.GetOption("CanvasRealSize");
|
||||
doc._canvas.width = rs.width;
|
||||
doc._canvas.height = rs.height;
|
||||
doc._2d.clearRect(0,0, doc._canvas.width, doc._canvas.height);
|
||||
|
||||
try{doc._canvas.calcpos();}catch(x){}
|
||||
var layers = doc._history._layers;
|
||||
var currlayer = doc.get_layer();
|
||||
var sel = doc.get_selection();
|
||||
|
||||
for(var i=0;i<layers.length;i++)
|
||||
{
|
||||
var layer = layers[i];
|
||||
if(doc._history.$040(layer, "Hidden"))
|
||||
continue;
|
||||
var sx = layer._canvas_x;
|
||||
var sy = layer._canvas_y;
|
||||
var dx = layer._canvas.width;
|
||||
var dy = layer._canvas.height;
|
||||
if(isall || currlayer._layerid==layer._layerid)
|
||||
{
|
||||
var tcanvas = document.createElement("canvas");
|
||||
tcanvas.width = dx;
|
||||
tcanvas.height = dy;
|
||||
var t2d = tcanvas.getContext("2d");
|
||||
t2d.drawImage(layer._canvas,0,0);
|
||||
DoEffect(method,tcanvas);
|
||||
|
||||
if(sel)
|
||||
{
|
||||
t2d.save();
|
||||
t2d.globalCompositeOperation = "destination-out";
|
||||
t2d.drawImage(sel, -layer._canvas_x, -layer._canvas_y, sel.width, sel.height);
|
||||
t2d.restore();
|
||||
|
||||
if (layer._canvas_x < 0)
|
||||
t2d.clearRect(0, 0, -layer._canvas_x, layer._canvas.height);
|
||||
if (layer._canvas_y < 0)
|
||||
t2d.clearRect(0, 0, layer._canvas.width, -layer._canvas_y);
|
||||
|
||||
var wextra = layer._canvas_x + layer._canvas.width - rs.width;
|
||||
if (wextra > 0)
|
||||
t2d.clearRect(-layer._canvas_x + rs.width, 0, wextra, layer._canvas.height);
|
||||
|
||||
var hextra = layer._canvas_y + layer._canvas.height - rs.height;
|
||||
if (hextra > 0)
|
||||
t2d.clearRect(0, -layer._canvas_y + rs.height, layer._canvas.width, hextra);
|
||||
|
||||
t2d.save();
|
||||
t2d.globalCompositeOperation = "destination-over";
|
||||
t2d.drawImage(layer._canvas,0,0);
|
||||
t2d.restore();
|
||||
}
|
||||
if(isapply)
|
||||
layer._canvas = tcanvas;
|
||||
doc._2d.drawImage(tcanvas, sx, sy, dx, dy);
|
||||
}
|
||||
else
|
||||
doc._2d.drawImage(layer._canvas, sx, sy, dx, dy);
|
||||
}
|
||||
if(sel)
|
||||
doc.$056(sel, "noanimation");
|
||||
//if(isapply && sel)
|
||||
// doc.set_selection(null);
|
||||
|
||||
backpanel.set_visible(0);
|
||||
if(isapply)
|
||||
self._effect = null;
|
||||
if(isapply && !keepopen)
|
||||
{
|
||||
backpanel.Remove();
|
||||
self.dispose();
|
||||
self.get_box().dispose();
|
||||
}
|
||||
}
|
||||
|
||||
function DoEffect(m,canvas)
|
||||
{
|
||||
switch(m)
|
||||
{
|
||||
case "aqua":
|
||||
effect.$075(canvas,0,48,0);
|
||||
break;
|
||||
case "vivid":
|
||||
effect.$0125(canvas,1.36);
|
||||
break;
|
||||
case "coldblue":
|
||||
effect.$075(canvas,0,30,70);
|
||||
break;
|
||||
case "fresh":
|
||||
effect.$075(canvas,10,0,4);
|
||||
break;
|
||||
case "concorde":
|
||||
effect.$0108(canvas,80);
|
||||
effect.$0104(canvas);
|
||||
break;
|
||||
case "elegant":
|
||||
effect.$075(canvas,20,6,0);
|
||||
break;
|
||||
case "indiglow":
|
||||
effect.$0125(canvas,0.88);
|
||||
effect.$0108(canvas,80);
|
||||
effect.$0131(canvas,0,40,0);
|
||||
break;
|
||||
case "old":
|
||||
effect.$075(canvas,55,0,-55);
|
||||
effect.$0125(canvas,0.8);
|
||||
break;
|
||||
case "singe":
|
||||
effect.$075(canvas,36,0,-50);
|
||||
break;
|
||||
case "softfocus":
|
||||
effect.$0127(canvas,3);
|
||||
effect.$0131(canvas,0,0,6);
|
||||
break;
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</method>
|
||||
<attach name="attach_dom">
|
||||
<![CDATA[
|
||||
if(self._eventattached)return;
|
||||
self._eventattached=true;
|
||||
self._handleClosing=function()
|
||||
{
|
||||
doc.$0118();
|
||||
}
|
||||
self.get_box().attach_event("closing",self._handleClosing);
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="detach_dom">
|
||||
<![CDATA[
|
||||
self._eventattached=false;
|
||||
self.get_box().detach_event("closing",self._handleClosing);
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<execute>
|
||||
<![CDATA[
|
||||
plugin.LoadUI = function(ctrl)
|
||||
{
|
||||
var pl = jsml.class_create_instance("effectpanel");
|
||||
pl.set_box(ctrl);
|
||||
ctrl.append_child(pl);
|
||||
}
|
||||
]]>
|
||||
</execute>
|
||||
</jsml>
|
||||
501
LPWeb20/RichtextEditor/rtepaint5/addon/layerproperty.xml
Normal file
501
LPWeb20/RichtextEditor/rtepaint5/addon/layerproperty.xml
Normal file
@@ -0,0 +1,501 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<?xml-stylesheet type="text/xsl" href="jsml.xsl"?>
|
||||
<jsml xmlns="http://cutesoft.net/jsml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://cutesoft.net/jsml ../../JSML/jsml.xsd">
|
||||
<panel jsml-class="propertypanel" width="520" height="360" border_width="1" border_color="Gray" css_text="display:none;">
|
||||
<panel jsml-local="backpanel" back_color="gray" opacity="20">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var style=self._element.style;
|
||||
style.zIndex="987653";
|
||||
|
||||
function repos()
|
||||
{
|
||||
if(self._removed || self._jsml_disposed)return;
|
||||
setTimeout(repos,100);
|
||||
|
||||
self.set_parent(document.body);
|
||||
|
||||
var rect=jsml.get_body_rect();
|
||||
style.position="absolute";
|
||||
style.top=rect.top+"px";
|
||||
style.left=rect.left+"px";
|
||||
style.width = rect.width + "px";
|
||||
style.height = rect.height + "px";
|
||||
}
|
||||
repos();
|
||||
|
||||
]]>
|
||||
</initialize>
|
||||
<method name="Remove">
|
||||
self._removed = true;
|
||||
document.body.removeChild(self.get_element());
|
||||
</method>
|
||||
</panel>
|
||||
<panel dock="top" height="30" back_color="#cccccc" vertical_align="middle">
|
||||
<label jsml-local="label_layername" dock="fill" css_text="font-weight:bold;" margin="5" text="@Property_Header" vertical_align="middle" width="150"></label>
|
||||
<attach name="mousedown" arguments="jevent,devent">
|
||||
instance.start_move_offset(devent);
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="left" width="120" back_color="#eeeeee">
|
||||
<panel dock="fill" margin="5" border_width="1" border_color="Gray">
|
||||
<label dock="top" height="20" css_text="font-weight:bold;" margin="5" text="@Property_GroupTitle" vertical_align="middle" width="10" overflow="visible"></label>
|
||||
<panel dock="fill" border_width="1,0,0,0" border_color="Gray" padding="5">
|
||||
<panel jsml-local="shadowtab" height="25" dock="top" border_width="0,0,1,0" border_color="white" vertical_align="middle">
|
||||
<htmlcontrol width="20" dock="left" vertical_align="middle">
|
||||
<xmldata>
|
||||
<input id="cbx_shadow" type="checkbox">
|
||||
</input>
|
||||
</xmldata>
|
||||
<attach name="click">
|
||||
instance.Preview("ShadowEnabled",self.find_element("cbx_shadow").checked);
|
||||
</attach>
|
||||
</htmlcontrol>
|
||||
<label left="25" text="@Property_GroupShadow" vertical_align="middle" width="10" overflow="visible">
|
||||
<attach name="click">
|
||||
instance.ShowContainer(shadowcontainer,shadowtab);
|
||||
instance.find_element("cbx_shadow").checked = true;
|
||||
instance.Preview("ShadowEnabled", true);
|
||||
</attach>
|
||||
</label>
|
||||
</panel>
|
||||
<panel jsml-local="glowouttab" height="25" dock="top" border_width="0,0,1,0" border_color="white" vertical_align="middle">
|
||||
<htmlcontrol width="20" dock="left" vertical_align="middle">
|
||||
<xmldata>
|
||||
<input id="cbx_glowout" type="checkbox">
|
||||
</input>
|
||||
</xmldata>
|
||||
<attach name="click">
|
||||
instance.Preview("GlowOutEnabled",self.find_element("cbx_glowout").checked);
|
||||
</attach>
|
||||
</htmlcontrol>
|
||||
<label left="25" text="@Property_GroupOutGlow" vertical_align="middle" width="10" overflow="visible">
|
||||
<attach name="click">
|
||||
instance.ShowContainer(glowoutcontainer,glowouttab);
|
||||
instance.find_element("cbx_glowout").checked = true;
|
||||
instance.Preview("GlowOutEnabled", true);
|
||||
</attach>
|
||||
</label>
|
||||
</panel>
|
||||
<panel jsml-local="glowintab" height="25" dock="top" border_width="0,0,1,0" border_color="white" vertical_align="middle">
|
||||
<htmlcontrol width="20" dock="left" vertical_align="middle">
|
||||
<xmldata>
|
||||
<input id="cbx_glowin" type="checkbox">
|
||||
</input>
|
||||
</xmldata>
|
||||
<attach name="click">
|
||||
instance.Preview("GlowInEnabled",self.find_element("cbx_glowin").checked);
|
||||
</attach>
|
||||
</htmlcontrol>
|
||||
<label left="25" text="@Property_GroupInGlow" vertical_align="middle" width="10" overflow="visible">
|
||||
<attach name="click">
|
||||
instance.ShowContainer(glowincontainer,glowintab);
|
||||
instance.find_element("cbx_glowin").checked = true;
|
||||
instance.Preview("GlowInEnabled", true);
|
||||
</attach>
|
||||
</label>
|
||||
</panel>
|
||||
</panel>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel jsml-local="optioncontainer" dock="fill" back_color="white" padding="5">
|
||||
<panel dock="bottom" height="30">
|
||||
<button text="@Btn_Save" left="40" css_text="border:solid #999999 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
var his=ImageEditorDocument.get_history()
|
||||
var lay=instance.get_layer();
|
||||
lay.$010();
|
||||
ImageEditorDocument.$0118();
|
||||
|
||||
document.body.removeChild(instance.get_element());
|
||||
backpanel.Remove();
|
||||
]]>
|
||||
</attach>
|
||||
</button>
|
||||
<button text="@Btn_Cancel" left="130" css_text="border:solid #999999 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
var his=ImageEditorDocument.get_history()
|
||||
var lay=instance.get_layer();
|
||||
for(var p in instance._propbackup)
|
||||
his.$041(lay,p,instance._propbackup[p]);
|
||||
if(lay.$010())
|
||||
ImageEditorDocument.$0118();
|
||||
document.body.removeChild(instance.get_element());
|
||||
backpanel.Remove();
|
||||
]]>
|
||||
</attach>
|
||||
</button>
|
||||
</panel>
|
||||
<panel jsml-local="shadowcontainer" dock="fill" visible="1">
|
||||
<panel dock="top" height="30">
|
||||
<panel dock="left" vertical_align="middle">
|
||||
<label width="50" text="@Property_Blur"></label>
|
||||
</panel>
|
||||
<panel dock="fill" vertical_align="middle">
|
||||
<textbox text="0" jsml-local="tb_shadowblur">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$093(self._input);
|
||||
self._input.onblur=function()
|
||||
{
|
||||
instance.Preview("ShadowBlur",self.get_text());
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
|
||||
</textbox>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel dock="top" height="30">
|
||||
<panel dock="left" vertical_align="middle">
|
||||
<label width="55" text="@Property_OffsetX"></label>
|
||||
</panel>
|
||||
<panel dock="fill" vertical_align="middle">
|
||||
<textbox text="0" jsml-local="tb_shadowx">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$093(self._input);
|
||||
self._input.onblur=function()
|
||||
{
|
||||
instance.Preview("ShadowX",self.get_text());
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
</textbox>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel dock="top" height="30">
|
||||
<panel dock="left" vertical_align="middle">
|
||||
<label width="55" text="@Property_OffsetY"></label>
|
||||
</panel>
|
||||
<panel dock="fill" vertical_align="middle">
|
||||
<textbox text="0" jsml-local="tb_shadowy">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$093(self._input);
|
||||
self._input.onblur=function()
|
||||
{
|
||||
instance.Preview("ShadowY",self.get_text());
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
</textbox>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel dock="top" height="30">
|
||||
<panel dock="left" vertical_align="middle">
|
||||
<label width="50" text="@Property_Color"></label>
|
||||
</panel>
|
||||
<panel dock="fill" vertical_align="middle">
|
||||
<panel jsml-local="tb_shadowcolor" width="20" height="20" border_color="#cccccc" border_width="1">
|
||||
<attach name="click" arguments="sender,evt">
|
||||
<![CDATA[
|
||||
//shadowcolorpicker.set_target(self);
|
||||
var cp = ImageEditorDocument.$050();
|
||||
cp.set_target(self);
|
||||
cp.set_visible(1);
|
||||
//var style = cp._element.style;
|
||||
function AdjustPos()
|
||||
{
|
||||
var target = self.get_element();
|
||||
var y = 0;
|
||||
var x = 0;
|
||||
var iy = 0;
|
||||
while(target != document.body)
|
||||
{
|
||||
if(target == instance.get_element())
|
||||
iy = y;
|
||||
x += parseInt(target.offsetLeft)||0;
|
||||
y += parseInt(target.offsetTop)||0;
|
||||
target = target.parentNode;
|
||||
}
|
||||
var left = x + self.get_current_width() + 5;
|
||||
var top = y;
|
||||
if(top<0) top =0;
|
||||
cp.set_offset_x(left + 28);
|
||||
cp.set_offset_y(top - iy + 2);
|
||||
}
|
||||
AdjustPos();
|
||||
ImageEditorDocument.CancelBubble(evt);
|
||||
return false;
|
||||
]]>
|
||||
</attach>
|
||||
<method name="SaveColor" arguments="color">
|
||||
self.set_back_color(color);
|
||||
//instance.$041("ShadowColor",color);
|
||||
instance.Preview("ShadowColor",color);
|
||||
</method>
|
||||
</panel>
|
||||
</panel>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel jsml-local="glowoutcontainer" dock="fill" visible="0">
|
||||
<panel dock="top" height="30">
|
||||
<panel dock="left" vertical_align="middle">
|
||||
<label width="50" text="@Property_GlowWidth"></label>
|
||||
</panel>
|
||||
<panel dock="fill" vertical_align="middle">
|
||||
<textbox text="3" jsml-local="tb_glowoutwidth">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$093(self._input);
|
||||
self._input.onblur=function()
|
||||
{
|
||||
var val = self.get_text();
|
||||
if(val!=null && val.length>0 && isNaN(val))
|
||||
{
|
||||
alert(ImageEditorDocument.Text["NumberValid"]);
|
||||
return;
|
||||
}
|
||||
if(parseInt(val)<0)
|
||||
{
|
||||
alert(ImageEditorDocument.Text["NumberValidZero"]);
|
||||
return;
|
||||
}
|
||||
instance.Preview("GlowOutWidth", val);
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
</textbox>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel dock="top" height="30">
|
||||
<panel dock="left" vertical_align="middle">
|
||||
<label width="50" text="@Property_Color"></label>
|
||||
</panel>
|
||||
<panel dock="fill" vertical_align="middle">
|
||||
<panel jsml-local="tb_glowoutcolor" width="20" height="20" border_color="#cccccc" border_width="1">
|
||||
<attach name="click" arguments="sender,evt">
|
||||
<![CDATA[
|
||||
//glowoutcolorpicker.set_target(self);
|
||||
var cp = ImageEditorDocument.$050();
|
||||
cp.set_target(self);
|
||||
cp.set_visible(1);
|
||||
//var style = cp._element.style;
|
||||
function AdjustPos()
|
||||
{
|
||||
var target = self.get_element();
|
||||
var y = 0;
|
||||
var x = 0;
|
||||
var iy = 0;
|
||||
while(target != document.body)
|
||||
{
|
||||
if(target == instance.get_element())
|
||||
iy = y;
|
||||
x += parseInt(target.offsetLeft)||0;
|
||||
y += parseInt(target.offsetTop)||0;
|
||||
target = target.parentNode;
|
||||
}
|
||||
var left = x + self.get_current_width() + 5;
|
||||
var top = y;
|
||||
if(top<0) top =0;
|
||||
cp.set_offset_x(left + 28);
|
||||
cp.set_offset_y(top - iy + 2);
|
||||
}
|
||||
AdjustPos();
|
||||
ImageEditorDocument.CancelBubble(evt);
|
||||
return false;
|
||||
]]>
|
||||
</attach>
|
||||
<method name="SaveColor" arguments="color">
|
||||
self.set_back_color(color);
|
||||
instance.Preview("GlowOutColor",color);
|
||||
</method>
|
||||
</panel>
|
||||
</panel>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel jsml-local="glowincontainer" dock="fill" visible="0">
|
||||
<panel dock="top" height="30">
|
||||
<panel dock="left" vertical_align="middle">
|
||||
<label width="50" text="@Property_GlowWidth"></label>
|
||||
</panel>
|
||||
<panel dock="fill" vertical_align="middle">
|
||||
<textbox text="3" jsml-local="tb_glowinwidth">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$093(self._input);
|
||||
self._input.onblur=function()
|
||||
{
|
||||
var val = self.get_text();
|
||||
if(val!=null && val.length>0 && isNaN(val))
|
||||
{
|
||||
alert(ImageEditorDocument.Text["NumberValid"]);
|
||||
return;
|
||||
}
|
||||
if(parseInt(val)<0)
|
||||
{
|
||||
alert(ImageEditorDocument.Text["NumberValidZero"]);
|
||||
return;
|
||||
}
|
||||
instance.Preview("GlowInWidth", val);
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
</textbox>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel dock="top" height="30">
|
||||
<panel dock="left" vertical_align="middle">
|
||||
<label width="50" text="@Property_Color"></label>
|
||||
</panel>
|
||||
<panel dock="fill" vertical_align="middle">
|
||||
<panel jsml-local="tb_glowincolor" width="20" height="20" border_color="#cccccc" border_width="1">
|
||||
<attach name="click" arguments="sender,evt">
|
||||
<![CDATA[
|
||||
//glowincolorpicker.set_target(self);
|
||||
var cp = ImageEditorDocument.$050();
|
||||
cp.set_target(self);
|
||||
cp.set_visible(1);
|
||||
//var style = cp._element.style;
|
||||
function AdjustPos()
|
||||
{
|
||||
var target = self.get_element();
|
||||
var y = 0;
|
||||
var x = 0;
|
||||
var iy = 0;
|
||||
while(target != document.body)
|
||||
{
|
||||
if(target == instance.get_element())
|
||||
iy = y;
|
||||
x += parseInt(target.offsetLeft)||0;
|
||||
y += parseInt(target.offsetTop)||0;
|
||||
target = target.parentNode;
|
||||
}
|
||||
var left = x + self.get_current_width() + 5;
|
||||
var top = y;
|
||||
if(top<0) top =0;
|
||||
cp.set_offset_x(left + 28);
|
||||
cp.set_offset_y(top - iy + 2);
|
||||
}
|
||||
AdjustPos();
|
||||
ImageEditorDocument.CancelBubble(evt);
|
||||
return false;
|
||||
]]>
|
||||
</attach>
|
||||
<method name="SaveColor" arguments="color">
|
||||
self.set_back_color(color);
|
||||
instance.Preview("GlowInColor",color);
|
||||
</method>
|
||||
</panel>
|
||||
</panel>
|
||||
</panel>
|
||||
</panel>
|
||||
</panel>
|
||||
<method name="Preview" arguments="name,val">
|
||||
<![CDATA[
|
||||
var his=ImageEditorDocument.get_history();
|
||||
var lay=instance.get_layer();
|
||||
if(!self._propsaved[name] )
|
||||
{
|
||||
self._propbackup[name]=his.$040(lay,name);
|
||||
self._propsaved[name]=true;
|
||||
}
|
||||
his.$041(lay,name,val);
|
||||
lay.$010()
|
||||
ImageEditorDocument.$0118();
|
||||
]]>
|
||||
</method>
|
||||
<method name="ShowContainer" arguments="ctn,tab">
|
||||
<![CDATA[
|
||||
var ctnarr = [shadowcontainer,glowoutcontainer,glowincontainer];
|
||||
var tabarr = [shadowtab,glowouttab,glowintab];
|
||||
for(var i=0;i<ctnarr.length;i++)
|
||||
{
|
||||
ctnarr[i].set_visible(0);
|
||||
tabarr[i].set_back_color("");
|
||||
}
|
||||
|
||||
ctn.set_visible(1);
|
||||
tab.set_back_color("#e5eff3");
|
||||
]]>
|
||||
</method>
|
||||
<method name="$040" arguments="name">
|
||||
<![CDATA[
|
||||
var his=ImageEditorDocument.get_history()
|
||||
var lay=self.get_layer();
|
||||
return his.$040(lay,name);
|
||||
]]>
|
||||
</method>
|
||||
<method name="$041" arguments="name,val">
|
||||
<![CDATA[
|
||||
var his=ImageEditorDocument.get_history()
|
||||
var lay=self.get_layer();
|
||||
return his.$041(lay,name,val);
|
||||
]]>
|
||||
</method>
|
||||
<property name="layer">
|
||||
<get>
|
||||
var layeritem = self.get_layeritem();
|
||||
if(!layeritem) return null;
|
||||
return layeritem.get_layer();
|
||||
</get>
|
||||
</property>
|
||||
<property name="layeritem">
|
||||
<get>
|
||||
return self._layeritem;
|
||||
</get>
|
||||
<set>
|
||||
self._layeritem = value;
|
||||
//label_layername.set_text(self.get_layer().get_name());
|
||||
//set attributes
|
||||
//Shadow
|
||||
instance.find_element("cbx_shadow").checked = self.$040("ShadowEnabled") || false;
|
||||
tb_shadowx.set_text(self.$040("ShadowX")||"5");
|
||||
tb_shadowy.set_text(self.$040("ShadowY")||"5");
|
||||
tb_shadowblur.set_text(self.$040("ShadowBlur")||"0");
|
||||
tb_shadowcolor.set_back_color(self.$040("ShadowColor")||"rgba(0,0,0,1)");
|
||||
|
||||
instance.find_element("cbx_glowout").checked = self.$040("GlowOutEnabled") || false;
|
||||
tb_glowoutwidth.set_text(self.$040("GlowOutWidth")||"5");
|
||||
tb_glowoutcolor.set_back_color(self.$040("GlowOutColor")||"rgba(255,255,255,0.5)");
|
||||
|
||||
instance.find_element("cbx_glowin").checked = self.$040("GlowInEnabled") || false;
|
||||
tb_glowinwidth.set_text(self.$040("GlowInWidth")||"5");
|
||||
tb_glowincolor.set_back_color(self.$040("GlowInColor")||"rgba(255,255,255,0.5)");
|
||||
</set>
|
||||
</property>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
]]>
|
||||
</attach>
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
self._propsaved = {};
|
||||
self._propbackup = {};
|
||||
|
||||
var style=self._element.style;
|
||||
style.zIndex="987654";
|
||||
|
||||
var myself = self;
|
||||
function AdjustPos()
|
||||
{
|
||||
var x = (document.body.offsetWidth - myself.get_width())/2;
|
||||
var y = (document.body.offsetHeight - myself.get_height())/2;
|
||||
|
||||
myself.set_offset_x(x);
|
||||
myself.set_offset_y(y);
|
||||
style.position="absolute";
|
||||
//myself.set_visible(1);
|
||||
style.display = "";
|
||||
}
|
||||
|
||||
setTimeout(AdjustPos, 50);
|
||||
]]>
|
||||
</initialize>
|
||||
</panel>
|
||||
|
||||
<execute>
|
||||
<![CDATA[
|
||||
plugin.LoadUI = function(layer)
|
||||
{
|
||||
var propertypanel = jsml.class_create_instance("propertypanel");
|
||||
propertypanel.set_parent(document.body);
|
||||
propertypanel.set_layeritem(layer);
|
||||
}
|
||||
]]>
|
||||
</execute>
|
||||
</jsml>
|
||||
1836
LPWeb20/RichtextEditor/rtepaint5/addon/submenu.xml
Normal file
1836
LPWeb20/RichtextEditor/rtepaint5/addon/submenu.xml
Normal file
File diff suppressed because it is too large
Load Diff
216
LPWeb20/RichtextEditor/rtepaint5/addon/watermark.xml
Normal file
216
LPWeb20/RichtextEditor/rtepaint5/addon/watermark.xml
Normal file
@@ -0,0 +1,216 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<?xml-stylesheet type="text/xsl" href="jsml.xsl"?>
|
||||
<jsml xmlns="http://cutesoft.net/jsml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://cutesoft.net/jsml ../../JSML/jsml.xsd">
|
||||
<panel jsml-class="watermark_item" height="84" width="140" border_color="#cccccc" border_width="1">
|
||||
<property name="framepadding">
|
||||
<get>
|
||||
return self._framepadding || [0,0];
|
||||
</get>
|
||||
<set arguments="val">
|
||||
<![CDATA[
|
||||
var arr = val.split(",");
|
||||
if(arr.length==1) {
|
||||
var ret = IntSure(arr[0]);
|
||||
self._framepadding = [ret,ret];
|
||||
return;
|
||||
}
|
||||
self._framepadding = [0,0];
|
||||
for(var i=0;i<2;i++) {
|
||||
if(arr.length>i) {
|
||||
var ret = IntSure(arr[i]);
|
||||
self._framepadding[i] = ret;
|
||||
}
|
||||
}
|
||||
|
||||
function IntSure(v)
|
||||
{
|
||||
if(typeof(v)=="undefined" || v==null || v=="" || isNaN(v))
|
||||
return 0;
|
||||
return parseInt(v);
|
||||
}
|
||||
]]>
|
||||
</set>
|
||||
</property>
|
||||
<property name="src">
|
||||
<get>
|
||||
return self._src;
|
||||
</get>
|
||||
<set>
|
||||
self._src = value;
|
||||
</set>
|
||||
</property>
|
||||
<panel jsml-local="btn_use" dock="bottom" margin="2" height="24" visible="0">
|
||||
<panel dock="right" width="60" margin="2" css_text="text-shadow: 2px 2px 5px #99999;border:solid #d1decd 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;">
|
||||
<image dock="left" margin="0,0,0,2" src="images/accept.png" vertical_align="middle" horizontal_align="center" width="16" cursor="default"></image>
|
||||
<label dock="fill" text="@Btn_Apply" margin="0,0,0,3" css_text="font-weight:bold;" vertical_align="middle" horizontal_align="left"></label>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$068(instance.get_framepadding(), instance.get_src());
|
||||
instance.get_parent().get_parent().Remove();
|
||||
]]>
|
||||
</attach>
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$043(self.get_element(),"top","#fce877","#dfb642");
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="mousehover">
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$043(self.get_element(),"top","#f1f6fa","#b0bce2");
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mouseleave">
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$043(self.get_element(),"top","#fce877","#dfb642");
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel jsml-local="backpanel" dock="fill" vertical_align="middle" horizontal_align="center"></panel>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
self.Preview();
|
||||
self.get_parent().SelectFrame(self);
|
||||
return;
|
||||
]]>
|
||||
</attach>
|
||||
<method name="Preview">
|
||||
<![CDATA[
|
||||
var pd = self.get_framepadding();
|
||||
var img = new Image();
|
||||
img.onload = function()
|
||||
{
|
||||
ImageEditorDocument.$0118();
|
||||
var offsetx = ImageEditorDocument._canvas.width - img.width - pd[0];
|
||||
var offsety = ImageEditorDocument._canvas.height - img.height - pd[1];
|
||||
ImageEditorDocument._2d.drawImage(img, offsetx, offsety);
|
||||
}
|
||||
var src = self.get_src();
|
||||
//if (src.toLowerCase().indexOf("http://") == 0 || src.toLowerCase().indexOf("https://") == 0)
|
||||
// src = "ReadImage.html5." + ImageEditorDocument.GetOption("PageType") + "?url=" + encodeURIComponent(src);
|
||||
img.src = src;
|
||||
]]>
|
||||
</method>
|
||||
<method name="SetButtonEnable" arguments="val">
|
||||
<![CDATA[
|
||||
if(val==true)
|
||||
{
|
||||
btn_use.set_visible(1);
|
||||
self.set_height(104);
|
||||
}
|
||||
else
|
||||
{
|
||||
btn_use.set_visible(0);
|
||||
self.set_height(80);
|
||||
}
|
||||
]]>
|
||||
</method>
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var div = backpanel.get_element();
|
||||
setTimeout(function(){
|
||||
var w = self.get_current_width();
|
||||
var img = new Image();
|
||||
img.onload = function()
|
||||
{
|
||||
if(img.width>w || img.height>80)
|
||||
{
|
||||
if(img.width/img.height<w/80)
|
||||
{
|
||||
img.style.height = "80px";
|
||||
img.style.width = parseInt(img.width*80/img.height+"") + "px";
|
||||
img.style.marginLeft = parseInt((w-img.width*80/img.height)/2 + "") + "px";
|
||||
}
|
||||
else
|
||||
{
|
||||
img.style.width = w + "px";
|
||||
img.style.height = parseInt(img.height*w/img.width+"") + "px";
|
||||
img.style.marginTop = parseInt((80-img.height*w/img.width)/2 + "") + "px";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
img.style.marginLeft = parseInt((w-img.width)/2 + "") + "px";
|
||||
img.style.marginTop = parseInt((80-img.height)/2 + "") + "px";
|
||||
}
|
||||
div.appendChild(img);
|
||||
}
|
||||
img.src = self.get_src();
|
||||
},100);
|
||||
]]>
|
||||
</initialize>
|
||||
</panel>
|
||||
<panel jsml-class="watermarklist" right="0" width="150" border_width="0,1,1,1" back_color="#eeeeee" border_color="#cccccc">
|
||||
<panel dock="top" height="24" css_text="background:#bcc3c6 url(images/back/group.gif) repeat-x;">
|
||||
<image dock="right" src="images/close.gif" tooltip="@Title_Close" vertical_align="middle" width="16" cursor="default">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(instance._selectedmark)
|
||||
{
|
||||
instance._selectedmark = null;
|
||||
ImageEditorDocument.$0118();
|
||||
}
|
||||
instance.Remove();
|
||||
]]>
|
||||
</attach>
|
||||
</image>
|
||||
<label dock="fill" width="10" overflow="visible" text="@Tool_Water_Head" vertical_align="middle" text_color="#545454" css_text="font-weight:bold;" margin="0,0,0,3"></label>
|
||||
</panel>
|
||||
<panel dock="fill" overflow_y="scroll">
|
||||
<panel jsml-base="watermark_item" dock="top" margin="3" framepadding="5" src="images/watermark/sample1.jpg"></panel>
|
||||
<panel jsml-base="watermark_item" dock="top" margin="3" framepadding="5" src="images/watermark/sample2.jpg"></panel>
|
||||
<panel jsml-base="watermark_item" dock="top" margin="3" framepadding="5" src="images/watermark/sample3.jpg"></panel>
|
||||
<panel jsml-base="watermark_item" dock="top" margin="3" framepadding="5,5" src="images/watermark/sample4.gif"></panel>
|
||||
<panel jsml-base="watermark_item" dock="top" margin="3" framepadding="5" src="images/watermark/sample5.jpg"></panel>
|
||||
<method name="SelectFrame" arguments="frame">
|
||||
<![CDATA[
|
||||
var arr = self.get_children();
|
||||
for(var i=0;i<arr.length;i++)
|
||||
{
|
||||
arr[i].set_border_color("#cccccc");
|
||||
arr[i].SetButtonEnable(false);
|
||||
}
|
||||
if(frame)
|
||||
{
|
||||
frame.set_border_color("red");
|
||||
frame.SetButtonEnable(true);
|
||||
instance._selectedmark = frame;
|
||||
}
|
||||
]]>
|
||||
</method>
|
||||
</panel>
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
ImageEditorDocument._watermarklist = self;
|
||||
setInterval(function(){
|
||||
self.AdjustHight();
|
||||
},100);
|
||||
self.AdjustHight();
|
||||
]]>
|
||||
</initialize>
|
||||
<method name="AdjustHight">
|
||||
<![CDATA[
|
||||
var rect=jsml.get_body_rect();
|
||||
self.set_left(rect.width-150);
|
||||
if(rect.height==self.get_height())
|
||||
return;
|
||||
self.set_height(rect.height);
|
||||
]]>
|
||||
</method>
|
||||
<method name="Remove">
|
||||
<![CDATA[
|
||||
ImageEditorDocument._watermarklist = null;
|
||||
self.dispose();
|
||||
]]>
|
||||
</method>
|
||||
</panel>
|
||||
<execute>
|
||||
<![CDATA[
|
||||
plugin.LoadUI = function(ctrl)
|
||||
{
|
||||
ctrl.append_child(jsml.class_create_instance("watermarklist"));
|
||||
}
|
||||
]]>
|
||||
</execute>
|
||||
</jsml>
|
||||
Reference in New Issue
Block a user