lento 0.1.1

Cross platform ui framework
use winit::window::CursorIcon;
use winit::window::CursorIcon::*;
use crate::element::Element;

pub fn parse_cursor(str: &str) -> Option<CursorIcon> {
    let icon = match str {
        "default" => Default,
        "context-menu" => ContextMenu,
        "help" => Help,
        "pointer" => Pointer,
        "progress" => Progress,
        "wait" => Wait,
        "cell" => Cell,
        "crosshair" => Crosshair,
        "text" => Text,
        "vertical-text" => VerticalText,
        "alias" => Alias,
        "copy" => Copy,
        "move" => Move,
        "no-drop" => NoDrop,
        "not-allowed" => NotAllowed,
        "grab" => Grab,
        "grabbing" => Grabbing,
        "e-resize" => EResize,
        "n-resize" => NResize,
        "ne-resize" => NeResize,
        "nw-resize" => NwResize,
        "s-resize" => SResize,
        "se-resize" => SeResize,
        "sw-resize" => SwResize,
        "w-resize" => WResize,
        "ew-resize" => EwResize,
        "ns-resize" => NsResize,
        "nesw-resize" => NeswResize,
        "nwse-resize" => NwseResize,
        "col-resize" => ColResize,
        "row-resize" => RowResize,
        "all-scroll" => AllScroll,
        "zoom-in" => ZoomIn,
        "zoom-out" => ZoomOut,
        _ => return None,
    };
    Some(icon)
}


pub fn search_cursor(element: &Element) -> CursorIcon {
    let cursor = element.get_cursor();
    if cursor != Default {
        return cursor
    }
    if let Some(p) = element.get_parent() {
        p.get_cursor()
    } else {
        Default
    }
}