mirror of
https://github.com/Drezil/dear-implot.hs.git
synced 2025-04-21 10:34:00 +00:00
35 lines
867 B
Haskell
35 lines
867 B
Haskell
{-# LANGUAGE AllowAmbiguousTypes #-}
|
|
{-# LANGUAGE DataKinds #-}
|
|
{-# LANGUAGE DerivingStrategies #-}
|
|
{-# LANGUAGE FlexibleContexts #-}
|
|
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
|
|
{-# LANGUAGE MagicHash #-}
|
|
{-# LANGUAGE PatternSynonyms #-}
|
|
{-# LANGUAGE ScopedTypeVariables #-}
|
|
{-# LANGUAGE TemplateHaskell #-}
|
|
{-# LANGUAGE TypeApplications #-}
|
|
{-# LANGUAGE TypeFamilies #-}
|
|
|
|
module DearImGui.Plot.Enums where
|
|
|
|
-- base
|
|
import GHC.Exts
|
|
( proxy# )
|
|
import GHC.TypeNats
|
|
( Nat, KnownNat, natVal' )
|
|
import Numeric.Natural
|
|
( Natural )
|
|
|
|
-- dear-imgui-generator
|
|
import DearImGui.Plot.Generator
|
|
( declareEnumerations )
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
class KnownNat ( Count a ) => FiniteEnum a where
|
|
type Count a :: Nat
|
|
count :: Natural
|
|
count = natVal' @( Count a ) proxy#
|
|
|
|
declareEnumerations ''FiniteEnum ''Count
|