ThinkAlexandria/window-manager/1.0.0

WindowManager

type alias WindowLayout =
{ width : Int
, height : Int
, top : Int
, left : Int
, minWidth : Int
, minHeight : Int
, resizeXFence : FenceRule
, resizeYFence : FenceRule
}
{ width : Int
, height : Int
, top : Int
, left : Int
, minWidth : Int
, minHeight : Int
}
-> WindowLayout
updateWindowDeltaX : WindowLocation -> Position -> Int -> WindowLayout -> WindowLayout
updateWindowDeltaY : WindowLocation -> Position -> Int -> WindowLayout -> WindowLayout
resetWindowResizeFences : WindowLayout -> WindowLayout
type alias Config msg interactionLocation =
{ toMsg : Msg interactionLocation -> msg
, toInteractionLocation : WindowLocation -> interactionLocation
, windowContainerClass : String
, leftResizeHorizontallyHandleClass : String
, rightResizeHorizontallyHandleClass : String
, upperLeftCornerResizeHandleClass : String
, upperRightCornerResizeHandleClass : String
, lowerLeftCornerResizeHandleClass : String
, lowerRightCornerResizeHandleClass : String
, topResizeVerticallyHandleClass : String
, bottomResizeVerticallyHandleClass : String
}
Config msg interactionLocation
-> WindowLayout
-> List (Html msg)
-> Html msg
onMouseDownTranslateWindow : Config msg interactionLocation -> Attribute msg