Initial Commit Update Telerik
15
LPWeb20/RichtextEditor/rtepaint5/Language.aspx
Normal file
@@ -0,0 +1,15 @@
|
||||
<%@ Page Language="C#" %>
|
||||
<script runat="server">
|
||||
string lang = "en";
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
lang = Request.UserLanguages[0].Replace("-", "_");
|
||||
if (string.IsNullOrEmpty(lang))
|
||||
lang = "en";
|
||||
string path = Server.MapPath("language/" + lang + ".js");
|
||||
if (string.IsNullOrEmpty(path) || !System.IO.File.Exists(path))
|
||||
lang = "en";
|
||||
Response.Redirect("language/" + lang + ".js");
|
||||
}
|
||||
</script>
|
||||
1063
LPWeb20/RichtextEditor/rtepaint5/addon/adjust.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
@@ -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
@@ -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
@@ -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
@@ -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
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>
|
||||
345
LPWeb20/RichtextEditor/rtepaint5/common.xml
Normal file
@@ -0,0 +1,345 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<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="floatbox" width="100" height="61" border_color="darkgray" border_style="solid" border_width="1" back_color="white" overflow="visible">
|
||||
<initialize>
|
||||
self._element._floatboxinstance=self;
|
||||
</initialize>
|
||||
<method name="show" arguments="parentElement,x,y,option">
|
||||
<![CDATA[
|
||||
|
||||
if(!x)x=0;if(!y)y=0;
|
||||
if(!option)option={};
|
||||
|
||||
|
||||
self._showtime=new Date().getTime();
|
||||
|
||||
self._fbOwner=parentElement;
|
||||
|
||||
var pose=parentElement||document.body;
|
||||
var pare;
|
||||
|
||||
if(parentElement)
|
||||
{
|
||||
pare=parentElement.parentNode;
|
||||
while(pare!=null&&!pare._floatboxinstance)pare=pare.parentNode;
|
||||
}
|
||||
|
||||
if(pare!=null)
|
||||
{
|
||||
self._parentfloatbox=pare._floatboxinstance;
|
||||
self._parentfloatbox._onchildshow(self);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(window._currentfloatbox)
|
||||
window._currentfloatbox._onothershow(self);
|
||||
window._currentfloatbox=self;
|
||||
}
|
||||
|
||||
|
||||
var s=self._element.style;
|
||||
|
||||
s.boxShadow="3px 3px 12px #999999";
|
||||
self._dommode='absolute';
|
||||
self.set_parent(document.body);
|
||||
|
||||
var pos=jsml.calc_position(self._element,pose);
|
||||
var ods;
|
||||
var odsborder;
|
||||
|
||||
if(parentElement)
|
||||
{
|
||||
var w=self.get_width();
|
||||
var h=self.get_height();
|
||||
var pew=pose.offsetWidth;
|
||||
var peh=pose.offsetHeight;
|
||||
|
||||
if(!self._overdiv&&!option.stopOverlay)
|
||||
{
|
||||
self._overdiv=document.createElement("DIV");
|
||||
self._overdiv.setAttribute("unselectable","on");
|
||||
self._overdiv.onselectstart=jsml.cancel_event_function;
|
||||
ods=self._overdiv.style;
|
||||
ods.position='absolute';
|
||||
ods.top=pos.top+"px";
|
||||
ods.left=pos.left+"px";
|
||||
ods.width=pew-2+"px";
|
||||
ods.height=peh-2+"px";
|
||||
ods.border="solid 1px "+(self.get_border_color()||"darkgray");
|
||||
|
||||
if(false)
|
||||
{
|
||||
var trans=document.createElement("DIV");
|
||||
self._overdiv.appendChild(trans);
|
||||
trans.style.backgroundColor='white';
|
||||
jsml.set_opacity(trans,1);
|
||||
}
|
||||
else
|
||||
{
|
||||
ods.backgroundColor=(self.get_back_color()||"white");
|
||||
ods.overflow='hidden';
|
||||
self._overdiv.innerHTML=parentElement.innerHTML;
|
||||
if(parentElement.style.textAlign != "left")
|
||||
self._overdiv.style.textAlign = parentElement.style.textAlign;
|
||||
}
|
||||
|
||||
document.body.appendChild(self._overdiv);
|
||||
|
||||
if(option.stopToggle)
|
||||
{
|
||||
self._overdiv.onmousedown=jsml.cancel_bubble_function;
|
||||
}
|
||||
if(option.buttonClick)
|
||||
{
|
||||
self._overdiv.onclick=option.buttonClick
|
||||
}
|
||||
if(self._parentfloatbox)
|
||||
{
|
||||
self._overdiv.onmouseover=function()
|
||||
{
|
||||
self._parentfloatbox.clearclosechildtimer();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
jsml.set_opacity(self._element,1);
|
||||
if(self._overdiv)jsml.set_opacity(self._overdiv,1);
|
||||
|
||||
function ResetBorderColor()
|
||||
{
|
||||
if(ods&&odsborder&&self.get_opacity()>50)
|
||||
{
|
||||
var bordercolor=self.get_border_color();
|
||||
ods.borderLeftColor=bordercolor;
|
||||
ods.borderTopColor=bordercolor;
|
||||
ods.borderRightColor=bordercolor;
|
||||
ods.borderBottomColor=bordercolor;
|
||||
ods[odsborder]=(self.get_back_color()||"white");
|
||||
}
|
||||
}
|
||||
|
||||
var opacity=-40;
|
||||
function NextOpacity()
|
||||
{
|
||||
clearTimeout(self.nextopacitytimerid);
|
||||
|
||||
opacity+=20;
|
||||
if(opacity>=self.get_opacity())
|
||||
{
|
||||
opacity=self.get_opacity();
|
||||
}
|
||||
else
|
||||
{
|
||||
self.nextopacitytimerid=setTimeout(NextOpacity,30);
|
||||
}
|
||||
if(opacity>0)
|
||||
{
|
||||
jsml.set_opacity(self._element,opacity);
|
||||
if(self._overdiv)jsml.set_opacity(self._overdiv,opacity);
|
||||
ResetBorderColor();
|
||||
}
|
||||
}
|
||||
|
||||
function SetPosition()
|
||||
{
|
||||
pos=jsml.calc_position(self._element,pose);
|
||||
|
||||
pos.srcleft=pos.left;
|
||||
pos.srctop=pos.top;
|
||||
|
||||
odsborder=null;
|
||||
|
||||
var nomovex=false;
|
||||
var nomovey=false;
|
||||
|
||||
if(parentElement)
|
||||
{
|
||||
switch(option.floatMode)
|
||||
{
|
||||
case "l-t":
|
||||
nomovex=true;
|
||||
pos.left+=-w;
|
||||
pos.top+=peh-h;
|
||||
break;
|
||||
case "t-l":
|
||||
nomovey=true;
|
||||
pos.left+=-w;
|
||||
pos.top+=peh-h;
|
||||
break;
|
||||
case "l-b":
|
||||
nomovex=true;
|
||||
pos.left+=-w;
|
||||
break;
|
||||
case "b-l":
|
||||
nomovey=true;
|
||||
pos.left+=pew-w;
|
||||
pos.top+=peh;
|
||||
break;
|
||||
case "r-t":
|
||||
nomovex=true;
|
||||
pos.left+=pew;
|
||||
pos.top+=peh-h;
|
||||
break;
|
||||
case "t-r":
|
||||
nomovey=true;
|
||||
pos.top+=-h;
|
||||
break;
|
||||
case "r-b":
|
||||
nomovex=true;
|
||||
pos.left+=pew;
|
||||
if(ods)
|
||||
{
|
||||
ods.width=pew-1+"px";
|
||||
odsborder="borderRightColor";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
case 'b-r':
|
||||
nomovey=true;
|
||||
pos.top+=peh;
|
||||
if(ods)
|
||||
{
|
||||
ods.height=peh-1+"px";
|
||||
odsborder="borderBottomColor";
|
||||
}
|
||||
break;
|
||||
case 'none':
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(option.floatMirror!==false)
|
||||
{
|
||||
jsml.adjust_mirror(self._element,pose.nodeName=="BODY"?null:pose,pos,nomovex,nomovey);
|
||||
if(pos.xflip)
|
||||
{
|
||||
if(odsborder=='borderRightColor')
|
||||
{
|
||||
odsborder='borderLeftColor';
|
||||
pos.left+=1;
|
||||
}
|
||||
}
|
||||
if(pos.yflip)
|
||||
{
|
||||
if(odsborder=='borderBottomColor')
|
||||
{
|
||||
odsborder='borderTopColor';
|
||||
pos.top+=1;
|
||||
}
|
||||
ResetBorderColor();
|
||||
}
|
||||
}
|
||||
|
||||
s.left=(pos.left+x)+"px";
|
||||
s.top=(pos.top+y)+"px";
|
||||
}
|
||||
|
||||
self._reposfunc=SetPosition;
|
||||
setTimeout(NextOpacity,20);
|
||||
setTimeout(SetPosition,10);
|
||||
|
||||
]]>
|
||||
</method>
|
||||
<attach name="resize">
|
||||
if(!self._reposfunc)return;
|
||||
setTimeout(function(){self._reposfunc();},1);
|
||||
</attach>
|
||||
<property name="title">
|
||||
<get>return self.get_text();</get>
|
||||
<set>self.set_text(value);</set>
|
||||
</property>
|
||||
<property name="manualclose">
|
||||
<get>return self._manualclose;</get>
|
||||
<set>self._manualclose = value;</set>
|
||||
</property>
|
||||
<method name="dispose" overrideas="panel_dispose">
|
||||
self.close("dispose");
|
||||
</method>
|
||||
<method name="close" arguments="reason">
|
||||
<![CDATA[
|
||||
if(window._currentfloatbox==self)
|
||||
window._currentfloatbox=null;
|
||||
self.close_child();
|
||||
self.set_visible(false);
|
||||
setTimeout(function(){
|
||||
self.panel_dispose();
|
||||
if(self._overdiv)
|
||||
{
|
||||
self._overdiv.parentNode.removeChild(self._overdiv);
|
||||
self._overdiv=null;
|
||||
}
|
||||
},1);
|
||||
self.invoke_event("closing");
|
||||
]]>
|
||||
</method>
|
||||
<method name="startclosechildtimer">
|
||||
<![CDATA[
|
||||
var currentchild=self._childfloatbox;
|
||||
clearTimeout(self._cctimerid);
|
||||
self._cctimerid=setTimeout(function(){
|
||||
if(currentchild==self._childfloatbox)
|
||||
self.close_child();
|
||||
},value||500);
|
||||
]]>
|
||||
</method>
|
||||
<method name="clearclosechildtimer">
|
||||
clearTimeout(self._cctimerid);
|
||||
</method>
|
||||
<attach name="mousehover">
|
||||
if(self._parentfloatbox)self._parentfloatbox.clearclosechildtimer();
|
||||
</attach>
|
||||
<method name="close_child">
|
||||
self.clearclosechildtimer();
|
||||
if(!self._childfloatbox)return;
|
||||
self._childfloatbox.close("close_child");
|
||||
self._childfloatbox=null;
|
||||
</method>
|
||||
<method name="_onchildshow" arguments="childfloatbox">
|
||||
self.clearclosechildtimer();
|
||||
if(self._childfloatbox==childfloatbox)return;
|
||||
if(self._childfloatbox)self._childfloatbox._onothershow();
|
||||
self._childfloatbox=childfloatbox;
|
||||
</method>
|
||||
<method name="_onothershow" arguments="otherfloatbox">
|
||||
self.close("other_show");
|
||||
</method>
|
||||
<method name="_onouterclick">
|
||||
if(self.get_manualclose()) return;
|
||||
self.close("outer_click");
|
||||
</method>
|
||||
<method name="_onmenuclick">
|
||||
self.close("menu_click");
|
||||
</method>
|
||||
<method name="resize" arguments="width,height">
|
||||
if(width)self.set_width(width);
|
||||
if(height)self.set_height(height);
|
||||
</method>
|
||||
</panel>
|
||||
|
||||
<execute>
|
||||
<![CDATA[
|
||||
jsml.rtecommonlibraryloaded=true;
|
||||
function tryclosefloatbox(e)
|
||||
{
|
||||
if(!window._currentfloatbox)return;
|
||||
var e=e||window.event;
|
||||
var pare=e.srcElement||e.target;
|
||||
while(pare!=null&&!pare._floatboxinstance)pare=pare.parentNode;
|
||||
if(pare)return;
|
||||
window._currentfloatbox._onouterclick();
|
||||
}
|
||||
jsml.dom_attach_event(document,'mousedown',tryclosefloatbox);
|
||||
jsml.dom_attach_event(document,'keydown',function(e)
|
||||
{
|
||||
var e=e||window.event;
|
||||
if(e.keyCode!=27)return;
|
||||
tryclosefloatbox(e)
|
||||
});
|
||||
]]>
|
||||
</execute>
|
||||
|
||||
|
||||
</jsml>
|
||||
138
LPWeb20/RichtextEditor/rtepaint5/dialog.htm
Normal file
@@ -0,0 +1,138 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Untitled Page</title>
|
||||
<style type="text/css">
|
||||
body {font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 9pt;}
|
||||
</style>
|
||||
</head>
|
||||
<body style="padding: 0px; margin: 0px; overflow: hidden;">
|
||||
<div id="container_panel">
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var editor=parent.rteimageeditoreditor;
|
||||
var dialog=parent.rteimageeditordialog;
|
||||
var option=parent.rteimageeditoroption;
|
||||
|
||||
document.write('<script type="text/javascript" src="../core/jsml.js?'+editor._config._urlsuffix+'"></scr'+'ipt>');
|
||||
|
||||
if(editor._config.servertype=="AspNet")
|
||||
{
|
||||
document.write('<script type="text/javascript" src="Language.aspx"></scr'+'ipt>');
|
||||
}
|
||||
else
|
||||
{
|
||||
document.write('<script type="text/javascript" src="language/en_us.js"></scr'+'ipt>');
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var fileurl=option.storage.UrlPrefix+option.storage.UrlPath+option.fileitem.Name;
|
||||
dialog.set_title(editor.GetLangText("imageeditor")+" : "+fileurl);
|
||||
|
||||
window.RefreshImage=function(url,callback)
|
||||
{
|
||||
var iframe=document.createElement("IFRAME");
|
||||
iframe.style.width="1px";
|
||||
iframe.style.height="1px";
|
||||
iframe.style.position="absolute";
|
||||
iframe.style.top="-1px";
|
||||
|
||||
window.rterefreshimagecallback=callback;
|
||||
window.rterefreshimageiframe=iframe;
|
||||
|
||||
var src="refreshimage.htm?url="+url;
|
||||
iframe.src=src;
|
||||
document.body.insertBefore(iframe,document.body.firstChild);
|
||||
|
||||
}
|
||||
window.OnRefreshImage=function()
|
||||
{
|
||||
var cb=window.rterefreshimagecallback;
|
||||
if(cb)setTimeout(cb,1);
|
||||
|
||||
var iframe=window.rterefreshimageiframe;
|
||||
iframe.parentNode.removeChild(iframe);
|
||||
}
|
||||
|
||||
|
||||
window.SaveImageBase64=function(data)
|
||||
{
|
||||
function callback(call)
|
||||
{
|
||||
var pathitem=call.ReturnValue;
|
||||
if(!pathitem)
|
||||
{
|
||||
alert("failed..");
|
||||
return;
|
||||
}
|
||||
window.RefreshImage(fileurl,function()
|
||||
{
|
||||
if(option.onsaveimage)
|
||||
{
|
||||
option.onsaveimage(pathitem);
|
||||
}
|
||||
//alert("Saved OK");
|
||||
dialog.close();
|
||||
});
|
||||
}
|
||||
editor.CallAjax("AjaxSaveImage",callback,option.storage,option.fileitem.Name,data)
|
||||
}
|
||||
|
||||
jsml.jsmlfolder="../core";
|
||||
|
||||
jsml.parse_xmldoc_translate_value = function (val) {
|
||||
if (!val) return val;
|
||||
if (val.charAt(0) == "@") {
|
||||
var key = val.substring(1);
|
||||
return imageeditor_lang[key];
|
||||
}
|
||||
if (val.indexOf("{now}") != -1) {
|
||||
return val.replace(/{now}/g,new Date().getTime());
|
||||
}
|
||||
return val;
|
||||
clearTimeout()
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="tools.js"></script>
|
||||
|
||||
<script type="text/javascript" src="html5.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
var xh=jsml.xmlhttp();
|
||||
xh.onreadystatechange = function () {
|
||||
if (xh.readyState < 4) return;
|
||||
xh.onreadystatechange = new Function();
|
||||
if (xh.status == 0) return;
|
||||
jsml.parse_xmldoc(xh.responseXML);
|
||||
jsml.new_html5_ui();
|
||||
}
|
||||
xh.open("GET","html5ui.xml?"+new Date().getTime(),true);
|
||||
xh.send("");
|
||||
|
||||
|
||||
ImageEditorDocument.SetOption("LockFileName", true);
|
||||
ImageEditorDocument.SetOption("LockOverwrite", true);
|
||||
ImageEditorDocument.SetOption("Overwrite", true);
|
||||
|
||||
ImageEditorDocument.LoadUrl(option.fileitem.Name, fileurl);
|
||||
|
||||
|
||||
dialog.onqueryclose=function()
|
||||
{
|
||||
if(ImageEditorDocument._historylist.length>1)
|
||||
return confirm(editor.GetLangText("closediscardchanges"));
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="effect.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
51
LPWeb20/RichtextEditor/rtepaint5/dropdown/bool.xml
Normal file
@@ -0,0 +1,51 @@
|
||||
<?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="boolitem" width="50" height="24" overflow="visible" margin="2" border_color="transparent" border_width="0">
|
||||
<label jsml-local="txt_font" dock="fill" overflow="visible" padding="0,0,0,10" vertical_align="middle" horizontal_align="left"></label>
|
||||
<property name="boolean">
|
||||
<get>
|
||||
return self._boolean;
|
||||
</get>
|
||||
<set>
|
||||
self._boolean = value;
|
||||
txt_font.set_text(value);
|
||||
</set>
|
||||
</property>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(selectfunc)
|
||||
selectfunc(self.get_boolean());
|
||||
box.dispose();
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mousehover">
|
||||
<![CDATA[
|
||||
self.set_back_color("#dddddd");
|
||||
self.set_text_color("Blue");
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mouseleave">
|
||||
<![CDATA[
|
||||
self.set_back_color("");
|
||||
self.set_text_color("");
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel jsml-class="boolpanel" width="50" height="30" overflow="visible" back_color="white">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var PreInitFonts = [doc.Text["Select_Bool_True"],doc.Text["Select_Bool_False"]];
|
||||
for(var i=0;i<PreInitFonts.length;i++)
|
||||
{
|
||||
var fb = jsml.class_create_instance("boolitem");
|
||||
fb.set_dock("top");
|
||||
fb.set_boolean(PreInitFonts[i]);
|
||||
self.append_child(fb);
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
</panel>
|
||||
<panel jsml-base="boolpanel"></panel>
|
||||
</jsml>
|
||||
72
LPWeb20/RichtextEditor/rtepaint5/dropdown/font.xml
Normal file
@@ -0,0 +1,72 @@
|
||||
<?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="fontbutton" width="200" height="36" margin="4,1,0,1" border_color="#8f8f8f" border_width="0" css_text="border-radius:2px;">
|
||||
<image jsml-local="img_loaded" src="images/accept.png" width="16" margin="2" dock="right" vertical_align="middle" tooltip="@Title_Loaded" visible="0"></image>
|
||||
<image jsml-local="img_font" dock="fill" vertical_align="middle"></image>
|
||||
<property name="fontname">
|
||||
<get>
|
||||
return self._fontname;
|
||||
</get>
|
||||
<set>
|
||||
self._fontname = value;
|
||||
</set>
|
||||
</property>
|
||||
<method name="InitFont">
|
||||
<![CDATA[
|
||||
var fontname = self.get_fontname();
|
||||
var arr = doc.GetOption("LoadedFonts");
|
||||
img_font.set_src("images/font/"+fontname+".gif");
|
||||
for(var i=0; i<arr.length;i++)
|
||||
{
|
||||
if(fontname!=arr[i])
|
||||
continue;
|
||||
img_loaded.set_visible(1);
|
||||
return;
|
||||
}
|
||||
]]>
|
||||
</method>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
var isloaded = img_loaded.get_visible();
|
||||
if(isloaded)
|
||||
{
|
||||
if(selectfunc) selectfunc(self.get_fontname());
|
||||
}
|
||||
else if(loadfunc)
|
||||
{
|
||||
loadfunc(self.get_fontname());
|
||||
img_loaded.set_visible(1);
|
||||
}
|
||||
box.dispose();
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mousehover">
|
||||
<![CDATA[
|
||||
self.set_back_color("#dddddd");
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mouseleave">
|
||||
<![CDATA[
|
||||
self.set_back_color("");
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel jsml-class="fontpanel" width="200" height="80" back_color="white">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var PreInitFonts = ["WorldWideWeb","AnandaNeptouch"];
|
||||
for(var i=0;i<PreInitFonts.length;i++)
|
||||
{
|
||||
var fb = jsml.class_create_instance("fontbutton");
|
||||
fb.set_dock("top");
|
||||
fb.set_fontname(PreInitFonts[i]);
|
||||
fb.InitFont();
|
||||
self.append_child(fb);
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
</panel>
|
||||
<panel jsml-base="fontpanel"></panel>
|
||||
</jsml>
|
||||
54
LPWeb20/RichtextEditor/rtepaint5/dropdown/fontfamily.xml
Normal file
@@ -0,0 +1,54 @@
|
||||
<?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="fontfamilyitem" width="120" height="24" overflow="visible" margin="2" border_color="transparent" border_width="0" css_text="background:url(images/font.gif) 0% 50% no-repeat;">
|
||||
<label jsml-local="txt_font" dock="fill" overflow="visible" margin="0,20,0,20" vertical_align="middle" horizontal_align="left"></label>
|
||||
<property name="fontfamily">
|
||||
<get>
|
||||
return self._fontfamily;
|
||||
</get>
|
||||
<set>
|
||||
self._fontfamily = value;
|
||||
txt_font.set_text(value);
|
||||
txt_font.get_element().style.fontFamily = value;
|
||||
</set>
|
||||
</property>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(selectfunc)
|
||||
selectfunc(self.get_fontfamily());
|
||||
box.dispose();
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mousehover">
|
||||
<![CDATA[
|
||||
self.set_back_color("#dddddd");
|
||||
self.set_text_color("Blue");
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mouseleave">
|
||||
<![CDATA[
|
||||
self.set_back_color("");
|
||||
self.set_text_color("");
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel jsml-class="fontfamilypanel" width="120" height="30" overflow="visible" back_color="white">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var PreInitFonts = ["Arial","Verdana","Tahoma","Segoe UI","Sans Serif","Lucida Console"];
|
||||
var fonts = doc.GetOption("LoadedFonts");
|
||||
PreInitFonts = PreInitFonts.concat(fonts);
|
||||
for(var i=0;i<PreInitFonts.length;i++)
|
||||
{
|
||||
var fb = jsml.class_create_instance("fontfamilyitem");
|
||||
fb.set_dock("top");
|
||||
fb.set_fontfamily(PreInitFonts[i]);
|
||||
self.append_child(fb);
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
</panel>
|
||||
<panel jsml-base="fontfamilypanel"></panel>
|
||||
</jsml>
|
||||
52
LPWeb20/RichtextEditor/rtepaint5/dropdown/fontsize.xml
Normal file
@@ -0,0 +1,52 @@
|
||||
<?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="fontsizeitem" width="120" height="24" overflow="visible" margin="2" border_color="transparent" border_width="0">
|
||||
<label jsml-local="txt_font" dock="fill" overflow="visible" padding="0,0,0,10" vertical_align="middle" horizontal_align="left"></label>
|
||||
<property name="fontsize">
|
||||
<get>
|
||||
return self._fontsize;
|
||||
</get>
|
||||
<set>
|
||||
self._fontsize = value;
|
||||
txt_font.set_text(value);
|
||||
txt_font.get_element().style.fontSize = value;
|
||||
</set>
|
||||
</property>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(selectfunc)
|
||||
selectfunc(self.get_fontsize());
|
||||
box.dispose();
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mousehover">
|
||||
<![CDATA[
|
||||
self.set_back_color("#dddddd");
|
||||
self.set_text_color("Blue");
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mouseleave">
|
||||
<![CDATA[
|
||||
self.set_back_color("");
|
||||
self.set_text_color("");
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel jsml-class="fontsizepanel" width="120" height="30" overflow="visible" back_color="white">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var PreInitFonts = ["8px","9px","10px","11px","12px","13px","14px","16px","18px","20px","24px","36px"];
|
||||
for(var i=0;i<PreInitFonts.length;i++)
|
||||
{
|
||||
var fb = jsml.class_create_instance("fontsizeitem");
|
||||
fb.set_dock("top");
|
||||
fb.set_fontsize(PreInitFonts[i]);
|
||||
self.append_child(fb);
|
||||
}
|
||||
]]>
|
||||
</initialize>
|
||||
</panel>
|
||||
<panel jsml-base="fontsizepanel"></panel>
|
||||
</jsml>
|
||||
2
LPWeb20/RichtextEditor/rtepaint5/effect.js
Normal file
BIN
LPWeb20/RichtextEditor/rtepaint5/font/AnandaNeptouch.ttf
Normal file
BIN
LPWeb20/RichtextEditor/rtepaint5/font/AnandaNeptouch.woff
Normal file
BIN
LPWeb20/RichtextEditor/rtepaint5/font/WorldWideWeb.woff
Normal file
2
LPWeb20/RichtextEditor/rtepaint5/html5.js
Normal file
875
LPWeb20/RichtextEditor/rtepaint5/html5ui.xml
Normal file
@@ -0,0 +1,875 @@
|
||||
<?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">
|
||||
<include src="uielement.xml?{now}"></include>
|
||||
<include src="common.xml?{now}"></include>
|
||||
<panel jsml-class="html5_ui" parent="container_panel">
|
||||
<panel height="36" back_color="#ebebeb" dock="top" text_color="" horizontal_align="left" border_color="#a4a4a4" border_width="0,0,1,0" css_text="background:url('images/back/menubar.gif') left bottom repeat-x;">
|
||||
<!--
|
||||
<panel dock="left" margin="1,0,1,3" jsml-base="menuitem" width="30" menuname="File" menuimg="images/menu/new.png" tooltip="@Title_New">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$094("create",function(plugin)
|
||||
{
|
||||
if(!plugin.LoadUI)return;
|
||||
plugin.LoadUI(instance);
|
||||
});
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
-->
|
||||
<panel dock="left" margin="1,0,1,3" jsml-base="menuitem" width="30" tooltip="@Title_Save" menuname="Save" menuimg="images/menu/save.png">
|
||||
<attach name="click">
|
||||
//ImageEditorDocument.set_SelectedTool("save");
|
||||
ImageEditorDocument.$053();
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="left" margin="1,0,1,3" jsml-base="menuitem" width="30" tooltip="@Title_Undo" menuname="Undo" menuimg="images/menu/undo.png">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
setInterval(function(){
|
||||
var _his = ImageEditorDocument.get_history();
|
||||
if(_his == ImageEditorDocument.$057()[0])
|
||||
self.set_opacity(50);
|
||||
else
|
||||
self.set_opacity(100);
|
||||
},500);
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(self.get_opacity()==50) return;
|
||||
var oldtool = ImageEditorDocument.get_SelectedTool();
|
||||
ImageEditorDocument.set_SelectedTool("undo");
|
||||
if(oldtool)
|
||||
{
|
||||
setTimeout(function(){ImageEditorDocument.set_SelectedTool(oldtool);},50);
|
||||
}
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="left" margin="1,0,1,3" jsml-base="menuitem" width="30" tooltip="@Title_Redo" menuname="Redo" menuimg="images/menu/redo.png">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
setInterval(function(){
|
||||
var _his = ImageEditorDocument.get_history();
|
||||
var _hislist = ImageEditorDocument.$057();
|
||||
if(_his == _hislist[_hislist.length-1])
|
||||
self.set_opacity(50);
|
||||
else
|
||||
self.set_opacity(100);
|
||||
},500);
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(self.get_opacity()==50) return;
|
||||
var oldtool = ImageEditorDocument.get_SelectedTool();
|
||||
ImageEditorDocument.set_SelectedTool("redo");
|
||||
if(oldtool)
|
||||
{
|
||||
setTimeout(function(){ImageEditorDocument.set_SelectedTool(oldtool);},50);
|
||||
}
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="left" margin="1,0,1,3" jsml-base="menuitem" width="30" tooltip="@Title_Cut" menuname="Cut" menuimg="images/menu/cut.png">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
setInterval(function(){
|
||||
var sel = ImageEditorDocument.get_selection();
|
||||
if(sel)
|
||||
self.set_opacity(100);
|
||||
else
|
||||
self.set_opacity(50);
|
||||
},500);
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(self.get_opacity()==50) return;
|
||||
ImageEditorDocument.set_SelectedTool("cut");
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="left" margin="1,0,1,3" jsml-base="menuitem" width="30" tooltip="@Title_Copy" menuname="Copy" menuimg="images/menu/copy.png">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
setInterval(function(){
|
||||
var sel = ImageEditorDocument.get_selection();
|
||||
if(sel)
|
||||
self.set_opacity(100);
|
||||
else
|
||||
self.set_opacity(50);
|
||||
},500);
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(self.get_opacity()==50) return;
|
||||
ImageEditorDocument.set_SelectedTool("copy");
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="left" margin="1,0,1,3" jsml-base="menuitem" width="30" tooltip="@Title_Paste" menuname="Paste" menuimg="images/menu/paste.png">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
setInterval(function(){
|
||||
var sel = ImageEditorDocument._clipboard;
|
||||
if(sel)
|
||||
self.set_opacity(100);
|
||||
else
|
||||
self.set_opacity(50);
|
||||
},500);
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(self.get_opacity()==50) return;
|
||||
ImageEditorDocument.set_SelectedTool("paste");
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="left" margin="1,0,1,3" jsml-base="menuitem" width="30" tooltip="@Title_Effect" menuname="Adjust" menuimg="images/menu/adjust.png">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
ImageEditorDocument.set_SelectedTool(null);
|
||||
var box=jsml.class_create_instance("floatbox");
|
||||
//box.set_manualclose(true);
|
||||
box.show(self.get_element(),0,0,{"floatMode":"b-r"});
|
||||
ImageEditorDocument.$094("adjust", function (plugin) {
|
||||
if (!plugin.LoadUI) return;
|
||||
plugin.LoadUI(box);
|
||||
});
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="left" margin="1,0,1,3" jsml-base="menuitem" width="30" tooltip="@Title_Effect" menuname="Effect" menuimg="images/menu/effect.png">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
ImageEditorDocument.set_SelectedTool(null);
|
||||
var box=jsml.class_create_instance("floatbox");
|
||||
box.show(self.get_element(),0,0,{"floatMode":"b-r"});
|
||||
ImageEditorDocument.$094("effect", function (plugin) {
|
||||
if (!plugin.LoadUI) return;
|
||||
plugin.LoadUI(box);
|
||||
});
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
|
||||
<panel dock="left" margin="1,0,1,3" jsml-base="menuitem" width="30" tooltip="@Title_Rotate90Left" menuname="Rotate90Left" menuimg="images/rotateleft90.png">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$0122(270);
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="left" margin="1,0,1,3" jsml-base="menuitem" width="30" tooltip="@Title_Rotate90Right" menuname="Rotate90Right" menuimg="images/rotateright90.png">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$0122(90);
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="left" margin="1,0,1,3" jsml-base="menuitem" width="30" tooltip="@Title_FlipH" menuname="FlipH" menuimg="images/fliph.png">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$0128("h");
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="left" margin="1,0,1,3" jsml-base="menuitem" width="30" tooltip="@Title_FlipV" menuname="FlipV" menuimg="images/flipv.png">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
ImageEditorDocument.$0128("v");
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel width="150" dock="right" back_color="#eeeeee" border_color="#cccccc" border_width="0,1,1,1" padding="0">
|
||||
<panel dock="top" height="24" css_text="background:#bcc3c6 url(images/back/group.gif) repeat-x;">
|
||||
<label dock="fill" text="@Layer_HistoryList" vertical_align="middle" text_color="#545454" css_text="font-weight:bold;" margin="0,0,0,3"></label>
|
||||
</panel>
|
||||
<panel jsml-base="historypanel" dock="top" height="270" css_text="background:#ffffff url(images/back/list.gif) top left repeat-x;"></panel>
|
||||
<htmlcontrol dock="bottom" height="1" overflow="none">
|
||||
<xmldata>
|
||||
<input id="imageeditorloadfile" type="file" accept="image/*" />
|
||||
</xmldata>
|
||||
</htmlcontrol>
|
||||
<panel dock="bottom" height="22" border_color="#cccccc" border_width="1,0,0,0">
|
||||
<image dock="left" width="16" zoom="out" src="images/toolopenfile.gif" tooltip="@Title_LoadFile">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
if(typeof(FileReader)=="undefined")
|
||||
self.set_visible(0);
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
var input=document.getElementById("imageeditorloadfile");
|
||||
if(!input.files || typeof(FileReader)=="undefined")
|
||||
{
|
||||
alert(ImageEditorDocument.Text["FileAPI"]);
|
||||
return;
|
||||
}
|
||||
input.onchange=function()
|
||||
{
|
||||
var file=input.files[0];
|
||||
ImageEditorDocument.$0109(file);
|
||||
input.value = "";
|
||||
}
|
||||
input.click();
|
||||
]]>
|
||||
</attach>
|
||||
</image>
|
||||
<image dock="left" width="16" zoom="out" src="images/toolnewlayer.gif" tooltip="@Title_NewLayer">
|
||||
<attach name="click">
|
||||
ImageEditorDocument.$0111();
|
||||
</attach>
|
||||
</image>
|
||||
<image dock="left" width="16" zoom="out" src="images/toolmoveup.gif" tooltip="@Title_MoveUp">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
var layerlist = ImageEditorDocument.$073();
|
||||
var currlayer = ImageEditorDocument.get_layer();
|
||||
if(currlayer==layerlist[layerlist.length-1])
|
||||
return;
|
||||
ImageEditorDocument.$082(currlayer);
|
||||
]]>
|
||||
</attach>
|
||||
</image>
|
||||
<image dock="left" width="16" zoom="out" src="images/toolmerge.gif" tooltip="@Title_Merge">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
var layerlist = ImageEditorDocument.$073();
|
||||
if(layerlist.length==1)
|
||||
return;
|
||||
if(!confirm(ImageEditorDocument.Text["ConfirmMergeLayer"]))
|
||||
return;
|
||||
ImageEditorDocument.$085();
|
||||
]]>
|
||||
</attach>
|
||||
</image>
|
||||
<image dock="left" width="16" zoom="out" src="images/toolrecycle.gif" tooltip="@Title_DeleteLayer">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(!confirm(ImageEditorDocument.Text["ConfirmDelete"]))
|
||||
return;
|
||||
|
||||
var currlayer = ImageEditorDocument.get_layer();
|
||||
|
||||
var newlayer = jsml.class_create_instance("$042", [ImageEditorDocument]);
|
||||
newlayer.set_name(ImageEditorDocument.Text["Layer_Remove"]);
|
||||
|
||||
ImageEditorDocument.set_selection(null);
|
||||
ImageEditorDocument.$097(newlayer);
|
||||
|
||||
var ls = ImageEditorDocument.get_history()._layers;
|
||||
if(ls.length>2)
|
||||
ls.splice(ls.length-1,1);
|
||||
else
|
||||
newlayer.set_name(ImageEditorDocument.Text["Layer_Background"]);
|
||||
|
||||
var selix=0;
|
||||
for (var i = ls.length - 1; i >= 0; i--) {
|
||||
if (ls[i]._layerid != currlayer._layerid)
|
||||
continue;
|
||||
ls.splice(i,1);
|
||||
selix = i-1;
|
||||
break;
|
||||
}
|
||||
if(selix<0)selix=0;
|
||||
ImageEditorDocument.set_layer(ls[selix]);
|
||||
ImageEditorDocument.$0118();
|
||||
ImageEditorDocument.invoke_event("HistorySelected");
|
||||
]]>
|
||||
</attach>
|
||||
</image>
|
||||
</panel>
|
||||
<panel dock="top" height="24" css_text="background:#bcc3c6 url(images/back/group.gif) repeat-x;">
|
||||
<label dock="fill" text="@Layer_LayerList" vertical_align="middle" text_color="#545454" css_text="font-weight:bold;" margin="0,0,0,3"></label>
|
||||
</panel>
|
||||
<panel jsml-base="layerpanel" dock="fill" css_text="background:#ffffff url(images/back/list.gif) top left repeat-x;">
|
||||
</panel>
|
||||
</panel>
|
||||
<panel height="23" back_color="#666666" text_color="white" dock="bottom">
|
||||
<label dock="left" width="10" margin="0,0,0,8" overflow="visible" vertical_align="middle">
|
||||
<attach name="attach_dom">
|
||||
<![CDATA[
|
||||
if(self._eventattached)return;
|
||||
self._eventattached=true;
|
||||
self._handleMousePosChanged=function(evtname,mxy)
|
||||
{
|
||||
if(!mxy || !mxy.offsetX)
|
||||
{
|
||||
self.set_text("x:, y:");
|
||||
return;
|
||||
}
|
||||
self.set_text("x:"+mxy.offsetX+", y:" + mxy.offsetY);
|
||||
}
|
||||
ImageEditorDocument.attach_event("MousePosChanged",self._handleMousePosChanged);
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="detach_dom">
|
||||
<![CDATA[
|
||||
self._eventattached=false;
|
||||
ImageEditorDocument.detach_event("MousePosChanged",self._handleMousePosChanged);
|
||||
]]>
|
||||
</attach>
|
||||
</label>
|
||||
<panel dock="right" width="60" margin="0,5,0,3" vertical_align="middle">
|
||||
<label dock="top" jsml-local="txt_zoom" height="23" width="60" margin="0,5,0,0" vertical_align="middle" css_text="font-size:11px;">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var myself = self;
|
||||
function RefreshZoomStatus()
|
||||
{
|
||||
var zf = ImageEditorDocument.GetOption("ZoomFactor");
|
||||
var zc = ImageEditorDocument.GetOption("ZoomCount");
|
||||
|
||||
var za = 1;
|
||||
if(zc>0)
|
||||
za = zf["In"][zc-1];
|
||||
if(zc<0)
|
||||
za = zf["Out"][0-zc-1];
|
||||
var zastr = za*100 + "%";
|
||||
|
||||
myself.set_text(zastr);
|
||||
|
||||
setTimeout(RefreshZoomStatus,500);
|
||||
}
|
||||
setTimeout(RefreshZoomStatus,500);
|
||||
]]>
|
||||
</initialize>
|
||||
<attach name="mousehover">
|
||||
if(ImageEditorDocument._selectedtool == "freesize")
|
||||
return;
|
||||
self.set_visible(0);
|
||||
ddl_zoom.set_visible(1);
|
||||
ddl_zoom.LoadDefault();
|
||||
</attach>
|
||||
</label>
|
||||
<dropdown dock="top" jsml-local="ddl_zoom" visible="0" border_width="0" width="60" margin="2" height="19" vertical_align="middle" css_text="font-size:11px; border-width:0px;">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(ImageEditorDocument._selectedtool == "freesize")
|
||||
return;
|
||||
if(!self._openlist && !jsml.safari)
|
||||
{
|
||||
self._openlist = true;
|
||||
return;
|
||||
}
|
||||
self._openlist = null;
|
||||
var curval = self.get_text();
|
||||
if(curval == self.oldval)
|
||||
{
|
||||
ddl_zoom.set_visible(0);
|
||||
txt_zoom.set_visible(1);
|
||||
return;
|
||||
}
|
||||
self.oldval = curval;
|
||||
ImageEditorDocument.SetOption("ZoomCount",curval);
|
||||
ImageEditorDocument.$0118();
|
||||
if(ImageEditorDocument._cropcomp._cropdiv.style.display != "none")
|
||||
ImageEditorDocument.$061();
|
||||
txt_zoom.set_visible(1);
|
||||
ddl_zoom.set_visible(0);
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mousehover">
|
||||
<![CDATA[
|
||||
if(!jsml.firefox)
|
||||
self._openlist = null;
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mouseleave">
|
||||
<![CDATA[
|
||||
if(self._openlist)
|
||||
return;
|
||||
txt_zoom.set_visible(1);
|
||||
ddl_zoom.set_visible(0);
|
||||
]]>
|
||||
</attach>
|
||||
<method name="LoadDefault">
|
||||
<![CDATA[
|
||||
var zc = ImageEditorDocument.GetOption("ZoomCount");
|
||||
self.oldval = zc;
|
||||
self.set_text(zc+"");
|
||||
]]>
|
||||
</method>
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
self.LoadDefault();
|
||||
self._sel.style.borderWidth = "0px";
|
||||
self._sel.style.fontSize = "11px";
|
||||
self._sel.style.height = "19px";
|
||||
]]>
|
||||
</initialize>
|
||||
<listitem value="-7" text="20%"></listitem>
|
||||
<listitem value="-6" text="30%"></listitem>
|
||||
<listitem value="-5" text="40%"></listitem>
|
||||
<listitem value="-4" text="50%"></listitem>
|
||||
<listitem value="-3" text="60%"></listitem>
|
||||
<listitem value="-2" text="80%"></listitem>
|
||||
<listitem value="-1" text="90%"></listitem>
|
||||
<listitem value="0" text="100%"></listitem>
|
||||
<listitem value="1" text="200%"></listitem>
|
||||
<listitem value="2" text="300%"></listitem>
|
||||
<listitem value="3" text="400%"></listitem>
|
||||
<listitem value="4" text="500%"></listitem>
|
||||
<listitem value="5" text="600%"></listitem>
|
||||
<listitem value="6" text="700%"></listitem>
|
||||
<listitem value="7" text="800%"></listitem>
|
||||
<listitem value="8" text="900%"></listitem>
|
||||
<listitem value="9" text="1000%"></listitem>
|
||||
</dropdown>
|
||||
</panel>
|
||||
<label dock="right" width="10" overflow="visible" vertical_align="middle" horizontal_align="right" css_text="font-size:11px;" text="@Status_Zoom"></label>
|
||||
<label dock="right" width="80" margin="0,10,0,0" vertical_align="middle" css_text="font-size:11px;">
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
var myself = self;
|
||||
function RefreshCanvasStatus()
|
||||
{
|
||||
var w = ImageEditorDocument._canvas.width;
|
||||
var h = ImageEditorDocument._canvas.height;
|
||||
|
||||
var str = " " + w + "*" + h+ ", ";
|
||||
myself.set_text(str);
|
||||
|
||||
setTimeout(RefreshCanvasStatus,2000);
|
||||
}
|
||||
setTimeout(RefreshCanvasStatus,500);
|
||||
]]>
|
||||
</initialize>
|
||||
</label>
|
||||
<label dock="right" width="10" overflow="visible" vertical_align="middle" horizontal_align="right" css_text="font-size:11px;" text="@Status_Size"></label>
|
||||
</panel>
|
||||
<panel dock="fill">
|
||||
<panel width="70" dock="left" padding="4" border_color="gray" css_text="background:#fcfcfc url('images/back/toolbar.gif') bottom left repeat-x;" back_color="" border_width="0,0,0,0">
|
||||
<panel dock="bottom" height="150" border_width="1,0,0,0" border_color="#eeeeee">
|
||||
<panel dock="top" height="30" margin="5,0,0,0">
|
||||
<panel left="30">
|
||||
<image src="images/exchange.gif" border_width="0" tooltip="@Title_Exchange" cursor="default">
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
var _forecolor = ImageEditorDocument.GetOption("Ctx_ForeColor") || "Black";
|
||||
var _backcolor = ImageEditorDocument.GetOption("Ctx_BackColor") || "White";
|
||||
ImageEditorDocument.SetOption("Ctx_ForeColor",_backcolor);
|
||||
ImageEditorDocument.SetOption("Ctx_BackColor",_forecolor);
|
||||
//Ctx_LineWidth.set_back_color(_backcolor);
|
||||
Ctx_ForeColor.set_back_color(_backcolor);
|
||||
Ctx_BackColor.set_back_color(_forecolor);
|
||||
]]>
|
||||
</attach>
|
||||
</image>
|
||||
</panel>
|
||||
<panel jsml-local="Ctx_ForeColor" left="17" top="13" width="16" height="16" border_width="1" border_color="gray" tooltip="@Title_ForeColor">
|
||||
<attach name="click" arguments="sender,evt">
|
||||
<![CDATA[
|
||||
//popup color picker dialog likes PS
|
||||
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;
|
||||
while(target != document.body)
|
||||
{
|
||||
x += parseInt(target.offsetLeft)||0;
|
||||
y += parseInt(target.offsetTop)||0;
|
||||
target = target.parentNode;
|
||||
}
|
||||
var left = x + self.get_current_width() + 5;
|
||||
var top = y - cp.get_current_height() + self.get_current_height();
|
||||
if(top<0) top =0;
|
||||
cp.set_offset_x(left);
|
||||
cp.set_offset_y(top);
|
||||
}
|
||||
AdjustPos();
|
||||
ImageEditorDocument.CancelBubble(evt);
|
||||
return false;
|
||||
]]>
|
||||
</attach>
|
||||
<method name="SaveColor" arguments="color">
|
||||
self.set_back_color(color);
|
||||
ImageEditorDocument.SetOption("Ctx_ForeColor",color);
|
||||
</method>
|
||||
<initialize>
|
||||
self.set_back_color(ImageEditorDocument.GetOption('Ctx_ForeColor') || 'Black');
|
||||
</initialize>
|
||||
<attach name="attach_dom">
|
||||
<![CDATA[
|
||||
if(self._eventattached)return;
|
||||
self._eventattached=true;
|
||||
self._handleOptionChanged=function()
|
||||
{
|
||||
var color = ImageEditorDocument.GetOption('Ctx_ForeColor');
|
||||
if(self.get_back_color()!=color)
|
||||
self.set_back_color(color);
|
||||
}
|
||||
ImageEditorDocument.attach_event("OptionChanged",self._handleOptionChanged);
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="detach_dom">
|
||||
<![CDATA[
|
||||
self._eventattached=false;
|
||||
ImageEditorDocument.detach_event("OptionChanged",self._handleOptionChanged);
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel jsml-local="Ctx_BackColor" left="5" top="2" width="16" height="16" border_width="1" border_color="gray" tooltip="@Title_BackColor">
|
||||
<attach name="click" arguments="sender,evt">
|
||||
<![CDATA[
|
||||
//popup color picker dialog likes PS
|
||||
var cp = ImageEditorDocument.$050();
|
||||
cp.set_target(self);
|
||||
cp.set_visible(1);
|
||||
function AdjustPos()
|
||||
{
|
||||
var target = self.get_element();
|
||||
var y = 0;
|
||||
var x = 0;
|
||||
while(target != document.body)
|
||||
{
|
||||
x += parseInt(target.offsetLeft)||0;
|
||||
y += parseInt(target.offsetTop)||0;
|
||||
target = target.parentNode;
|
||||
}
|
||||
var left = x + self.get_current_width() + 5;
|
||||
var top = y - cp.get_current_height() + self.get_current_height();
|
||||
if(top<0) top =0;
|
||||
cp.set_offset_x(left);
|
||||
cp.set_offset_y(top);
|
||||
}
|
||||
AdjustPos();
|
||||
ImageEditorDocument.CancelBubble(evt);
|
||||
return false;
|
||||
]]>
|
||||
</attach>
|
||||
<method name="SaveColor" arguments="color">
|
||||
self.set_back_color(color);
|
||||
ImageEditorDocument.SetOption("Ctx_BackColor",color);
|
||||
</method>
|
||||
<initialize>
|
||||
self.set_back_color(ImageEditorDocument.GetOption('Ctx_BackColor'));
|
||||
</initialize>
|
||||
<attach name="attach_dom">
|
||||
<![CDATA[
|
||||
if(self._eventattached)return;
|
||||
self._eventattached=true;
|
||||
self._handleOptionChanged=function()
|
||||
{
|
||||
self.set_back_color(ImageEditorDocument.GetOption('Ctx_BackColor'));
|
||||
}
|
||||
ImageEditorDocument.attach_event("OptionChanged",self._handleOptionChanged);
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="detach_dom">
|
||||
<![CDATA[
|
||||
self._eventattached=false;
|
||||
ImageEditorDocument.detach_event("OptionChanged",self._handleOptionChanged);
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel dock="top" height="24" horizontal_align="center" vertical_align="middle" tooltip="@Title_LineWidth">
|
||||
<panel jsml-local="Ctx_LineWidth" width="50" height="1" back_color="black">
|
||||
<initialize>
|
||||
self.set_height(ImageEditorDocument.GetOption('Ctx_LineWidth') || 1);
|
||||
</initialize>
|
||||
</panel>
|
||||
<attach name="attach_dom">
|
||||
<![CDATA[
|
||||
if(self._eventattached)return;
|
||||
self._eventattached=true;
|
||||
self._handleOptionChanged=function()
|
||||
{
|
||||
Ctx_LineWidth.set_height(ImageEditorDocument.GetOption("Ctx_LineWidth")||1);
|
||||
}
|
||||
ImageEditorDocument.attach_event("OptionChanged",self._handleOptionChanged);
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="detach_dom">
|
||||
<![CDATA[
|
||||
self._eventattached=false;
|
||||
ImageEditorDocument.detach_event("OptionChanged",self._handleOptionChanged);
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
//lineselector.set_target(self);
|
||||
var box=jsml.class_create_instance("floatbox");
|
||||
box.set_vertical_align("middle");
|
||||
box.set_horizontal_align("center");
|
||||
box.show(self.get_element(),0,0,{"floatMode":"r-b"});
|
||||
var panel = jsml.class_create_instance("lineselectorpanel");
|
||||
panel.set_target(self);
|
||||
panel._box = box;
|
||||
box.append_child(panel);
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="mousehover">
|
||||
self.set_back_color("white");
|
||||
</attach>
|
||||
<attach name="mouseleave">
|
||||
self.set_back_color("");
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="top" height="24" margin="2,2,0,0" css_text="border:solid #999999 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;">
|
||||
<image src="images/frame.png" width="16" margin="0,1,0,1" dock="left" vertical_align="middle"></image>
|
||||
<label dock="fill" vertical_align="middle" horizontal_align="center" text="@Tool_Frame_Head"></label>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(ImageEditorDocument._watermarklist)
|
||||
ImageEditorDocument._watermarklist.Remove();
|
||||
if(ImageEditorDocument._framelist)
|
||||
return;
|
||||
ImageEditorDocument.set_SelectedTool(null);
|
||||
ImageEditorDocument.$083();
|
||||
ImageEditorDocument.$094("border", function (plugin) {
|
||||
if (!plugin.LoadUI) return;
|
||||
plugin.LoadUI(instance);
|
||||
});
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
<panel dock="top" height="24" margin="5,2,0,0" css_text="border:solid #999999 1px; background:#f3f3f3;color:#333333;border-radius:2px; -webkit-border-radius:2px;">
|
||||
<label dock="fill" vertical_align="middle" text_align="center" text="@Tool_Water_Head"></label>
|
||||
<attach name="click">
|
||||
<![CDATA[
|
||||
if(ImageEditorDocument._framelist) ImageEditorDocument._framelist.Remove();
|
||||
if(ImageEditorDocument._watermarklist)
|
||||
return;
|
||||
ImageEditorDocument.set_SelectedTool(null);
|
||||
ImageEditorDocument.$083();
|
||||
ImageEditorDocument.$094("watermark", function (plugin) {
|
||||
if (!plugin.LoadUI) return;
|
||||
plugin.LoadUI(instance);
|
||||
});
|
||||
]]>
|
||||
</attach>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel dock="fill">
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="arrow" tooltip="@Title_Arrow" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="freesize" tooltip="Free Transform" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="select" tooltip="@Title_Select" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="crop" tooltip="@Title_Crop"/>
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="resize" tooltip="@Title_Resize" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="rotate" tooltip="@Title_Rotate" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="rect" tooltip="@Title_Rect" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="arc" tooltip="@Title_Arc" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="polygon" tooltip="@Title_Polygon" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="star" tooltip="@Title_Star" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="pen" tooltip="@Title_Pen" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="line" tooltip="@Title_Line" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="grad" tooltip="@Title_Gradient" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="fill" tooltip="@Title_Fill" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="erase" tooltip="@Title_Erase" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="stamp" tooltip="@Title_Stamp" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="text" tooltip="@Title_Text"/>
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="colorpicker" tooltip="@Title_Colorpicker" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="zoom" tooltip="@Title_Zoom" />
|
||||
<image jsml-base="toolbutton" dock="flow" ToolName="redeye" tooltip="@Title_Redeye" />
|
||||
</panel>
|
||||
</panel>
|
||||
<panel dock="top" height="32" padding="5,0,5,5" overflow="none" border_color="#cccccc" border_width="0,0,1,0" back_color="#eeeeee">
|
||||
<method name="UpdateSubMenu" arguments="toolname">
|
||||
<![CDATA[
|
||||
while(self.get_children().length)
|
||||
self.remove_child(self.get_children()[0]);
|
||||
|
||||
ImageEditorDocument._submenu = null;
|
||||
ImageEditorDocument.textcontainer.SetVisible(0);
|
||||
var submenu = "";
|
||||
switch(toolname)
|
||||
{
|
||||
case "rect":
|
||||
submenu = "submenudrawarea";
|
||||
break;
|
||||
case "arc":
|
||||
submenu = "submenudrawarc";
|
||||
break;
|
||||
case "grad":
|
||||
submenu = "submenugradient";
|
||||
break;
|
||||
case "pen":
|
||||
submenu = "submenudrawpen";
|
||||
break;
|
||||
case "line":
|
||||
submenu = "submenudrawline";
|
||||
break;
|
||||
case "rotate":
|
||||
submenu = "submenurotate";
|
||||
break;
|
||||
case "polygon":
|
||||
submenu = "submenupolygon";
|
||||
break;
|
||||
case "star":
|
||||
submenu = "submenustar";
|
||||
break;
|
||||
case "crop":
|
||||
submenu = "submenucrop";
|
||||
break;
|
||||
case "erase":
|
||||
submenu = "submenuerase";
|
||||
break;
|
||||
case "text":
|
||||
submenu = "submenutext";
|
||||
break;
|
||||
case "stamp":
|
||||
submenu = "submenustamp";
|
||||
break;
|
||||
case "resize":
|
||||
submenu = "submenuresize";
|
||||
break;
|
||||
case "zoom":
|
||||
submenu = "submenuzoom";
|
||||
break;
|
||||
case "save":
|
||||
submenu = "submenusave";
|
||||
break;
|
||||
case "fill":
|
||||
submenu = "submenuvarnish";
|
||||
break;
|
||||
case "redeye":
|
||||
submenu = "submenuredeye";
|
||||
break;
|
||||
}
|
||||
if(submenu=="")
|
||||
return;
|
||||
|
||||
function AfterLoad(ctrl,item)
|
||||
{
|
||||
ImageEditorDocument._submenu = item;
|
||||
item.set_dock("fill");
|
||||
item._element.style.marginTop = "30px";
|
||||
ctrl.append_child(item);
|
||||
|
||||
function AnimationShow()
|
||||
{
|
||||
var mt = parseInt(item._element.style.marginTop);
|
||||
mt -= 3;
|
||||
if(mt<=0)
|
||||
{
|
||||
mt=0;
|
||||
item._element.style.marginTop = mt+"px";
|
||||
return;
|
||||
}
|
||||
item._element.style.marginTop = mt+"px";
|
||||
setTimeout(AnimationShow,20);
|
||||
}
|
||||
setTimeout(AnimationShow,20);
|
||||
}
|
||||
ImageEditorDocument.$094("submenu",function(plugin)
|
||||
{
|
||||
if(!plugin.LoadUI)return;
|
||||
plugin.LoadUI(self,submenu,AfterLoad);
|
||||
});
|
||||
//var item=jsml.class_create_instance(submenu);
|
||||
]]>
|
||||
</method>
|
||||
<attach name="attach_dom">
|
||||
<![CDATA[
|
||||
if(self._eventattached)return;
|
||||
self._eventattached=true;
|
||||
self._handleToolChanged=function()
|
||||
{
|
||||
var _toolname = ImageEditorDocument.get_SelectedTool();
|
||||
self.UpdateSubMenu(_toolname);
|
||||
}
|
||||
ImageEditorDocument.attach_event("SelectedToolChanged",self._handleToolChanged);
|
||||
]]>
|
||||
</attach>
|
||||
<attach name="detach_dom">
|
||||
self._eventattached=false;
|
||||
ImageEditorDocument.detach_event("SelectedToolChanged",self._handleToolChanged);
|
||||
</attach>
|
||||
</panel>
|
||||
|
||||
<panel jsml-local="canvaspanel" dock="fill" overflow="scroll" back_color="#bdbdbd">
|
||||
<htmlcontrol jsml-local="canvashtml" border_width="0">
|
||||
<xmldata>
|
||||
<div id="thecanvasdiv" style="background-color:#bdbdbd;position:relative;"></div>
|
||||
</xmldata>
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
self.div=self.find_element("thecanvasdiv");
|
||||
self.canvas=ImageEditorDocument.get_canvas();
|
||||
self.canvas.calcpos = function()
|
||||
{
|
||||
self.AdjustPos();
|
||||
}
|
||||
self.div.appendChild(self.canvas);
|
||||
self.div.parentNode.style.border = "0px";
|
||||
var cropdiv = ImageEditorDocument.$081();
|
||||
var freediv = ImageEditorDocument.$080();
|
||||
var textdiv = ImageEditorDocument.$036();
|
||||
self.div.appendChild(textdiv);
|
||||
self.div.appendChild(cropdiv);
|
||||
self.div.appendChild(freediv);
|
||||
//canvaspanel.get_element().appendChild(freediv);
|
||||
ImageEditorDocument._canvasdiv = self.div;
|
||||
]]>
|
||||
</initialize>
|
||||
<method name="AdjustPos">
|
||||
//canvashtml._element.style.width = self.canvas.width + "px";
|
||||
//canvashtml._element.style.height = self.canvas.height + "px";
|
||||
var dw = Math.max(canvaspanel.get_current_width()-18, self.canvas.width);
|
||||
var dh = Math.max(canvaspanel.get_current_height()-18, self.canvas.height);
|
||||
var left = Math.max(0,dw-self.canvas.width)/2;
|
||||
var top = Math.max(0,dh-self.canvas.height)/2;
|
||||
self.set_width(dw-left);
|
||||
self.set_height(dh-top);
|
||||
self.set_left(left);
|
||||
self.set_top(top);
|
||||
</method>
|
||||
</htmlcontrol>
|
||||
<attach name="resize">
|
||||
canvashtml.AdjustPos();
|
||||
</attach>
|
||||
</panel>
|
||||
</panel>
|
||||
<initialize>
|
||||
<![CDATA[
|
||||
self.set_parent(document.body);
|
||||
jsml.dom_attach_event(window,"resize",function()
|
||||
{
|
||||
self.setwinsize();
|
||||
});
|
||||
setTimeout(function()
|
||||
{
|
||||
self.setwinsize();
|
||||
},10);
|
||||
self.setwinsize();
|
||||
]]>
|
||||
</initialize>
|
||||
<method name="setwinsize">
|
||||
<![CDATA[
|
||||
var rect=jsml.get_body_rect();
|
||||
var ua=navigator.userAgent;
|
||||
if(ua!=null&&(ua.indexOf("iPhone")!=-1||ua.indexOf("Android")!=-1))
|
||||
{
|
||||
if(rect.width>rect.height)
|
||||
{
|
||||
rect.width=480;
|
||||
rect.height=360;
|
||||
}
|
||||
else
|
||||
{
|
||||
rect.width=360;
|
||||
rect.height=480;
|
||||
}
|
||||
}
|
||||
self.set_width(rect.width);
|
||||
self.set_height(rect.height);
|
||||
]]>
|
||||
</method>
|
||||
</panel>
|
||||
</jsml>
|
||||
BIN
LPWeb20/RichtextEditor/rtepaint5/images/accept.png
Normal file
|
After Width: | Height: | Size: 447 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/arc.png
Normal file
|
After Width: | Height: | Size: 640 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/arrow.png
Normal file
|
After Width: | Height: | Size: 554 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/back/group.gif
Normal file
|
After Width: | Height: | Size: 192 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/back/list.gif
Normal file
|
After Width: | Height: | Size: 926 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/back/menubar.gif
Normal file
|
After Width: | Height: | Size: 211 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/back/toolbar.gif
Normal file
|
After Width: | Height: | Size: 1022 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/close.gif
Normal file
|
After Width: | Height: | Size: 243 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/colorpicker.cur
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/colorpicker.png
Normal file
|
After Width: | Height: | Size: 552 B |
|
After Width: | Height: | Size: 359 B |
|
After Width: | Height: | Size: 232 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/composite_sourceover.gif
Normal file
|
After Width: | Height: | Size: 352 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/composite_xor.gif
Normal file
|
After Width: | Height: | Size: 362 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/crop.png
Normal file
|
After Width: | Height: | Size: 492 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/blur.gif
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/bright.gif
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/fog.gif
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/grayscale.gif
Normal file
|
After Width: | Height: | Size: 216 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/hsl.gif
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/invert.gif
Normal file
|
After Width: | Height: | Size: 733 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/mosaic.gif
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/neon.gif
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/pencil.gif
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/relief.gif
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/sample_aqua.gif
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/sample_fresh.gif
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/sample_old.gif
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/sample_singe.gif
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/sample_vivid.gif
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/sunshine.gif
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/sunshine.png
Normal file
|
After Width: | Height: | Size: 198 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/twovalue.gif
Normal file
|
After Width: | Height: | Size: 189 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/effect/unsharp.gif
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/erase.png
Normal file
|
After Width: | Height: | Size: 718 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/exchange.gif
Normal file
|
After Width: | Height: | Size: 282 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/eye-visible.gif
Normal file
|
After Width: | Height: | Size: 991 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/fill.cur
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/fill.png
Normal file
|
After Width: | Height: | Size: 721 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/fliph.png
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/flipv.png
Normal file
|
After Width: | Height: | Size: 655 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/font.gif
Normal file
|
After Width: | Height: | Size: 88 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/font/anandaneptouch.gif
Normal file
|
After Width: | Height: | Size: 939 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/font/worldwideweb.gif
Normal file
|
After Width: | Height: | Size: 547 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame.png
Normal file
|
After Width: | Height: | Size: 359 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/brooch.png
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/brooch_1.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/brooch_10.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/brooch_2.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/brooch_20.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/brooch_3.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/brooch_30.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/brooch_4.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/brooch_40.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/fallleaf.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/fallleaf_1.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/fallleaf_2.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/fallleaf_3.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/fallleaf_4.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/greenflower.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/leaf.png
Normal file
|
After Width: | Height: | Size: 83 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/redline.png
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/redline_1.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/redline_10.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/redline_2.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/redline_20.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/redline_3.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/redline_30.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/redline_4.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/redline_40.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/frame/rope.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/free_b.png
Normal file
|
After Width: | Height: | Size: 361 B |
BIN
LPWeb20/RichtextEditor/rtepaint5/images/free_l.png
Normal file
|
After Width: | Height: | Size: 380 B |