void AudioOutPanel::drawRect( CDrawContext* pContext, const CRect& updateRect ) { pContext->setLineWidth( 1 ); pContext->setFrameColor( colors.fill2 ); pContext->setFillColor( colTransparent ); CRect rcFrame( size.left, size.top+15, size.right, size.bottom ); pContext->drawRect( rcFrame, kDrawFilledAndStroked ); drawBackToFront( pContext, updateRect ); setDirty( false ); }
void EarthquakeSet::drawBackToFront(int left,int right,int splitDimension,const Point& eyePos,GLuint*& bufferPtr) const { /* Get the current node index: */ int mid=(left+right)>>1; int childSplitDimension=splitDimension+1; if(childSplitDimension==3) childSplitDimension=0; /* Traverse into the subtree on the far side of the split plane first: */ if(eyePos[splitDimension]>events[treePointIndices[mid]].position[splitDimension]) { /* Traverse left child: */ if(left<mid) drawBackToFront(left,mid-1,childSplitDimension,eyePos,bufferPtr); /* Draw the point: */ *bufferPtr=GLuint(mid); ++bufferPtr; /* Traverse right child: */ if(right>mid) drawBackToFront(mid+1,right,childSplitDimension,eyePos,bufferPtr); } else { /* Traverse right child: */ if(right>mid) drawBackToFront(mid+1,right,childSplitDimension,eyePos,bufferPtr); /* Draw the point: */ *bufferPtr=GLuint(mid); ++bufferPtr; /* Traverse left child: */ if(left<mid) drawBackToFront(left,mid-1,childSplitDimension,eyePos,bufferPtr); } }