def __init__(self, rect=None, parent=None): self.signals = CurveNodeItemSignals() gradient = QRadialGradient( self.WIDTH * 0.75, self.WIDTH * 0.75, self.WIDTH * 0.75, self.WIDTH * 0.75, self.WIDTH * 0.75) gradient.setColorAt(0, self.theme().accent_color_6 if self.theme() else QColor.fromRgbF(1, 0.5, 0.01, 1)) gradient.setColorAt(1, self.theme().accent_color_8 if self.theme() else QColor.fromRgbF(1, 0.6, 0.06, 1)) self._brush = QBrush(gradient) self._brush.setStyle(Qt.RadialGradientPattern) self._pen = QPen() self._pen.setStyle(Qt.SolidLine) self._pen.setWidth(2) self._pen.setColor(self.theme().accent_color if self.theme() else QColor(104, 104, 104, 255)) self._selected_pen = QPen() self._selected_pen.setStyle(Qt.SolidLine) self._selected_pen.setWidth(3) self._selected_pen.setColor(self.theme().accent_color_4 if self.theme() else QColor(67, 255, 163, 255)) super(CurveNodeItem, self).__init__(parent) self._lock_x_pos = False self._snap = False self._current_pos = None self._new_pos = None self._line = None self._is_point1 = False self.set_rect(rect if rect else QRect(0, 0, 10, 10)) self.setFlags( QGraphicsItem.ItemIsMovable | QGraphicsItem.ItemIsSelectable | QGraphicsItem.ItemSendsScenePositionChanges)
def color_from_hsl(hue, sat, lig, alpha): chroma = (1 - abs(2 * lig - 1)) * sat h1 = hue * 6 x = chroma * (1 - abs(math.fmod(h1, 2) - 1)) col = QColor() if 0 <= h1 < 1: col = QColor.fromRgbF(chroma, x, 0) elif h1 < 2: col = QColor.fromRgbF(x, chroma, 0) elif h1 < 3: col = QColor.fromRgbF(0, chroma, x) elif h1 < 4: col = QColor.fromRgbF(0, x, chroma) elif h1 < 5: col = QColor.fromRgbF(x, 0, chroma) elif h1 < 6: col = QColor.fromRgbF(chroma, 0, x) m = lig - chroma / 2 return QColor.fromRgbF( clamp(col.redF() + m, 0.0, 1.0), clamp(col.greenF() + m, 0.0, 1.0), clamp(col.blueF() + m, 0.0, 1.0), alpha )
def color_from_lch(hue, chroma, luma, alpha=1): h1 = hue * 6 x = chroma * (1 - abs(math.fmod(h1, 2) - 1)) col = QColor() if 0 <= h1 < 1: col = QColor.fromRgbF(chroma, x, 0) elif h1 < 2: col = QColor.fromRgbF(x, chroma, 0) elif h1 < 3: col = QColor.fromRgbF(0, chroma, x) elif h1 < 4: col = QColor.fromRgbF(0, x, chroma) elif h1 < 5: col = QColor.fromRgbF(x, 0, chroma) elif h1 < 6: col = QColor.fromRgbF(chroma, 0, x) m = luma - color_luma_float(col) return QColor.fromRgbF( clamp(col.redF() + m, 0.0, 1.0), clamp(col.greenF() + m, 0.0, 1.0), clamp(col.blueF() + m, 0.0, 1.0), alpha )
def get_rig_color(rig_type='fk', side='center'): """ Return a color given a rig type :param rig_type: str, Rig type ('fk' or 'ik') :param side: str, Rig side ('left', 'right', or 'center') """ if rig_type == 'fk' or rig_type == 'FK': if side == 'left' or side == 'Left' or side == 'L' or side == 'l' or side == 'Lt': rig_color = QColor.fromRgbF(0.7, 0.4, 0.7) rig_color.ann = 'LtFK Color' elif side == 'right' or side == 'Right' or side == 'R' or side == 'r' or side == 'Rt': rig_color = QColor.fromRgbF(0.7, 0.4, 0.4) rig_color.ann = 'RtFK Color' else: rig_color = QColor.fromRgbF(0.7, 0.7, 0.4) rig_color.ann = 'CnFK Color' else: if side == 'left' or side == 'Left' or side == 'L' or side == 'l' or side == 'Lt': rig_color = QColor.fromRgbF(0.4, 0.5, 0.7) rig_color.ann = 'LtIK Color' elif side == 'right' or side == 'Right' or side == 'R' or side == 'r' or side == 'Rt': rig_color = QColor.fromRgbF(0.7, 0.4, 0.7) rig_color.ann = 'RtIK Color' else: rig_color = QColor.fromRgbF(0.4, 0.7, 0.4) rig_color.ann = 'CnIK Color' return rig_color
def __init__(self, color_r=1.0, color_g=0.0, color_b=0.0, parent=None, **kwargs): super(ColorButton, self).__init__(parent=parent, **kwargs) self._color = QColor.fromRgbF(color_r, color_g, color_b) self.setSizePolicy( QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)) self._update_color() self.clicked.connect(self.show_color_editor)
def show_color_editor(self): if dcc.is_maya(): import maya.cmds as cmds cmds.colorEditor(rgbValue=(self._color.redF(), self._color.greenF(), self._color.blueF())) if not cmds.colorEditor(query=True, result=True): return new_color = cmds.colorEditor(query=True, rgbValue=True) self.color = QColor.fromRgbF(new_color[0], new_color[1], new_color[2]) self.colorChanged.emit() else: raise RuntimeError( 'Code Editor is not available for DCC: {}'.format( dcc.get_name()))
from Qt.QtGui import QSyntaxHighlighter, QColor PURPLE = QColor.fromRgbF(0.7, 0.5, 1, 1) BLUE = QColor.fromRgbF(0, 0.5, 1, 1) class JSONHighlighter(QSyntaxHighlighter): def highlightBlock(self, s): if not s.strip(): return i = 0 for start, length in get_string_ranges(s): if i % 2: color = BLUE else: color = PURPLE i += 1 self.setFormat(start, length, color) def get_string_ranges(t): """Get the in and out points of double-quote encased strings.""" # life's too short to parse escape characters. s = t.replace('\\"', '##') assert len(s) == len(t) i = 0 prev_c = '' in_str = False length = 0