File: QSlider2D.sc

package info (click to toggle)
supercollider 1%3A3.13.0%2Brepack-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 80,292 kB
  • sloc: cpp: 476,363; lisp: 84,680; ansic: 77,685; sh: 25,509; python: 7,909; makefile: 3,440; perl: 1,964; javascript: 974; xml: 826; java: 677; yacc: 314; lex: 175; objc: 152; ruby: 136
file content (77 lines) | stat: -rw-r--r-- 1,600 bytes parent folder | download | duplicates (6)
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Slider2D : QAbstractStepValue {
	*qtClass { ^'QcSlider2D' }

	*new { arg parent, bounds;
		var me = super.new( parent, bounds );
		me.connectMethod( 'randomize()', \randomize );
		^me;
	}

	pixelStepX {
		// FIXME for now we are using step instead
		^this.step;
	}

	pixelStepY {
		// FIXME for now we are using step instead
		^this.step;
	}

	x {
		^this.getProperty( \xValue );
	}

	x_ { arg aFloat;
		this.setProperty( \xValue, aFloat );
	}

	activex_ { arg aFloat;
		this.x_(aFloat);
		this.doAction;
	}

	y {
		^this.getProperty( \yValue );
	}

	y_ { arg aFloat;
		this.setProperty( \yValue, aFloat );
	}

	activey_ { arg aFloat;
		this.y_(aFloat);
		this.doAction;
	}

	setXY { arg x, y;
		this.x_(x);
		this.y_(y);
	}

	setXYActive { arg x, y;
		this.setXY(x,y);
		this.doAction;
	}

	incrementX { arg factor=1.0; this.invokeMethod( \incrementX, factor.asFloat ); }
	decrementX { arg factor=1.0; this.invokeMethod( \decrementX, factor.asFloat ); }
	incrementY { arg factor=1.0; this.invokeMethod( \incrementY, factor.asFloat ); }
	decrementY { arg factor=1.0; this.invokeMethod( \decrementY, factor.asFloat ); }

	randomize {
		this.setXYActive( 1.0.rand, 1.0.rand );
	}

	knobColor { ^this.getProperty(\knobColor) }
	knobColor_ { arg color; this.setProperty(\knobColor, color) }

	background { ^this.getProperty(\grooveColor) }
	background_ { arg color; this.setProperty(\grooveColor, color) }

	defaultGetDrag { ^Point(this.x,this.y); }
	defaultCanReceiveDrag { ^(View.currentDrag.class === Point); }
	defaultReceiveDrag {
		var pt = View.currentDrag;
		this.setXYActive( pt.x, pt.y );
	}
}