mirror of
https://github.com/dyne/FreeJ.git
synced 2026-02-25 22:15:48 +01:00
* fixing - *rval = INT_TO_JSVAL(intval) to JS_NewNumberValue(cx, intval, rval) * fining - requeue SDL_Events poll() -> [ poll_sdlevents() ] -> dispatch() part1 part2 midi part3 joy - TODO: Event walk, check if JS exists first part4 new: poll_sdl_events for all SDL controller! part5 removed env pointer from controller part6 all the rest. puh! git-svn-id: svn://dyne.org/rastasoft/freej/branches/Goil/freej_91@1084 383723c8-4afa-0310-b8a8-b1afb83214fc
42 lines
808 B
JavaScript
42 lines
808 B
JavaScript
m = new MouseController();
|
|
register_controller(m);
|
|
|
|
m.zoomx = 1; m.zoomy = 1; m.maxzoom=4;
|
|
|
|
// MouseController.button(button, state, x, y)
|
|
m.button = function(b, s, x, y) {
|
|
echo("b"+b+" s"+s+" x"+x+" y"+y);
|
|
this.grab(s);
|
|
|
|
if (s == 1)
|
|
this.l=selected_layer();
|
|
else
|
|
delete this.l;
|
|
|
|
return true;
|
|
}
|
|
|
|
// MouseController.motion(buttonmask, x, y, xrel, yrel)
|
|
m.motion = function(b, x, y, dx, dy) {
|
|
echo("b"+b+" x"+x+" y"+y+" dx"+dx+" dy"+dy);
|
|
|
|
var l = this.l
|
|
if (!l)
|
|
return false;
|
|
|
|
if (b & 1) {
|
|
l.set_position(l.x() + dx, l.y() + dy);
|
|
}
|
|
if (b & 2) {
|
|
}
|
|
if (b & 4) {
|
|
this.zoomx += dx/100;
|
|
this.zoomy += dy/100;
|
|
if (Math.abs(this.zoomx)>this.maxzoom)
|
|
this.zoomx=this.maxzoom;
|
|
if (Math.abs(this.zoomy)>this.maxzoom)
|
|
this.zoomy=this.maxzoom;
|
|
l.zoom(this.zoomx, this.zoomy);
|
|
}
|
|
}
|