+//**************************************************************
+void XGUI_Displayer::setSelectionColor(const std::vector<int>& theColor)
+{
+ Handle(AIS_InteractiveContext) aContext = AISContext();
+ if (!aContext.IsNull()) {
+ Quantity_Color aQColor(theColor[0] / 255.,
+ theColor[1] / 255.,
+ theColor[2] / 255., Quantity_TOC_RGB);
+ aContext->SelectionStyle()->SetColor(aQColor);
+ aContext->SelectionStyle()->PointAspect()->SetColor(aQColor);
+ aContext->SelectionStyle()->LineAspect()->SetColor(aQColor);
+ aContext->HighlightStyle(Prs3d_TypeOfHighlight_LocalSelected)->SetColor(aQColor);
+ }
+}
+
+
+//**************************************************************
+std::vector<int> XGUI_Displayer::selectionColor() const
+{
+ std::vector<int> aColor;
+ Handle(AIS_InteractiveContext) aContext = AISContext();
+ if (!aContext.IsNull()) {
+ Quantity_Color aQColor = aContext->SelectionStyle()->Color();
+ aColor.push_back((int)(aQColor.Red() * 255));
+ aColor.push_back((int)(aQColor.Green() * 255));
+ aColor.push_back((int)(aQColor.Blue() * 255));
+ }
+ return aColor;
+}
+
+