You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1064 lines
33 KiB
1064 lines
33 KiB
<?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="adjustapplybutton" 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="adjustscroll_blur" width="160" height="45" margin="10,2,10,3">
|
|
<panel dock="top" height="20">
|
|
<label dock="left" width="30" vertical_align="middle" text_align="left" text="@Effect_Radius"></label>
|
|
<label jsml-local="txt_val" dock="right" width="20" vertical_align="middle" text_align="left" text="3"></label>
|
|
|
|
<panel jsml-base="scrollbarbase" dock="left" width="90" min="2" max="18" default="3" margin="0,5,0,5">
|
|
<initialize>
|
|
<![CDATA[
|
|
self.CalcScrollbarPos();
|
|
function SizeChanged(size)
|
|
{
|
|
var val = parseInt(size);
|
|
instance._effectbox.Preview(val);
|
|
}
|
|
function SizeShow(size)
|
|
{
|
|
var val = parseInt(size);
|
|
txt_val.set_text(val);
|
|
}
|
|
self.set_release(SizeChanged);
|
|
self.set_action(SizeShow);
|
|
]]>
|
|
</initialize>
|
|
</panel>
|
|
</panel>
|
|
<panel dock="top" height="20" margin="5,0,0,0">
|
|
<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>
|
|
</panel>
|
|
<constructor arguments="effectbox,mybox">
|
|
<![CDATA[
|
|
self.panel_constructor();
|
|
self._effectbox = effectbox;
|
|
self._mybox = mybox;
|
|
]]>
|
|
</constructor>
|
|
</panel>
|
|
<panel jsml-class="adjustscroll_contrast" width="200" height="75" margin="5,2,5,3">
|
|
<panel dock="top" height="20">
|
|
<label dock="left" width="50" vertical_align="middle" text_align="left" text="@Effect_Bright"></label>
|
|
<label jsml-local="txt_val" dock="right" width="20" vertical_align="middle" text_align="left" text="1"></label>
|
|
<panel jsml-base="scrollbarbase" dock="left" width="110" min="0" max="2" default="1" margin="0,5,0,5">
|
|
<initialize>
|
|
<![CDATA[
|
|
self.CalcScrollbarPos();
|
|
function SizeChanged(size)
|
|
{
|
|
instance.Apply();
|
|
}
|
|
function SizeShow(size)
|
|
{
|
|
if(!size)
|
|
size = "0";
|
|
if(size.toString().length>4)
|
|
size = parseFloat(size).toFixed(2);
|
|
txt_val.set_text(size);
|
|
}
|
|
self.set_release(SizeChanged);
|
|
self.set_action(SizeShow);
|
|
]]>
|
|
</initialize>
|
|
</panel>
|
|
</panel>
|
|
<panel dock="top" height="20" margin="5,0,0,0">
|
|
<label dock="left" width="50" vertical_align="middle" text_align="left" text="@Effect_Contrast2"></label>
|
|
<label jsml-local="txt_val2" dock="right" width="20" vertical_align="middle" text_align="left" text="0"></label>
|
|
<panel jsml-base="scrollbarbase" dock="left" width="110" min="-100" max="100" default="0" margin="0,5,0,5">
|
|
<initialize>
|
|
<![CDATA[
|
|
self.CalcScrollbarPos();
|
|
function SizeChanged(size)
|
|
{
|
|
instance.Apply();
|
|
}
|
|
function SizeShow(size)
|
|
{
|
|
if(!size)
|
|
size = "0";
|
|
var val = parseInt(size);
|
|
txt_val2.set_text(val+"");
|
|
}
|
|
self.set_release(SizeChanged);
|
|
self.set_action(SizeShow);
|
|
]]>
|
|
</initialize>
|
|
</panel>
|
|
</panel>
|
|
<panel dock="top" height="20" margin="5,0,0,0">
|
|
<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>
|
|
</panel>
|
|
<method name="Apply">
|
|
<![CDATA[
|
|
var val1 = parseFloat(txt_val.get_text()||"0");
|
|
if(val1.toString().length>4) val1 = val1.toFixed(2);
|
|
var val2 = parseInt(txt_val2.get_text()||"0");
|
|
instance._effectbox.Preview(val1,val2);
|
|
]]>
|
|
</method>
|
|
<constructor arguments="effectbox,mybox">
|
|
<![CDATA[
|
|
self.panel_constructor();
|
|
self._effectbox = effectbox;
|
|
self._mybox = mybox;
|
|
]]>
|
|
</constructor>
|
|
</panel>
|
|
<panel jsml-class="adjustscroll_hsl" width="200" height="95" margin="5,2,5,3">
|
|
<panel dock="top" height="20">
|
|
<label dock="left" width="50" vertical_align="middle" text_align="left" text="@Effect_Hue"></label>
|
|
<label jsml-local="txt_val" dock="right" width="20" vertical_align="middle" text_align="left" text="0"></label>
|
|
<panel jsml-base="scrollbarbase" dock="left" width="110" min="-360" max="360" default="0" margin="0,5,0,5">
|
|
<initialize>
|
|
<![CDATA[
|
|
self.CalcScrollbarPos();
|
|
function SizeChanged(size)
|
|
{
|
|
instance.Apply();
|
|
}
|
|
function SizeShow(size)
|
|
{
|
|
if(!size)
|
|
size = "0";
|
|
var val = parseInt(size);
|
|
txt_val.set_text(val+"");
|
|
}
|
|
self.set_release(SizeChanged);
|
|
self.set_action(SizeShow);
|
|
]]>
|
|
</initialize>
|
|
</panel>
|
|
</panel>
|
|
<panel dock="top" height="20" margin="5,0,0,0">
|
|
<label dock="left" width="50" vertical_align="middle" text_align="left" text="@Effect_Saturation"></label>
|
|
<label jsml-local="txt_val2" dock="right" width="20" vertical_align="middle" text_align="left" text="0"></label>
|
|
<panel jsml-base="scrollbarbase" dock="left" width="110" min="-100" max="100" default="0" margin="0,5,0,5">
|
|
<initialize>
|
|
<![CDATA[
|
|
self.CalcScrollbarPos();
|
|
function SizeChanged(size)
|
|
{
|
|
instance.Apply();
|
|
}
|
|
function SizeShow(size)
|
|
{
|
|
if(!size)
|
|
size = "0";
|
|
var val = parseInt(size);
|
|
txt_val2.set_text(val+"");
|
|
}
|
|
self.set_release(SizeChanged);
|
|
self.set_action(SizeShow);
|
|
]]>
|
|
</initialize>
|
|
</panel>
|
|
</panel>
|
|
<panel dock="top" height="20" margin="5,0,0,0">
|
|
<label dock="left" width="50" vertical_align="middle" text_align="left" text="@Effect_Lightness"></label>
|
|
<label jsml-local="txt_val3" dock="right" width="20" vertical_align="middle" text_align="left" text="0"></label>
|
|
<panel jsml-base="scrollbarbase" dock="left" width="110" min="-100" max="100" default="0" margin="0,5,0,5">
|
|
<initialize>
|
|
<![CDATA[
|
|
self.CalcScrollbarPos();
|
|
function SizeChanged(size)
|
|
{
|
|
instance.Apply();
|
|
}
|
|
function SizeShow(size)
|
|
{
|
|
if(!size)
|
|
size = "0";
|
|
var val = parseInt(size);
|
|
txt_val3.set_text(val+"");
|
|
}
|
|
self.set_release(SizeChanged);
|
|
self.set_action(SizeShow);
|
|
]]>
|
|
</initialize>
|
|
</panel>
|
|
</panel>
|
|
<panel dock="top" height="20" margin="5,0,0,0">
|
|
<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>
|
|
</panel>
|
|
<method name="Apply">
|
|
<![CDATA[
|
|
var val1 = parseInt(txt_val.get_text()||"0");
|
|
var val2 = parseInt(txt_val2.get_text()||"0");
|
|
var val3 = parseInt(txt_val3.get_text()||"0");
|
|
instance._effectbox.Preview(val1,val2,val3);
|
|
]]>
|
|
</method>
|
|
<constructor arguments="effectbox,mybox">
|
|
<![CDATA[
|
|
self.panel_constructor();
|
|
self._effectbox = effectbox;
|
|
self._mybox = mybox;
|
|
]]>
|
|
</constructor>
|
|
</panel>
|
|
<panel jsml-class="adjustscroll_rgb" width="350" height="120" margin="5,2,5,3">
|
|
<panel dock="top" height="20">
|
|
<label dock="left" width="50" vertical_align="middle" text_align="left" text="@Effect_Red"></label>
|
|
<label jsml-local="txt_val" dock="right" width="20" vertical_align="middle" text_align="left" text="0"></label>
|
|
<panel jsml-base="scrollbarbase" dock="left" width="260" min="-255" max="255" default="0" margin="0,5,0,5">
|
|
<initialize>
|
|
<![CDATA[
|
|
self.CalcScrollbarPos();
|
|
function SizeChanged(size)
|
|
{
|
|
instance.Apply();
|
|
}
|
|
function SizeShow(size)
|
|
{
|
|
if(!size)
|
|
size = "0";
|
|
var val = parseInt(size);
|
|
txt_val.set_text(val+"");
|
|
}
|
|
self.set_release(SizeChanged);
|
|
self.set_action(SizeShow);
|
|
]]>
|
|
</initialize>
|
|
</panel>
|
|
</panel>
|
|
<panel dock="top" height="20" margin="5,0,0,0">
|
|
<label dock="left" width="50" vertical_align="middle" text_align="left" text="@Effect_Green"></label>
|
|
<label jsml-local="txt_val2" dock="right" width="20" vertical_align="middle" text_align="left" text="0"></label>
|
|
<panel jsml-base="scrollbarbase" dock="left" width="260" min="-255" max="255" default="0" margin="0,5,0,5">
|
|
<initialize>
|
|
<![CDATA[
|
|
self.CalcScrollbarPos();
|
|
function SizeChanged(size)
|
|
{
|
|
instance.Apply();
|
|
}
|
|
function SizeShow(size)
|
|
{
|
|
if(!size)
|
|
size = "0";
|
|
var val = parseInt(size);
|
|
txt_val2.set_text(val+"");
|
|
}
|
|
self.set_release(SizeChanged);
|
|
self.set_action(SizeShow);
|
|
]]>
|
|
</initialize>
|
|
</panel>
|
|
</panel>
|
|
<panel dock="top" height="20" margin="5,0,0,0">
|
|
<label dock="left" width="50" vertical_align="middle" text_align="left" text="@Effect_Blue"></label>
|
|
<label jsml-local="txt_val3" dock="right" width="20" vertical_align="middle" text_align="left" text="0"></label>
|
|
<panel jsml-base="scrollbarbase" dock="left" width="260" min="-255" max="255" default="0" margin="0,5,0,5">
|
|
<initialize>
|
|
<![CDATA[
|
|
self.CalcScrollbarPos();
|
|
function SizeChanged(size)
|
|
{
|
|
instance.Apply();
|
|
}
|
|
function SizeShow(size)
|
|
{
|
|
if(!size)
|
|
size = "0";
|
|
var val = parseInt(size);
|
|
txt_val3.set_text(val+"");
|
|
}
|
|
self.set_release(SizeChanged);
|
|
self.set_action(SizeShow);
|
|
]]>
|
|
</initialize>
|
|
</panel>
|
|
</panel>
|
|
<panel dock="top" height="20" margin="5,0,0,0">
|
|
<label dock="left" width="50" vertical_align="middle" text_align="left" text="@Effect_Alpha"></label>
|
|
<label jsml-local="txt_val4" dock="right" width="20" vertical_align="middle" text_align="left" text="0"></label>
|
|
<panel jsml-base="scrollbarbase" dock="left" width="260" min="-255" max="255" default="0" margin="0,5,0,5">
|
|
<initialize>
|
|
<![CDATA[
|
|
self.CalcScrollbarPos();
|
|
function SizeChanged(size)
|
|
{
|
|
instance.Apply();
|
|
}
|
|
function SizeShow(size)
|
|
{
|
|
if(!size)
|
|
size = "0";
|
|
var val = parseInt(size);
|
|
txt_val4.set_text(val+"");
|
|
}
|
|
self.set_release(SizeChanged);
|
|
self.set_action(SizeShow);
|
|
]]>
|
|
</initialize>
|
|
</panel>
|
|
</panel>
|
|
<panel dock="top" height="20" margin="5,0,0,0">
|
|
<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>
|
|
</panel>
|
|
<method name="Apply">
|
|
<![CDATA[
|
|
var val1 = parseInt(txt_val.get_text()||"0");
|
|
var val2 = parseInt(txt_val2.get_text()||"0");
|
|
var val3 = parseInt(txt_val3.get_text()||"0");
|
|
var val4 = parseInt(txt_val4.get_text()||"0");
|
|
instance._effectbox.Preview(val1,val2,val3,val4);
|
|
]]>
|
|
</method>
|
|
<constructor arguments="effectbox,mybox">
|
|
<![CDATA[
|
|
self.panel_constructor();
|
|
self._effectbox = effectbox;
|
|
self._mybox = mybox;
|
|
]]>
|
|
</constructor>
|
|
</panel>
|
|
<panel jsml-class="adjustscroll_fog" width="160" height="45" margin="10,2,10,3">
|
|
<panel dock="top" height="20">
|
|
<label dock="left" width="30" vertical_align="middle" text_align="left" text="@Effect_Radius"></label>
|
|
<label jsml-local="txt_val" dock="right" width="20" vertical_align="middle" text_align="left" text="5"></label>
|
|
|
|
<panel jsml-base="scrollbarbase" dock="left" width="90" min="2" max="15" default="5" margin="0,5,0,5">
|
|
<initialize>
|
|
<![CDATA[
|
|
self.CalcScrollbarPos();
|
|
function SizeChanged(size)
|
|
{
|
|
var val = parseInt(size);
|
|
instance._effectbox.Preview(val);
|
|
}
|
|
function SizeShow(size)
|
|
{
|
|
var val = parseInt(size);
|
|
txt_val.set_text(val);
|
|
}
|
|
self.set_release(SizeChanged);
|
|
self.set_action(SizeShow);
|
|
]]>
|
|
</initialize>
|
|
</panel>
|
|
</panel>
|
|
<panel dock="top" height="20" margin="5,0,0,0">
|
|
<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>
|
|
</panel>
|
|
<constructor arguments="effectbox,mybox">
|
|
<![CDATA[
|
|
self.panel_constructor();
|
|
self._effectbox = effectbox;
|
|
self._mybox = mybox;
|
|
]]>
|
|
</constructor>
|
|
</panel>
|
|
<panel jsml-class="adjustscroll_unsharp" width="160" height="45" margin="10,2,10,3">
|
|
<panel dock="top" height="20">
|
|
<label dock="left" width="30" vertical_align="middle" text_align="left" text="@Effect_Radius"></label>
|
|
<label jsml-local="txt_val" dock="right" width="20" vertical_align="middle" text_align="left" text="0"></label>
|
|
|
|
<panel jsml-base="scrollbarbase" dock="left" width="90" min="0" max="1" default="0" margin="0,5,0,5">
|
|
<initialize>
|
|
<![CDATA[
|
|
self.CalcScrollbarPos();
|
|
function SizeChanged(size)
|
|
{
|
|
if(!size)
|
|
size = "0";
|
|
if(size.toString().length>4)
|
|
size = parseFloat(size).toFixed(2);
|
|
var val = parseFloat(size);
|
|
instance._effectbox.Preview(val);
|
|
}
|
|
function SizeShow(size)
|
|
{
|
|
if(!size)
|
|
size = "0";
|
|
if(size.toString().length>4)
|
|
size = parseFloat(size).toFixed(2);
|
|
txt_val.set_text(size);
|
|
}
|
|
self.set_release(SizeChanged);
|
|
self.set_action(SizeShow);
|
|
]]>
|
|
</initialize>
|
|
</panel>
|
|
</panel>
|
|
<panel dock="top" height="20" margin="5,0,0,0">
|
|
<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>
|
|
</panel>
|
|
<constructor arguments="effectbox,mybox">
|
|
<![CDATA[
|
|
self.panel_constructor();
|
|
self._effectbox = effectbox;
|
|
self._mybox = mybox;
|
|
]]>
|
|
</constructor>
|
|
</panel>
|
|
<panel jsml-class="adjustscroll_pencil" width="160" height="45" margin="10,2,10,3">
|
|
<panel dock="top" height="20">
|
|
<label dock="left" width="30" vertical_align="middle" text_align="left" text="@Effect_Radius"></label>
|
|
<label jsml-local="txt_val" dock="right" width="20" vertical_align="middle" text_align="left" text="1.5"></label>
|
|
|
|
<panel jsml-base="scrollbarbase" dock="left" width="90" min="0.3" max="3" default="1.5" margin="0,5,0,5">
|
|
<initialize>
|
|
<![CDATA[
|
|
self.CalcScrollbarPos();
|
|
function SizeChanged(size)
|
|
{
|
|
if(!size)
|
|
size = "0";
|
|
if(size.toString().length>4)
|
|
size = parseFloat(size).toFixed(2);
|
|
var val = parseFloat(size);
|
|
instance._effectbox.Preview(val);
|
|
}
|
|
function SizeShow(size)
|
|
{
|
|
if(!size)
|
|
size = "0";
|
|
if(size.toString().length>4)
|
|
size = parseFloat(size).toFixed(2);
|
|
txt_val.set_text(size);
|
|
}
|
|
self.set_release(SizeChanged);
|
|
self.set_action(SizeShow);
|
|
]]>
|
|
</initialize>
|
|
</panel>
|
|
</panel>
|
|
<panel dock="top" height="20" margin="5,0,0,0">
|
|
<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>
|
|
</panel>
|
|
<constructor arguments="effectbox,mybox">
|
|
<![CDATA[
|
|
self.panel_constructor();
|
|
self._effectbox = effectbox;
|
|
self._mybox = mybox;
|
|
]]>
|
|
</constructor>
|
|
</panel>
|
|
<panel jsml-class="adjustbutton" width="120" height="32" margin="4" border_color="#8f8f8f" border_width="1" css_text="border-radius:2px;">
|
|
<image jsml-local="icon" dock="left" width="30" vertical_align="middle"></image>
|
|
<label jsml-local="txt" dock="fill" margin="0,0,0,5" vertical_align="middle"></label>
|
|
<attach name="click">
|
|
<![CDATA[
|
|
self.get_parent().Select(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;
|
|
]]>
|
|
</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="adjustpanel" width="385" height="230" 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" width="120" height="120" vertical_align="middle" horizontal_align="center" 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._arguments)
|
|
{
|
|
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="adjustbutton" title="@Effect_Rgb" effectname="rgb" src="images/effect/hsl.gif">
|
|
<attach name="click">
|
|
<![CDATA[
|
|
var effectbox=jsml.class_create_instance("floatbox");
|
|
effectbox.set_height(41);
|
|
effectbox.set_manualclose(true);
|
|
effectbox.show(self.get_element(),-20,0,{"floatMode":"b-l"});
|
|
instance._effectbox = effectbox;
|
|
var bluroption = jsml.class_create_instance("adjustscroll_rgb",[instance,effectbox]);
|
|
effectbox.append_child(bluroption);
|
|
]]>
|
|
</attach>
|
|
</panel>
|
|
<panel dock="flow" jsml-base="adjustbutton" title="@Effect_Contrast" effectname="contrast" src="images/effect/bright.gif">
|
|
<attach name="click">
|
|
<![CDATA[
|
|
var effectbox=jsml.class_create_instance("floatbox");
|
|
effectbox.set_height(41);
|
|
effectbox.set_manualclose(true);
|
|
effectbox.show(self.get_element(),-20,0,{"floatMode":"b-l"});
|
|
instance._effectbox = effectbox;
|
|
var bluroption = jsml.class_create_instance("adjustscroll_contrast",[instance,effectbox]);
|
|
effectbox.append_child(bluroption);
|
|
]]>
|
|
</attach>
|
|
</panel>
|
|
<panel dock="flow" jsml-base="adjustbutton" title="@Effect_Hsl" effectname="hue" src="images/effect/hsl.gif">
|
|
<attach name="click">
|
|
<![CDATA[
|
|
var effectbox=jsml.class_create_instance("floatbox");
|
|
effectbox.set_height(41);
|
|
effectbox.set_manualclose(true);
|
|
effectbox.show(self.get_element(),-20,0,{"floatMode":"b-l"});
|
|
instance._effectbox = effectbox;
|
|
var bluroption = jsml.class_create_instance("adjustscroll_hsl",[instance,effectbox]);
|
|
effectbox.append_child(bluroption);
|
|
]]>
|
|
</attach>
|
|
</panel>
|
|
<panel dock="flow" jsml-base="adjustbutton" title="@Effect_Invert" effectname="invert" src="images/effect/invert.gif">
|
|
<attach name="click">
|
|
instance.ShowApply(self);
|
|
</attach>
|
|
</panel>
|
|
<panel dock="flow" jsml-base="adjustbutton" title="@Effect_Fog" effectname="fog" src="images/effect/fog.gif">
|
|
<attach name="click">
|
|
<![CDATA[
|
|
var effectbox=jsml.class_create_instance("floatbox");
|
|
effectbox.set_height(41);
|
|
effectbox.set_manualclose(true);
|
|
effectbox.show(self.get_element(),-20,0,{"floatMode":"b-l"});
|
|
instance._effectbox = effectbox;
|
|
var bluroption = jsml.class_create_instance("adjustscroll_fog",[instance,effectbox]);
|
|
effectbox.append_child(bluroption);
|
|
]]>
|
|
</attach>
|
|
</panel>
|
|
<panel dock="flow" jsml-base="adjustbutton" title="@Effect_Neon" effectname="neon" src="images/effect/neon.gif">
|
|
<attach name="click">
|
|
instance.ShowApply(self);
|
|
</attach>
|
|
</panel>
|
|
<panel dock="flow" jsml-base="adjustbutton" title="@Effect_Relief" effectname="relief" src="images/effect/relief.gif">
|
|
<attach name="click">
|
|
instance.ShowApply(self);
|
|
</attach>
|
|
</panel>
|
|
<panel dock="flow" jsml-base="adjustbutton" title="@Effect_Mosaic" effectname="mosaic" src="images/effect/mosaic.gif">
|
|
<attach name="click">
|
|
<![CDATA[
|
|
var effectbox=jsml.class_create_instance("floatbox");
|
|
effectbox.set_height(41);
|
|
effectbox.set_manualclose(true);
|
|
effectbox.show(self.get_element(),-20,0,{"floatMode":"b-l"});
|
|
instance._effectbox = effectbox;
|
|
var bluroption = jsml.class_create_instance("adjustscroll_fog",[instance,effectbox]);
|
|
effectbox.append_child(bluroption);
|
|
]]>
|
|
</attach>
|
|
</panel>
|
|
<panel dock="flow" jsml-base="adjustbutton" title="@Effect_Grayscale" effectname="grayscale" src="images/effect/grayscale.gif">
|
|
<attach name="click">
|
|
instance.ShowApply(self);
|
|
</attach>
|
|
</panel>
|
|
<panel dock="flow" jsml-base="adjustbutton" title="@Effect_Twovalue" effectname="twovalue" src="images/effect/twovalue.gif">
|
|
<attach name="click">
|
|
instance.ShowApply(self);
|
|
</attach>
|
|
</panel>
|
|
<panel dock="flow" jsml-base="adjustbutton" title="@Effect_Unsharp" effectname="unsharp" src="images/effect/unsharp.gif">
|
|
<attach name="click">
|
|
<![CDATA[
|
|
var effectbox=jsml.class_create_instance("floatbox");
|
|
effectbox.set_height(41);
|
|
effectbox.set_manualclose(true);
|
|
effectbox.show(self.get_element(),-20,0,{"floatMode":"b-l"});
|
|
instance._effectbox = effectbox;
|
|
var bluroption = jsml.class_create_instance("adjustscroll_unsharp",[instance,effectbox]);
|
|
effectbox.append_child(bluroption);
|
|
]]>
|
|
</attach>
|
|
</panel>
|
|
<panel dock="flow" jsml-base="adjustbutton" title="@Effect_Blur" effectname="blur" src="images/effect/blur.gif">
|
|
<attach name="click">
|
|
<![CDATA[
|
|
var effectbox=jsml.class_create_instance("floatbox");
|
|
effectbox.set_height(41);
|
|
effectbox.set_manualclose(true);
|
|
effectbox.show(self.get_element(),-20,0,{"floatMode":"b-l"});
|
|
instance._effectbox = effectbox;
|
|
var bluroption = jsml.class_create_instance("adjustscroll_blur",[instance,effectbox]);
|
|
effectbox.append_child(bluroption);
|
|
]]>
|
|
</attach>
|
|
</panel>
|
|
<panel dock="flow" jsml-base="adjustbutton" title="@Effect_Pencil" effectname="pencil" src="images/effect/pencil.gif">
|
|
<attach name="click">
|
|
<![CDATA[
|
|
var effectbox=jsml.class_create_instance("floatbox");
|
|
effectbox.set_height(41);
|
|
effectbox.set_manualclose(true);
|
|
effectbox.show(self.get_element(),-20,0,{"floatMode":"b-l"});
|
|
instance._effectbox = effectbox;
|
|
var bluroption = jsml.class_create_instance("adjustscroll_pencil",[instance,effectbox]);
|
|
effectbox.append_child(bluroption);
|
|
]]>
|
|
</attach>
|
|
</panel>
|
|
<panel dock="flow" jsml-base="adjustbutton" title="@Effect_Sunshine" effectname="sunshine" src="images/effect/sunshine.gif">
|
|
<attach name="click">
|
|
instance.ShowApply(self);
|
|
</attach>
|
|
</panel>
|
|
<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");
|
|
//if float scrollbar options, get default values
|
|
var arg1,arg2,arg3,arg4;
|
|
var _ef = instance._effect;
|
|
if(_ef=="blur")
|
|
arg1 = 3;
|
|
if(_ef=="fog")
|
|
arg1 = 5;
|
|
if(_ef=="pencil")
|
|
arg1 = 1.5;
|
|
if(_ef=="contrast" || _ef=="hue" || _ef=="unsharp" || _ef=="rgb")
|
|
{
|
|
return;
|
|
}
|
|
instance.Preview(arg1,arg2,arg3,arg4);
|
|
}
|
|
]]>
|
|
</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,0,{"floatMode":"r-b"});
|
|
instance._effectbox = effectbox;
|
|
var bluroption = jsml.class_create_instance("adjustapplybutton",[instance,effectbox]);
|
|
effectbox.append_child(bluroption);
|
|
]]>
|
|
</method>
|
|
<method name="$0106" arguments="keepopen">
|
|
<![CDATA[
|
|
if(self._arguments)
|
|
{
|
|
doc.$0106(DrawEffect);
|
|
}
|
|
function DrawEffect()
|
|
{
|
|
var _args = self._arguments;
|
|
self.Preview(_args[0],_args[1],_args[2],_args[3],true,keepopen);
|
|
}
|
|
]]>
|
|
</method>
|
|
<method name="Preview" arguments="arg1,arg2,arg3,arg4,isapply,keepopen">
|
|
<![CDATA[
|
|
self._arguments = [arg1,arg2,arg3,arg4];
|
|
if(!self._effect) return;
|
|
|
|
backpanel.set_visible(1);
|
|
var effect = jsml.class_create_instance("$035");
|
|
var method = self._effect;
|
|
if(method=="sunshine")
|
|
{
|
|
if(isapply)
|
|
{
|
|
var layer = jsml.class_create_instance("$042", [doc]);
|
|
layer.set_name(doc.Text["Layer_Effect"]);
|
|
SunShineDraw(layer._canvas, true);
|
|
doc._history._layers.push(layer);
|
|
doc._history._selectLayer = layer;
|
|
doc.invoke_event("HistorySelected");
|
|
}
|
|
else
|
|
{
|
|
doc.$0118();
|
|
SunShineDraw(doc._canvas);
|
|
backpanel.set_visible(0);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
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";
|
|
if(!arg4)
|
|
t2d.drawImage(layer._canvas,0,0);
|
|
else
|
|
{
|
|
var pcanvas = document.createElement("canvas");
|
|
pcanvas.width = dx;
|
|
pcanvas.height = dy;
|
|
var p2d = pcanvas.getContext("2d");
|
|
p2d.fillStyle="black";
|
|
p2d.fillRect(0,0,dx,dy);
|
|
p2d.save();
|
|
p2d.globalCompositeOperation = "destination-out";
|
|
p2d.drawImage(sel,0,0);
|
|
p2d.restore();
|
|
p2d.save();
|
|
p2d.globalCompositeOperation = "xor";
|
|
p2d.drawImage(layer._canvas,0,0);
|
|
p2d.restore();
|
|
t2d.drawImage(pcanvas,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._arguments = null;
|
|
if(isapply && !keepopen)
|
|
{
|
|
backpanel.Remove();
|
|
self.dispose();
|
|
self.get_box().dispose();
|
|
}
|
|
}
|
|
|
|
function SunShineDraw(canvas, apply)
|
|
{
|
|
var img = new Image();
|
|
img.onload = function () {
|
|
var w = canvas.width;
|
|
var h = canvas.height;
|
|
var scale = w/img.width;
|
|
var oh = h/scale;
|
|
if (h > oh) h = oh;
|
|
var ctx = canvas.getContext("2d");
|
|
ctx.save();
|
|
ctx.scale(scale, scale);
|
|
ctx.drawImage(img, 0, 0);
|
|
|
|
if(apply)
|
|
setTimeout(Func,100);
|
|
}
|
|
img.src = "images/effect/sunshine.png";
|
|
}
|
|
|
|
function DoEffect(m,canvas)
|
|
{
|
|
switch(m)
|
|
{
|
|
case "blur":
|
|
effect.$0127(canvas,arg1);
|
|
break;
|
|
case "contrast":
|
|
effect.$0125(canvas,arg1);
|
|
effect.$0108(canvas,arg2);
|
|
break;
|
|
case "hue":
|
|
effect.$0131(canvas,arg1,arg2,arg3);
|
|
break;
|
|
case "invert":
|
|
effect.$0119(canvas);
|
|
//effect.$046(canvas,3);
|
|
break;
|
|
case "fog":
|
|
effect.$0130(canvas,arg1);
|
|
break;
|
|
case "neon":
|
|
effect.$0129(canvas);
|
|
break;
|
|
case "relief":
|
|
effect.$0121(canvas);
|
|
break;
|
|
case "mosaic":
|
|
effect.$0120(canvas,arg1);
|
|
break;
|
|
case "grayscale":
|
|
effect.$0104(canvas);
|
|
break;
|
|
case "twovalue":
|
|
effect.$0112(canvas);
|
|
break;
|
|
case "unsharp":
|
|
effect.$084(canvas,arg1);
|
|
break;
|
|
case "rgb":
|
|
effect.$075(canvas,arg1,arg2,arg3,arg4);
|
|
break;
|
|
case "pencil":
|
|
effect.$0126(canvas,arg1);
|
|
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("adjustpanel");
|
|
pl.set_box(ctrl);
|
|
ctrl.append_child(pl);
|
|
}
|
|
]]>
|
|
</execute>
|
|
</jsml>
|