Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
DearImGui.Raw.DragDrop
Synopsis
- beginSource :: MonadIO m => ImGuiDragDropFlags -> m Bool
- setPayload :: MonadIO m => CString -> Ptr a -> CSize -> ImGuiCond -> m Bool
- endSource :: MonadIO m => m ()
- beginTarget :: MonadIO m => m Bool
- acceptPayload :: MonadIO m => CString -> ImGuiDragDropFlags -> m (Maybe Payload)
- endTarget :: MonadIO m => m ()
- newtype Payload = Payload (Ptr ImGuiPayload)
- getData :: MonadIO m => Payload -> m (Ptr ())
- getDataSize :: MonadIO m => Payload -> m CInt
- getPayload :: MonadIO m => m (Maybe Payload)
- clear :: MonadIO m => Payload -> m ()
- isDataType :: MonadIO m => Payload -> CString -> m Bool
- isPreview :: MonadIO m => Payload -> m Bool
- isDelivery :: MonadIO m => Payload -> m Bool
Source
beginSource :: MonadIO m => ImGuiDragDropFlags -> m Bool Source #
Call after submitting an item which may be dragged.
When this return True, you can call setPayload
+ endDragDropSource
.
setPayload :: MonadIO m => CString -> Ptr a -> CSize -> ImGuiCond -> m Bool Source #
Type is a user defined string of maximum 32 characters.
Strings starting with '_' are reserved for dear imgui internal types. Data is copied and held by imgui. Returns True when payload has been accepted.
endSource :: MonadIO m => m () Source #
Only call if beginSource
returns True!
Target
beginTarget :: MonadIO m => m Bool Source #
Call after submitting an item that may receive a payload.
If this returns True, you can call acceptPayload
+ endTarget
.
acceptPayload :: MonadIO m => CString -> ImGuiDragDropFlags -> m (Maybe Payload) Source #
Accept contents of a given type.
If ImGuiDragDropFlags_AcceptBeforeDelivery is set you can peek into the payload before the mouse button is released.
endTarget :: MonadIO m => m () Source #
Only call if beginTarget
returns true!
Payload object
Direct access
getPayload :: MonadIO m => m (Maybe Payload) Source #
Peek directly into the current payload from anywhere.
Returns NULL when drag and drop is finished or inactive.
Use isDataType
to test for the payload type.