group { name: "material"; min: 128 64; max: 128 64; parts { part { name: "background"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color: 0 0 0 255; rel1 { relative: 0.0 0.0; offset: 0 0; } rel2 { relative: 1.0 1.0; offset: 0 0; } } description { state: "error" 0.0; color: 255 255 255 255; rel1 { relative: 0.0 0.0; offset: 0 0; } rel2 { relative: 1.0 1.0; offset: 0 0; } } } part { name: "change"; type: RECT; mouse_events: 1; description { state: "default" 0.0; min: 60 40; max: 60 40; align: 0.0 0.0; color: 0 0 0 255; rel1 { to_x: "vspacer"; offset: -62 3; } } description { state: "active" 0.0; min: 60 40; max: 60 40; align: 0.0 0.0; color: 255 255 255 255; rel1 { to_x: "vspacer"; offset: -62 3; } } } part { name: "change.text"; type: TEXT; mouse_events: 0; description { state: "default" 0.0; color: 255 255 255 255; rel1 { relative: 0.0 0.0; offset: 0 0; to: "change"; } rel2 { relative: 1.0 1.0; offset: 0 0; to: "change"; } text { text: "Change"; font: "oled_font_large"; align: 0.5 0.5; } } description { state: "active" 0.0; color: 0 0 0 255; rel1 { relative: 0.0 0.0; offset: 0 0; to: "print"; } rel2 { relative: 1.0 1.0; offset: 0 0; to: "print"; } text { text: "Change"; font: "oled_font_large"; align: 0.5 0.5; } } } part { name: "vspacer"; type: RECT; mouse_events: 0; description { state: "default" 0.0; min: 1 45; max: 1 45; align: 0.0 0.0; color: 255 255 255 255; rel1 { relative: 0.0 0.0; offset: 64 0; } rel2 { relative: 1.0 1.0; offset: 64 45; } } } part { name: "settings"; type: RECT; mouse_events: 1; description { state: "default" 0.0; min: 60 40; max: 60 40; align: 0.0 0.0; color: 0 0 0 255; rel1 { to_x: "vspacer"; offset: 3 3; } } description { state: "active" 0.0; min: 60 40; max: 60 40; align: 0.0 0.0; color: 255 255 255 255; rel1 { to_x: "vspacer"; offset: 3 3; } } } part { name: "settings.text"; type: TEXT; mouse_events: 0; description { state: "default" 0.0; color: 255 255 255 255; rel1 { relative: 0.0 0.0; offset: 0 0; to: "settings"; } rel2 { relative: 1.0 1.0; offset: 0 0; to: "settings"; } text { text: "Settings"; font: "oled_font_large"; align: 0.5 0.5; } } description { state: "active" 0.0; color: 0 0 0 255; rel1 { relative: 0.0 0.0; offset: 0 0; to: "settings"; } rel2 { relative: 1.0 1.0; offset: 0 0; to: "settings"; } text { text: "Settings"; font: "oled_font_large"; align: 0.5 0.5; } } } part { name: "hspacer"; type: RECT; mouse_events: 0; description { state: "default" 0.0; min: 128 1; max: 128 1; align: 0.0 0.0; color: 255 255 255 255; rel1 { relative: 0.0 0.0; offset: 0 46; } rel2 { relative: 1.0 1.0; offset: 128 46; } } } part { name: "return"; type: RECT; mouse_events: 1; description { state: "default" 0.0; min: 126 20; max: 126 20; align: 0.0 0.0; color: 0 0 0 255; rel1 { to_y: "hspacer"; offset: 2 2; } } description { state: "active" 0.0; min: 126 20; max: 126 20; align: 0.0 0.0; color: 255 255 255 255; rel1 { to_y: "hspacer"; offset: 2 2; } } } part { name: "return.text"; type: TEXT; mouse_events: 0; description { state: "default" 0.0; color: 255 255 255 255; rel1 { relative: 0.0 0.0; offset: 0 0; to: "return"; } rel2 { relative: 1.0 1.0; offset: 0 0; to: "return"; } text { text: "Return"; font: "oled_font_large"; align: 0.5 0.5; } } description { state: "active" 0.0; color: 0 0 0 255; rel1 { relative: 0.0 0.0; offset: 0 0; to: "return"; } rel2 { relative: 1.0 1.0; offset: 0 0; to: "return"; } text { text: "Return"; font: "oled_font_large"; align: 0.5 0.5; } } } } programs { program { name: "wheel_rotate_up"; signal: "mouse,wheel,0,-1"; source: "*"; action: STATE_SET "active" 0.0; target: "change"; target: "change.text"; } program { name: "wheel_rotate_down"; signal: "mouse,wheel,0,1"; source: "*"; action: STATE_SET "default" 0.0; target: "change"; target: "change.text"; } program { name: "button_change_click"; signal: "mouse,down,*"; source: "change"; action: STATE_SET "active" 0.0; target: "change"; target: "change.text"; } program { name: "button_change_unclick"; signal: "mouse,up,*"; source: "change"; action: STATE_SET "default" 0.0; target: "change"; target: "change.text"; } program { name: "button_material_click"; signal: "mouse,down,2"; source: "material"; action: STATE_SET "active" 0.0; target: "material"; target: "material.text"; } program { name: "button_material_unclick"; signal: "mouse,up,2"; source: "material"; action: STATE_SET "default" 0.0; target: "material"; target: "material.text"; } program { name: "button_maintanance_click"; signal: "mouse,down,2"; source: "maintanance"; action: STATE_SET "active" 0.0; target: "maintanance"; target: "maintanance.text"; } program { name: "button_maintanance_unclick"; signal: "mouse,up,2"; source: "maintanance"; action: STATE_SET "default" 0.0; target: "maintanance"; target: "maintanance.text"; } } }