/// Function to invoke calls to draw the picker box and swatch controls void GuiGradientCtrl::renderColorBox(RectI &bounds) { // Draw color box differently depending on mode if( mDisplayMode == pHorizColorRange ) { drawBlendRangeBox( bounds, false, mColorRange); } else if( mDisplayMode == pHorizAlphaRange ) { drawBlendRangeBox( bounds, false, mAlphaRange); } }
//-------------------------------------------------------------------------- /// Function to invoke calls to draw the picker box and selector void GuiColorPickerCtrl::renderColorBox(RectI &bounds) { RectI pickerBounds; pickerBounds.point.x = bounds.point.x+1; pickerBounds.point.y = bounds.point.y+1; pickerBounds.extent.x = bounds.extent.x-1; pickerBounds.extent.y = bounds.extent.y-1; if (mProfile->mBorder) GFX->getDrawUtil()->drawRect(bounds, mProfile->mBorderColor); Point2I selectorPos = Point2I(bounds.point.x+mSelectorPos.x+1, bounds.point.y+mSelectorPos.y+1); // Draw color box differently depending on mode RectI blendRect; switch (mDisplayMode) { case pHorizColorRange: drawBlendRangeBox( pickerBounds, false, 7, mColorRange); drawSelector( pickerBounds, selectorPos, sVertical ); break; case pVertColorRange: drawBlendRangeBox( pickerBounds, true, 7, mColorRange); drawSelector( pickerBounds, selectorPos, sHorizontal ); break; case pHorizColorBrightnessRange: blendRect = pickerBounds; blendRect.point.y++; blendRect.extent.y -= 2; drawBlendRangeBox( pickerBounds, false, 7, mColorRange); // This is being drawn slightly offset from the larger rect so as to insure 255 and 0 // can both be selected for every color. drawBlendBox( blendRect, colorAlpha, colorAlpha, colorBlack, colorBlack ); blendRect.point.y += blendRect.extent.y - 1; blendRect.extent.y = 2; GFX->getDrawUtil()->drawRect( blendRect, colorBlack); drawSelector( pickerBounds, selectorPos, sHorizontal ); drawSelector( pickerBounds, selectorPos, sVertical ); break; case pVertColorBrightnessRange: drawBlendRangeBox( pickerBounds, true, 7, mColorRange); drawBlendBox( pickerBounds, colorAlpha, colorBlack, colorBlack, colorAlpha ); drawSelector( pickerBounds, selectorPos, sHorizontal ); drawSelector( pickerBounds, selectorPos, sVertical ); break; case pHorizAlphaRange: drawBlendBox( pickerBounds, colorBlack, colorWhite, colorWhite, colorBlack ); drawSelector( pickerBounds, selectorPos, sVertical ); break; case pVertAlphaRange: drawBlendBox( pickerBounds, colorBlack, colorBlack, colorWhite, colorWhite ); drawSelector( pickerBounds, selectorPos, sHorizontal ); break; case pBlendColorRange: drawBlendBox( pickerBounds, colorWhite, mBaseColor, colorAlpha, colorBlack ); drawSelector( pickerBounds, selectorPos, sHorizontal ); drawSelector( pickerBounds, selectorPos, sVertical ); break; case pDropperBackground: break; case pPallet: default: GFX->getDrawUtil()->drawRectFill( pickerBounds, mBaseColor ); break; } }