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