-- (NSColor *)backgroundColor
-{
- return( _bgColor );
-}
-
-- (void)setKnobColor:(NSColor *)newColor
-{
- [_knobColor release];
- _knobColor = [newColor retain];
-}
-
-- (NSColor *)knobColor
-{
- return( _knobColor );
-}
-
-- (void)setKnobThickness:(float)f_value
-{
- _knobThickness = f_value;
-}
-
-- (float)knobThickness
-{
- return( _knobThickness );
-}
-
-- (NSSize)cellSizeForBounds:(NSRect)s_rc
-{
- return( s_rc.size );
-}
-
-- (void)drawWithFrame:(NSRect)s_rc inView:(NSView *)o_view
-{
- if( _scFlags.weAreVertical )
- {
- s_rc.origin.x = 1; s_rc.size.width -= 3;
- s_rc.origin.y = 2; s_rc.size.height -= 5;
- }
- else
- {
- s_rc.origin.x = 2; s_rc.size.width -= 5;
- s_rc.origin.y = 1; s_rc.size.height -= 3;
- }
-
- [super drawWithFrame: s_rc inView: o_view];
-}
-
-- (void)drawBarInside:(NSRect)s_rc flipped:(BOOL)b_flipped
-{
- NSRect s_arc;
-
- s_rc.size.width += (s_rc.origin.x * 2) + 1;
- s_rc.size.height += (s_rc.origin.y * 2) + 1;
- s_rc.origin.x = s_rc.origin.y = 0;
-
- [[NSGraphicsContext currentContext] setShouldAntialias: NO];
-
- [_bgColor set];
- NSRectFill( s_rc );
-
- s_arc = s_rc;
- s_arc.origin.x += 1.5;
- s_arc.origin.y += 1.5;
- s_arc.size.width -= s_arc.origin.x;
- s_arc.size.height -= s_arc.origin.y;
- [[_bgColor shadowWithLevel: 0.1] set];
- [NSBezierPath strokeRect: s_arc];
-
- s_arc.origin = s_rc.origin;
- [[NSColor blackColor] set];
- [NSBezierPath strokeRect: s_arc];
-
- [[NSGraphicsContext currentContext] setShouldAntialias: YES];
-}
-
-- (NSRect)knobRectFlipped:(BOOL)b_flipped
-{
- NSSize s_size;
- NSPoint s_pto;
- float floatValue;
-
- floatValue = [self floatValue];
-
- if( _scFlags.weAreVertical && b_flipped )
- {
- floatValue = _maxValue + _minValue - floatValue;
- }
-
- floatValue = (floatValue - _minValue) / (_maxValue - _minValue);
-
- if( _scFlags.weAreVertical )
- {
- s_size = NSMakeSize( _trackRect.size.width, _knobThickness ?
- _knobThickness : _trackRect.size.width );
- s_pto = _trackRect.origin;
- s_pto.y += (_trackRect.size.height - s_size.height) * floatValue;
- }
- else
- {
- s_size = NSMakeSize( _knobThickness ? _knobThickness :
- _trackRect.size.height, _trackRect.size.height );
- s_pto = _trackRect.origin;
- s_pto.x += (_trackRect.size.width - s_size.width) * floatValue;
- }
-
- return NSMakeRect( s_pto.x, s_pto.y, s_size.width, s_size.height );
-}
-
-- (void)drawKnob:(NSRect)s_rc
-{
- [[NSGraphicsContext currentContext] setShouldAntialias: NO];
-
- [_knobColor set];
- NSRectFill( s_rc );
-
- [[NSGraphicsContext currentContext] setShouldAntialias: YES];
-}
-
-@end