Compare commits
1 commit
4b9bb66771
...
68ab5fb56f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68ab5fb56f |
1 changed files with 12 additions and 9 deletions
|
|
@ -34,7 +34,6 @@ class ColorPickerData {
|
|||
|
||||
set_rgba(col){set_rgba(col, true)}
|
||||
set_rgba(col, update_spaces){
|
||||
System.print("Set RGB!")
|
||||
if(!ColorPicker.approx(_r, col.r)) _r = col.r
|
||||
if(!ColorPicker.approx(_g, col.g)) _g = col.g
|
||||
if(!ColorPicker.approx(_b, col.b)) _b = col.b
|
||||
|
|
@ -51,7 +50,6 @@ class ColorPickerData {
|
|||
|
||||
set_hsva(col){set_hsva(col, true)}
|
||||
set_hsva(col, update_spaces){
|
||||
System.print("Set HSV!")
|
||||
if(!ColorPicker.approx(_h, col.x)) _h = col.x
|
||||
if(!ColorPicker.approx(_s, col.y)) _s = col.y
|
||||
if(!ColorPicker.approx(_v, col.z)) _v = col.z
|
||||
|
|
@ -165,6 +163,7 @@ class ColorPicker{
|
|||
Control.child_add(hsv_view, rgba_components)
|
||||
|
||||
var hsva_components = hsva_values(ui, color_view)
|
||||
Control.set_visible(hsva_components, false)
|
||||
Control.child_add(hsv_view, hsva_components)
|
||||
|
||||
Control.set_events(rgba_button) {|event|
|
||||
|
|
@ -223,6 +222,8 @@ class ColorPicker{
|
|||
}
|
||||
|
||||
static color_component (ui: Entity, name: String, index: Num, color_view: Control, space: String){
|
||||
var data: ColorPickerData = Control.get_state_data(color_view)
|
||||
|
||||
var base = Control.create(ui)
|
||||
Control.set_size(base, 0, 32)
|
||||
Control.set_behave(base, UIBehave.top | UIBehave.left | UILayoutBehave.hfill)
|
||||
|
|
@ -239,7 +240,6 @@ class ColorPicker{
|
|||
Control.child_add(base, label)
|
||||
|
||||
var number = UINumber.create(ui)
|
||||
UINumber.set_value(number, 0)
|
||||
UINumber.set_validation(number) {|input|
|
||||
return Math.fixed(input)
|
||||
}
|
||||
|
|
@ -256,10 +256,17 @@ class ColorPicker{
|
|||
Control.set_margin(slider, 8, 8, 8, 8)
|
||||
Control.child_add(base, slider)
|
||||
|
||||
if(space == "rgb"){
|
||||
UINumber.set_value(number, data.get_rgba_component(index))
|
||||
UISlider.set_value(slider, data.get_rgba_component(index))
|
||||
} else if(space == "hsv"){
|
||||
UINumber.set_value(number, data.get_hsva_component(index))
|
||||
UISlider.set_value(slider, data.get_hsva_component(index))
|
||||
}
|
||||
|
||||
Control.set_events(number) { |event: UIEvent|
|
||||
if(event.type == UIEvent.change){
|
||||
if(approx(UISlider.get_value(slider), event.change, 0.001)) return
|
||||
System.print(" Base event (slider)")
|
||||
UI.events_emit(base, UIEvent.change, event.change)
|
||||
}
|
||||
}
|
||||
|
|
@ -267,14 +274,12 @@ class ColorPicker{
|
|||
Control.set_events(slider) { |event: UIEvent|
|
||||
if(event.type == UIEvent.change){
|
||||
if(approx(UINumber.get_value(number), event.change, 0.001)) return
|
||||
System.print(" Base event (number)")
|
||||
UI.events_emit(base, UIEvent.change, event.change)
|
||||
}
|
||||
}
|
||||
|
||||
Control.set_events(color_view){|event|
|
||||
if(event.type == UIEvent.change){
|
||||
//System.print(event.change)
|
||||
if(space == "rgb"){
|
||||
UISlider.set_value(slider, Math.fixed(event.change.get_rgba_component(index)))
|
||||
UINumber.set_value(number, Math.fixed(event.change.get_rgba_component(index)))
|
||||
|
|
@ -296,7 +301,6 @@ class ColorPicker{
|
|||
color.set_hsva_component(index, event.change)
|
||||
}
|
||||
Control.set_state_data(color_view, color)
|
||||
System.print("event from color component (%(name))")
|
||||
UI.events_emit(color_view, UIEvent.change, color)
|
||||
}
|
||||
}
|
||||
|
|
@ -331,7 +335,6 @@ class ColorPicker{
|
|||
var picker_state: ColorPickerData = Control.get_state_data(data_root)
|
||||
var hsv = [hue, picker_state.s, picker_state.v, picker_state.a]
|
||||
picker_state.set_hsva(hsv)
|
||||
System.print("Event from hue ring")
|
||||
UI.events_emit(data_root, UIEvent.change, picker_state)
|
||||
} else if(state["triangle"] == "captured"){ //if we're editing the triangle (saturation & value)
|
||||
var picker_state: ColorPickerData = Control.get_state_data(data_root)
|
||||
|
|
@ -357,7 +360,6 @@ class ColorPicker{
|
|||
//calculate and apply relevant values
|
||||
var hsv = [picker_state.h, saturation, value, picker_state.a]
|
||||
picker_state.set_hsva(hsv)
|
||||
System.print("event from saturation/value triangle")
|
||||
UI.events_emit(data_root, UIEvent.change, picker_state)
|
||||
} else { //if we're not editing anything, lets check what we're hovering over!
|
||||
var picker_state: ColorPickerData = Control.get_state_data(data_root)
|
||||
|
|
@ -420,6 +422,7 @@ class ColorPicker{
|
|||
Material.set_input(color_tri_mat, "triangle.saturation_gamma", base_sat_gamma)
|
||||
Material.set_input(color_tri_mat, "triangle.hue", data.h)
|
||||
UIImage.set_material(color_triangle, color_tri_mat)
|
||||
UIImage.set_angle(color_triangle, data.h * -360)
|
||||
Control.child_add(color_wheel, color_triangle)
|
||||
//rotates image when color wheel hue updates
|
||||
Control.set_events(data_root) {|event|
|
||||
|
|
|
|||
Loading…
Reference in a new issue