| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
NanoUI.Id
Description
Widget ids and the id context they are derived from. See the "Widget identity" section of NanoUI for how ids are assigned.
Synopsis
- newtype WidgetId = WidgetId Word64
- data IdContext = IdContext {}
- initialIdContext :: IdContext
- idContextWidgetId :: IdContext -> WidgetId
- widgetId :: HasCallStack => WidgetId
- hashWidgetId :: WidgetId -> Word64
- fnv1a :: String -> Word64
- mix64 :: Word64 -> Word64 -> Word64
- mixFnv :: Word64 -> Word64 -> Word64
- scopeTag :: Word64
- enterScope :: Word64 -> IdContext -> (IdContext, IdContext)
- enterKeyed :: Word64 -> IdContext -> (IdContext, IdContext)
Documentation
Instances
| Eq WidgetId Source # | |
| Ord WidgetId Source # | |
Defined in NanoUI.Id | |
| Show WidgetId Source # | |
| Hashable WidgetId Source # | |
| Prim WidgetId Source # | |
Defined in NanoUI.Id Methods sizeOfType# :: Proxy WidgetId -> Int# # alignmentOfType# :: Proxy WidgetId -> Int# # alignment# :: WidgetId -> Int# # indexByteArray# :: ByteArray# -> Int# -> WidgetId # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, WidgetId #) # writeByteArray# :: MutableByteArray# s -> Int# -> WidgetId -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> WidgetId -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> WidgetId # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, WidgetId #) # writeOffAddr# :: Addr# -> Int# -> WidgetId -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> WidgetId -> State# s -> State# s # | |
idContextWidgetId :: IdContext -> WidgetId Source #
Id of the next sibling in this context. A zero hash becomes 1, so
WidgetId 0 never names a real widget.
widgetId :: HasCallStack => WidgetId Source #
hashWidgetId :: WidgetId -> Word64 Source #