group { name: "e/desklock/background"; data.item: "hide_signal" "1"; parts { part { name: "clip"; type: RECT; description { state: "default" 0.0; color: 255 255 255 0; // no cc visible: 0; } description { state: "visible" 0.0; color: 255 255 255 255; // no cc visible: 1; } } part { name: "bg"; type: RECT; clip_to: "clip"; description { state: "default" 0.0; color_class: "/bg/normal/desklock/background"; } } program { signal: "show"; source: ""; action: STATE_SET "visible" 0.0; transition: SINUSOIDAL 0.5 USE_DURATION_FACTOR 1; target: "clip"; } program { signal: "e,action,hide"; source: "e"; action: STATE_SET "default" 0.0; transition: SINUSOIDAL 0.5 USE_DURATION_FACTOR 1; target: "clip"; sequence { action: SIGNAL_EMIT "e,action,hide,done" "e"; } } part { name: "e.swallow.login_box"; type: SWALLOW; clip_to: "clip"; description { state: "default" 0.0; } } } } group { name: "e/desklock/login_box"; set { name: "logo_mono"; image { image: "logo.png" COMP; size: 601 601 99999 99999; } image { image: "logo2.png" COMP; size: 301 301 600 600; } image { image: "logo3.png" COMP; size: 151 151 300 300; } image { image: "logo4.png" COMP; size: 76 76 150 150; } image { image: "logo5.png" COMP; size: 0 0 75 75; } } IMAGE_RING("ringa", 160) IMAGE_RING("ringb", 160) IMAGE_RING("ringc", 160) parts { part { name: "logo_clip"; type: RECT; description { state: "default"; min: 9999 9999; fixed: 1 1; } description { state: "hidden"; visible: 0; } } part { name: "clipper"; type: RECT; description { state: "default" 0.0; rel1.to_x: "logo"; rel1.to_y: "e.text.password"; rel1.relative: 0.3 0.0; rel1.offset: -100 -4; rel2.to_x: "logo"; rel2.to_y: "e.text.password"; rel2.relative: 0.7 1.0; rel2.offset: 99 196; } } part { name: "logo"; clip_to: "logo_clip"; scale: 1; description { state: "default" 0.0; image.normal: "logo_mono"; rel1.relative: 0.5 0.5; rel2.relative: 0.5 0.5; FIXED_SIZE(150, 150) color_class: "/fg/normal/desklock/logo"; } } part { name: "e.text.title"; type: TEXT; scale: 1; description { state: "default" 0.0; rel1.relative: 0.0 1.0; rel1.offset: 3 3; rel1.to_y: "logo"; rel2.relative: 1.0 1.0; rel2.offset: -4 3; rel2.to_y: "logo"; color_class: "/fg/normal/desklock/text/title"; align: 0.5 0.0; text { font: FNBD; size: 10; min: 1 1; align: 0.5 0.5; text_class: "desklock_title"; ellipsis: -1; } fixed: 0 1; } } part { name: "e.text.hint"; type: TEXT; scale: 1; description { state: "default" 0.0; rel1.relative: 0.0 1.0; rel1.offset: 3 13; rel1.to_y: "e.text.password"; rel2.relative: 1.0 1.0; rel2.offset: -4 3; rel2.to_y: "e.text.password"; color_class: "/fg/normal/desklock/text/hint"; align: 0.5 0.0; text { font: FNBD; size: 10; min: 1 1; align: 0.5 0.5; text_class: "desklock_hint"; ellipsis: -1; } fixed: 0 1; } } part { name: "selection"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel.to: "e.text.password"; color_class: "/fg/normal/desklock/selection"; visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "e.text.password"; type: TEXT; scale: 1; clip_to: "clipper"; description { state: "default" 0.0; rel1.relative: 0.0 1.0; rel1.offset: 3 10; rel1.to_x: "clipper"; rel1.to_y: "e.text.title"; rel2.relative: 0.0 1.0; rel2.offset: 3 10; rel2.to_x: "clipper"; rel2.to_y: "e.text.title"; color_class: "/fg/normal/desklock/text/password"; align: 0.0 0.0; text { font: FN; size: 10; min: 1 1; align: 0.0 0.5; text_class: "desklock_passwd"; ellipsis: -1; } fixed: 1 1; } } part { name: "cursor"; type: RECT; mouse_events: 0; scale: 1; clip_to: "clipper"; description { state: "default" 0.0; rel.to: "e.text.password"; rel1.relative: 1.0 0.0; rel1.offset: 0 -4; rel2.offset: -1 3; color_class: "/fg/normal/desklock/text/cursor"; min: 1 10; fixed: 1 1; visible: 0; offscale; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "fprint"; scale: 1; description { state: "default" 0.0; image.normal: "i-fingerprint"; min: 40 40; max: 40 40; rel.to_x: "clipper"; rel.to_y: "e.text.password"; rel1.relative: 0.0 1.0; align: 0.5 0.0; color: 255 255 255 0; // no cc color_class: "/fg/normal/desklock/fprint/normal"; visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; color: 255 255 255 255; // no cc visible: 1; } description { state: "auth-success" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/desklock/fprint/success"; color: 255 255 255 255; // no cc visible: 1; } description { state: "auth-fail" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/desklock/fprint/fail"; color: 255 255 255 255; // no cc visible: 1; } } part { name: "busy_area"; type: SPACER; scale: 1; description { state: "default" 0.0; min: 40 40; max: 40 40; rel.to: "clipper"; rel1.relative: 0.0 0.5; align: 0.5 0.0; } } program { signal: "e,action,hide"; source: "e"; action: SIGNAL_EMIT "e,state,invalid" "e"; } BUSY("busy_area", "e,state,checking", "e", "e,state,invalid", "e") } programs { program { name: "cursor_show"; signal: "show"; source: ""; action: STATE_SET "visible" 0.0; target: "cursor"; after: "cursor_show_timer"; } program { name: "cursor_show_timer"; in: 0.4 0.0; after: "cursor_hide"; } program { name: "cursor_hide"; action: STATE_SET "default" 0.0; target: "cursor"; after: "cursor_hide_timer"; } program { name: "cursor_hide_timer"; in: 0.4 0.0; after: "cursor_show"; } program { signal: "e,state,selected"; source: "e"; action: STATE_SET "active" 0.0; target: "selection"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "selection"; } program { signal: "e,state,logo,hidden"; source: "e"; action: STATE_SET "hidden" 0.0; target: "logo_clip"; } program { signal: "e,state,logo,visible"; source: "e"; action: STATE_SET "default" 0.0; target: "logo_clip"; } program { signal: "e,fprint,unknown"; source: "e"; action: STATE_SET "active" 0.0; transition: SINUSOIDAL 0.5 USE_DURATION_FACTOR 1; target: "fprint"; } program { signal: "e,fprint,press"; source: "e"; action: STATE_SET "active" 0.0; transition: SINUSOIDAL 0.5 USE_DURATION_FACTOR 1; target: "fprint"; } program { signal: "e,fprint,swipe"; source: "e"; action: STATE_SET "active" 0.0; transition: SINUSOIDAL 0.5 USE_DURATION_FACTOR 1; target: "fprint"; } program { signal: "e,fprint,auth,success"; source: "e"; action: STATE_SET "auth-success" 0.0; transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1; target: "fprint"; } program { signal: "e,fprint,auth,fail"; source: "e"; action: STATE_SET "auth-fail" 0.0; transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1; target: "fprint"; after: "fprint-reset"; } program { signal: "e,fprint,auth,short"; source: "e"; action: STATE_SET "auth-fail" 0.0; transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1; target: "fprint"; after: "fprint-reset"; } program { signal: "e,fprint,auth,nocenter"; source: "e"; action: STATE_SET "auth-fail" 0.0; transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1; target: "fprint"; after: "fprint-reset"; } program { signal: "e,fprint,auth,removeretry"; source: "e"; action: STATE_SET "auth-fail" 0.0; transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1; target: "fprint"; after: "fprint-reset"; } program { signal: "e,fprint,auth,retry"; source: "e"; action: STATE_SET "auth-fail" 0.0; transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1; target: "fprint"; after: "fprint-reset"; } program { signal: "e,fprint,auth,disconnect"; source: "e"; action: STATE_SET "default" 0.0; transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1; target: "fprint"; } program { signal: "e,fprint,auth,error"; source: "e"; action: STATE_SET "auth-fail" 0.0; transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1; target: "fprint"; after: "fprint-reset"; } program { name: "fprint-reset"; action: STATE_SET "active" 0.0; transition: SINUSOIDAL 0.5 USE_DURATION_FACTOR 1; target: "fprint"; in: 0.5 0.0; } } } group { name: "e/desklock/pin_box"; parts { part { name: "e.text.title"; type: TEXT; scale: 1; description { state: "default" 0.0; rel1.offset: 3 3; rel1.relative: 0.0 1.0; rel1.to_y: "e.swallow.buttons"; rel2.offset: -4 -3; color_class: "/fg/normal/desklock/text/title/pin"; align: 0.5 0.0; text { font: "Sans:style=Bold"; size: 10; min: 0 1; align: 0.5 0.5; text_class: "desklock_title"; text: "Please enter your PIN"; } fixed: 0 1; } } part { name: "selection"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel.to: "e.text.password"; color_class: "/fg/normal/desklock/selection"; visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "e.text.password"; type: TEXT; scale: 1; description { state: "default" 0.0; rel1.relative: 0.5 0.0; rel1.offset: 3 2; rel2.relative: 0.5 0.0; rel2.offset: 3 -2; color_class: "/fg/normal/desklock/text/password"; text { font: FN; size: 10; min: 1 1; ellipsis: -1; align: 1.0 0.5; text_class: "desklock_passwd"; } fixed: 1 1; offscale; } } part { name: "cursor"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel.to: "e.text.password"; rel1.relative: 1.0 0.0; rel1.offset: 0 -4; rel2.offset: -1 3; color_class: "/fg/normal/desklock/text/cursor"; min: 1 3; fixed: 1 1; offscale; } description { state: "visible" 0.0; inherit: "default" 0.0; } } part { name: "button_clip"; type: RECT; description { state: "default"; } } part { name: "e.swallow.buttons"; type: SWALLOW; clip_to: "button_clip"; description { state: "default"; rel1.relative: 0 1.0; rel1.to_y: "e.text.password"; rel1.offset: 0 2; align: 0.5 1.0; } } } programs { program { name: "cursor_show"; signal: "show"; source: ""; action: STATE_SET "visible" 0.0; target: "cursor"; after: "cursor_show_timer"; } program { name: "cursor_show_timer"; in: 0.5 0.0; after: "cursor_hide"; } program { name: "cursor_hide"; action: STATE_SET "default" 0.0; target: "cursor"; transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1; after: "cursor_hide_timer"; } program { name: "cursor_hide_timer"; in: 0.2 0.0; after: "cursor_show"; } program { signal: "e,state,selected"; source: "e"; action: STATE_SET "active" 0.0; target: "selection"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "selection"; } } }