From: Richard K. <ric...@us...> - 2005-05-23 11:38:49
|
Update of /cvsroot/actionstep/actionstep/src/org/actionstep In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21455 Modified Files: NSScroller.as Log Message: scroll buttons working Index: NSScroller.as =================================================================== RCS file: /cvsroot/actionstep/actionstep/src/org/actionstep/NSScroller.as,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** NSScroller.as 23 May 2005 11:10:12 -0000 1.4 --- NSScroller.as 23 May 2005 11:38:38 -0000 1.5 *************** *** 75,78 **** --- 75,80 ---- public function NSScroller() { m_enabled = true; + m_pendingKnobProportion = 0; + m_scrollerKnobClipRect = NSRect.ZeroRect; } *************** *** 186,196 **** } if (value < 0) { ! m_floatValue = 0; } if (value > 1) { ! m_floatValue = 1; } m_floatValue = value; ! setNeedsDisplay(true); } --- 188,198 ---- } if (value < 0) { ! value = 0; } if (value > 1) { ! value = 1; } m_floatValue = value; ! drawKnob(); } *************** *** 221,224 **** --- 223,230 ---- } + public function floatValue():Number { + return m_floatValue; + } + public function knobProportion():Number { return m_knobProportion; *************** *** 475,478 **** --- 481,485 ---- super.mouseDown(event); return; + break; case NSScrollerPart.NSScrollerDecrementPage: case NSScrollerPart.NSScrollerDecrementLine: *************** *** 481,487 **** super.mouseDown(event); return; case NSScrollerPart.NSScrollerKnob: trackKnob(event); ! break case NSScrollerPart.NSScrollerKnobSlot: var floatValue = floatValueAtPoint(convertPointFromView(location, null)); --- 488,495 ---- super.mouseDown(event); return; + break; case NSScrollerPart.NSScrollerKnob: trackKnob(event); ! break; case NSScrollerPart.NSScrollerKnobSlot: var floatValue = floatValueAtPoint(convertPointFromView(location, null)); *************** *** 507,529 **** public function drawRect(rect:NSRect) { if (m_scrollerKnobClip == null) { m_scrollerKnobClip = createSubviewMovieClip(); } var rectKnob:NSRect = rectForPart(NSScrollerPart.NSScrollerKnob); ! if (m_scrollerKnobClipRect == null || !m_scrollerKnobClipRect.equalTo(rectKnob)) { ! m_scrollerKnobClipRect = rectKnob; m_scrollerKnobClip._x = rectKnob.origin.x; m_scrollerKnobClip._y = rectKnob.origin.y; ASDraw.outlineRectWithRect(m_scrollerKnobClip, new NSRect(0,0,rectKnob.size.width, rectKnob.size.height), [0xF6F8F9, 0x696E79]); - m_scrollerKnobClipRect = rectKnob; } - - ASDraw.outlineRectWithRect(m_mcBounds, rect, [0x696E79,0xF6F8F9]); - var rectIncrementLine:NSRect = rectForPart(NSScrollerPart.NSScrollerIncrementLine); - var rectDecrementLine:NSRect = rectForPart(NSScrollerPart.NSScrollerDecrementLine); - (m_horizontal ? g_leftCell : g_upCell).drawWithFrameInView(rectDecrementLine, this); - (m_horizontal ? g_rightCell : g_downCell).drawWithFrameInView(rectIncrementLine, this); } --- 515,546 ---- public function drawRect(rect:NSRect) { + ASDraw.outlineRectWithRect(m_mcBounds, rect, [0x696E79,0xF6F8F9]); + var rectIncrementLine:NSRect = rectForPart(NSScrollerPart.NSScrollerIncrementLine); + var rectDecrementLine:NSRect = rectForPart(NSScrollerPart.NSScrollerDecrementLine); + (m_horizontal ? g_leftCell : g_upCell).drawWithFrameInView(rectDecrementLine, this); + (m_horizontal ? g_rightCell : g_downCell).drawWithFrameInView(rectIncrementLine, this); + drawKnob(); + } + + private function drawKnob() { if (m_scrollerKnobClip == null) { m_scrollerKnobClip = createSubviewMovieClip(); } var rectKnob:NSRect = rectForPart(NSScrollerPart.NSScrollerKnob); ! if (m_scrollerKnobClipRect.origin.x != rectKnob.origin.x || ! m_scrollerKnobClipRect.origin.y != rectKnob.origin.y) { m_scrollerKnobClip._x = rectKnob.origin.x; m_scrollerKnobClip._y = rectKnob.origin.y; + m_scrollerKnobClipRect.origin.x = rectKnob.origin.x; + m_scrollerKnobClipRect.origin.y = rectKnob.origin.y; + } + if (m_scrollerKnobClipRect.size.width != rectKnob.size.width || + m_scrollerKnobClipRect.size.width != rectKnob.size.height) { + m_scrollerKnobClipRect.size.width = rectKnob.size.width; + m_scrollerKnobClipRect.size.width = rectKnob.size.height; ASDraw.outlineRectWithRect(m_scrollerKnobClip, new NSRect(0,0,rectKnob.size.width, rectKnob.size.height), [0xF6F8F9, 0x696E79]); } } |