[PD-cvs] pd/src desire.tk,1.1.2.193,1.1.2.194
chunlee
chunlee at users.sourceforge.net
Wed Apr 26 17:32:07 CEST 2006
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14825
Modified Files:
Tag: devel_0_39
desire.tk
Log Message:
adds some small codes to get complementary color for displaying the
color names over the changing bg color
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.193
retrieving revision 1.1.2.194
diff -C2 -d -r1.1.2.193 -r1.1.2.194
*** desire.tk 26 Apr 2006 14:52:41 -0000 1.1.2.193
--- desire.tk 26 Apr 2006 15:32:04 -0000 1.1.2.194
***************
*** 3329,3334 ****
global _ preset_colors
set _($self:$name) $c
.$self.$name configure \
! -background [format #%6.6x $_($self:$name)]
# somehow this hilites one more pixel outside of what it should be
#-highlightbackground [format #%6.6x $_($self:$name)]
--- 3329,3335 ----
global _ preset_colors
set _($self:$name) $c
+ set fg_color [complement [format #%6.6x $c]]
.$self.$name configure \
! -background [format #%6.6x $_($self:$name)] -foreground $fg_color
# somehow this hilites one more pixel outside of what it should be
#-highlightbackground [format #%6.6x $_($self:$name)]
***************
*** 3399,3403 ****
#set c [expr $c & 0xFCFCFC]
set c 0xFCFCFC
! button $f.color -text $look($name) -font {Courier 8} -width 10 -pady 2 \
-command [list iemgui_choose_col $w $name.color $look($name)] \
-relief sunken -background $look($name) \
--- 3400,3405 ----
#set c [expr $c & 0xFCFCFC]
set c 0xFCFCFC
! set text_color [complement $look($name)]
! button $f.color -text $look($name) -font {Courier 8} -width 10 -pady 2 -fg $text_color \
-command [list iemgui_choose_col $w $name.color $look($name)] \
-relief sunken -background $look($name) \
***************
*** 3472,3483 ****
}
- proc color_popup2 {frame init_color} {
- set color [tk_chooseColor -initialcolor $init_color -title "Choose color"]
- puts "color :: $color"
- $frame.color_chooser configure -bg $color -activebackground $color
-
- }
############ .pdrc editor
proc dropmenu_set {frame name} {
--- 3474,3512 ----
}
############ .pdrc editor
+ #Turns #rgb into 3 elem list of decimal vals.
+ proc rgb2dec c {
+ set c [string tolower $c]
+ if {[regexp -nocase {^#([0-9a-f])([0-9a-f])([0-9a-f])$} $c x r g b]} {
+ # double'ing the value make #9fc == #99ffcc
+ scan "$r$r $g$g $b$b" "%x %x %x" r g b
+ } else {
+ if {![regexp {^#([0-9a-f]+)$} $c junk hex] || \
+ [set len [string length $hex]]>12 || $len%3 != 0} {
+ if {[catch {winfo rgb . $c} rgb]} {
+ return -code error "bad color value \"$c\""
+ } else {
+ return $rgb
+ }
+ }
+ set len [expr {$len/3}]
+ scan $hex "%${len}x%${len}x%${len}x" r g b
+ }
+ return [list $r $g $b]
+ }
+ #Returns a complementary color
+ proc complement {orig {grays 1}} {
+ foreach {r g b} [rgb2dec $orig] {break}
+ set R [expr {(~$r)%256}]
+ set G [expr {(~$g)%256}]
+ set B [expr {(~$b)%256}]
+ if {$grays && abs($R-$r) < 32 && abs($G-$g) < 32 && abs($B-$b) < 32} {
+ set R [expr {($r+128)%256}]
+ set G [expr {($g+128)%256}]
+ set B [expr {($b+128)%256}]
+ }
+ return [format "\#%02x%02x%02x" $R $G $B]
+ }
proc dropmenu_set {frame name} {
More information about the Pd-cvs
mailing list