From 68ab5fb56f0daf44e5f32fe822c4b5b9a681c80d Mon Sep 17 00:00:00 2001 From: Ronja Date: Thu, 25 Nov 2021 19:22:58 +0100 Subject: [PATCH] better startup --- colorpicker.wren | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/colorpicker.wren b/colorpicker.wren index a2d46ca..354261d 100644 --- a/colorpicker.wren +++ b/colorpicker.wren @@ -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|