forked from mojombo/clippy
-
Notifications
You must be signed in to change notification settings - Fork 10
/
Clippy.hx
63 lines (51 loc) · 2.14 KB
/
Clippy.hx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.display.SimpleButton;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
import flash.external.ExternalInterface;
class Clippy {
// Main
static function main() {
var id:String = flash.Lib.current.loaderInfo.parameters.id;
var copied:String = flash.Lib.current.loaderInfo.parameters.copied;
var copyto:String = flash.Lib.current.loaderInfo.parameters.copyto;
if(copied == null){ copied = "copied!";};
if(copyto == null){ copyto = "copy to clipboard";};
flash.Lib.current.stage.scaleMode = flash.display.StageScaleMode.NO_SCALE;
flash.Lib.current.stage.align = flash.display.StageAlign.TOP_LEFT;
// label
var label:TextField = new TextField();
var format:TextFormat = new TextFormat("Arial", 10);
label.text = copyto;
label.setTextFormat(format);
label.textColor = 0x888888;
label.selectable = false;
label.x = 15;
label.visible = false;
flash.Lib.current.addChild(label);
// button
var button:SimpleButton = new SimpleButton();
button.useHandCursor = true;
button.upState = flash.Lib.attach("button_up");
button.overState = flash.Lib.attach("button_over");
button.downState = flash.Lib.attach("button_down");
button.hitTestState = flash.Lib.attach("button_down");
button.addEventListener(MouseEvent.MOUSE_UP, function(e:MouseEvent) {
flash.system.System.setClipboard(ExternalInterface.call("(function(id){if(document.getElementById(id)){ return(document.getElementById(id).innerHTML) }else{alert('WARN: ' + id + ' Not found ');}})",id));
ExternalInterface.call("(function(id){if(clippyCopiedCallback){ clippyCopiedCallback(id)}})", id);
label.text = copied;
label.setTextFormat(format);
});
button.addEventListener(MouseEvent.MOUSE_OVER, function(e:MouseEvent) {
label.visible = true;
});
button.addEventListener(MouseEvent.MOUSE_OUT, function(e:MouseEvent) {
label.visible = false;
label.text = copyto;
label.setTextFormat(format);
});
flash.Lib.current.addChild(button);
}
}