module Derive.Call.Symbols (symbols) where
import qualified Ui.Symbol as Symbol
import qualified App.Config as Config
import Global
symbols :: [Symbol.Symbol]
symbols :: [Symbol]
symbols = [Symbol]
misc forall a. [a] -> [a] -> [a]
++ [Symbol]
bravura
misc :: [Symbol.Symbol]
misc :: [Symbol]
misc =
[ Text -> Bool -> [Glyph] -> Symbol
Symbol.Symbol Text
"0x" Bool
True
[Int -> (Double, Double) -> Glyph -> Glyph
Symbol.glyph_at (-Int
2) (Double
0, -Double
0.4) (Text -> Glyph
Symbol.glyph Text
"x")]
, Text -> Text -> Symbol
simple Text
"up" Text
"↑"
, Text -> Text -> Symbol
simple Text
"^" Text
"↑"
, Text -> Text -> Symbol
simple Text
"right" Text
"→"
, Text -> Text -> Symbol
simple Text
"left" Text
"←"
, Text -> Text -> Symbol
simple Text
"down" Text
"↓"
, Text -> Text -> Symbol
simple Text
"_" Text
"↓"
]
simple :: Text -> Text -> Symbol.Symbol
simple :: Text -> Text -> Symbol
simple Text
name Text
text = Text -> [Glyph] -> Symbol
Symbol.symbol Text
name [Text -> Glyph
Symbol.glyph Text
text]
bravura :: [Symbol.Symbol]
bravura :: [Symbol]
bravura =
[ Text -> Text -> Symbol
symbol Text
"tr" Text
"\xe566"
, Text -> Text -> Symbol
symbol Text
"mordent" Text
"\xe56c"
, Text -> Text -> Symbol
symbol Text
"rmordent" Text
"\xe56d"
, Text -> [Glyph] -> Symbol
Symbol.symbol Text
"arp-up"
[ Int -> (Double, Double) -> Text -> Glyph
arp_glyph Int
90 (Double
0, -Double
0.25) Text
"\xeaad"
, Int -> (Double, Double) -> Text -> Glyph
arp_glyph Int
90 (Double
0, Double
0) Text
"\xeaa9"
]
, Text -> [Glyph] -> Symbol
Symbol.symbol Text
"arp-down"
[ Int -> (Double, Double) -> Text -> Glyph
arp_glyph (-Int
90) (Double
0, Double
0.25) Text
"\xeaae"
, Int -> (Double, Double) -> Text -> Glyph
arp_glyph (-Int
90) (Double
0, Double
0) Text
"\xeaaa"
]
, Text -> Text -> Symbol
symbol Text
"ped" Text
"\xe650"
, Text -> Text -> Symbol
symbol Text
"ped-up" Text
"\xe655"
, Text -> Text -> Symbol
symbol Text
"upbow" Text
"\xe612"
, Text -> Text -> Symbol
symbol Text
"downbow" Text
"\xe610"
]
where
arp_glyph :: Int -> (Double, Double) -> Text -> Glyph
arp_glyph Int
rotate (Double, Double)
align Text
str = (Text -> Glyph
glyph Text
str)
{ glyph_align :: (Double, Double)
Symbol.glyph_align = (Double, Double)
align
, glyph_rotate :: Int
Symbol.glyph_rotate = Int
rotate
}
glyph :: Text -> Glyph
glyph Text
str = Text -> Maybe Font -> Int -> (Double, Double) -> Int -> Glyph
Symbol.Glyph Text
str (forall a. a -> Maybe a
Just Font
Config.bravura) Int
8 (Double
0, Double
0) Int
0
symbol :: Text -> Text -> Symbol
symbol Text
name Text
str = Symbol.Symbol
{ name :: Text
name = Text
name, absolute_y :: Bool
absolute_y = Bool
False, glyphs :: [Glyph]
glyphs = [Text -> Glyph
glyph Text
str] }