-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | Gdk bindings
--   
--   Bindings for Gdk, autogenerated by haskell-gi.
@package gi-gdk4
@version 4.0.10

-- | Build time configuration used during code generation.
module GI.Gdk.Config

-- | Overrides used when generating these bindings.
overrides :: Text

-- | Modules in this package
modules :: [Text]

module GI.Gdk.Constants

-- | This is the priority that the idle handler processing surface updates
--   is given in the main loop.
pattern PRIORITY_REDRAW :: Int32

-- | A mask covering all entries in GdkModifierType.
pattern MODIFIER_MASK :: Int32

-- | No description available in the introspection data.
pattern KEY_zstroke :: Word32

-- | No description available in the introspection data.
pattern KEY_zerosuperior :: Word32

-- | No description available in the introspection data.
pattern KEY_zerosubscript :: Word32

-- | No description available in the introspection data.
pattern KEY_zcaron :: Word32

-- | No description available in the introspection data.
pattern KEY_zacute :: Word32

-- | No description available in the introspection data.
pattern KEY_zabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_z :: Word32

-- | No description available in the introspection data.
pattern KEY_ytilde :: Word32

-- | No description available in the introspection data.
pattern KEY_yhook :: Word32

-- | No description available in the introspection data.
pattern KEY_ygrave :: Word32

-- | No description available in the introspection data.
pattern KEY_yen :: Word32

-- | No description available in the introspection data.
pattern KEY_ydiaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_ycircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_ybelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_yacute :: Word32

-- | No description available in the introspection data.
pattern KEY_y :: Word32

-- | No description available in the introspection data.
pattern KEY_xabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_x :: Word32

-- | No description available in the introspection data.
pattern KEY_wgrave :: Word32

-- | No description available in the introspection data.
pattern KEY_wdiaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_wcircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_wacute :: Word32

-- | No description available in the introspection data.
pattern KEY_w :: Word32

-- | No description available in the introspection data.
pattern KEY_vt :: Word32

-- | No description available in the introspection data.
pattern KEY_voicedsound :: Word32

-- | No description available in the introspection data.
pattern KEY_vertconnector :: Word32

-- | No description available in the introspection data.
pattern KEY_vertbar :: Word32

-- | No description available in the introspection data.
pattern KEY_variation :: Word32

-- | No description available in the introspection data.
pattern KEY_v :: Word32

-- | No description available in the introspection data.
pattern KEY_utilde :: Word32

-- | No description available in the introspection data.
pattern KEY_uring :: Word32

-- | No description available in the introspection data.
pattern KEY_uptack :: Word32

-- | No description available in the introspection data.
pattern KEY_upstile :: Word32

-- | No description available in the introspection data.
pattern KEY_upshoe :: Word32

-- | No description available in the introspection data.
pattern KEY_uprightcorner :: Word32

-- | No description available in the introspection data.
pattern KEY_upleftcorner :: Word32

-- | No description available in the introspection data.
pattern KEY_upcaret :: Word32

-- | No description available in the introspection data.
pattern KEY_uparrow :: Word32

-- | No description available in the introspection data.
pattern KEY_uogonek :: Word32

-- | No description available in the introspection data.
pattern KEY_union :: Word32

-- | No description available in the introspection data.
pattern KEY_underscore :: Word32

-- | No description available in the introspection data.
pattern KEY_underbar :: Word32

-- | No description available in the introspection data.
pattern KEY_umacron :: Word32

-- | No description available in the introspection data.
pattern KEY_uhorntilde :: Word32

-- | No description available in the introspection data.
pattern KEY_uhornhook :: Word32

-- | No description available in the introspection data.
pattern KEY_uhorngrave :: Word32

-- | No description available in the introspection data.
pattern KEY_uhornbelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_uhornacute :: Word32

-- | No description available in the introspection data.
pattern KEY_uhorn :: Word32

-- | No description available in the introspection data.
pattern KEY_uhook :: Word32

-- | No description available in the introspection data.
pattern KEY_ugrave :: Word32

-- | No description available in the introspection data.
pattern KEY_udoubleacute :: Word32

-- | No description available in the introspection data.
pattern KEY_udiaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_ucircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_ubreve :: Word32

-- | No description available in the introspection data.
pattern KEY_ubelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_uacute :: Word32

-- | No description available in the introspection data.
pattern KEY_u :: Word32

-- | No description available in the introspection data.
pattern KEY_twothirds :: Word32

-- | No description available in the introspection data.
pattern KEY_twosuperior :: Word32

-- | No description available in the introspection data.
pattern KEY_twosubscript :: Word32

-- | No description available in the introspection data.
pattern KEY_twofifths :: Word32

-- | No description available in the introspection data.
pattern KEY_tslash :: Word32

-- | No description available in the introspection data.
pattern KEY_trademarkincircle :: Word32

-- | No description available in the introspection data.
pattern KEY_trademark :: Word32

-- | No description available in the introspection data.
pattern KEY_topvertsummationconnector :: Word32

-- | No description available in the introspection data.
pattern KEY_topt :: Word32

-- | No description available in the introspection data.
pattern KEY_toprightsummation :: Word32

-- | No description available in the introspection data.
pattern KEY_toprightsqbracket :: Word32

-- | No description available in the introspection data.
pattern KEY_toprightparens :: Word32

-- | No description available in the introspection data.
pattern KEY_topleftsummation :: Word32

-- | No description available in the introspection data.
pattern KEY_topleftsqbracket :: Word32

-- | No description available in the introspection data.
pattern KEY_topleftradical :: Word32

-- | No description available in the introspection data.
pattern KEY_topleftparens :: Word32

-- | No description available in the introspection data.
pattern KEY_topintegral :: Word32

-- | No description available in the introspection data.
pattern KEY_tintegral :: Word32

-- | No description available in the introspection data.
pattern KEY_threesuperior :: Word32

-- | No description available in the introspection data.
pattern KEY_threesubscript :: Word32

-- | No description available in the introspection data.
pattern KEY_threequarters :: Word32

-- | No description available in the introspection data.
pattern KEY_threefifths :: Word32

-- | No description available in the introspection data.
pattern KEY_threeeighths :: Word32

-- | No description available in the introspection data.
pattern KEY_thorn :: Word32

-- | No description available in the introspection data.
pattern KEY_thinspace :: Word32

-- | No description available in the introspection data.
pattern KEY_therefore :: Word32

-- | No description available in the introspection data.
pattern KEY_telephonerecorder :: Word32

-- | No description available in the introspection data.
pattern KEY_telephone :: Word32

-- | No description available in the introspection data.
pattern KEY_tcedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_tcaron :: Word32

-- | No description available in the introspection data.
pattern KEY_tabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_t :: Word32

-- | No description available in the introspection data.
pattern KEY_stricteq :: Word32

-- | No description available in the introspection data.
pattern KEY_sterling :: Word32

-- | No description available in the introspection data.
pattern KEY_ssharp :: Word32

-- | No description available in the introspection data.
pattern KEY_squareroot :: Word32

-- | No description available in the introspection data.
pattern KEY_space :: Word32

-- | No description available in the introspection data.
pattern KEY_soliddiamond :: Word32

-- | No description available in the introspection data.
pattern KEY_slash :: Word32

-- | No description available in the introspection data.
pattern KEY_sixsuperior :: Word32

-- | No description available in the introspection data.
pattern KEY_sixsubscript :: Word32

-- | No description available in the introspection data.
pattern KEY_singlelowquotemark :: Word32

-- | No description available in the introspection data.
pattern KEY_similarequal :: Word32

-- | No description available in the introspection data.
pattern KEY_signifblank :: Word32

-- | No description available in the introspection data.
pattern KEY_signaturemark :: Word32

-- | No description available in the introspection data.
pattern KEY_sevensuperior :: Word32

-- | No description available in the introspection data.
pattern KEY_sevensubscript :: Word32

-- | No description available in the introspection data.
pattern KEY_seveneighths :: Word32

-- | No description available in the introspection data.
pattern KEY_semivoicedsound :: Word32

-- | No description available in the introspection data.
pattern KEY_semicolon :: Word32

-- | No description available in the introspection data.
pattern KEY_section :: Word32

-- | No description available in the introspection data.
pattern KEY_seconds :: Word32

-- | No description available in the introspection data.
pattern KEY_script_switch :: Word32

-- | No description available in the introspection data.
pattern KEY_scircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_schwa :: Word32

-- | No description available in the introspection data.
pattern KEY_scedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_scaron :: Word32

-- | No description available in the introspection data.
pattern KEY_sacute :: Word32

-- | No description available in the introspection data.
pattern KEY_sabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_s :: Word32

-- | No description available in the introspection data.
pattern KEY_righttack :: Word32

-- | No description available in the introspection data.
pattern KEY_rightt :: Word32

-- | No description available in the introspection data.
pattern KEY_rightsinglequotemark :: Word32

-- | No description available in the introspection data.
pattern KEY_rightshoe :: Word32

-- | No description available in the introspection data.
pattern KEY_rightpointer :: Word32

-- | No description available in the introspection data.
pattern KEY_rightopentriangle :: Word32

-- | No description available in the introspection data.
pattern KEY_rightmiddlesummation :: Word32

-- | No description available in the introspection data.
pattern KEY_rightmiddlecurlybrace :: Word32

-- | No description available in the introspection data.
pattern KEY_rightdoublequotemark :: Word32

-- | No description available in the introspection data.
pattern KEY_rightcaret :: Word32

-- | No description available in the introspection data.
pattern KEY_rightarrow :: Word32

-- | No description available in the introspection data.
pattern KEY_rightanglebracket :: Word32

-- | No description available in the introspection data.
pattern KEY_registered :: Word32

-- | No description available in the introspection data.
pattern KEY_rcedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_rcaron :: Word32

-- | No description available in the introspection data.
pattern KEY_radical :: Word32

-- | No description available in the introspection data.
pattern KEY_racute :: Word32

-- | No description available in the introspection data.
pattern KEY_r :: Word32

-- | No description available in the introspection data.
pattern KEY_quoteright :: Word32

-- | No description available in the introspection data.
pattern KEY_quoteleft :: Word32

-- | No description available in the introspection data.
pattern KEY_quotedbl :: Word32

-- | No description available in the introspection data.
pattern KEY_questiondown :: Word32

-- | No description available in the introspection data.
pattern KEY_question :: Word32

-- | No description available in the introspection data.
pattern KEY_quad :: Word32

-- | No description available in the introspection data.
pattern KEY_q :: Word32

-- | No description available in the introspection data.
pattern KEY_punctspace :: Word32

-- | No description available in the introspection data.
pattern KEY_prolongedsound :: Word32

-- | No description available in the introspection data.
pattern KEY_prescription :: Word32

-- | No description available in the introspection data.
pattern KEY_plusminus :: Word32

-- | No description available in the introspection data.
pattern KEY_plus :: Word32

-- | No description available in the introspection data.
pattern KEY_phonographcopyright :: Word32

-- | No description available in the introspection data.
pattern KEY_permille :: Word32

-- | No description available in the introspection data.
pattern KEY_periodcentered :: Word32

-- | No description available in the introspection data.
pattern KEY_period :: Word32

-- | No description available in the introspection data.
pattern KEY_percent :: Word32

-- | No description available in the introspection data.
pattern KEY_partialderivative :: Word32

-- | No description available in the introspection data.
pattern KEY_partdifferential :: Word32

-- | No description available in the introspection data.
pattern KEY_parenright :: Word32

-- | No description available in the introspection data.
pattern KEY_parenleft :: Word32

-- | No description available in the introspection data.
pattern KEY_paragraph :: Word32

-- | No description available in the introspection data.
pattern KEY_pabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_p :: Word32

-- | No description available in the introspection data.
pattern KEY_overline :: Word32

-- | No description available in the introspection data.
pattern KEY_overbar :: Word32

-- | No description available in the introspection data.
pattern KEY_otilde :: Word32

-- | No description available in the introspection data.
pattern KEY_oslash :: Word32

-- | No description available in the introspection data.
pattern KEY_ordmasculine :: Word32

-- | No description available in the introspection data.
pattern KEY_ordfeminine :: Word32

-- | No description available in the introspection data.
pattern KEY_opentribulletup :: Word32

-- | No description available in the introspection data.
pattern KEY_opentribulletdown :: Word32

-- | No description available in the introspection data.
pattern KEY_openstar :: Word32

-- | No description available in the introspection data.
pattern KEY_openrectbullet :: Word32

-- | No description available in the introspection data.
pattern KEY_ooblique :: Word32

-- | No description available in the introspection data.
pattern KEY_onethird :: Word32

-- | No description available in the introspection data.
pattern KEY_onesuperior :: Word32

-- | No description available in the introspection data.
pattern KEY_onesubscript :: Word32

-- | No description available in the introspection data.
pattern KEY_onesixth :: Word32

-- | No description available in the introspection data.
pattern KEY_onequarter :: Word32

-- | No description available in the introspection data.
pattern KEY_onehalf :: Word32

-- | No description available in the introspection data.
pattern KEY_onefifth :: Word32

-- | No description available in the introspection data.
pattern KEY_oneeighth :: Word32

-- | No description available in the introspection data.
pattern KEY_omacron :: Word32

-- | No description available in the introspection data.
pattern KEY_ohorntilde :: Word32

-- | No description available in the introspection data.
pattern KEY_ohornhook :: Word32

-- | No description available in the introspection data.
pattern KEY_ohorngrave :: Word32

-- | No description available in the introspection data.
pattern KEY_ohornbelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_ohornacute :: Word32

-- | No description available in the introspection data.
pattern KEY_ohorn :: Word32

-- | No description available in the introspection data.
pattern KEY_ohook :: Word32

-- | No description available in the introspection data.
pattern KEY_ograve :: Word32

-- | No description available in the introspection data.
pattern KEY_ogonek :: Word32

-- | No description available in the introspection data.
pattern KEY_oe :: Word32

-- | No description available in the introspection data.
pattern KEY_odoubleacute :: Word32

-- | No description available in the introspection data.
pattern KEY_odiaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_ocircumflextilde :: Word32

-- | No description available in the introspection data.
pattern KEY_ocircumflexhook :: Word32

-- | No description available in the introspection data.
pattern KEY_ocircumflexgrave :: Word32

-- | No description available in the introspection data.
pattern KEY_ocircumflexbelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_ocircumflexacute :: Word32

-- | No description available in the introspection data.
pattern KEY_ocircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_ocaron :: Word32

-- | No description available in the introspection data.
pattern KEY_obelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_obarred :: Word32

-- | No description available in the introspection data.
pattern KEY_oacute :: Word32

-- | No description available in the introspection data.
pattern KEY_o :: Word32

-- | No description available in the introspection data.
pattern KEY_numerosign :: Word32

-- | No description available in the introspection data.
pattern KEY_numbersign :: Word32

-- | No description available in the introspection data.
pattern KEY_ntilde :: Word32

-- | No description available in the introspection data.
pattern KEY_notsign :: Word32

-- | No description available in the introspection data.
pattern KEY_notidentical :: Word32

-- | No description available in the introspection data.
pattern KEY_notequal :: Word32

-- | No description available in the introspection data.
pattern KEY_notelementof :: Word32

-- | No description available in the introspection data.
pattern KEY_notapproxeq :: Word32

-- | No description available in the introspection data.
pattern KEY_nobreakspace :: Word32

-- | No description available in the introspection data.
pattern KEY_nl :: Word32

-- | No description available in the introspection data.
pattern KEY_ninesuperior :: Word32

-- | No description available in the introspection data.
pattern KEY_ninesubscript :: Word32

-- | No description available in the introspection data.
pattern KEY_ncedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_ncaron :: Word32

-- | No description available in the introspection data.
pattern KEY_nacute :: Word32

-- | No description available in the introspection data.
pattern KEY_nabla :: Word32

-- | No description available in the introspection data.
pattern KEY_n :: Word32

-- | No description available in the introspection data.
pattern KEY_musicalsharp :: Word32

-- | No description available in the introspection data.
pattern KEY_musicalflat :: Word32

-- | No description available in the introspection data.
pattern KEY_multiply :: Word32

-- | No description available in the introspection data.
pattern KEY_mu :: Word32

-- | No description available in the introspection data.
pattern KEY_minutes :: Word32

-- | No description available in the introspection data.
pattern KEY_minus :: Word32

-- | No description available in the introspection data.
pattern KEY_masculine :: Word32

-- | No description available in the introspection data.
pattern KEY_marker :: Word32

-- | No description available in the introspection data.
pattern KEY_maltesecross :: Word32

-- | No description available in the introspection data.
pattern KEY_malesymbol :: Word32

-- | No description available in the introspection data.
pattern KEY_macron :: Word32

-- | No description available in the introspection data.
pattern KEY_mabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_m :: Word32

-- | No description available in the introspection data.
pattern KEY_lstroke :: Word32

-- | No description available in the introspection data.
pattern KEY_lowrightcorner :: Word32

-- | No description available in the introspection data.
pattern KEY_lowleftcorner :: Word32

-- | No description available in the introspection data.
pattern KEY_logicalor :: Word32

-- | No description available in the introspection data.
pattern KEY_logicaland :: Word32

-- | No description available in the introspection data.
pattern KEY_lf :: Word32

-- | No description available in the introspection data.
pattern KEY_lessthanequal :: Word32

-- | No description available in the introspection data.
pattern KEY_less :: Word32

-- | No description available in the introspection data.
pattern KEY_lefttack :: Word32

-- | No description available in the introspection data.
pattern KEY_leftt :: Word32

-- | No description available in the introspection data.
pattern KEY_leftsinglequotemark :: Word32

-- | No description available in the introspection data.
pattern KEY_leftshoe :: Word32

-- | No description available in the introspection data.
pattern KEY_leftradical :: Word32

-- | No description available in the introspection data.
pattern KEY_leftpointer :: Word32

-- | No description available in the introspection data.
pattern KEY_leftopentriangle :: Word32

-- | No description available in the introspection data.
pattern KEY_leftmiddlecurlybrace :: Word32

-- | No description available in the introspection data.
pattern KEY_leftdoublequotemark :: Word32

-- | No description available in the introspection data.
pattern KEY_leftcaret :: Word32

-- | No description available in the introspection data.
pattern KEY_leftarrow :: Word32

-- | No description available in the introspection data.
pattern KEY_leftanglebracket :: Word32

-- | No description available in the introspection data.
pattern KEY_lcedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_lcaron :: Word32

-- | No description available in the introspection data.
pattern KEY_lbelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_latincross :: Word32

-- | No description available in the introspection data.
pattern KEY_lacute :: Word32

-- | No description available in the introspection data.
pattern KEY_l :: Word32

-- | No description available in the introspection data.
pattern KEY_kra :: Word32

-- | No description available in the introspection data.
pattern KEY_kcedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_kappa :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_yu :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_yo :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_ya :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_u :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_tu :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_tsu :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_switch :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_openingbracket :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_o :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_middledot :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_i :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_fullstop :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_e :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_conjunctive :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_comma :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_closingbracket :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_a :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_YU :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_YO :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_YA :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_WO :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_WA :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_U :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_TU :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_TSU :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_TO :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_TI :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_TE :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_TA :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_SU :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_SO :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_SHI :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_SE :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_SA :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_RU :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_RO :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_RI :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_RE :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_RA :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_O :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_NU :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_NO :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_NI :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_NE :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_NA :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_N :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_MU :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_MO :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_MI :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_ME :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_MA :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_KU :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_KO :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_KI :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_KE :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_KA :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_I :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_HU :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_HO :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_HI :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_HE :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_HA :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_FU :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_E :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_CHI :: Word32

-- | No description available in the introspection data.
pattern KEY_kana_A :: Word32

-- | No description available in the introspection data.
pattern KEY_k :: Word32

-- | No description available in the introspection data.
pattern KEY_jot :: Word32

-- | No description available in the introspection data.
pattern KEY_jcircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_j :: Word32

-- | No description available in the introspection data.
pattern KEY_itilde :: Word32

-- | No description available in the introspection data.
pattern KEY_iogonek :: Word32

-- | No description available in the introspection data.
pattern KEY_intersection :: Word32

-- | No description available in the introspection data.
pattern KEY_integral :: Word32

-- | No description available in the introspection data.
pattern KEY_infinity :: Word32

-- | No description available in the introspection data.
pattern KEY_includes :: Word32

-- | No description available in the introspection data.
pattern KEY_includedin :: Word32

-- | No description available in the introspection data.
pattern KEY_implies :: Word32

-- | No description available in the introspection data.
pattern KEY_imacron :: Word32

-- | No description available in the introspection data.
pattern KEY_ihook :: Word32

-- | No description available in the introspection data.
pattern KEY_igrave :: Word32

-- | No description available in the introspection data.
pattern KEY_ifonlyif :: Word32

-- | No description available in the introspection data.
pattern KEY_idotless :: Word32

-- | No description available in the introspection data.
pattern KEY_idiaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_identical :: Word32

-- | No description available in the introspection data.
pattern KEY_icircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_ibreve :: Word32

-- | No description available in the introspection data.
pattern KEY_ibelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_iacute :: Word32

-- | No description available in the introspection data.
pattern KEY_iTouch :: Word32

-- | No description available in the introspection data.
pattern KEY_i :: Word32

-- | No description available in the introspection data.
pattern KEY_hyphen :: Word32

-- | No description available in the introspection data.
pattern KEY_ht :: Word32

-- | No description available in the introspection data.
pattern KEY_hstroke :: Word32

-- | No description available in the introspection data.
pattern KEY_horizlinescan9 :: Word32

-- | No description available in the introspection data.
pattern KEY_horizlinescan7 :: Word32

-- | No description available in the introspection data.
pattern KEY_horizlinescan5 :: Word32

-- | No description available in the introspection data.
pattern KEY_horizlinescan3 :: Word32

-- | No description available in the introspection data.
pattern KEY_horizlinescan1 :: Word32

-- | No description available in the introspection data.
pattern KEY_horizconnector :: Word32

-- | No description available in the introspection data.
pattern KEY_hexagram :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_zayin :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_zain :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_zadi :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_zade :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_yod :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_waw :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_teth :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_tet :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_taw :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_taf :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_shin :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_samekh :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_samech :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_resh :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_qoph :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_pe :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_nun :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_mem :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_lamed :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_kuf :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_kaph :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_het :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_he :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_gimmel :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_gimel :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_finalzadi :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_finalzade :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_finalpe :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_finalnun :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_finalmem :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_finalkaph :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_doublelowline :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_daleth :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_dalet :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_chet :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_beth :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_bet :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_ayin :: Word32

-- | No description available in the introspection data.
pattern KEY_hebrew_aleph :: Word32

-- | No description available in the introspection data.
pattern KEY_heart :: Word32

-- | No description available in the introspection data.
pattern KEY_hcircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_hairspace :: Word32

-- | No description available in the introspection data.
pattern KEY_h :: Word32

-- | No description available in the introspection data.
pattern KEY_guillemotright :: Word32

-- | No description available in the introspection data.
pattern KEY_guillemotleft :: Word32

-- | No description available in the introspection data.
pattern KEY_guillemetright :: Word32

-- | No description available in the introspection data.
pattern KEY_guillemetleft :: Word32

-- | No description available in the introspection data.
pattern KEY_greaterthanequal :: Word32

-- | No description available in the introspection data.
pattern KEY_greater :: Word32

-- | No description available in the introspection data.
pattern KEY_grave :: Word32

-- | No description available in the introspection data.
pattern KEY_gcircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_gcedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_gcaron :: Word32

-- | No description available in the introspection data.
pattern KEY_gbreve :: Word32

-- | No description available in the introspection data.
pattern KEY_gabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_g :: Word32

-- | No description available in the introspection data.
pattern KEY_function :: Word32

-- | No description available in the introspection data.
pattern KEY_fourthroot :: Word32

-- | No description available in the introspection data.
pattern KEY_foursuperior :: Word32

-- | No description available in the introspection data.
pattern KEY_foursubscript :: Word32

-- | No description available in the introspection data.
pattern KEY_fourfifths :: Word32

-- | No description available in the introspection data.
pattern KEY_fivesuperior :: Word32

-- | No description available in the introspection data.
pattern KEY_fivesubscript :: Word32

-- | No description available in the introspection data.
pattern KEY_fivesixths :: Word32

-- | No description available in the introspection data.
pattern KEY_fiveeighths :: Word32

-- | No description available in the introspection data.
pattern KEY_filledtribulletup :: Word32

-- | No description available in the introspection data.
pattern KEY_filledtribulletdown :: Word32

-- | No description available in the introspection data.
pattern KEY_filledrighttribullet :: Word32

-- | No description available in the introspection data.
pattern KEY_filledrectbullet :: Word32

-- | No description available in the introspection data.
pattern KEY_filledlefttribullet :: Word32

-- | No description available in the introspection data.
pattern KEY_figdash :: Word32

-- | No description available in the introspection data.
pattern KEY_ff :: Word32

-- | No description available in the introspection data.
pattern KEY_femalesymbol :: Word32

-- | No description available in the introspection data.
pattern KEY_fabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_f :: Word32

-- | No description available in the introspection data.
pattern KEY_ezh :: Word32

-- | No description available in the introspection data.
pattern KEY_exclamdown :: Word32

-- | No description available in the introspection data.
pattern KEY_exclam :: Word32

-- | No description available in the introspection data.
pattern KEY_etilde :: Word32

-- | No description available in the introspection data.
pattern KEY_eth :: Word32

-- | No description available in the introspection data.
pattern KEY_equal :: Word32

-- | No description available in the introspection data.
pattern KEY_eogonek :: Word32

-- | No description available in the introspection data.
pattern KEY_enspace :: Word32

-- | No description available in the introspection data.
pattern KEY_enopensquarebullet :: Word32

-- | No description available in the introspection data.
pattern KEY_enopencircbullet :: Word32

-- | No description available in the introspection data.
pattern KEY_eng :: Word32

-- | No description available in the introspection data.
pattern KEY_enfilledsqbullet :: Word32

-- | No description available in the introspection data.
pattern KEY_enfilledcircbullet :: Word32

-- | No description available in the introspection data.
pattern KEY_endash :: Word32

-- | No description available in the introspection data.
pattern KEY_emspace :: Word32

-- | No description available in the introspection data.
pattern KEY_emptyset :: Word32

-- | No description available in the introspection data.
pattern KEY_emopenrectangle :: Word32

-- | No description available in the introspection data.
pattern KEY_emopencircle :: Word32

-- | No description available in the introspection data.
pattern KEY_emfilledrect :: Word32

-- | No description available in the introspection data.
pattern KEY_emfilledcircle :: Word32

-- | No description available in the introspection data.
pattern KEY_emdash :: Word32

-- | No description available in the introspection data.
pattern KEY_emacron :: Word32

-- | No description available in the introspection data.
pattern KEY_em4space :: Word32

-- | No description available in the introspection data.
pattern KEY_em3space :: Word32

-- | No description available in the introspection data.
pattern KEY_ellipsis :: Word32

-- | No description available in the introspection data.
pattern KEY_elementof :: Word32

-- | No description available in the introspection data.
pattern KEY_eightsuperior :: Word32

-- | No description available in the introspection data.
pattern KEY_eightsubscript :: Word32

-- | No description available in the introspection data.
pattern KEY_ehook :: Word32

-- | No description available in the introspection data.
pattern KEY_egrave :: Word32

-- | No description available in the introspection data.
pattern KEY_ediaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_ecircumflextilde :: Word32

-- | No description available in the introspection data.
pattern KEY_ecircumflexhook :: Word32

-- | No description available in the introspection data.
pattern KEY_ecircumflexgrave :: Word32

-- | No description available in the introspection data.
pattern KEY_ecircumflexbelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_ecircumflexacute :: Word32

-- | No description available in the introspection data.
pattern KEY_ecircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_ecaron :: Word32

-- | No description available in the introspection data.
pattern KEY_ebelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_eacute :: Word32

-- | No description available in the introspection data.
pattern KEY_eabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_e :: Word32

-- | No description available in the introspection data.
pattern KEY_dstroke :: Word32

-- | No description available in the introspection data.
pattern KEY_downtack :: Word32

-- | No description available in the introspection data.
pattern KEY_downstile :: Word32

-- | No description available in the introspection data.
pattern KEY_downshoe :: Word32

-- | No description available in the introspection data.
pattern KEY_downcaret :: Word32

-- | No description available in the introspection data.
pattern KEY_downarrow :: Word32

-- | No description available in the introspection data.
pattern KEY_doublelowquotemark :: Word32

-- | No description available in the introspection data.
pattern KEY_doubledagger :: Word32

-- | No description available in the introspection data.
pattern KEY_doubleacute :: Word32

-- | No description available in the introspection data.
pattern KEY_doubbaselinedot :: Word32

-- | No description available in the introspection data.
pattern KEY_dollar :: Word32

-- | No description available in the introspection data.
pattern KEY_division :: Word32

-- | No description available in the introspection data.
pattern KEY_dintegral :: Word32

-- | No description available in the introspection data.
pattern KEY_digitspace :: Word32

-- | No description available in the introspection data.
pattern KEY_diamond :: Word32

-- | No description available in the introspection data.
pattern KEY_diaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_degree :: Word32

-- | No description available in the introspection data.
pattern KEY_decimalpoint :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_voiced_sound :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_u :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_tilde :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_stroke :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_small_schwa :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_semivoiced_sound :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_schwa :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_psili :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_perispomeni :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_ogonek :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_o :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_macron :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_lowline :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_longsolidusoverlay :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_iota :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_invertedbreve :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_i :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_horn :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_hook :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_hamza :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_greek :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_grave :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_e :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_doublegrave :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_doubleacute :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_diaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_dasia :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_currency :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_circumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_cedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_caron :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_capital_schwa :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_breve :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_belowverticalline :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_belowtilde :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_belowring :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_belowmacron :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_belowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_belowdiaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_belowcomma :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_belowcircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_belowbreve :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_acute :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_aboveverticalline :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_abovering :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_abovereversedcomma :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_abovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_abovecomma :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_a :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_U :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_SCHWA :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_O :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_I :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_E :: Word32

-- | No description available in the introspection data.
pattern KEY_dead_A :: Word32

-- | No description available in the introspection data.
pattern KEY_dcaron :: Word32

-- | No description available in the introspection data.
pattern KEY_dagger :: Word32

-- | No description available in the introspection data.
pattern KEY_dabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_d :: Word32

-- | No description available in the introspection data.
pattern KEY_cursor :: Word32

-- | No description available in the introspection data.
pattern KEY_currency :: Word32

-- | No description available in the introspection data.
pattern KEY_cuberoot :: Word32

-- | No description available in the introspection data.
pattern KEY_crossinglines :: Word32

-- | No description available in the introspection data.
pattern KEY_cr :: Word32

-- | No description available in the introspection data.
pattern KEY_copyright :: Word32

-- | No description available in the introspection data.
pattern KEY_containsas :: Word32

-- | No description available in the introspection data.
pattern KEY_comma :: Word32

-- | No description available in the introspection data.
pattern KEY_combining_tilde :: Word32

-- | No description available in the introspection data.
pattern KEY_combining_hook :: Word32

-- | No description available in the introspection data.
pattern KEY_combining_grave :: Word32

-- | No description available in the introspection data.
pattern KEY_combining_belowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_combining_acute :: Word32

-- | No description available in the introspection data.
pattern KEY_colon :: Word32

-- | No description available in the introspection data.
pattern KEY_club :: Word32

-- | No description available in the introspection data.
pattern KEY_circle :: Word32

-- | No description available in the introspection data.
pattern KEY_checkmark :: Word32

-- | No description available in the introspection data.
pattern KEY_checkerboard :: Word32

-- | No description available in the introspection data.
pattern KEY_ch :: Word32

-- | No description available in the introspection data.
pattern KEY_cent :: Word32

-- | No description available in the introspection data.
pattern KEY_cedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_ccircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_ccedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_ccaron :: Word32

-- | No description available in the introspection data.
pattern KEY_caron :: Word32

-- | No description available in the introspection data.
pattern KEY_caret :: Word32

-- | No description available in the introspection data.
pattern KEY_careof :: Word32

-- | No description available in the introspection data.
pattern KEY_cacute :: Word32

-- | No description available in the introspection data.
pattern KEY_cabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_c_h :: Word32

-- | No description available in the introspection data.
pattern KEY_c :: Word32

-- | No description available in the introspection data.
pattern KEY_brokenbar :: Word32

-- | No description available in the introspection data.
pattern KEY_breve :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_8 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_78 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_7 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_68 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_67 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_6 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_58 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_57 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_5678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_56 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_5 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_48 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_478 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_47 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_468 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_4678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_467 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_46 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_458 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_4578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_457 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_4568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_45678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_4567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_456 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_45 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_4 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_38 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_378 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_37 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_368 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_3678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_367 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_36 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_358 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_3578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_357 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_3568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_35678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_3567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_356 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_35 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_348 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_3478 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_347 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_3468 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_34678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_3467 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_346 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_3458 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_34578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_3457 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_34568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_345678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_34567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_3456 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_345 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_34 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_3 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_28 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_278 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_27 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_268 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_267 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_26 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_258 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_257 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_25678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_256 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_25 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_248 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2478 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_247 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2468 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_24678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2467 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_246 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2458 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_24578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2457 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_24568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_245678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_24567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2456 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_245 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_24 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_238 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2378 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_237 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2368 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_23678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2367 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_236 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2358 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_23578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2357 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_23568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_235678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_23567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2356 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_235 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2348 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_23478 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2347 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_23468 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_234678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_23467 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2346 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_23458 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_234578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_23457 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_234568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2345678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_234567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_23456 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2345 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_234 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_23 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_2 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_18 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_178 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_17 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_168 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_167 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_16 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_158 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_157 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_15678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_156 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_15 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_148 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1478 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_147 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1468 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_14678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1467 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_146 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1458 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_14578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1457 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_14568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_145678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_14567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1456 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_145 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_14 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_138 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1378 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_137 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1368 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_13678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1367 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_136 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1358 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_13578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1357 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_13568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_135678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_13567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1356 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_135 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1348 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_13478 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1347 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_13468 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_134678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_13467 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1346 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_13458 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_134578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_13457 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_134568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1345678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_134567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_13456 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1345 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_134 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_13 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_128 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1278 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_127 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1268 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1267 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_126 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1258 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1257 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_125678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1256 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_125 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1248 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12478 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1247 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12468 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_124678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12467 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1246 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12458 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_124578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12457 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_124568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1245678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_124567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12456 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1245 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_124 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1238 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12378 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1237 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12368 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_123678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12367 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1236 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12358 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_123578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12357 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_123568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1235678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_123567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12356 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1235 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12348 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_123478 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12347 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_123468 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1234678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_123467 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12346 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_123458 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1234578 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_123457 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1234568 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12345678 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1234567 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_123456 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12345 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1234 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_123 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_12 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dots_1 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dot_9 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dot_8 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dot_7 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dot_6 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dot_5 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dot_4 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dot_3 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dot_2 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dot_10 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_dot_1 :: Word32

-- | No description available in the introspection data.
pattern KEY_braille_blank :: Word32

-- | No description available in the introspection data.
pattern KEY_bracketright :: Word32

-- | No description available in the introspection data.
pattern KEY_bracketleft :: Word32

-- | No description available in the introspection data.
pattern KEY_braceright :: Word32

-- | No description available in the introspection data.
pattern KEY_braceleft :: Word32

-- | No description available in the introspection data.
pattern KEY_botvertsummationconnector :: Word32

-- | No description available in the introspection data.
pattern KEY_bott :: Word32

-- | No description available in the introspection data.
pattern KEY_botrightsummation :: Word32

-- | No description available in the introspection data.
pattern KEY_botrightsqbracket :: Word32

-- | No description available in the introspection data.
pattern KEY_botrightparens :: Word32

-- | No description available in the introspection data.
pattern KEY_botleftsummation :: Word32

-- | No description available in the introspection data.
pattern KEY_botleftsqbracket :: Word32

-- | No description available in the introspection data.
pattern KEY_botleftparens :: Word32

-- | No description available in the introspection data.
pattern KEY_botintegral :: Word32

-- | No description available in the introspection data.
pattern KEY_blank :: Word32

-- | No description available in the introspection data.
pattern KEY_because :: Word32

-- | No description available in the introspection data.
pattern KEY_bar :: Word32

-- | No description available in the introspection data.
pattern KEY_ballotcross :: Word32

-- | No description available in the introspection data.
pattern KEY_backslash :: Word32

-- | No description available in the introspection data.
pattern KEY_babovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_b :: Word32

-- | No description available in the introspection data.
pattern KEY_atilde :: Word32

-- | No description available in the introspection data.
pattern KEY_at :: Word32

-- | No description available in the introspection data.
pattern KEY_asterisk :: Word32

-- | No description available in the introspection data.
pattern KEY_asciitilde :: Word32

-- | No description available in the introspection data.
pattern KEY_asciicircum :: Word32

-- | No description available in the introspection data.
pattern KEY_aring :: Word32

-- | No description available in the introspection data.
pattern KEY_approximate :: Word32

-- | No description available in the introspection data.
pattern KEY_approxeq :: Word32

-- | No description available in the introspection data.
pattern KEY_apostrophe :: Word32

-- | No description available in the introspection data.
pattern KEY_aogonek :: Word32

-- | No description available in the introspection data.
pattern KEY_ampersand :: Word32

-- | No description available in the introspection data.
pattern KEY_amacron :: Word32

-- | No description available in the introspection data.
pattern KEY_ahook :: Word32

-- | No description available in the introspection data.
pattern KEY_agrave :: Word32

-- | No description available in the introspection data.
pattern KEY_ae :: Word32

-- | No description available in the introspection data.
pattern KEY_adiaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_acute :: Word32

-- | No description available in the introspection data.
pattern KEY_acircumflextilde :: Word32

-- | No description available in the introspection data.
pattern KEY_acircumflexhook :: Word32

-- | No description available in the introspection data.
pattern KEY_acircumflexgrave :: Word32

-- | No description available in the introspection data.
pattern KEY_acircumflexbelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_acircumflexacute :: Word32

-- | No description available in the introspection data.
pattern KEY_acircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_abrevetilde :: Word32

-- | No description available in the introspection data.
pattern KEY_abrevehook :: Word32

-- | No description available in the introspection data.
pattern KEY_abrevegrave :: Word32

-- | No description available in the introspection data.
pattern KEY_abrevebelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_abreveacute :: Word32

-- | No description available in the introspection data.
pattern KEY_abreve :: Word32

-- | No description available in the introspection data.
pattern KEY_abovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_abelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_aacute :: Word32

-- | No description available in the introspection data.
pattern KEY_a :: Word32

-- | No description available in the introspection data.
pattern KEY_Zstroke :: Word32

-- | No description available in the introspection data.
pattern KEY_ZoomReset :: Word32

-- | No description available in the introspection data.
pattern KEY_ZoomOut :: Word32

-- | No description available in the introspection data.
pattern KEY_ZoomIn :: Word32

-- | No description available in the introspection data.
pattern KEY_Zenkaku_Hankaku :: Word32

-- | No description available in the introspection data.
pattern KEY_Zenkaku :: Word32

-- | No description available in the introspection data.
pattern KEY_Zen_Koho :: Word32

-- | No description available in the introspection data.
pattern KEY_Zcaron :: Word32

-- | No description available in the introspection data.
pattern KEY_Zacute :: Word32

-- | No description available in the introspection data.
pattern KEY_Zabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_Z :: Word32

-- | No description available in the introspection data.
pattern KEY_Ytilde :: Word32

-- | No description available in the introspection data.
pattern KEY_Yhook :: Word32

-- | No description available in the introspection data.
pattern KEY_Ygrave :: Word32

-- | No description available in the introspection data.
pattern KEY_Yellow :: Word32

-- | No description available in the introspection data.
pattern KEY_Ydiaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_Ycircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_Ybelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_Yacute :: Word32

-- | No description available in the introspection data.
pattern KEY_Y :: Word32

-- | No description available in the introspection data.
pattern KEY_Xfer :: Word32

-- | No description available in the introspection data.
pattern KEY_Xabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_X :: Word32

-- | No description available in the introspection data.
pattern KEY_Word :: Word32

-- | No description available in the introspection data.
pattern KEY_WonSign :: Word32

-- | No description available in the introspection data.
pattern KEY_WindowClear :: Word32

-- | No description available in the introspection data.
pattern KEY_WheelButton :: Word32

-- | No description available in the introspection data.
pattern KEY_Wgrave :: Word32

-- | No description available in the introspection data.
pattern KEY_WebCam :: Word32

-- | No description available in the introspection data.
pattern KEY_Wdiaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_Wcircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_WakeUp :: Word32

-- | No description available in the introspection data.
pattern KEY_Wacute :: Word32

-- | No description available in the introspection data.
pattern KEY_WWW :: Word32

-- | No description available in the introspection data.
pattern KEY_WWAN :: Word32

-- | No description available in the introspection data.
pattern KEY_WPSButton :: Word32

-- | No description available in the introspection data.
pattern KEY_WLAN :: Word32

-- | No description available in the introspection data.
pattern KEY_W :: Word32

-- | No description available in the introspection data.
pattern KEY_VoidSymbol :: Word32

-- | No description available in the introspection data.
pattern KEY_Voicemail :: Word32

-- | No description available in the introspection data.
pattern KEY_VoiceCommand :: Word32

-- | No description available in the introspection data.
pattern KEY_View :: Word32

-- | No description available in the introspection data.
pattern KEY_VideoPhone :: Word32

-- | No description available in the introspection data.
pattern KEY_Video :: Word32

-- | No description available in the introspection data.
pattern KEY_VendorHome :: Word32

-- | No description available in the introspection data.
pattern KEY_VOD :: Word32

-- | No description available in the introspection data.
pattern KEY_V :: Word32

-- | No description available in the introspection data.
pattern KEY_Utilde :: Word32

-- | No description available in the introspection data.
pattern KEY_UserPB :: Word32

-- | No description available in the introspection data.
pattern KEY_User2KB :: Word32

-- | No description available in the introspection data.
pattern KEY_User1KB :: Word32

-- | No description available in the introspection data.
pattern KEY_Uring :: Word32

-- | No description available in the introspection data.
pattern KEY_Up :: Word32

-- | No description available in the introspection data.
pattern KEY_Uogonek :: Word32

-- | No description available in the introspection data.
pattern KEY_Unmute :: Word32

-- | No description available in the introspection data.
pattern KEY_Ungrab :: Word32

-- | No description available in the introspection data.
pattern KEY_Undo :: Word32

-- | No description available in the introspection data.
pattern KEY_Umacron :: Word32

-- | No description available in the introspection data.
pattern KEY_Ukranian_yi :: Word32

-- | No description available in the introspection data.
pattern KEY_Ukranian_je :: Word32

-- | No description available in the introspection data.
pattern KEY_Ukranian_i :: Word32

-- | No description available in the introspection data.
pattern KEY_Ukranian_YI :: Word32

-- | No description available in the introspection data.
pattern KEY_Ukranian_JE :: Word32

-- | No description available in the introspection data.
pattern KEY_Ukranian_I :: Word32

-- | No description available in the introspection data.
pattern KEY_Ukrainian_yi :: Word32

-- | No description available in the introspection data.
pattern KEY_Ukrainian_ie :: Word32

-- | No description available in the introspection data.
pattern KEY_Ukrainian_i :: Word32

-- | No description available in the introspection data.
pattern KEY_Ukrainian_ghe_with_upturn :: Word32

-- | No description available in the introspection data.
pattern KEY_Ukrainian_YI :: Word32

-- | No description available in the introspection data.
pattern KEY_Ukrainian_IE :: Word32

-- | No description available in the introspection data.
pattern KEY_Ukrainian_I :: Word32

-- | No description available in the introspection data.
pattern KEY_Ukrainian_GHE_WITH_UPTURN :: Word32

-- | No description available in the introspection data.
pattern KEY_Uhorntilde :: Word32

-- | No description available in the introspection data.
pattern KEY_Uhornhook :: Word32

-- | No description available in the introspection data.
pattern KEY_Uhorngrave :: Word32

-- | No description available in the introspection data.
pattern KEY_Uhornbelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_Uhornacute :: Word32

-- | No description available in the introspection data.
pattern KEY_Uhorn :: Word32

-- | No description available in the introspection data.
pattern KEY_Uhook :: Word32

-- | No description available in the introspection data.
pattern KEY_Ugrave :: Word32

-- | No description available in the introspection data.
pattern KEY_Udoubleacute :: Word32

-- | No description available in the introspection data.
pattern KEY_Udiaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_Ucircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_Ubreve :: Word32

-- | No description available in the introspection data.
pattern KEY_Ubelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_Uacute :: Word32

-- | No description available in the introspection data.
pattern KEY_UWB :: Word32

-- | No description available in the introspection data.
pattern KEY_U :: Word32

-- | No description available in the introspection data.
pattern KEY_Tslash :: Word32

-- | No description available in the introspection data.
pattern KEY_Travel :: Word32

-- | No description available in the introspection data.
pattern KEY_TraditionalSonar :: Word32

-- | No description available in the introspection data.
pattern KEY_Touroku :: Word32

-- | No description available in the introspection data.
pattern KEY_TouchpadToggle :: Word32

-- | No description available in the introspection data.
pattern KEY_TouchpadOn :: Word32

-- | No description available in the introspection data.
pattern KEY_TouchpadOff :: Word32

-- | No description available in the introspection data.
pattern KEY_TopMenu :: Word32

-- | No description available in the introspection data.
pattern KEY_Tools :: Word32

-- | No description available in the introspection data.
pattern KEY_ToDoList :: Word32

-- | No description available in the introspection data.
pattern KEY_Time :: Word32

-- | No description available in the introspection data.
pattern KEY_Thorn :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_yoying :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_yoyak :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_wowaen :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_totao :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_topatak :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_thothung :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_thothong :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_thothan :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_thothahan :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_thophuthao :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_thonangmontho :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_thanthakhat :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_sosua :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_soso :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_sosala :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_sorusi :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_sarauu :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_sarauee :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_saraue :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_sarau :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_sarao :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_saraii :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_sarai :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_sarae :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_saraam :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_saraaimaimuan :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_saraaimaimalai :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_saraae :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_saraaa :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_saraa :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_ru :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_rorua :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_popla :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_phosamphao :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_phophung :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_phophan :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_phinthu :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_paiyannoi :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_oang :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_nonu :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_nonen :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_nikhahit :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_ngongu :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_moma :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_maiyamok :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_maitri :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_maitho :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_maitaikhu :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_maihanakat_maitho :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_maihanakat :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_maiek :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_maichattawa :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_lu :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_loling :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_lochula :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_leksun :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_leksong :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_leksi :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_leksam :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_lekpaet :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_leknung :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_lekkao :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_lekhok :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_lekha :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_lekchet :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_lakkhangyao :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_kokai :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_khorakhang :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_khokhwai :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_khokhuat :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_khokhon :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_khokhai :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_honokhuk :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_hohip :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_fofan :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_fofa :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_dodek :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_dochada :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_chochoe :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_choching :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_chochang :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_chochan :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_bobaimai :: Word32

-- | No description available in the introspection data.
pattern KEY_Thai_baht :: Word32

-- | No description available in the introspection data.
pattern KEY_Terminate_Server :: Word32

-- | No description available in the introspection data.
pattern KEY_Terminal :: Word32

-- | No description available in the introspection data.
pattern KEY_Tcedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_Tcaron :: Word32

-- | No description available in the introspection data.
pattern KEY_Taskmanager :: Word32

-- | No description available in the introspection data.
pattern KEY_TaskPane :: Word32

-- | No description available in the introspection data.
pattern KEY_Tabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_Tab :: Word32

-- | No description available in the introspection data.
pattern KEY_THORN :: Word32

-- | No description available in the introspection data.
pattern KEY_T :: Word32

-- | No description available in the introspection data.
pattern KEY_Sys_Req :: Word32

-- | No description available in the introspection data.
pattern KEY_Switch_VT_9 :: Word32

-- | No description available in the introspection data.
pattern KEY_Switch_VT_8 :: Word32

-- | No description available in the introspection data.
pattern KEY_Switch_VT_7 :: Word32

-- | No description available in the introspection data.
pattern KEY_Switch_VT_6 :: Word32

-- | No description available in the introspection data.
pattern KEY_Switch_VT_5 :: Word32

-- | No description available in the introspection data.
pattern KEY_Switch_VT_4 :: Word32

-- | No description available in the introspection data.
pattern KEY_Switch_VT_3 :: Word32

-- | No description available in the introspection data.
pattern KEY_Switch_VT_2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Switch_VT_12 :: Word32

-- | No description available in the introspection data.
pattern KEY_Switch_VT_11 :: Word32

-- | No description available in the introspection data.
pattern KEY_Switch_VT_10 :: Word32

-- | No description available in the introspection data.
pattern KEY_Switch_VT_1 :: Word32

-- | No description available in the introspection data.
pattern KEY_Suspend :: Word32

-- | No description available in the introspection data.
pattern KEY_Support :: Word32

-- | No description available in the introspection data.
pattern KEY_Super_R :: Word32

-- | No description available in the introspection data.
pattern KEY_Super_L :: Word32

-- | No description available in the introspection data.
pattern KEY_Subtitle :: Word32

-- | No description available in the introspection data.
pattern KEY_StopRecord :: Word32

-- | No description available in the introspection data.
pattern KEY_Stop :: Word32

-- | No description available in the introspection data.
pattern KEY_StickyKeys_Enable :: Word32

-- | No description available in the introspection data.
pattern KEY_Start :: Word32

-- | No description available in the introspection data.
pattern KEY_Standby :: Word32

-- | No description available in the introspection data.
pattern KEY_SplitScreen :: Word32

-- | No description available in the introspection data.
pattern KEY_SpellCheck :: Word32

-- | No description available in the introspection data.
pattern KEY_Spell :: Word32

-- | No description available in the introspection data.
pattern KEY_Sos :: Word32

-- | No description available in the introspection data.
pattern KEY_SlowReverse :: Word32

-- | No description available in the introspection data.
pattern KEY_SlowKeys_Enable :: Word32

-- | No description available in the introspection data.
pattern KEY_Sleep :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ya :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_va :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_uu2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_uu :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_u2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_u :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ttha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_tta :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_thha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_tha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ssha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_sha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_sa :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ruu2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ru2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_rii :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ri :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ra :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_pha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_pa :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_oo2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_oo :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_o2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_o :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_nya :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_nna :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_nja :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_nga :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ng2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ng :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ndha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ndda :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_na :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_mba :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ma :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_luu2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_luu :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_lu2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_lu :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_lla :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_la :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_kunddaliya :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_kha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ka :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_jnya :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_jha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ja :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ii2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ii :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_i2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_i :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_h2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_gha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ga :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_fa :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ee2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ee :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_e2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_e :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_dhha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_dha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ddha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_dda :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_cha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ca :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_bha :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ba :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_au2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_au :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_al :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ai2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ai :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_aee2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_aee :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ae2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_ae :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_aa2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_aa :: Word32

-- | No description available in the introspection data.
pattern KEY_Sinh_a :: Word32

-- | No description available in the introspection data.
pattern KEY_SingleRangeRadar :: Word32

-- | No description available in the introspection data.
pattern KEY_SingleCandidate :: Word32

-- | No description available in the introspection data.
pattern KEY_SidevuSonar :: Word32

-- | No description available in the introspection data.
pattern KEY_Shop :: Word32

-- | No description available in the introspection data.
pattern KEY_Shift_R :: Word32

-- | No description available in the introspection data.
pattern KEY_Shift_Lock :: Word32

-- | No description available in the introspection data.
pattern KEY_Shift_L :: Word32

-- | No description available in the introspection data.
pattern KEY_Serbian_tshe :: Word32

-- | No description available in the introspection data.
pattern KEY_Serbian_nje :: Word32

-- | No description available in the introspection data.
pattern KEY_Serbian_lje :: Word32

-- | No description available in the introspection data.
pattern KEY_Serbian_je :: Word32

-- | No description available in the introspection data.
pattern KEY_Serbian_dze :: Word32

-- | No description available in the introspection data.
pattern KEY_Serbian_dje :: Word32

-- | No description available in the introspection data.
pattern KEY_Serbian_TSHE :: Word32

-- | No description available in the introspection data.
pattern KEY_Serbian_NJE :: Word32

-- | No description available in the introspection data.
pattern KEY_Serbian_LJE :: Word32

-- | No description available in the introspection data.
pattern KEY_Serbian_JE :: Word32

-- | No description available in the introspection data.
pattern KEY_Serbian_DZE :: Word32

-- | No description available in the introspection data.
pattern KEY_Serbian_DJE :: Word32

-- | No description available in the introspection data.
pattern KEY_Send :: Word32

-- | No description available in the introspection data.
pattern KEY_SelectiveScreenshot :: Word32

-- | No description available in the introspection data.
pattern KEY_SelectButton :: Word32

-- | No description available in the introspection data.
pattern KEY_Select :: Word32

-- | No description available in the introspection data.
pattern KEY_Search :: Word32

-- | No description available in the introspection data.
pattern KEY_Scroll_Lock :: Word32

-- | No description available in the introspection data.
pattern KEY_ScrollUp :: Word32

-- | No description available in the introspection data.
pattern KEY_ScrollDown :: Word32

-- | No description available in the introspection data.
pattern KEY_ScrollClick :: Word32

-- | No description available in the introspection data.
pattern KEY_Screensaver :: Word32

-- | No description available in the introspection data.
pattern KEY_ScreenSaver :: Word32

-- | No description available in the introspection data.
pattern KEY_Scircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_Scedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_Scaron :: Word32

-- | No description available in the introspection data.
pattern KEY_Save :: Word32

-- | No description available in the introspection data.
pattern KEY_Sacute :: Word32

-- | No description available in the introspection data.
pattern KEY_Sabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_SCHWA :: Word32

-- | No description available in the introspection data.
pattern KEY_S :: Word32

-- | No description available in the introspection data.
pattern KEY_RupeeSign :: Word32

-- | No description available in the introspection data.
pattern KEY_RotationPB :: Word32

-- | No description available in the introspection data.
pattern KEY_RotationLockToggle :: Word32

-- | No description available in the introspection data.
pattern KEY_RotationKB :: Word32

-- | No description available in the introspection data.
pattern KEY_RotateWindows :: Word32

-- | No description available in the introspection data.
pattern KEY_RootMenu :: Word32

-- | No description available in the introspection data.
pattern KEY_Romaji :: Word32

-- | No description available in the introspection data.
pattern KEY_RockerUp :: Word32

-- | No description available in the introspection data.
pattern KEY_RockerEnter :: Word32

-- | No description available in the introspection data.
pattern KEY_RockerDown :: Word32

-- | No description available in the introspection data.
pattern KEY_RightUp :: Word32

-- | No description available in the introspection data.
pattern KEY_RightDown :: Word32

-- | No description available in the introspection data.
pattern KEY_Right :: Word32

-- | No description available in the introspection data.
pattern KEY_Return :: Word32

-- | No description available in the introspection data.
pattern KEY_Reply :: Word32

-- | No description available in the introspection data.
pattern KEY_RepeatKeys_Enable :: Word32

-- | No description available in the introspection data.
pattern KEY_Reload :: Word32

-- | No description available in the introspection data.
pattern KEY_RefreshRateToggle :: Word32

-- | No description available in the introspection data.
pattern KEY_Refresh :: Word32

-- | No description available in the introspection data.
pattern KEY_Redo :: Word32

-- | No description available in the introspection data.
pattern KEY_Red :: Word32

-- | No description available in the introspection data.
pattern KEY_Rcedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_Rcaron :: Word32

-- | No description available in the introspection data.
pattern KEY_RadarOverlay :: Word32

-- | No description available in the introspection data.
pattern KEY_Racute :: Word32

-- | No description available in the introspection data.
pattern KEY_RFKill :: Word32

-- | No description available in the introspection data.
pattern KEY_R9 :: Word32

-- | No description available in the introspection data.
pattern KEY_R8 :: Word32

-- | No description available in the introspection data.
pattern KEY_R7 :: Word32

-- | No description available in the introspection data.
pattern KEY_R6 :: Word32

-- | No description available in the introspection data.
pattern KEY_R5 :: Word32

-- | No description available in the introspection data.
pattern KEY_R4 :: Word32

-- | No description available in the introspection data.
pattern KEY_R3 :: Word32

-- | No description available in the introspection data.
pattern KEY_R2 :: Word32

-- | No description available in the introspection data.
pattern KEY_R15 :: Word32

-- | No description available in the introspection data.
pattern KEY_R14 :: Word32

-- | No description available in the introspection data.
pattern KEY_R13 :: Word32

-- | No description available in the introspection data.
pattern KEY_R12 :: Word32

-- | No description available in the introspection data.
pattern KEY_R11 :: Word32

-- | No description available in the introspection data.
pattern KEY_R10 :: Word32

-- | No description available in the introspection data.
pattern KEY_R1 :: Word32

-- | No description available in the introspection data.
pattern KEY_R :: Word32

-- | No description available in the introspection data.
pattern KEY_Q :: Word32

-- | No description available in the introspection data.
pattern KEY_PrivacyScreenToggle :: Word32

-- | No description available in the introspection data.
pattern KEY_Prior :: Word32

-- | No description available in the introspection data.
pattern KEY_Print :: Word32

-- | No description available in the introspection data.
pattern KEY_PreviousElement :: Word32

-- | No description available in the introspection data.
pattern KEY_PreviousCandidate :: Word32

-- | No description available in the introspection data.
pattern KEY_Prev_Virtual_Screen :: Word32

-- | No description available in the introspection data.
pattern KEY_Prev_VMode :: Word32

-- | No description available in the introspection data.
pattern KEY_Presentation :: Word32

-- | No description available in the introspection data.
pattern KEY_PowerOff :: Word32

-- | No description available in the introspection data.
pattern KEY_PowerDown :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_UpRight :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_UpLeft :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Up :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Right :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Left :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_EnableKeys :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Drag_Dflt :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Drag5 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Drag4 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Drag3 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Drag2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Drag1 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_DownRight :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_DownLeft :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Down :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_DfltBtnPrev :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_DfltBtnNext :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_DblClick_Dflt :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_DblClick5 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_DblClick4 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_DblClick3 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_DblClick2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_DblClick1 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Button_Dflt :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Button5 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Button4 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Button3 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Button2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Button1 :: Word32

-- | No description available in the introspection data.
pattern KEY_Pointer_Accelerate :: Word32

-- | No description available in the introspection data.
pattern KEY_Pictures :: Word32

-- | No description available in the introspection data.
pattern KEY_PickupPhone :: Word32

-- | No description available in the introspection data.
pattern KEY_Phone :: Word32

-- | No description available in the introspection data.
pattern KEY_PesetaSign :: Word32

-- | No description available in the introspection data.
pattern KEY_PauseRecord :: Word32

-- | No description available in the introspection data.
pattern KEY_Pause :: Word32

-- | No description available in the introspection data.
pattern KEY_Paste :: Word32

-- | No description available in the introspection data.
pattern KEY_Page_Up :: Word32

-- | No description available in the introspection data.
pattern KEY_Page_Down :: Word32

-- | No description available in the introspection data.
pattern KEY_Pabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_P :: Word32

-- | No description available in the introspection data.
pattern KEY_Overlay2_Enable :: Word32

-- | No description available in the introspection data.
pattern KEY_Overlay1_Enable :: Word32

-- | No description available in the introspection data.
pattern KEY_Otilde :: Word32

-- | No description available in the introspection data.
pattern KEY_Oslash :: Word32

-- | No description available in the introspection data.
pattern KEY_Option :: Word32

-- | No description available in the introspection data.
pattern KEY_OpenURL :: Word32

-- | No description available in the introspection data.
pattern KEY_Open :: Word32

-- | No description available in the introspection data.
pattern KEY_Ooblique :: Word32

-- | No description available in the introspection data.
pattern KEY_OnScreenKeyboard :: Word32

-- | No description available in the introspection data.
pattern KEY_Omacron :: Word32

-- | No description available in the introspection data.
pattern KEY_Ohorntilde :: Word32

-- | No description available in the introspection data.
pattern KEY_Ohornhook :: Word32

-- | No description available in the introspection data.
pattern KEY_Ohorngrave :: Word32

-- | No description available in the introspection data.
pattern KEY_Ohornbelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_Ohornacute :: Word32

-- | No description available in the introspection data.
pattern KEY_Ohorn :: Word32

-- | No description available in the introspection data.
pattern KEY_Ohook :: Word32

-- | No description available in the introspection data.
pattern KEY_Ograve :: Word32

-- | No description available in the introspection data.
pattern KEY_OfficeHome :: Word32

-- | No description available in the introspection data.
pattern KEY_Odoubleacute :: Word32

-- | No description available in the introspection data.
pattern KEY_Odiaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_Ocircumflextilde :: Word32

-- | No description available in the introspection data.
pattern KEY_Ocircumflexhook :: Word32

-- | No description available in the introspection data.
pattern KEY_Ocircumflexgrave :: Word32

-- | No description available in the introspection data.
pattern KEY_Ocircumflexbelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_Ocircumflexacute :: Word32

-- | No description available in the introspection data.
pattern KEY_Ocircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_Ocaron :: Word32

-- | No description available in the introspection data.
pattern KEY_Obelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_Obarred :: Word32

-- | No description available in the introspection data.
pattern KEY_Oacute :: Word32

-- | No description available in the introspection data.
pattern KEY_OE :: Word32

-- | No description available in the introspection data.
pattern KEY_O :: Word32

-- | No description available in the introspection data.
pattern KEY_NumericStar :: Word32

-- | No description available in the introspection data.
pattern KEY_NumericPound :: Word32

-- | No description available in the introspection data.
pattern KEY_NumericD :: Word32

-- | No description available in the introspection data.
pattern KEY_NumericC :: Word32

-- | No description available in the introspection data.
pattern KEY_NumericB :: Word32

-- | No description available in the introspection data.
pattern KEY_NumericA :: Word32

-- | No description available in the introspection data.
pattern KEY_Numeric9 :: Word32

-- | No description available in the introspection data.
pattern KEY_Numeric8 :: Word32

-- | No description available in the introspection data.
pattern KEY_Numeric7 :: Word32

-- | No description available in the introspection data.
pattern KEY_Numeric6 :: Word32

-- | No description available in the introspection data.
pattern KEY_Numeric5 :: Word32

-- | No description available in the introspection data.
pattern KEY_Numeric4 :: Word32

-- | No description available in the introspection data.
pattern KEY_Numeric3 :: Word32

-- | No description available in the introspection data.
pattern KEY_Numeric2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Numeric12 :: Word32

-- | No description available in the introspection data.
pattern KEY_Numeric11 :: Word32

-- | No description available in the introspection data.
pattern KEY_Numeric1 :: Word32

-- | No description available in the introspection data.
pattern KEY_Numeric0 :: Word32

-- | No description available in the introspection data.
pattern KEY_Num_Lock :: Word32

-- | No description available in the introspection data.
pattern KEY_Ntilde :: Word32

-- | No description available in the introspection data.
pattern KEY_NotificationCenter :: Word32

-- | No description available in the introspection data.
pattern KEY_Next_Virtual_Screen :: Word32

-- | No description available in the introspection data.
pattern KEY_Next_VMode :: Word32

-- | No description available in the introspection data.
pattern KEY_NextFavorite :: Word32

-- | No description available in the introspection data.
pattern KEY_NextElement :: Word32

-- | No description available in the introspection data.
pattern KEY_Next :: Word32

-- | No description available in the introspection data.
pattern KEY_News :: Word32

-- | No description available in the introspection data.
pattern KEY_NewSheqelSign :: Word32

-- | No description available in the introspection data.
pattern KEY_New :: Word32

-- | No description available in the introspection data.
pattern KEY_Ncedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_Ncaron :: Word32

-- | No description available in the introspection data.
pattern KEY_NavInfo :: Word32

-- | No description available in the introspection data.
pattern KEY_NavChart :: Word32

-- | No description available in the introspection data.
pattern KEY_NairaSign :: Word32

-- | No description available in the introspection data.
pattern KEY_Nacute :: Word32

-- | No description available in the introspection data.
pattern KEY_N :: Word32

-- | No description available in the introspection data.
pattern KEY_MySites :: Word32

-- | No description available in the introspection data.
pattern KEY_MyComputer :: Word32

-- | No description available in the introspection data.
pattern KEY_Music :: Word32

-- | No description available in the introspection data.
pattern KEY_MultipleCandidate :: Word32

-- | No description available in the introspection data.
pattern KEY_Multi_key :: Word32

-- | No description available in the introspection data.
pattern KEY_Muhenkan :: Word32

-- | No description available in the introspection data.
pattern KEY_MouseKeys_Enable :: Word32

-- | No description available in the introspection data.
pattern KEY_MouseKeys_Accel_Enable :: Word32

-- | No description available in the introspection data.
pattern KEY_MonBrightnessUp :: Word32

-- | No description available in the introspection data.
pattern KEY_MonBrightnessDown :: Word32

-- | No description available in the introspection data.
pattern KEY_MonBrightnessCycle :: Word32

-- | No description available in the introspection data.
pattern KEY_Mode_switch :: Word32

-- | No description available in the introspection data.
pattern KEY_ModeLock :: Word32

-- | No description available in the introspection data.
pattern KEY_MillSign :: Word32

-- | No description available in the introspection data.
pattern KEY_Meta_R :: Word32

-- | No description available in the introspection data.
pattern KEY_Meta_L :: Word32

-- | No description available in the introspection data.
pattern KEY_Messenger :: Word32

-- | No description available in the introspection data.
pattern KEY_MenuPB :: Word32

-- | No description available in the introspection data.
pattern KEY_MenuKB :: Word32

-- | No description available in the introspection data.
pattern KEY_Menu :: Word32

-- | No description available in the introspection data.
pattern KEY_Memo :: Word32

-- | No description available in the introspection data.
pattern KEY_Meeting :: Word32

-- | No description available in the introspection data.
pattern KEY_MediaTopMenu :: Word32

-- | No description available in the introspection data.
pattern KEY_MediaRepeat :: Word32

-- | No description available in the introspection data.
pattern KEY_Massyo :: Word32

-- | No description available in the introspection data.
pattern KEY_Market :: Word32

-- | No description available in the introspection data.
pattern KEY_MarkWaypoint :: Word32

-- | No description available in the introspection data.
pattern KEY_MailForward :: Word32

-- | No description available in the introspection data.
pattern KEY_Mail :: Word32

-- | No description available in the introspection data.
pattern KEY_Mae_Koho :: Word32

-- | No description available in the introspection data.
pattern KEY_MacroRecordStop :: Word32

-- | No description available in the introspection data.
pattern KEY_MacroRecordStart :: Word32

-- | No description available in the introspection data.
pattern KEY_MacroPresetCycle :: Word32

-- | No description available in the introspection data.
pattern KEY_MacroPreset3 :: Word32

-- | No description available in the introspection data.
pattern KEY_MacroPreset2 :: Word32

-- | No description available in the introspection data.
pattern KEY_MacroPreset1 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro9 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro8 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro7 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro6 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro5 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro4 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro30 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro3 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro29 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro28 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro27 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro26 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro25 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro24 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro23 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro22 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro21 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro20 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro19 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro18 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro17 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro16 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro15 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro14 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro13 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro12 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro11 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro10 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macro1 :: Word32

-- | No description available in the introspection data.
pattern KEY_Macedonia_kje :: Word32

-- | No description available in the introspection data.
pattern KEY_Macedonia_gje :: Word32

-- | No description available in the introspection data.
pattern KEY_Macedonia_dse :: Word32

-- | No description available in the introspection data.
pattern KEY_Macedonia_KJE :: Word32

-- | No description available in the introspection data.
pattern KEY_Macedonia_GJE :: Word32

-- | No description available in the introspection data.
pattern KEY_Macedonia_DSE :: Word32

-- | No description available in the introspection data.
pattern KEY_Mabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_M :: Word32

-- | No description available in the introspection data.
pattern KEY_Lstroke :: Word32

-- | No description available in the introspection data.
pattern KEY_LogWindowTree :: Word32

-- | No description available in the introspection data.
pattern KEY_LogOff :: Word32

-- | No description available in the introspection data.
pattern KEY_LogGrabInfo :: Word32

-- | No description available in the introspection data.
pattern KEY_LiraSign :: Word32

-- | No description available in the introspection data.
pattern KEY_Linefeed :: Word32

-- | No description available in the introspection data.
pattern KEY_LightsToggle :: Word32

-- | No description available in the introspection data.
pattern KEY_LightBulb :: Word32

-- | No description available in the introspection data.
pattern KEY_LeftUp :: Word32

-- | No description available in the introspection data.
pattern KEY_LeftDown :: Word32

-- | No description available in the introspection data.
pattern KEY_Left :: Word32

-- | No description available in the introspection data.
pattern KEY_Lcedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_Lcaron :: Word32

-- | No description available in the introspection data.
pattern KEY_Lbelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_LaunchF :: Word32

-- | No description available in the introspection data.
pattern KEY_LaunchE :: Word32

-- | No description available in the introspection data.
pattern KEY_LaunchD :: Word32

-- | No description available in the introspection data.
pattern KEY_LaunchC :: Word32

-- | No description available in the introspection data.
pattern KEY_LaunchB :: Word32

-- | No description available in the introspection data.
pattern KEY_LaunchA :: Word32

-- | No description available in the introspection data.
pattern KEY_Launch9 :: Word32

-- | No description available in the introspection data.
pattern KEY_Launch8 :: Word32

-- | No description available in the introspection data.
pattern KEY_Launch7 :: Word32

-- | No description available in the introspection data.
pattern KEY_Launch6 :: Word32

-- | No description available in the introspection data.
pattern KEY_Launch5 :: Word32

-- | No description available in the introspection data.
pattern KEY_Launch4 :: Word32

-- | No description available in the introspection data.
pattern KEY_Launch3 :: Word32

-- | No description available in the introspection data.
pattern KEY_Launch2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Launch1 :: Word32

-- | No description available in the introspection data.
pattern KEY_Launch0 :: Word32

-- | No description available in the introspection data.
pattern KEY_Last_Virtual_Screen :: Word32

-- | No description available in the introspection data.
pattern KEY_Lacute :: Word32

-- | No description available in the introspection data.
pattern KEY_L9 :: Word32

-- | No description available in the introspection data.
pattern KEY_L8 :: Word32

-- | No description available in the introspection data.
pattern KEY_L7 :: Word32

-- | No description available in the introspection data.
pattern KEY_L6 :: Word32

-- | No description available in the introspection data.
pattern KEY_L5 :: Word32

-- | No description available in the introspection data.
pattern KEY_L4 :: Word32

-- | No description available in the introspection data.
pattern KEY_L3 :: Word32

-- | No description available in the introspection data.
pattern KEY_L2 :: Word32

-- | No description available in the introspection data.
pattern KEY_L10 :: Word32

-- | No description available in the introspection data.
pattern KEY_L1 :: Word32

-- | No description available in the introspection data.
pattern KEY_L :: Word32

-- | No description available in the introspection data.
pattern KEY_Korean_Won :: Word32

-- | No description available in the introspection data.
pattern KEY_Keyboard :: Word32

-- | No description available in the introspection data.
pattern KEY_Kcedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_KbdLightOnOff :: Word32

-- | No description available in the introspection data.
pattern KEY_KbdLcdMenu5 :: Word32

-- | No description available in the introspection data.
pattern KEY_KbdLcdMenu4 :: Word32

-- | No description available in the introspection data.
pattern KEY_KbdLcdMenu3 :: Word32

-- | No description available in the introspection data.
pattern KEY_KbdLcdMenu2 :: Word32

-- | No description available in the introspection data.
pattern KEY_KbdLcdMenu1 :: Word32

-- | No description available in the introspection data.
pattern KEY_KbdInputAssistPrevgroup :: Word32

-- | No description available in the introspection data.
pattern KEY_KbdInputAssistPrev :: Word32

-- | No description available in the introspection data.
pattern KEY_KbdInputAssistNextgroup :: Word32

-- | No description available in the introspection data.
pattern KEY_KbdInputAssistNext :: Word32

-- | No description available in the introspection data.
pattern KEY_KbdInputAssistCancel :: Word32

-- | No description available in the introspection data.
pattern KEY_KbdInputAssistAccept :: Word32

-- | No description available in the introspection data.
pattern KEY_KbdBrightnessUp :: Word32

-- | No description available in the introspection data.
pattern KEY_KbdBrightnessDown :: Word32

-- | No description available in the introspection data.
pattern KEY_Katakana :: Word32

-- | No description available in the introspection data.
pattern KEY_Kanji_Bangou :: Word32

-- | No description available in the introspection data.
pattern KEY_Kanji :: Word32

-- | No description available in the introspection data.
pattern KEY_Kana_Shift :: Word32

-- | No description available in the introspection data.
pattern KEY_Kana_Lock :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Up :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Tab :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Subtract :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Space :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Separator :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Right :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Prior :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Page_Up :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Page_Down :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Next :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Multiply :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Left :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Insert :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Home :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_F4 :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_F3 :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_F2 :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_F1 :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Equal :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Enter :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_End :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Down :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Divide :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Delete :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Decimal :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Begin :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_Add :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_9 :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_8 :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_7 :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_6 :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_5 :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_4 :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_3 :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_2 :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_1 :: Word32

-- | No description available in the introspection data.
pattern KEY_KP_0 :: Word32

-- | No description available in the introspection data.
pattern KEY_K :: Word32

-- | No description available in the introspection data.
pattern KEY_Journal :: Word32

-- | No description available in the introspection data.
pattern KEY_Jcircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_J :: Word32

-- | No description available in the introspection data.
pattern KEY_Itilde :: Word32

-- | No description available in the introspection data.
pattern KEY_Iogonek :: Word32

-- | No description available in the introspection data.
pattern KEY_Insert :: Word32

-- | No description available in the introspection data.
pattern KEY_Info :: Word32

-- | No description available in the introspection data.
pattern KEY_Images :: Word32

-- | No description available in the introspection data.
pattern KEY_Imacron :: Word32

-- | No description available in the introspection data.
pattern KEY_Ihook :: Word32

-- | No description available in the introspection data.
pattern KEY_Igrave :: Word32

-- | No description available in the introspection data.
pattern KEY_Idiaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_Icircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_Ibreve :: Word32

-- | No description available in the introspection data.
pattern KEY_Ibelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_Iacute :: Word32

-- | No description available in the introspection data.
pattern KEY_Iabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Set_Margin_Right :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Set_Margin_Left :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Release_Margin_Right :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Release_Margin_Left :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Release_Both_Margins :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Prev_Group_Lock :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Prev_Group :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Partial_Space_Right :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Partial_Space_Left :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Partial_Line_Up :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Partial_Line_Down :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Next_Group_Lock :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Next_Group :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Move_Line_Up :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Move_Line_Down :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Lock :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Level5_Shift :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Level5_Lock :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Level5_Latch :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Level3_Shift :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Level3_Lock :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Level3_Latch :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Level2_Latch :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Left_Tab :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Last_Group_Lock :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Last_Group :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Group_Shift :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Group_Lock :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Group_Latch :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_First_Group_Lock :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_First_Group :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Fast_Cursor_Up :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Fast_Cursor_Right :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Fast_Cursor_Left :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Fast_Cursor_Down :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Enter :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Emphasize :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Discontinuous_Underline :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Continuous_Underline :: Word32

-- | No description available in the introspection data.
pattern KEY_ISO_Center_Object :: Word32

-- | No description available in the introspection data.
pattern KEY_I :: Word32

-- | No description available in the introspection data.
pattern KEY_Hyper_R :: Word32

-- | No description available in the introspection data.
pattern KEY_Hyper_L :: Word32

-- | No description available in the introspection data.
pattern KEY_Hstroke :: Word32

-- | No description available in the introspection data.
pattern KEY_HotLinks :: Word32

-- | No description available in the introspection data.
pattern KEY_HomePage :: Word32

-- | No description available in the introspection data.
pattern KEY_Home :: Word32

-- | No description available in the introspection data.
pattern KEY_History :: Word32

-- | No description available in the introspection data.
pattern KEY_Hiragana_Katakana :: Word32

-- | No description available in the introspection data.
pattern KEY_Hiragana :: Word32

-- | No description available in the introspection data.
pattern KEY_Hibernate :: Word32

-- | No description available in the introspection data.
pattern KEY_Henkan_Mode :: Word32

-- | No description available in the introspection data.
pattern KEY_Henkan :: Word32

-- | No description available in the introspection data.
pattern KEY_Help :: Word32

-- | No description available in the introspection data.
pattern KEY_Hebrew_switch :: Word32

-- | No description available in the introspection data.
pattern KEY_Hcircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_Hankaku :: Word32

-- | No description available in the introspection data.
pattern KEY_HangupPhone :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_switch :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_YeorinHieuh :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_YU :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_YO :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_YI :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_YEO :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_YE :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_YAE :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_YA :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_WI :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_WEO :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_WE :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_WAE :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_WA :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_U :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Tieut :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_SunkyeongeumPieub :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_SunkyeongeumPhieuf :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_SunkyeongeumMieum :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Start :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_SsangSios :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_SsangPieub :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_SsangKiyeog :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_SsangJieuj :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_SsangDikeud :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Special :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Sios :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_SingleCandidate :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Romaja :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_RieulYeorinHieuh :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_RieulTieut :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_RieulSios :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_RieulPieub :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_RieulPhieuf :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_RieulMieum :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_RieulKiyeog :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_RieulHieuh :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Rieul :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_PreviousCandidate :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_PreHanja :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_PostHanja :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_PieubSios :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Pieub :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Phieuf :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_PanSios :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_OE :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_O :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_NieunJieuj :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_NieunHieuh :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Nieun :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_MultipleCandidate :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Mieum :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_KkogjiDalrinIeung :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_KiyeogSios :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Kiyeog :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Khieuq :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Jieuj :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Jeonja :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Jamo :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_YeorinHieuh :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_Tieut :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_SsangSios :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_SsangKiyeog :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_Sios :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_RieulTieut :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_RieulSios :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_RieulPieub :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_RieulPhieuf :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_RieulMieum :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_RieulKiyeog :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_RieulHieuh :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_Rieul :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_PieubSios :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_Pieub :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_Phieuf :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_PanSios :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_NieunJieuj :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_NieunHieuh :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_Nieun :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_Mieum :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_KkogjiDalrinIeung :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_KiyeogSios :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_Kiyeog :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_Khieuq :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_Jieuj :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_Ieung :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_Hieuh :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_Dikeud :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_J_Cieuc :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Ieung :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_I :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Hieuh :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Hanja :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_End :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_EU :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_EO :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_E :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Dikeud :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Codeinput :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Cieuc :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_Banja :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_AraeAE :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_AraeA :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_AE :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul_A :: Word32

-- | No description available in the introspection data.
pattern KEY_Hangul :: Word32

-- | No description available in the introspection data.
pattern KEY_H :: Word32

-- | No description available in the introspection data.
pattern KEY_Green :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_zeta :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_xi :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_upsilondieresis :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_upsilonaccentdieresis :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_upsilonaccent :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_upsilon :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_theta :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_tau :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_switch :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_sigma :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_rho :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_psi :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_pi :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_phi :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_omicronaccent :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_omicron :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_omegaaccent :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_omega :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_nu :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_mu :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_lamda :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_lambda :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_kappa :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_iotadieresis :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_iotaaccentdieresis :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_iotaaccent :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_iota :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_horizbar :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_gamma :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_finalsmallsigma :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_etaaccent :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_eta :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_epsilonaccent :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_epsilon :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_delta :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_chi :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_beta :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_alphaaccent :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_alpha :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_accentdieresis :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_ZETA :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_XI :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_UPSILONdieresis :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_UPSILONaccent :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_UPSILON :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_THETA :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_TAU :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_SIGMA :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_RHO :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_PSI :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_PI :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_PHI :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_OMICRONaccent :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_OMICRON :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_OMEGAaccent :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_OMEGA :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_NU :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_MU :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_LAMDA :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_LAMBDA :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_KAPPA :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_IOTAdieresis :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_IOTAdiaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_IOTAaccent :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_IOTA :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_GAMMA :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_ETAaccent :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_ETA :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_EPSILONaccent :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_EPSILON :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_DELTA :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_CHI :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_BETA :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_ALPHAaccent :: Word32

-- | No description available in the introspection data.
pattern KEY_Greek_ALPHA :: Word32

-- | No description available in the introspection data.
pattern KEY_GraphicsEditor :: Word32

-- | No description available in the introspection data.
pattern KEY_Go :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_zhar :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_zen :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_xan :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_we :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_vin :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_un :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_tar :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_tan :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_shin :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_san :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_rae :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_qar :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_phar :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_par :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_on :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_nar :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_man :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_las :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_khar :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_kan :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_jil :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_jhan :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_in :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_hoe :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_hie :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_he :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_har :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_hae :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_ghan :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_gan :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_fi :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_en :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_don :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_cil :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_chin :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_char :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_can :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_ban :: Word32

-- | No description available in the introspection data.
pattern KEY_Georgian_an :: Word32

-- | No description available in the introspection data.
pattern KEY_Gcircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_Gcedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_Gcaron :: Word32

-- | No description available in the introspection data.
pattern KEY_Gbreve :: Word32

-- | No description available in the introspection data.
pattern KEY_Game :: Word32

-- | No description available in the introspection data.
pattern KEY_Gabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_G :: Word32

-- | No description available in the introspection data.
pattern KEY_FullScreen :: Word32

-- | No description available in the introspection data.
pattern KEY_FrameForward :: Word32

-- | No description available in the introspection data.
pattern KEY_FrameBack :: Word32

-- | No description available in the introspection data.
pattern KEY_Forward :: Word32

-- | No description available in the introspection data.
pattern KEY_Fn_Esc :: Word32

-- | No description available in the introspection data.
pattern KEY_FnRightShift :: Word32

-- | No description available in the introspection data.
pattern KEY_Fn :: Word32

-- | No description available in the introspection data.
pattern KEY_FishingChart :: Word32

-- | No description available in the introspection data.
pattern KEY_First_Virtual_Screen :: Word32

-- | No description available in the introspection data.
pattern KEY_Find :: Word32

-- | No description available in the introspection data.
pattern KEY_Finance :: Word32

-- | No description available in the introspection data.
pattern KEY_Favorites :: Word32

-- | No description available in the introspection data.
pattern KEY_FastReverse :: Word32

-- | No description available in the introspection data.
pattern KEY_Farsi_yeh :: Word32

-- | No description available in the introspection data.
pattern KEY_Farsi_9 :: Word32

-- | No description available in the introspection data.
pattern KEY_Farsi_8 :: Word32

-- | No description available in the introspection data.
pattern KEY_Farsi_7 :: Word32

-- | No description available in the introspection data.
pattern KEY_Farsi_6 :: Word32

-- | No description available in the introspection data.
pattern KEY_Farsi_5 :: Word32

-- | No description available in the introspection data.
pattern KEY_Farsi_4 :: Word32

-- | No description available in the introspection data.
pattern KEY_Farsi_3 :: Word32

-- | No description available in the introspection data.
pattern KEY_Farsi_2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Farsi_1 :: Word32

-- | No description available in the introspection data.
pattern KEY_Farsi_0 :: Word32

-- | No description available in the introspection data.
pattern KEY_Fabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_FFrancSign :: Word32

-- | No description available in the introspection data.
pattern KEY_F9 :: Word32

-- | No description available in the introspection data.
pattern KEY_F8 :: Word32

-- | No description available in the introspection data.
pattern KEY_F7 :: Word32

-- | No description available in the introspection data.
pattern KEY_F6 :: Word32

-- | No description available in the introspection data.
pattern KEY_F5 :: Word32

-- | No description available in the introspection data.
pattern KEY_F4 :: Word32

-- | No description available in the introspection data.
pattern KEY_F35 :: Word32

-- | No description available in the introspection data.
pattern KEY_F34 :: Word32

-- | No description available in the introspection data.
pattern KEY_F33 :: Word32

-- | No description available in the introspection data.
pattern KEY_F32 :: Word32

-- | No description available in the introspection data.
pattern KEY_F31 :: Word32

-- | No description available in the introspection data.
pattern KEY_F30 :: Word32

-- | No description available in the introspection data.
pattern KEY_F3 :: Word32

-- | No description available in the introspection data.
pattern KEY_F29 :: Word32

-- | No description available in the introspection data.
pattern KEY_F28 :: Word32

-- | No description available in the introspection data.
pattern KEY_F27 :: Word32

-- | No description available in the introspection data.
pattern KEY_F26 :: Word32

-- | No description available in the introspection data.
pattern KEY_F25 :: Word32

-- | No description available in the introspection data.
pattern KEY_F24 :: Word32

-- | No description available in the introspection data.
pattern KEY_F23 :: Word32

-- | No description available in the introspection data.
pattern KEY_F22 :: Word32

-- | No description available in the introspection data.
pattern KEY_F21 :: Word32

-- | No description available in the introspection data.
pattern KEY_F20 :: Word32

-- | No description available in the introspection data.
pattern KEY_F2 :: Word32

-- | No description available in the introspection data.
pattern KEY_F19 :: Word32

-- | No description available in the introspection data.
pattern KEY_F18 :: Word32

-- | No description available in the introspection data.
pattern KEY_F17 :: Word32

-- | No description available in the introspection data.
pattern KEY_F16 :: Word32

-- | No description available in the introspection data.
pattern KEY_F15 :: Word32

-- | No description available in the introspection data.
pattern KEY_F14 :: Word32

-- | No description available in the introspection data.
pattern KEY_F13 :: Word32

-- | No description available in the introspection data.
pattern KEY_F12 :: Word32

-- | No description available in the introspection data.
pattern KEY_F11 :: Word32

-- | No description available in the introspection data.
pattern KEY_F10 :: Word32

-- | No description available in the introspection data.
pattern KEY_F1 :: Word32

-- | No description available in the introspection data.
pattern KEY_F :: Word32

-- | No description available in the introspection data.
pattern KEY_Explorer :: Word32

-- | No description available in the introspection data.
pattern KEY_Execute :: Word32

-- | No description available in the introspection data.
pattern KEY_Excel :: Word32

-- | No description available in the introspection data.
pattern KEY_EuroSign :: Word32

-- | No description available in the introspection data.
pattern KEY_Etilde :: Word32

-- | No description available in the introspection data.
pattern KEY_Eth :: Word32

-- | No description available in the introspection data.
pattern KEY_Escape :: Word32

-- | No description available in the introspection data.
pattern KEY_Eogonek :: Word32

-- | No description available in the introspection data.
pattern KEY_End :: Word32

-- | No description available in the introspection data.
pattern KEY_EmojiPicker :: Word32

-- | No description available in the introspection data.
pattern KEY_Emacron :: Word32

-- | No description available in the introspection data.
pattern KEY_Eject :: Word32

-- | No description available in the introspection data.
pattern KEY_Eisu_toggle :: Word32

-- | No description available in the introspection data.
pattern KEY_Eisu_Shift :: Word32

-- | No description available in the introspection data.
pattern KEY_Ehook :: Word32

-- | No description available in the introspection data.
pattern KEY_Egrave :: Word32

-- | No description available in the introspection data.
pattern KEY_Editor :: Word32

-- | No description available in the introspection data.
pattern KEY_Ediaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_EcuSign :: Word32

-- | No description available in the introspection data.
pattern KEY_Ecircumflextilde :: Word32

-- | No description available in the introspection data.
pattern KEY_Ecircumflexhook :: Word32

-- | No description available in the introspection data.
pattern KEY_Ecircumflexgrave :: Word32

-- | No description available in the introspection data.
pattern KEY_Ecircumflexbelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_Ecircumflexacute :: Word32

-- | No description available in the introspection data.
pattern KEY_Ecircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_Ecaron :: Word32

-- | No description available in the introspection data.
pattern KEY_Ebelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_Eacute :: Word32

-- | No description available in the introspection data.
pattern KEY_Eabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_EZH :: Word32

-- | No description available in the introspection data.
pattern KEY_ETH :: Word32

-- | No description available in the introspection data.
pattern KEY_ENG :: Word32

-- | No description available in the introspection data.
pattern KEY_E :: Word32

-- | No description available in the introspection data.
pattern KEY_DualRangeRadar :: Word32

-- | No description available in the introspection data.
pattern KEY_Dstroke :: Word32

-- | No description available in the introspection data.
pattern KEY_Down :: Word32

-- | No description available in the introspection data.
pattern KEY_DongSign :: Word32

-- | No description available in the introspection data.
pattern KEY_Documents :: Word32

-- | No description available in the introspection data.
pattern KEY_DoNotDisturb :: Word32

-- | No description available in the introspection data.
pattern KEY_DisplayToggle :: Word32

-- | No description available in the introspection data.
pattern KEY_DisplayOff :: Word32

-- | No description available in the introspection data.
pattern KEY_Display :: Word32

-- | No description available in the introspection data.
pattern KEY_Dictate :: Word32

-- | No description available in the introspection data.
pattern KEY_Delete :: Word32

-- | No description available in the introspection data.
pattern KEY_Dcaron :: Word32

-- | No description available in the introspection data.
pattern KEY_Database :: Word32

-- | No description available in the introspection data.
pattern KEY_Data :: Word32

-- | No description available in the introspection data.
pattern KEY_Dabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_DVD :: Word32

-- | No description available in the introspection data.
pattern KEY_DOS :: Word32

-- | No description available in the introspection data.
pattern KEY_D :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_zhe_descender :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_zhe :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ze :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_yu :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_yeru :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ya :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ve :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_u_straight_bar :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_u_straight :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_u_macron :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_u :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_tse :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_te :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_softsign :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_shorti :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_shha :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_shcha :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_sha :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_schwa :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_pe :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_o_bar :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_o :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_nje :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_lje :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ka_vertstroke :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ka_descender :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ka :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_je :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_io :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ie :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_i_macron :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_i :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_hardsign :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ha_descender :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ha :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ghe_bar :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ghe :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_es :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_er :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_en_descender :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_en :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_em :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_el :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ef :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_e :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_dzhe :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_de :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_che_vertstroke :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_che_descender :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_che :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_be :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_a :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ZHE_descender :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ZHE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ZE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_YU :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_YERU :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_YA :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_VE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_U_straight_bar :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_U_straight :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_U_macron :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_U :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_TSE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_TE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_SOFTSIGN :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_SHORTI :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_SHHA :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_SHCHA :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_SHA :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_SCHWA :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_PE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_O_bar :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_O :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_NJE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_LJE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_KA_vertstroke :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_KA_descender :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_KA :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_JE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_I_macron :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_IO :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_IE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_I :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_HA_descender :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_HARDSIGN :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_HA :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_GHE_bar :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_GHE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ES :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_ER :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_EN_descender :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_EN :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_EM :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_EL :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_EF :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_E :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_DZHE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_DE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_CHE_vertstroke :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_CHE_descender :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_CHE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_BE :: Word32

-- | No description available in the introspection data.
pattern KEY_Cyrillic_A :: Word32

-- | No description available in the introspection data.
pattern KEY_CycleAngle :: Word32

-- | No description available in the introspection data.
pattern KEY_Cut :: Word32

-- | No description available in the introspection data.
pattern KEY_CruzeiroSign :: Word32

-- | No description available in the introspection data.
pattern KEY_Copy :: Word32

-- | No description available in the introspection data.
pattern KEY_Control_R :: Word32

-- | No description available in the introspection data.
pattern KEY_Control_L :: Word32

-- | No description available in the introspection data.
pattern KEY_ControlPanel :: Word32

-- | No description available in the introspection data.
pattern KEY_ContrastAdjust :: Word32

-- | No description available in the introspection data.
pattern KEY_ContextMenu :: Word32

-- | No description available in the introspection data.
pattern KEY_Community :: Word32

-- | No description available in the introspection data.
pattern KEY_ColonSign :: Word32

-- | No description available in the introspection data.
pattern KEY_Codeinput :: Word32

-- | No description available in the introspection data.
pattern KEY_Close :: Word32

-- | No description available in the introspection data.
pattern KEY_ClearvuSonar :: Word32

-- | No description available in the introspection data.
pattern KEY_ClearGrab :: Word32

-- | No description available in the introspection data.
pattern KEY_Clear :: Word32

-- | No description available in the introspection data.
pattern KEY_ChannelUp :: Word32

-- | No description available in the introspection data.
pattern KEY_ChannelDown :: Word32

-- | No description available in the introspection data.
pattern KEY_Ch :: Word32

-- | No description available in the introspection data.
pattern KEY_Ccircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_Ccedilla :: Word32

-- | No description available in the introspection data.
pattern KEY_Ccaron :: Word32

-- | No description available in the introspection data.
pattern KEY_Caps_Lock :: Word32

-- | No description available in the introspection data.
pattern KEY_Cancel :: Word32

-- | No description available in the introspection data.
pattern KEY_CameraZoomOut :: Word32

-- | No description available in the introspection data.
pattern KEY_CameraZoomIn :: Word32

-- | No description available in the introspection data.
pattern KEY_CameraUp :: Word32

-- | No description available in the introspection data.
pattern KEY_CameraRight :: Word32

-- | No description available in the introspection data.
pattern KEY_CameraLeft :: Word32

-- | No description available in the introspection data.
pattern KEY_CameraFocus :: Word32

-- | No description available in the introspection data.
pattern KEY_CameraDown :: Word32

-- | No description available in the introspection data.
pattern KEY_CameraAccessToggle :: Word32

-- | No description available in the introspection data.
pattern KEY_CameraAccessEnable :: Word32

-- | No description available in the introspection data.
pattern KEY_CameraAccessDisable :: Word32

-- | No description available in the introspection data.
pattern KEY_Calendar :: Word32

-- | No description available in the introspection data.
pattern KEY_Calculator :: Word32

-- | No description available in the introspection data.
pattern KEY_Cacute :: Word32

-- | No description available in the introspection data.
pattern KEY_Cabovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_C_h :: Word32

-- | No description available in the introspection data.
pattern KEY_C_H :: Word32

-- | No description available in the introspection data.
pattern KEY_CH :: Word32

-- | No description available in the introspection data.
pattern KEY_CD :: Word32

-- | No description available in the introspection data.
pattern KEY_C :: Word32

-- | No description available in the introspection data.
pattern KEY_Byelorussian_shortu :: Word32

-- | No description available in the introspection data.
pattern KEY_Byelorussian_SHORTU :: Word32

-- | No description available in the introspection data.
pattern KEY_Buttonconfig :: Word32

-- | No description available in the introspection data.
pattern KEY_BrightnessMin :: Word32

-- | No description available in the introspection data.
pattern KEY_BrightnessMax :: Word32

-- | No description available in the introspection data.
pattern KEY_BrightnessAuto :: Word32

-- | No description available in the introspection data.
pattern KEY_BrightnessAdjust :: Word32

-- | No description available in the introspection data.
pattern KEY_Break :: Word32

-- | No description available in the introspection data.
pattern KEY_BounceKeys_Enable :: Word32

-- | No description available in the introspection data.
pattern KEY_Book :: Word32

-- | No description available in the introspection data.
pattern KEY_Bluetooth :: Word32

-- | No description available in the introspection data.
pattern KEY_Blue :: Word32

-- | No description available in the introspection data.
pattern KEY_Begin :: Word32

-- | No description available in the introspection data.
pattern KEY_Battery :: Word32

-- | No description available in the introspection data.
pattern KEY_BackSpace :: Word32

-- | No description available in the introspection data.
pattern KEY_BackForward :: Word32

-- | No description available in the introspection data.
pattern KEY_Back :: Word32

-- | No description available in the introspection data.
pattern KEY_Babovedot :: Word32

-- | No description available in the introspection data.
pattern KEY_B :: Word32

-- | No description available in the introspection data.
pattern KEY_Away :: Word32

-- | No description available in the introspection data.
pattern KEY_AutopilotEngageToggle :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioStop :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioRewind :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioRepeat :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioRecord :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioRandomPlay :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioRaiseVolume :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioPrev :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioPreset :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioPlay :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioPause :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioNext :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioMute :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioMicMute :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioMedia :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioLowerVolume :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioForward :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioDesc :: Word32

-- | No description available in the introspection data.
pattern KEY_AudioCycleTrack :: Word32

-- | No description available in the introspection data.
pattern KEY_Audio :: Word32

-- | No description available in the introspection data.
pattern KEY_AudibleBell_Enable :: Word32

-- | No description available in the introspection data.
pattern KEY_AttendantToggle :: Word32

-- | No description available in the introspection data.
pattern KEY_AttendantOn :: Word32

-- | No description available in the introspection data.
pattern KEY_AttendantOff :: Word32

-- | No description available in the introspection data.
pattern KEY_Atilde :: Word32

-- | No description available in the introspection data.
pattern KEY_Assistant :: Word32

-- | No description available in the introspection data.
pattern KEY_AspectRatio :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_zhe :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_za :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_yentamna :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_yech :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_vyun :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_vo :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_vev :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_verjaket :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_tyun :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_tso :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_tsa :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_to :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_tche :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_shesht :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_sha :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_separation_mark :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_se :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_re :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_ra :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_question :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_pyur :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_pe :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_paruyk :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_o :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_nu :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_men :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_lyun :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_ligature_ew :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_khe :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_ken :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_ke :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_je :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_ini :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_hyphen :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_ho :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_hi :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_gim :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_ghat :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_full_stop :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_fe :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_exclam :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_e :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_dza :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_da :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_cha :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_but :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_ben :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_ayb :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_at :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_apostrophe :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_amanak :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_accent :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_ZHE :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_ZA :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_YECH :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_VYUN :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_VO :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_VEV :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_TYUN :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_TSO :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_TSA :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_TO :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_TCHE :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_SHA :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_SE :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_RE :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_RA :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_PYUR :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_PE :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_O :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_NU :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_MEN :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_LYUN :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_KHE :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_KEN :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_KE :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_JE :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_INI :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_HO :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_HI :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_GIM :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_GHAT :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_FE :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_E :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_DZA :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_DA :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_CHA :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_BEN :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_AYB :: Word32

-- | No description available in the introspection data.
pattern KEY_Armenian_AT :: Word32

-- | No description available in the introspection data.
pattern KEY_Aring :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_zain :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_zah :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_yeh_baree :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_yeh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_waw :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_veh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_tteh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_theh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_thal :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_tehmarbuta :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_teh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_tcheh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_tatweel :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_tah :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_switch :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_superscript_alef :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_sukun :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_sheen :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_shadda :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_semicolon :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_seen :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_sad :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_rreh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_ra :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_question_mark :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_qaf :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_percent :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_peh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_noon_ghunna :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_noon :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_meem :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_maddaonalef :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_madda_above :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_lam :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_khah :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_keheh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_kasratan :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_kasra :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_kaf :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_jeh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_jeem :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_heh_goal :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_heh_doachashmee :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_heh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_hamzaunderalef :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_hamzaonyeh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_hamzaonwaw :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_hamzaonalef :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_hamza_below :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_hamza_above :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_hamza :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_hah :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_ha :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_ghain :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_gaf :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_fullstop :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_feh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_fathatan :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_fatha :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_farsi_yeh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_ddal :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_dammatan :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_damma :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_dal :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_dad :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_comma :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_beh :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_alefmaksura :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_alef :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_ain :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_9 :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_8 :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_7 :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_6 :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_5 :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_4 :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_3 :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_2 :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_1 :: Word32

-- | No description available in the introspection data.
pattern KEY_Arabic_0 :: Word32

-- | No description available in the introspection data.
pattern KEY_ApplicationRight :: Word32

-- | No description available in the introspection data.
pattern KEY_ApplicationLeft :: Word32

-- | No description available in the introspection data.
pattern KEY_AppSelect :: Word32

-- | No description available in the introspection data.
pattern KEY_Aogonek :: Word32

-- | No description available in the introspection data.
pattern KEY_Amacron :: Word32

-- | No description available in the introspection data.
pattern KEY_Alt_R :: Word32

-- | No description available in the introspection data.
pattern KEY_Alt_L :: Word32

-- | No description available in the introspection data.
pattern KEY_Ahook :: Word32

-- | No description available in the introspection data.
pattern KEY_Agrave :: Word32

-- | No description available in the introspection data.
pattern KEY_Adiaeresis :: Word32

-- | No description available in the introspection data.
pattern KEY_Addressbook :: Word32

-- | No description available in the introspection data.
pattern KEY_AddFavorite :: Word32

-- | No description available in the introspection data.
pattern KEY_Acircumflextilde :: Word32

-- | No description available in the introspection data.
pattern KEY_Acircumflexhook :: Word32

-- | No description available in the introspection data.
pattern KEY_Acircumflexgrave :: Word32

-- | No description available in the introspection data.
pattern KEY_Acircumflexbelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_Acircumflexacute :: Word32

-- | No description available in the introspection data.
pattern KEY_Acircumflex :: Word32

-- | No description available in the introspection data.
pattern KEY_Accessibility :: Word32

-- | No description available in the introspection data.
pattern KEY_AccessX_Feedback_Enable :: Word32

-- | No description available in the introspection data.
pattern KEY_AccessX_Enable :: Word32

-- | No description available in the introspection data.
pattern KEY_Abrevetilde :: Word32

-- | No description available in the introspection data.
pattern KEY_Abrevehook :: Word32

-- | No description available in the introspection data.
pattern KEY_Abrevegrave :: Word32

-- | No description available in the introspection data.
pattern KEY_Abrevebelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_Abreveacute :: Word32

-- | No description available in the introspection data.
pattern KEY_Abreve :: Word32

-- | No description available in the introspection data.
pattern KEY_Abelowdot :: Word32

-- | No description available in the introspection data.
pattern KEY_Aacute :: Word32

-- | No description available in the introspection data.
pattern KEY_ALSToggle :: Word32

-- | No description available in the introspection data.
pattern KEY_AE :: Word32

-- | No description available in the introspection data.
pattern KEY_A :: Word32

-- | No description available in the introspection data.
pattern KEY_9 :: Word32

-- | No description available in the introspection data.
pattern KEY_8 :: Word32

-- | No description available in the introspection data.
pattern KEY_7 :: Word32

-- | No description available in the introspection data.
pattern KEY_6 :: Word32

-- | No description available in the introspection data.
pattern KEY_5 :: Word32

-- | No description available in the introspection data.
pattern KEY_4 :: Word32

-- | No description available in the introspection data.
pattern KEY_3DMode :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Test :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Setup :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Rule :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Right2 :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Reset :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Record :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Quit :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_PrintScreen :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Play :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_PA3 :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_PA2 :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_PA1 :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Left2 :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_KeyClick :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Jump :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Ident :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_FieldMark :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_ExSelect :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_EraseInput :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_EraseEOF :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Enter :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Duplicate :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_DeleteWord :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_CursorSelect :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_CursorBlink :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Copy :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_ChangeScreen :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_BackTab :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_Attn :: Word32

-- | No description available in the introspection data.
pattern KEY_3270_AltCursor :: Word32

-- | No description available in the introspection data.
pattern KEY_3 :: Word32

-- | No description available in the introspection data.
pattern KEY_2 :: Word32

-- | No description available in the introspection data.
pattern KEY_10ChannelsUp :: Word32

-- | No description available in the introspection data.
pattern KEY_10ChannelsDown :: Word32

-- | No description available in the introspection data.
pattern KEY_1 :: Word32

-- | No description available in the introspection data.
pattern KEY_0 :: Word32

-- | Use this macro as the return value for stopping the propagation of an
--   event handler.
pattern EVENT_STOP :: Bool

-- | Use this macro as the return value for continuing the propagation of
--   an event handler.
pattern EVENT_PROPAGATE :: Bool

-- | Represents the current time, and can be used anywhere a time is
--   expected.
pattern CURRENT_TIME :: Int32

-- | The secondary button. This is typically the right mouse button, or the
--   left button in a left-handed setup.
pattern BUTTON_SECONDARY :: Int32

-- | The primary button. This is typically the left mouse button, or the
--   right button in a left-handed setup.
pattern BUTTON_PRIMARY :: Int32

-- | The middle button.
pattern BUTTON_MIDDLE :: Int32

-- | Defines all possible DND actions.
--   
--   This can be used in dropStatus messages when any drop can be
--   accepted or a more specific drop method is not yet known.
pattern ACTION_ALL :: Int32

module GI.Gdk.Enums

-- | Defines how device axes are interpreted by GTK.
--   
--   Note that the X and Y axes are not really needed; pointer devices
--   report their location via the x/y members of events regardless.
--   Whether X and Y are present as axes depends on the GDK backend.
data AxisUse

-- | the axis is ignored.
AxisUseIgnore :: AxisUse

-- | the axis is used as the x axis.
AxisUseX :: AxisUse

-- | the axis is used as the y axis.
AxisUseY :: AxisUse

-- | the axis is used as the scroll x delta
AxisUseDeltaX :: AxisUse

-- | the axis is used as the scroll y delta
AxisUseDeltaY :: AxisUse

-- | the axis is used for pressure information.
AxisUsePressure :: AxisUse

-- | the axis is used for x tilt information.
AxisUseXtilt :: AxisUse

-- | the axis is used for y tilt information.
AxisUseYtilt :: AxisUse

-- | the axis is used for wheel information.
AxisUseWheel :: AxisUse

-- | the axis is used for pen/tablet distance information
AxisUseDistance :: AxisUse

-- | the axis is used for pen rotation information
AxisUseRotation :: AxisUse

-- | the axis is used for pen slider information
AxisUseSlider :: AxisUse

-- | a constant equal to the numerically highest axis value.
AxisUseLast :: AxisUse

-- | Catch-all for unknown values
AnotherAxisUse :: Int -> AxisUse

-- | The values of this enumeration describe whether image data uses the
--   full range of 8-bit values.
--   
--   In digital broadcasting, it is common to reserve the lowest and
--   highest values. Typically the allowed values for the narrow range are
--   16-235 for Y and 16-240 for u,v (when dealing with YUV data).
--   
--   Since: 4.16
data CicpRange

-- | The values use the range of 16-235 (for Y) and 16-240 for u and v.
CicpRangeNarrow :: CicpRange

-- | The values use the full range.
CicpRangeFull :: CicpRange

-- | Catch-all for unknown values
AnotherCicpRange :: Int -> CicpRange

-- | Enumerates the color channels of RGBA values as used in
--   GdkColor and OpenGL/Vulkan shaders.
--   
--   Note that this is not the order of pixel values in Cairo and
--   GdkMemoryFormat can have many different orders.
--   
--   Since: 4.22
data ColorChannel

-- | The red color channel, aka 0
ColorChannelRed :: ColorChannel

-- | The green color channel, aka 1
ColorChannelGreen :: ColorChannel

-- | The blue color channel, aka 2
ColorChannelBlue :: ColorChannel

-- | The alpha color channel, aka 3
ColorChannelAlpha :: ColorChannel

-- | Catch-all for unknown values
AnotherColorChannel :: Int -> ColorChannel

-- | Specifies the crossing mode for enter and leave events.
data CrossingMode

-- | crossing because of pointer motion.
CrossingModeNormal :: CrossingMode

-- | crossing because a grab is activated.
CrossingModeGrab :: CrossingMode

-- | crossing because a grab is deactivated.
CrossingModeUngrab :: CrossingMode

-- | crossing because a GTK grab is activated.
CrossingModeGtkGrab :: CrossingMode

-- | crossing because a GTK grab is deactivated.
CrossingModeGtkUngrab :: CrossingMode

-- | crossing because a GTK widget changed state (e.g. sensitivity).
CrossingModeStateChanged :: CrossingMode

-- | crossing because a touch sequence has begun, this event is synthetic
--   as the pointer might have not left the surface.
CrossingModeTouchBegin :: CrossingMode

-- | crossing because a touch sequence has ended, this event is synthetic
--   as the pointer might have not left the surface.
CrossingModeTouchEnd :: CrossingMode

-- | crossing because of a device switch (i.e. a mouse taking control of
--   the pointer after a touch device), this event is synthetic as the
--   pointer didn’t leave the surface.
CrossingModeDeviceSwitch :: CrossingMode

-- | Catch-all for unknown values
AnotherCrossingMode :: Int -> CrossingMode

-- | A pad feature.
data DevicePadFeature

-- | a button
DevicePadFeatureButton :: DevicePadFeature

-- | a ring-shaped interactive area
DevicePadFeatureRing :: DevicePadFeature

-- | a straight interactive area
DevicePadFeatureStrip :: DevicePadFeature

-- | Catch-all for unknown values
AnotherDevicePadFeature :: Int -> DevicePadFeature

-- | Indicates the specific type of tool being used being a tablet. Such as
--   an airbrush, pencil, etc.
data DeviceToolType

-- | Tool is of an unknown type.
DeviceToolTypeUnknown :: DeviceToolType

-- | Tool is a standard tablet stylus.
DeviceToolTypePen :: DeviceToolType

-- | Tool is standard tablet eraser.
DeviceToolTypeEraser :: DeviceToolType

-- | Tool is a brush stylus.
DeviceToolTypeBrush :: DeviceToolType

-- | Tool is a pencil stylus.
DeviceToolTypePencil :: DeviceToolType

-- | Tool is an airbrush stylus.
DeviceToolTypeAirbrush :: DeviceToolType

-- | Tool is a mouse.
DeviceToolTypeMouse :: DeviceToolType

-- | Tool is a lens cursor.
DeviceToolTypeLens :: DeviceToolType

-- | Catch-all for unknown values
AnotherDeviceToolType :: Int -> DeviceToolType

-- | Error enumeration for GdkDmabufTexture.
--   
--   Since: 4.14
data DmabufError

-- | Dmabuf support is not available, because the OS is not Linux, or it
--   was explicitly disabled at compile- or runtime
DmabufErrorNotAvailable :: DmabufError

-- | The requested format is not supported
DmabufErrorUnsupportedFormat :: DmabufError

-- | GTK failed to create the resource for other reasons
DmabufErrorCreationFailed :: DmabufError

-- | Catch-all for unknown values
AnotherDmabufError :: Int -> DmabufError

-- | Catch exceptions of type DmabufError. This is a specialized
--   version of catchGErrorJustDomain.
catchDmabufError :: IO a -> (DmabufError -> GErrorMessage -> IO a) -> IO a

-- | Handle exceptions of type DmabufError. This is a specialized
--   version of handleGErrorJustDomain.
handleDmabufError :: (DmabufError -> GErrorMessage -> IO a) -> IO a -> IO a

-- | Used in GdkDrag to the reason of a cancelled DND operation.
data DragCancelReason

-- | There is no suitable drop target.
DragCancelReasonNoTarget :: DragCancelReason

-- | Drag cancelled by the user
DragCancelReasonUserCancelled :: DragCancelReason

-- | Unspecified error.
DragCancelReasonError :: DragCancelReason

-- | Catch-all for unknown values
AnotherDragCancelReason :: Int -> DragCancelReason

-- | Specifies the type of the event.
data EventType

-- | the window manager has requested that the toplevel surface be hidden
--   or destroyed, usually when the user clicks on a special icon in the
--   title bar.
EventTypeDelete :: EventType

-- | the pointer (usually a mouse) has moved.
EventTypeMotionNotify :: EventType

-- | a mouse button has been pressed.
EventTypeButtonPress :: EventType

-- | a mouse button has been released.
EventTypeButtonRelease :: EventType

-- | a key has been pressed.
EventTypeKeyPress :: EventType

-- | a key has been released.
EventTypeKeyRelease :: EventType

-- | the pointer has entered the surface.
EventTypeEnterNotify :: EventType

-- | the pointer has left the surface.
EventTypeLeaveNotify :: EventType

-- | the keyboard focus has entered or left the surface.
EventTypeFocusChange :: EventType

-- | an input device has moved into contact with a sensing surface (e.g. a
--   touchscreen or graphics tablet).
EventTypeProximityIn :: EventType

-- | an input device has moved out of contact with a sensing surface.
EventTypeProximityOut :: EventType

-- | the mouse has entered the surface while a drag is in progress.
EventTypeDragEnter :: EventType

-- | the mouse has left the surface while a drag is in progress.
EventTypeDragLeave :: EventType

-- | the mouse has moved in the surface while a drag is in progress.
EventTypeDragMotion :: EventType

-- | a drop operation onto the surface has started.
EventTypeDropStart :: EventType

-- | the scroll wheel was turned
EventTypeScroll :: EventType

-- | a pointer or keyboard grab was broken.
EventTypeGrabBroken :: EventType

-- | A new touch event sequence has just started.
EventTypeTouchBegin :: EventType

-- | A touch event sequence has been updated.
EventTypeTouchUpdate :: EventType

-- | A touch event sequence has finished.
EventTypeTouchEnd :: EventType

-- | A touch event sequence has been canceled.
EventTypeTouchCancel :: EventType

-- | A touchpad swipe gesture event, the current state is determined by its
--   phase field.
EventTypeTouchpadSwipe :: EventType

-- | A touchpad pinch gesture event, the current state is determined by its
--   phase field.
EventTypeTouchpadPinch :: EventType

-- | A tablet pad button press event.
EventTypePadButtonPress :: EventType

-- | A tablet pad button release event.
EventTypePadButtonRelease :: EventType

-- | A tablet pad axis event from a "ring".
EventTypePadRing :: EventType

-- | A tablet pad axis event from a "strip".
EventTypePadStrip :: EventType

-- | A tablet pad group mode change.
EventTypePadGroupMode :: EventType

-- | A touchpad hold gesture event, the current state is determined by its
--   phase field.
--   
--   Since: 4.6
EventTypeTouchpadHold :: EventType

-- | A tablet pad axis event from a "dial".
EventTypePadDial :: EventType

-- | marks the end of the GdkEventType enumeration.
EventTypeEventLast :: EventType

-- | Catch-all for unknown values
AnotherEventType :: Int -> EventType

-- | Indicates which monitor a surface should span over when in fullscreen
--   mode.
data FullscreenMode

-- | Fullscreen on current monitor only.
FullscreenModeCurrentMonitor :: FullscreenMode

-- | Span across all monitors when fullscreen.
FullscreenModeAllMonitors :: FullscreenMode

-- | Catch-all for unknown values
AnotherFullscreenMode :: Int -> FullscreenMode

-- | Error enumeration for GdkGLContext.
data GLError

-- | OpenGL support is not available
GLErrorNotAvailable :: GLError

-- | The requested visual format is not supported
GLErrorUnsupportedFormat :: GLError

-- | The requested profile is not supported
GLErrorUnsupportedProfile :: GLError

-- | The shader compilation failed
GLErrorCompilationFailed :: GLError

-- | The shader linking failed
GLErrorLinkFailed :: GLError

-- | Catch-all for unknown values
AnotherGLError :: Int -> GLError

-- | Catch exceptions of type GLError. This is a specialized version
--   of catchGErrorJustDomain.
catchGLError :: IO a -> (GLError -> GErrorMessage -> IO a) -> IO a

-- | Handle exceptions of type GLError. This is a specialized
--   version of handleGErrorJustDomain.
handleGLError :: (GLError -> GErrorMessage -> IO a) -> IO a -> IO a

-- | Defines the reference point of a surface and is used in
--   GdkPopupLayout.
data Gravity

-- | the reference point is at the top left corner.
GravityNorthWest :: Gravity

-- | the reference point is in the middle of the top edge.
GravityNorth :: Gravity

-- | the reference point is at the top right corner.
GravityNorthEast :: Gravity

-- | the reference point is at the middle of the left edge.
GravityWest :: Gravity

-- | the reference point is at the center of the surface.
GravityCenter :: Gravity

-- | the reference point is at the middle of the right edge.
GravityEast :: Gravity

-- | the reference point is at the lower left corner.
GravitySouthWest :: Gravity

-- | the reference point is at the middle of the lower edge.
GravitySouth :: Gravity

-- | the reference point is at the lower right corner.
GravitySouthEast :: Gravity

-- | the reference point is at the top left corner of the surface itself,
--   ignoring window manager decorations.
GravityStatic :: Gravity

-- | Catch-all for unknown values
AnotherGravity :: Int -> Gravity

-- | An enumeration describing the type of an input device in general
--   terms.
data InputSource

-- | the device is a mouse. (This will be reported for the core pointer,
--   even if it is something else, such as a trackball.)
InputSourceMouse :: InputSource

-- | the device is a stylus of a graphics tablet or similar device.
InputSourcePen :: InputSource

-- | the device is a keyboard.
InputSourceKeyboard :: InputSource

-- | the device is a direct-input touch device, such as a touchscreen or
--   tablet
InputSourceTouchscreen :: InputSource

-- | the device is an indirect touch device, such as a touchpad
InputSourceTouchpad :: InputSource

-- | the device is a trackpoint
InputSourceTrackpoint :: InputSource

-- | the device is a "pad", a collection of buttons, rings and strips found
--   in drawing tablets
InputSourceTabletPad :: InputSource

-- | Catch-all for unknown values
AnotherInputSource :: Int -> InputSource

-- | Describes how well an event matches a given keyval and modifiers.
--   
--   GdkKeyMatch values are returned by keyEventMatches.
data KeyMatch

-- | The key event does not match
KeyMatchNone :: KeyMatch

-- | The key event matches if keyboard state (specifically, the currently
--   active group) is ignored
KeyMatchPartial :: KeyMatch

-- | The key event matches
KeyMatchExact :: KeyMatch

-- | Catch-all for unknown values
AnotherKeyMatch :: Int -> KeyMatch

-- | Describes formats that image data can have in memory.
--   
--   It describes formats by listing the contents of the memory passed to
--   it. So GDK_MEMORY_A8R8G8B8 will be 1 byte (8 bits) of alpha,
--   followed by a byte each of red, green and blue. It is not
--   endian-dependent, so CAIRO_FORMAT_ARGB32 is represented by
--   different GdkMemoryFormats on architectures with different
--   endiannesses.
--   
--   Its naming is modelled after VkFormat for details).
data MemoryFormat

-- | 4 bytes; for blue, green, red, alpha. The color values are
--   premultiplied with the alpha value.
MemoryFormatB8g8r8a8Premultiplied :: MemoryFormat

-- | 4 bytes; for alpha, red, green, blue. The color values are
--   premultiplied with the alpha value.
MemoryFormatA8r8g8b8Premultiplied :: MemoryFormat

-- | 4 bytes; for red, green, blue, alpha The color values are
--   premultiplied with the alpha value.
MemoryFormatR8g8b8a8Premultiplied :: MemoryFormat

-- | 4 bytes; for blue, green, red, alpha.
MemoryFormatB8g8r8a8 :: MemoryFormat

-- | 4 bytes; for alpha, red, green, blue.
MemoryFormatA8r8g8b8 :: MemoryFormat

-- | 4 bytes; for red, green, blue, alpha.
MemoryFormatR8g8b8a8 :: MemoryFormat

-- | 4 bytes; for alpha, blue, green, red.
MemoryFormatA8b8g8r8 :: MemoryFormat

-- | 3 bytes; for red, green, blue. The data is opaque.
MemoryFormatR8g8b8 :: MemoryFormat

-- | 3 bytes; for blue, green, red. The data is opaque.
MemoryFormatB8g8r8 :: MemoryFormat

-- | 3 guint16 values; for red, green, blue.
--   
--   Since: 4.6
MemoryFormatR16g16b16 :: MemoryFormat

-- | 4 guint16 values; for red, green, blue, alpha. The color values are
--   premultiplied with the alpha value.
--   
--   Since: 4.6
MemoryFormatR16g16b16a16Premultiplied :: MemoryFormat

-- | 4 guint16 values; for red, green, blue, alpha.
--   
--   Since: 4.6
MemoryFormatR16g16b16a16 :: MemoryFormat

-- | 3 half-float values; for red, green, blue. The data is opaque.
--   
--   Since: 4.6
MemoryFormatR16g16b16Float :: MemoryFormat

-- | 4 half-float values; for red, green, blue and alpha. The color values
--   are premultiplied with the alpha value.
--   
--   Since: 4.6
MemoryFormatR16g16b16a16FloatPremultiplied :: MemoryFormat

-- | 4 half-float values; for red, green, blue and alpha.
--   
--   Since: 4.6
MemoryFormatR16g16b16a16Float :: MemoryFormat

-- | 3 float values; for red, green, blue.
MemoryFormatR32g32b32Float :: MemoryFormat

-- | 4 float values; for red, green, blue and alpha. The color values are
--   premultiplied with the alpha value.
--   
--   Since: 4.6
MemoryFormatR32g32b32a32FloatPremultiplied :: MemoryFormat

-- | 4 float values; for red, green, blue and alpha.
--   
--   Since: 4.6
MemoryFormatR32g32b32a32Float :: MemoryFormat

-- | 2 bytes; for grayscale, alpha. The color values are premultiplied with
--   the alpha value.
--   
--   Since: 4.12
MemoryFormatG8a8Premultiplied :: MemoryFormat

-- | 2 bytes; for grayscale, alpha.
--   
--   Since: 4.12
MemoryFormatG8a8 :: MemoryFormat

-- | One byte; for grayscale. The data is opaque.
--   
--   Since: 4.12
MemoryFormatG8 :: MemoryFormat

-- | 2 guint16 values; for grayscale, alpha. The color values are
--   premultiplied with the alpha value.
--   
--   Since: 4.12
MemoryFormatG16a16Premultiplied :: MemoryFormat

-- | 2 guint16 values; for grayscale, alpha.
--   
--   Since: 4.12
MemoryFormatG16a16 :: MemoryFormat

-- | One guint16 value; for grayscale. The data is opaque.
--   
--   Since: 4.12
MemoryFormatG16 :: MemoryFormat

-- | One byte; for alpha.
--   
--   Since: 4.12
MemoryFormatA8 :: MemoryFormat

-- | One guint16 value; for alpha.
--   
--   Since: 4.12
MemoryFormatA16 :: MemoryFormat

-- | One half-float value; for alpha.
--   
--   Since: 4.12
MemoryFormatA16Float :: MemoryFormat

-- | One float value; for alpha.
--   
--   Since: 4.12
MemoryFormatA32Float :: MemoryFormat

-- | 4 bytes; for alpha, blue, green, red, The color values are
--   premultiplied with the alpha value.
--   
--   Since: 4.14
MemoryFormatA8b8g8r8Premultiplied :: MemoryFormat

-- | 4 bytes; for blue, green, red, unused.
--   
--   Since: 4.14
MemoryFormatB8g8r8x8 :: MemoryFormat

-- | 4 bytes; for unused, red, green, blue.
--   
--   Since: 4.14
MemoryFormatX8r8g8b8 :: MemoryFormat

-- | 4 bytes; for red, green, blue, unused.
--   
--   Since: 4.14
MemoryFormatR8g8b8x8 :: MemoryFormat

-- | 4 bytes; for unused, blue, green, red.
--   
--   Since: 4.14
MemoryFormatX8b8g8r8 :: MemoryFormat

-- | Multiplane format with 2 planes.
--   
--   The first plane contains the first channel, usually containing luma
--   values. The second plane with interleaved chroma values, Cb followed
--   by Cr. Subsampled in both the X and Y direction.
--   
--   Commonly known by the fourcc "NV12".
--   
--   Since: 4.20
MemoryFormatG8B8r8420 :: MemoryFormat

-- | Multiplane format with 2 planes.
--   
--   The first plane contains the first channel, usually containing luma
--   values. The second plane with interleaved chroma values, Cr followed
--   by Cb. Subsampled in both the X and Y direction.
--   
--   Commonly known by the fourcc "NV21".
--   
--   Since: 4.20
MemoryFormatG8R8b8420 :: MemoryFormat

-- | Multiplane format with 2 planes.
--   
--   The first plane contains the first channel, usually containing luma
--   values. The second plane with interleaved chroma values, Cb followed
--   by Cr. Subsampled in the X direction.
--   
--   Commonly known by the fourcc "NV16".
--   
--   Since: 4.20
MemoryFormatG8B8r8422 :: MemoryFormat

-- | Multiplane format with 2 planes.
--   
--   The first plane contains the first channel, usually containing luma
--   values. The second plane with interleaved chroma values, Cr followed
--   by Cb. Subsampled in the X direction.
--   
--   Commonly known by the fourcc "NV61".
--   
--   Since: 4.20
MemoryFormatG8R8b8422 :: MemoryFormat

-- | Multiplane format with 2 planes.
--   
--   The first plane contains the first channel, usually containing luma
--   values. The second plane with interleaved chroma values, Cb followed
--   by Cr. This format is not subsampled.
--   
--   Commonly known by the fourcc "NV24".
--   
--   Since: 4.20
MemoryFormatG8B8r8444 :: MemoryFormat

-- | Multiplane format with 2 planes.
--   
--   The first plane contains the first channel, usually containing luma
--   values. The second plane with interleaved chroma values, Cr followed
--   by Cb. This format is not subsampled.
--   
--   Commonly known by the fourcc "NV42".
--   
--   Since: 4.20
MemoryFormatG8R8b8444 :: MemoryFormat

-- | Multiplane format with 2 planes.
--   
--   Each channel is a 16 bit integer, but only the highest 10 bits are
--   used.
--   
--   The first plane contains the first channel, usually containing luma
--   values. The second plane with interleaved chroma values, Cr followed
--   by Cb. This format is not subsampled.
--   
--   Commonly known by the fourcc "P010".
--   
--   Since: 4.20
MemoryFormatG10x6B10x6r10x6420 :: MemoryFormat

-- | Multiplane format with 2 planes.
--   
--   Each channel is a 16 bit integer, but only the highest 10 bits are
--   used.
--   
--   The first plane contains the first channel, usually containing luma
--   values. The second plane with interleaved chroma values, Cr followed
--   by Cb. This format is not subsampled.
--   
--   Commonly known by the fourcc "P012".
--   
--   Since: 4.20
MemoryFormatG12x4B12x4r12x4420 :: MemoryFormat

-- | Multiplane format with 2 planes.
--   
--   Each channel is a 16 bit integer.
--   
--   The first plane contains the first channel, usually containing luma
--   values. The second plane with interleaved chroma values, Cr followed
--   by Cb. This format is not subsampled.
--   
--   Commonly known by the fourcc "P016".
--   
--   Since: 4.20
MemoryFormatG16B16r16420 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 8 bit integer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the first chroma chanel. Subsampled
--   in both the X and Y direction with 4:1 ratio. It is mapped into the
--   3rd channel.
--   
--   The third plane usually contains the second chroma channel. Subsampled
--   in both the X and Y direction with 4:1 ratio. It is mapped into the
--   1st channel.
--   
--   Commonly known by the fourcc "YUV410".
--   
--   Since: 4.20
MemoryFormatG8B8R8410 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 8 bit integer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the second chroma chanel. Subsampled
--   in both the X and Y direction with 4:1 ratio. It is mapped into the
--   1st channel.
--   
--   The third plane usually contains the first chroma channel. Subsampled
--   in both the X and Y direction with 4:1 ratio. It is mapped into the
--   3rd channel.
--   
--   Commonly known by the fourcc "YVU410".
--   
--   Since: 4.20
MemoryFormatG8R8B8410 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 8 bit integer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the first chroma chanel. Subsampled
--   in the X direction with 4:1 ratio. It is mapped into the 3rd channel.
--   
--   The third plane usually contains the second chroma channel. Subsampled
--   in the X direction with 4:1 ratio. It is mapped into the 1st channel.
--   
--   Commonly known by the fourcc "YUV411".
--   
--   Since: 4.20
MemoryFormatG8B8R8411 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 8 bit integer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the second chroma chanel. Subsampled
--   in the X direction with 4:1 ratio. It is mapped into the 1st channel.
--   
--   The third plane usually contains the first chroma channel. Subsampled
--   in the X direction with 4:1 ratio. It is mapped into the 3rd channel.
--   
--   Commonly known by the fourcc "YVU411".
--   
--   Since: 4.20
MemoryFormatG8R8B8411 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 8 bit integer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the first chroma chanel. Subsampled
--   in both the X and Y direction. It is mapped into the 3rd channel.
--   
--   The third plane usually contains the second chroma channel. Subsampled
--   in both the X and Y direction. It is mapped into the 1st channel.
--   
--   Commonly known by the fourcc "YUV420".
--   
--   Since: 4.20
MemoryFormatG8B8R8420 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 8 bit integer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the second chroma chanel. Subsampled
--   in both the X and Y direction. It is mapped into the 1st channel.
--   
--   The third plane usually contains the first chroma channel. Subsampled
--   in both the X and Y direction. It is mapped into the 3rd channel.
--   
--   Commonly known by the fourcc "YVU420".
--   
--   Since: 4.20
MemoryFormatG8R8B8420 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 8 bit integer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the first chroma chanel. Subsampled
--   in the X direction. It is mapped into the 3rd channel.
--   
--   The third plane usually contains the second chroma channel. Subsampled
--   in the X direction. It is mapped into the 1st channel.
--   
--   Commonly known by the fourcc "YUV422".
--   
--   Since: 4.20
MemoryFormatG8B8R8422 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 8 bit integer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the second chroma chanel. Subsampled
--   in the X direction. It is mapped into the 1st channel.
--   
--   The third plane usually contains the first chroma channel. Subsampled
--   in the X direction. It is mapped into the 3rd channel.
--   
--   Commonly known by the fourcc "YVU422".
--   
--   Since: 4.20
MemoryFormatG8R8B8422 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 8 bit integer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the first chroma chanel. It is
--   mapped into the 3rd channel.
--   
--   The third plane usually contains the second chroma channel. It is
--   mapped into the 1st channel.
--   
--   Commonly known by the fourcc "YUV444".
--   
--   Since: 4.20
MemoryFormatG8B8R8444 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 8 bit integer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the second chroma chanel. Subsampled
--   in the X direction. It is mapped into the 1st channel.
--   
--   The third plane usually contains the first chroma channel. Subsampled
--   in the X direction. It is mapped into the 3rd channel.
--   
--   Commonly known by the fourcc "YVU444".
--   
--   Since: 4.20
MemoryFormatG8R8B8444 :: MemoryFormat

-- | Packed format with subsampled channels.
--   
--   Each channel is a 8 bit integer. The red and blue/chroma channels are
--   subsampled and interleaved with the green/luma channel.
--   
--   Each block contains 2 pixels, so the width must be a multiple of 2.
--   
--   Commonly known by the fourcc "YUYV".
--   
--   Since: 4.20
MemoryFormatG8b8g8r8422 :: MemoryFormat

-- | Packed format with subsampled channels.
--   
--   Each channel is a 8 bit integer. The red and blue/chroma channels are
--   subsampled and interleaved with the green/luma channel.
--   
--   Each block contains 2 pixels, so the width must be a multiple of 2.
--   
--   Commonly known by the fourcc "YVYU".
--   
--   Since: 4.20
MemoryFormatG8r8g8b8422 :: MemoryFormat

-- | Packed format with subsampled channels.
--   
--   Each channel is a 8 bit integer. The red and blue/chroma channels are
--   subsampled and interleaved with the green/luma channel.
--   
--   Each block contains 2 pixels, so the width must be a multiple of 2.
--   
--   Commonly known by the fourcc "VYUY".
--   
--   Since: 4.20
MemoryFormatR8g8b8g8422 :: MemoryFormat

-- | Packed format with subsampled channels.
--   
--   Each channel is a 8 bit integer. The red and blue/chroma channels are
--   subsampled and interleaved with the green/luma channel.
--   
--   Each block contains 2 pixels, so the width must be a multiple of 2.
--   
--   Commonly known by the fourcc "UYVY".
--   
--   Since: 4.20
MemoryFormatB8g8r8g8422 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 16 bit integer.
--   
--   Only the 10 lower bits are used. The remaining ones must be set to 0
--   by the producer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the first chroma chanel. Subsampled
--   in both the X and Y direction. It is mapped into the 3rd channel.
--   
--   The third plane usually contains the second chroma channel. Subsampled
--   in both the X and Y direction. It is mapped into the 1st channel.
--   
--   Commonly known by the fourcc "S010".
--   
--   Since: 4.20
MemoryFormatX6g10X6b10X6r10420 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 16 bit integer.
--   
--   Only the 10 lower bits are used. The remaining ones must be set to 0
--   by the producer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the first chroma chanel. Subsampled
--   in the X direction. It is mapped into the 3rd channel.
--   
--   The third plane usually contains the second chroma channel. Subsampled
--   in the X direction. It is mapped into the 1st channel.
--   
--   Commonly known by the fourcc "S210".
--   
--   Since: 4.20
MemoryFormatX6g10X6b10X6r10422 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 16 bit integer.
--   
--   Only the 10 lower bits are used. The remaining ones must be set to 0
--   by the producer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the first chroma chanel. It is
--   mapped into the 3rd channel.
--   
--   The third plane usually contains the second chroma channel. It is
--   mapped into the 1st channel.
--   
--   Commonly known by the fourcc "S410".
--   
--   Since: 4.20
MemoryFormatX6g10X6b10X6r10444 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 16 bit integer.
--   
--   Only the 12 lower bits are used. The remaining ones must be set to 0
--   by the producer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the first chroma chanel. Subsampled
--   in both the X and Y direction. It is mapped into the 3rd channel.
--   
--   The third plane usually contains the second chroma channel. Subsampled
--   in both the X and Y direction. It is mapped into the 1st channel.
--   
--   Commonly known by the fourcc "S012".
--   
--   Since: 4.20
MemoryFormatX4g12X4b12X4r12420 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 16 bit integer.
--   
--   Only the 12 lower bits are used. The remaining ones must be set to 0
--   by the producer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the first chroma chanel. Subsampled
--   in the X direction. It is mapped into the 3rd channel.
--   
--   The third plane usually contains the second chroma channel. Subsampled
--   in the X direction. It is mapped into the 1st channel.
--   
--   Commonly known by the fourcc "S212".
--   
--   Since: 4.20
MemoryFormatX4g12X4b12X4r12422 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 16 bit integer.
--   
--   Only the 12 lower bits are used. The remaining ones must be set to 0
--   by the producer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the first chroma chanel. It is
--   mapped into the 3rd channel.
--   
--   The third plane usually contains the second chroma channel. It is
--   mapped into the 1st channel.
--   
--   Commonly known by the fourcc "S412".
--   
--   Since: 4.20
MemoryFormatX4g12X4b12X4r12444 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 16 bit integer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the first chroma chanel. Subsampled
--   in both the X and Y direction. It is mapped into the 3rd channel.
--   
--   The third plane usually contains the second chroma channel. Subsampled
--   in both the X and Y direction. It is mapped into the 1st channel.
--   
--   Commonly known by the fourcc "S016".
--   
--   Since: 4.20
MemoryFormatG16B16R16420 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 16 bit integer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the first chroma chanel. Subsampled
--   in the X direction. It is mapped into the 3rd channel.
--   
--   The third plane usually contains the second chroma channel. Subsampled
--   in the X direction. It is mapped into the 1st channel.
--   
--   Commonly known by the fourcc "S216".
--   
--   Since: 4.20
MemoryFormatG16B16R16422 :: MemoryFormat

-- | Multiplane format with 3 planes.
--   
--   Each channel is a 16 bit integer.
--   
--   The first plane usually contains the luma channel. It is mapped into
--   the 2nd channel.
--   
--   The second plane usually contains the first chroma chanel. It is
--   mapped into the 3rd channel.
--   
--   The third plane usually contains the second chroma channel. It is
--   mapped into the 1st channel.
--   
--   Commonly known by the fourcc "S416".
--   
--   Since: 4.20
MemoryFormatG16B16R16444 :: MemoryFormat

-- | The number of formats. This value will change as more formats get
--   added, so do not rely on its concrete integer.
MemoryFormatNFormats :: MemoryFormat

-- | Catch-all for unknown values
AnotherMemoryFormat :: Int -> MemoryFormat

-- | Specifies the kind of crossing for enter and leave events.
--   
--   See the X11 protocol specification of LeaveNotify for full details of
--   crossing event generation.
data NotifyType

-- | the surface is entered from an ancestor or left towards an ancestor.
NotifyTypeAncestor :: NotifyType

-- | the pointer moves between an ancestor and an inferior of the surface.
NotifyTypeVirtual :: NotifyType

-- | the surface is entered from an inferior or left towards an inferior.
NotifyTypeInferior :: NotifyType

-- | the surface is entered from or left towards a surface which is neither
--   an ancestor nor an inferior.
NotifyTypeNonlinear :: NotifyType

-- | the pointer moves between two surfaces which are not ancestors of each
--   other and the surface is part of the ancestor chain between one of
--   these surfaces and their least common ancestor.
NotifyTypeNonlinearVirtual :: NotifyType

-- | an unknown type of enter/leave event occurred.
NotifyTypeUnknown :: NotifyType

-- | Catch-all for unknown values
AnotherNotifyType :: Int -> NotifyType

-- | Specifies the direction for scroll events.
data ScrollDirection

-- | the surface is scrolled up.
ScrollDirectionUp :: ScrollDirection

-- | the surface is scrolled down.
ScrollDirectionDown :: ScrollDirection

-- | the surface is scrolled to the left.
ScrollDirectionLeft :: ScrollDirection

-- | the surface is scrolled to the right.
ScrollDirectionRight :: ScrollDirection

-- | the scrolling is determined by the delta values in scroll events. See
--   scrollEventGetDeltas
ScrollDirectionSmooth :: ScrollDirection

-- | Catch-all for unknown values
AnotherScrollDirection :: Int -> ScrollDirection

-- | Used in scroll events, to announce the direction relative to physical
--   motion.
--   
--   Since: 4.20
data ScrollRelativeDirection

-- | Physical motion and event motion are the same
ScrollRelativeDirectionIdentical :: ScrollRelativeDirection

-- | Physical motion is inverted relative to event motion
ScrollRelativeDirectionInverted :: ScrollRelativeDirection

-- | Relative motion is unknown on this device or backend
ScrollRelativeDirectionUnknown :: ScrollRelativeDirection

-- | Catch-all for unknown values
AnotherScrollRelativeDirection :: Int -> ScrollRelativeDirection

-- | Specifies the unit of scroll deltas.
--   
--   When you get ScrollUnitWheel, a delta of 1.0 means 1 wheel
--   detent click in the south direction, 2.0 means 2 wheel detent clicks
--   in the south direction... This is the same logic for negative values
--   but in the north direction.
--   
--   If you get ScrollUnitSurface, are managing a scrollable view
--   and get a value of 123, you have to scroll 123 surface logical pixels
--   right if it's deltaX or down if it's
--   deltaY. This is the same logic for negative values but
--   you have to scroll left instead of right if it's
--   deltaX and up instead of down if it's
--   deltaY.
--   
--   1 surface logical pixel is equal to 1 real screen pixel multiplied by
--   the final scale factor of your graphical interface (the product of the
--   desktop scale factor and eventually a custom scale factor in your
--   app).
--   
--   Since: 4.8
data ScrollUnit

-- | The delta is in number of wheel clicks.
ScrollUnitWheel :: ScrollUnit

-- | The delta is in surface pixels to scroll directly on screen.
ScrollUnitSurface :: ScrollUnit

-- | Catch-all for unknown values
AnotherScrollUnit :: Int -> ScrollUnit

-- | This enumeration describes how the red, green and blue components of
--   physical pixels on an output device are laid out.
data SubpixelLayout

-- | The layout is not known
SubpixelLayoutUnknown :: SubpixelLayout

-- | Not organized in this way
SubpixelLayoutNone :: SubpixelLayout

-- | The layout is horizontal, the order is RGB
SubpixelLayoutHorizontalRgb :: SubpixelLayout

-- | The layout is horizontal, the order is BGR
SubpixelLayoutHorizontalBgr :: SubpixelLayout

-- | The layout is vertical, the order is RGB
SubpixelLayoutVerticalRgb :: SubpixelLayout

-- | The layout is vertical, the order is BGR
SubpixelLayoutVerticalBgr :: SubpixelLayout

-- | Catch-all for unknown values
AnotherSubpixelLayout :: Int -> SubpixelLayout

-- | Determines a surface edge or corner.
data SurfaceEdge

-- | the top left corner.
SurfaceEdgeNorthWest :: SurfaceEdge

-- | the top edge.
SurfaceEdgeNorth :: SurfaceEdge

-- | the top right corner.
SurfaceEdgeNorthEast :: SurfaceEdge

-- | the left edge.
SurfaceEdgeWest :: SurfaceEdge

-- | the right edge.
SurfaceEdgeEast :: SurfaceEdge

-- | the lower left corner.
SurfaceEdgeSouthWest :: SurfaceEdge

-- | the lower edge.
SurfaceEdgeSouth :: SurfaceEdge

-- | the lower right corner.
SurfaceEdgeSouthEast :: SurfaceEdge

-- | Catch-all for unknown values
AnotherSurfaceEdge :: Int -> SurfaceEdge

-- | Possible errors that can be returned by GdkTexture
--   constructors.
--   
--   Since: 4.6
data TextureError

-- | Not enough memory to handle this image
TextureErrorTooLarge :: TextureError

-- | The image data appears corrupted
TextureErrorCorruptImage :: TextureError

-- | The image contains features that cannot be loaded
TextureErrorUnsupportedContent :: TextureError

-- | The image format is not supported
TextureErrorUnsupportedFormat :: TextureError

-- | Catch-all for unknown values
AnotherTextureError :: Int -> TextureError

-- | Catch exceptions of type TextureError. This is a specialized
--   version of catchGErrorJustDomain.
catchTextureError :: IO a -> (TextureError -> GErrorMessage -> IO a) -> IO a

-- | Handle exceptions of type TextureError. This is a specialized
--   version of handleGErrorJustDomain.
handleTextureError :: (TextureError -> GErrorMessage -> IO a) -> IO a -> IO a

-- | The kind of title bar gesture to emit with
--   toplevelTitlebarGesture.
--   
--   Since: 4.4
data TitlebarGesture

-- | double click gesture
TitlebarGestureDoubleClick :: TitlebarGesture

-- | right click gesture
TitlebarGestureRightClick :: TitlebarGesture

-- | middle click gesture
TitlebarGestureMiddleClick :: TitlebarGesture

-- | Catch-all for unknown values
AnotherTitlebarGesture :: Int -> TitlebarGesture

-- | Specifies the current state of a touchpad gesture.
--   
--   All gestures are guaranteed to begin with an event with phase
--   TouchpadGesturePhaseBegin, followed by 0 or several events with
--   phase TouchpadGesturePhaseUpdate.
--   
--   A finished gesture may have 2 possible outcomes, an event with phase
--   TouchpadGesturePhaseEnd will be emitted when the gesture is
--   considered successful, this should be used as the hint to perform any
--   permanent changes.
--   
--   Cancelled gestures may be so for a variety of reasons, due to hardware
--   or the compositor, or due to the gesture recognition layers hinting
--   the gesture did not finish resolutely (eg. a 3rd finger being added
--   during a pinch gesture). In these cases, the last event will report
--   the phase TouchpadGesturePhaseCancel, this should be used as a
--   hint to undo any visible/permanent changes that were done throughout
--   the progress of the gesture.
data TouchpadGesturePhase

-- | The gesture has begun.
TouchpadGesturePhaseBegin :: TouchpadGesturePhase

-- | The gesture has been updated.
TouchpadGesturePhaseUpdate :: TouchpadGesturePhase

-- | The gesture was finished, changes should be permanently applied.
TouchpadGesturePhaseEnd :: TouchpadGesturePhase

-- | The gesture was cancelled, all changes should be undone.
TouchpadGesturePhaseCancel :: TouchpadGesturePhase

-- | Catch-all for unknown values
AnotherTouchpadGesturePhase :: Int -> TouchpadGesturePhase

-- | Error enumeration for GdkVulkanContext.
data VulkanError

-- | Vulkan is not supported on this backend or has not been compiled in.
VulkanErrorUnsupported :: VulkanError

-- | Vulkan support is not available on this Surface
VulkanErrorNotAvailable :: VulkanError

-- | Catch-all for unknown values
AnotherVulkanError :: Int -> VulkanError

-- | Catch exceptions of type VulkanError. This is a specialized
--   version of catchGErrorJustDomain.
catchVulkanError :: IO a -> (VulkanError -> GErrorMessage -> IO a) -> IO a

-- | Handle exceptions of type VulkanError. This is a specialized
--   version of handleGErrorJustDomain.
handleVulkanError :: (VulkanError -> GErrorMessage -> IO a) -> IO a -> IO a
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.AxisUse
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.CicpRange
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.ColorChannel
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.CrossingMode
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.DevicePadFeature
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.DeviceToolType
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.DmabufError
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.DragCancelReason
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.EventType
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.FullscreenMode
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.GLError
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.Gravity
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.InputSource
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.KeyMatch
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.MemoryFormat
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.NotifyType
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.ScrollDirection
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.ScrollRelativeDirection
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.ScrollUnit
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.SubpixelLayout
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.SurfaceEdge
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.TextureError
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.TitlebarGesture
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.TouchpadGesturePhase
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Gdk.Enums.VulkanError
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.AxisUse
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.CicpRange
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.ColorChannel
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.CrossingMode
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.DevicePadFeature
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.DeviceToolType
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.DmabufError
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.DragCancelReason
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.EventType
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.FullscreenMode
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.GLError
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.Gravity
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.InputSource
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.KeyMatch
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.MemoryFormat
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.NotifyType
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.ScrollDirection
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.ScrollRelativeDirection
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.ScrollUnit
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.SubpixelLayout
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.SurfaceEdge
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.TextureError
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.TitlebarGesture
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.TouchpadGesturePhase
instance GHC.Internal.Enum.Enum GI.Gdk.Enums.VulkanError
instance GHC.Classes.Eq GI.Gdk.Enums.AxisUse
instance GHC.Classes.Eq GI.Gdk.Enums.CicpRange
instance GHC.Classes.Eq GI.Gdk.Enums.ColorChannel
instance GHC.Classes.Eq GI.Gdk.Enums.CrossingMode
instance GHC.Classes.Eq GI.Gdk.Enums.DevicePadFeature
instance GHC.Classes.Eq GI.Gdk.Enums.DeviceToolType
instance GHC.Classes.Eq GI.Gdk.Enums.DmabufError
instance GHC.Classes.Eq GI.Gdk.Enums.DragCancelReason
instance GHC.Classes.Eq GI.Gdk.Enums.EventType
instance GHC.Classes.Eq GI.Gdk.Enums.FullscreenMode
instance GHC.Classes.Eq GI.Gdk.Enums.GLError
instance GHC.Classes.Eq GI.Gdk.Enums.Gravity
instance GHC.Classes.Eq GI.Gdk.Enums.InputSource
instance GHC.Classes.Eq GI.Gdk.Enums.KeyMatch
instance GHC.Classes.Eq GI.Gdk.Enums.MemoryFormat
instance GHC.Classes.Eq GI.Gdk.Enums.NotifyType
instance GHC.Classes.Eq GI.Gdk.Enums.ScrollDirection
instance GHC.Classes.Eq GI.Gdk.Enums.ScrollRelativeDirection
instance GHC.Classes.Eq GI.Gdk.Enums.ScrollUnit
instance GHC.Classes.Eq GI.Gdk.Enums.SubpixelLayout
instance GHC.Classes.Eq GI.Gdk.Enums.SurfaceEdge
instance GHC.Classes.Eq GI.Gdk.Enums.TextureError
instance GHC.Classes.Eq GI.Gdk.Enums.TitlebarGesture
instance GHC.Classes.Eq GI.Gdk.Enums.TouchpadGesturePhase
instance GHC.Classes.Eq GI.Gdk.Enums.VulkanError
instance Data.GI.Base.GError.GErrorClass GI.Gdk.Enums.DmabufError
instance Data.GI.Base.GError.GErrorClass GI.Gdk.Enums.GLError
instance Data.GI.Base.GError.GErrorClass GI.Gdk.Enums.TextureError
instance Data.GI.Base.GError.GErrorClass GI.Gdk.Enums.VulkanError
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.AxisUse
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.CicpRange
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.ColorChannel
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.CrossingMode
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.DevicePadFeature
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.DeviceToolType
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.DmabufError
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.DragCancelReason
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.EventType
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.FullscreenMode
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.GLError
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.Gravity
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.InputSource
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.KeyMatch
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.MemoryFormat
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.NotifyType
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.ScrollDirection
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.ScrollRelativeDirection
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.ScrollUnit
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.SubpixelLayout
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.SurfaceEdge
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.TextureError
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.TitlebarGesture
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.TouchpadGesturePhase
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Enums.VulkanError
instance GHC.Classes.Ord GI.Gdk.Enums.AxisUse
instance GHC.Classes.Ord GI.Gdk.Enums.CicpRange
instance GHC.Classes.Ord GI.Gdk.Enums.ColorChannel
instance GHC.Classes.Ord GI.Gdk.Enums.CrossingMode
instance GHC.Classes.Ord GI.Gdk.Enums.DevicePadFeature
instance GHC.Classes.Ord GI.Gdk.Enums.DeviceToolType
instance GHC.Classes.Ord GI.Gdk.Enums.DmabufError
instance GHC.Classes.Ord GI.Gdk.Enums.DragCancelReason
instance GHC.Classes.Ord GI.Gdk.Enums.EventType
instance GHC.Classes.Ord GI.Gdk.Enums.FullscreenMode
instance GHC.Classes.Ord GI.Gdk.Enums.GLError
instance GHC.Classes.Ord GI.Gdk.Enums.Gravity
instance GHC.Classes.Ord GI.Gdk.Enums.InputSource
instance GHC.Classes.Ord GI.Gdk.Enums.KeyMatch
instance GHC.Classes.Ord GI.Gdk.Enums.MemoryFormat
instance GHC.Classes.Ord GI.Gdk.Enums.NotifyType
instance GHC.Classes.Ord GI.Gdk.Enums.ScrollDirection
instance GHC.Classes.Ord GI.Gdk.Enums.ScrollRelativeDirection
instance GHC.Classes.Ord GI.Gdk.Enums.ScrollUnit
instance GHC.Classes.Ord GI.Gdk.Enums.SubpixelLayout
instance GHC.Classes.Ord GI.Gdk.Enums.SurfaceEdge
instance GHC.Classes.Ord GI.Gdk.Enums.TextureError
instance GHC.Classes.Ord GI.Gdk.Enums.TitlebarGesture
instance GHC.Classes.Ord GI.Gdk.Enums.TouchpadGesturePhase
instance GHC.Classes.Ord GI.Gdk.Enums.VulkanError
instance GHC.Internal.Show.Show GI.Gdk.Enums.AxisUse
instance GHC.Internal.Show.Show GI.Gdk.Enums.CicpRange
instance GHC.Internal.Show.Show GI.Gdk.Enums.ColorChannel
instance GHC.Internal.Show.Show GI.Gdk.Enums.CrossingMode
instance GHC.Internal.Show.Show GI.Gdk.Enums.DevicePadFeature
instance GHC.Internal.Show.Show GI.Gdk.Enums.DeviceToolType
instance GHC.Internal.Show.Show GI.Gdk.Enums.DmabufError
instance GHC.Internal.Show.Show GI.Gdk.Enums.DragCancelReason
instance GHC.Internal.Show.Show GI.Gdk.Enums.EventType
instance GHC.Internal.Show.Show GI.Gdk.Enums.FullscreenMode
instance GHC.Internal.Show.Show GI.Gdk.Enums.GLError
instance GHC.Internal.Show.Show GI.Gdk.Enums.Gravity
instance GHC.Internal.Show.Show GI.Gdk.Enums.InputSource
instance GHC.Internal.Show.Show GI.Gdk.Enums.KeyMatch
instance GHC.Internal.Show.Show GI.Gdk.Enums.MemoryFormat
instance GHC.Internal.Show.Show GI.Gdk.Enums.NotifyType
instance GHC.Internal.Show.Show GI.Gdk.Enums.ScrollDirection
instance GHC.Internal.Show.Show GI.Gdk.Enums.ScrollRelativeDirection
instance GHC.Internal.Show.Show GI.Gdk.Enums.ScrollUnit
instance GHC.Internal.Show.Show GI.Gdk.Enums.SubpixelLayout
instance GHC.Internal.Show.Show GI.Gdk.Enums.SurfaceEdge
instance GHC.Internal.Show.Show GI.Gdk.Enums.TextureError
instance GHC.Internal.Show.Show GI.Gdk.Enums.TitlebarGesture
instance GHC.Internal.Show.Show GI.Gdk.Enums.TouchpadGesturePhase
instance GHC.Internal.Show.Show GI.Gdk.Enums.VulkanError
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.AxisUse
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.CicpRange
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.ColorChannel
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.CrossingMode
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.DevicePadFeature
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.DeviceToolType
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.DmabufError
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.DragCancelReason
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.EventType
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.FullscreenMode
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.GLError
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.Gravity
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.InputSource
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.KeyMatch
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.MemoryFormat
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.NotifyType
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.ScrollDirection
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.ScrollRelativeDirection
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.ScrollUnit
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.SubpixelLayout
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.SurfaceEdge
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.TextureError
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.TitlebarGesture
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.TouchpadGesturePhase
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Enums.VulkanError

module GI.Gdk.Flags

-- | Positioning hints for aligning a surface relative to a rectangle.
--   
--   These hints determine how the surface should be positioned in the case
--   that the surface would fall off-screen if placed in its ideal
--   position.
--   
--   For example, AnchorHintsFlipX will replace
--   GravityNorthWest with GravityNorthEast and vice versa if
--   the surface extends beyond the left or right edges of the monitor.
--   
--   If AnchorHintsSlideX is set, the surface can be shifted
--   horizontally to fit on-screen. If AnchorHintsResizeX is set,
--   the surface can be shrunken horizontally to fit.
--   
--   In general, when multiple flags are set, flipping should take
--   precedence over sliding, which should take precedence over resizing.
data AnchorHints

-- | allow flipping anchors horizontally
AnchorHintsFlipX :: AnchorHints

-- | allow flipping anchors vertically
AnchorHintsFlipY :: AnchorHints

-- | allow sliding surface horizontally
AnchorHintsSlideX :: AnchorHints

-- | allow sliding surface vertically
AnchorHintsSlideY :: AnchorHints

-- | allow resizing surface horizontally
AnchorHintsResizeX :: AnchorHints

-- | allow resizing surface vertically
AnchorHintsResizeY :: AnchorHints

-- | allow flipping anchors on both axes
AnchorHintsFlip :: AnchorHints

-- | allow sliding surface on both axes
AnchorHintsSlide :: AnchorHints

-- | allow resizing surface on both axes
AnchorHintsResize :: AnchorHints

-- | Catch-all for unknown values
AnotherAnchorHints :: Int -> AnchorHints

-- | Flags describing the current capabilities of a device/tool.
data AxisFlags

-- | X axis is present
AxisFlagsX :: AxisFlags

-- | Y axis is present
AxisFlagsY :: AxisFlags

-- | Scroll X delta axis is present
AxisFlagsDeltaX :: AxisFlags

-- | Scroll Y delta axis is present
AxisFlagsDeltaY :: AxisFlags

-- | Pressure axis is present
AxisFlagsPressure :: AxisFlags

-- | X tilt axis is present
AxisFlagsXtilt :: AxisFlags

-- | Y tilt axis is present
AxisFlagsYtilt :: AxisFlags

-- | Wheel axis is present
AxisFlagsWheel :: AxisFlags

-- | Distance axis is present
AxisFlagsDistance :: AxisFlags

-- | Z-axis rotation is present
AxisFlagsRotation :: AxisFlags

-- | Slider axis is present
AxisFlagsSlider :: AxisFlags

-- | Catch-all for unknown values
AnotherAxisFlags :: Int -> AxisFlags

-- | Used in GdkDrop and GdkDrag to indicate the actions
--   that the destination can and should do with the dropped data.
data DragAction

-- | No action.
--   
--   Since: 4.20
DragActionNone :: DragAction

-- | Copy the data.
DragActionCopy :: DragAction

-- | Move the data, i.e. first copy it, then delete it from the source
--   using the DELETE target of the X selection protocol.
DragActionMove :: DragAction

-- | Add a link to the data. Note that this is only useful if source and
--   destination agree on what it means, and is not supported on all
--   platforms.
DragActionLink :: DragAction

-- | Ask the user what to do with the data.
DragActionAsk :: DragAction

-- | Catch-all for unknown values
AnotherDragAction :: Int -> DragAction

-- | Used to represent the different paint clock phases that can be
--   requested.
--   
--   The elements of the enumeration correspond to the signals of
--   GdkFrameClock.
data FrameClockPhase

-- | no phase
FrameClockPhaseNone :: FrameClockPhase

-- | corresponds to GdkFrameClockflushEvents. Should not be handled
--   by applications.
FrameClockPhaseFlushEvents :: FrameClockPhase

-- | corresponds to GdkFrameClockbeforePaint. Should not be handled
--   by applications.
FrameClockPhaseBeforePaint :: FrameClockPhase

-- | corresponds to GdkFrameClockupdate.
FrameClockPhaseUpdate :: FrameClockPhase

-- | corresponds to GdkFrameClocklayout. Should not be handled by
--   applications.
FrameClockPhaseLayout :: FrameClockPhase

-- | corresponds to GdkFrameClockpaint.
FrameClockPhasePaint :: FrameClockPhase

-- | corresponds to GdkFrameClockresumeEvents. Should not be handled
--   by applications.
FrameClockPhaseResumeEvents :: FrameClockPhase

-- | corresponds to GdkFrameClockafterPaint. Should not be handled
--   by applications.
FrameClockPhaseAfterPaint :: FrameClockPhase

-- | Catch-all for unknown values
AnotherFrameClockPhase :: Int -> FrameClockPhase

-- | The list of the different APIs that GdkGLContext can potentially
--   support.
--   
--   Since: 4.6
data GLAPI

-- | The OpenGL API
GLAPIGl :: GLAPI

-- | The OpenGL ES API
GLAPIGles :: GLAPI

-- | Catch-all for unknown values
AnotherGLAPI :: Int -> GLAPI

-- | Flags to indicate the state of modifier keys and mouse buttons in
--   events.
--   
--   Typical modifier keys are Shift, Control, Meta, Super, Hyper, Alt,
--   Compose, Apple, CapsLock or ShiftLock.
--   
--   Note that GDK may add internal values to events which include values
--   outside of this enumeration. Your code should preserve and ignore
--   them. You can use MODIFIER_MASK to remove all private values.
data ModifierType

-- | No modifier.
--   
--   Since: 4.14
ModifierTypeNoModifierMask :: ModifierType

-- | the Shift key.
ModifierTypeShiftMask :: ModifierType

-- | a Lock key (depending on the Windowing System configuration, this may
--   either be <kbd>CapsLock</kbd> or
--   <kbd>ShiftLock</kbd>).
ModifierTypeLockMask :: ModifierType

-- | the Control key.
ModifierTypeControlMask :: ModifierType

-- | the fourth modifier key (it depends on the Windowing System
--   configuration which key is interpreted as this modifier, but normally
--   it is the <kbd>Alt</kbd> key).
ModifierTypeAltMask :: ModifierType

-- | the first mouse button.
ModifierTypeButton1Mask :: ModifierType

-- | the second mouse button.
ModifierTypeButton2Mask :: ModifierType

-- | the third mouse button.
ModifierTypeButton3Mask :: ModifierType

-- | the fourth mouse button.
ModifierTypeButton4Mask :: ModifierType

-- | the fifth mouse button.
ModifierTypeButton5Mask :: ModifierType

-- | the Super modifier.
ModifierTypeSuperMask :: ModifierType

-- | the Hyper modifier.
ModifierTypeHyperMask :: ModifierType

-- | the Meta modifier. Maps to Command on macOS.
ModifierTypeMetaMask :: ModifierType

-- | Catch-all for unknown values
AnotherModifierType :: Int -> ModifierType

-- | Flags about a paintable object.
--   
--   Implementations use these for optimizations such as caching.
data PaintableFlags

-- | The size is immutable. The Paintable::invalidateSize signal
--   will never be emitted.
PaintableFlagsStaticSize :: PaintableFlags

-- | The content is immutable. The Paintable::invalidateContents
--   signal will never be emitted.
PaintableFlagsStaticContents :: PaintableFlags

-- | Catch-all for unknown values
AnotherPaintableFlags :: Int -> PaintableFlags

-- | Flags describing the seat capabilities.
data SeatCapabilities

-- | No input capabilities
SeatCapabilitiesNone :: SeatCapabilities

-- | The seat has a pointer (e.g. mouse)
SeatCapabilitiesPointer :: SeatCapabilities

-- | The seat has touchscreen(s) attached
SeatCapabilitiesTouch :: SeatCapabilities

-- | The seat has drawing tablet(s) attached
SeatCapabilitiesTabletStylus :: SeatCapabilities

-- | The seat has keyboard(s) attached
SeatCapabilitiesKeyboard :: SeatCapabilities

-- | The seat has drawing tablet pad(s) attached
SeatCapabilitiesTabletPad :: SeatCapabilities

-- | The union of all pointing capabilities
SeatCapabilitiesAllPointing :: SeatCapabilities

-- | The union of all capabilities
SeatCapabilitiesAll :: SeatCapabilities

-- | Catch-all for unknown values
AnotherSeatCapabilities :: Int -> SeatCapabilities

-- | Reflects what features a GdkToplevel supports.
--   
--   Since: 4.20
data ToplevelCapabilities

-- | Whether tiled window states are supported.
--   
--   Since: 4.20
ToplevelCapabilitiesEdgeConstraints :: ToplevelCapabilities

-- | Whether inhibiting system shortcuts is supported. See
--   toplevelInhibitSystemShortcuts.
--   
--   Since: 4.20
ToplevelCapabilitiesInhibitShortcuts :: ToplevelCapabilities

-- | Whether titlebar gestures are supported. See
--   toplevelTitlebarGesture.
--   
--   Since: 4.20
ToplevelCapabilitiesTitlebarGestures :: ToplevelCapabilities

-- | Whether showing the window menu is supported. See
--   toplevelShowWindowMenu.
--   
--   Since: 4.20
ToplevelCapabilitiesWindowMenu :: ToplevelCapabilities

-- | Whether the toplevel can be maximized.
--   
--   Since: 4.20
ToplevelCapabilitiesMaximize :: ToplevelCapabilities

-- | Whether the toplevel can be made fullscreen.
--   
--   Since: 4.20
ToplevelCapabilitiesFullscreen :: ToplevelCapabilities

-- | Whether the toplevel can be minimized. See toplevelMinimize.
--   
--   Since: 4.20
ToplevelCapabilitiesMinimize :: ToplevelCapabilities

-- | Whether the toplevel can be lowered. See toplevelLower.
--   
--   Since: 4.20
ToplevelCapabilitiesLower :: ToplevelCapabilities

-- | Catch-all for unknown values
AnotherToplevelCapabilities :: Int -> ToplevelCapabilities

-- | Specifies the state of a toplevel surface.
--   
--   On platforms that support information about individual edges, the
--   ToplevelStateTiled state will be set whenever any of the
--   individual tiled states is set. On platforms that lack that support,
--   the tiled state will give an indication of tiledness without any of
--   the per-edge states being set.
data ToplevelState

-- | the surface is minimized
ToplevelStateMinimized :: ToplevelState

-- | the surface is maximized
ToplevelStateMaximized :: ToplevelState

-- | the surface is sticky
ToplevelStateSticky :: ToplevelState

-- | the surface is maximized without decorations
ToplevelStateFullscreen :: ToplevelState

-- | the surface is kept above other surfaces
ToplevelStateAbove :: ToplevelState

-- | the surface is kept below other surfaces
ToplevelStateBelow :: ToplevelState

-- | the surface is presented as focused (with active decorations)
ToplevelStateFocused :: ToplevelState

-- | the surface is in a tiled state
ToplevelStateTiled :: ToplevelState

-- | whether the top edge is tiled
ToplevelStateTopTiled :: ToplevelState

-- | whether the top edge is resizable
ToplevelStateTopResizable :: ToplevelState

-- | whether the right edge is tiled
ToplevelStateRightTiled :: ToplevelState

-- | whether the right edge is resizable
ToplevelStateRightResizable :: ToplevelState

-- | whether the bottom edge is tiled
ToplevelStateBottomTiled :: ToplevelState

-- | whether the bottom edge is resizable
ToplevelStateBottomResizable :: ToplevelState

-- | whether the left edge is tiled
ToplevelStateLeftTiled :: ToplevelState

-- | whether the left edge is resizable
ToplevelStateLeftResizable :: ToplevelState

-- | The surface is not visible to the user.
--   
--   Since: 4.12
ToplevelStateSuspended :: ToplevelState

-- | Catch-all for unknown values
AnotherToplevelState :: Int -> ToplevelState
instance Data.GI.Base.BasicTypes.BoxedFlags GI.Gdk.Flags.AnchorHints
instance Data.GI.Base.BasicTypes.BoxedFlags GI.Gdk.Flags.AxisFlags
instance Data.GI.Base.BasicTypes.BoxedFlags GI.Gdk.Flags.DragAction
instance Data.GI.Base.BasicTypes.BoxedFlags GI.Gdk.Flags.FrameClockPhase
instance Data.GI.Base.BasicTypes.BoxedFlags GI.Gdk.Flags.GLAPI
instance Data.GI.Base.BasicTypes.BoxedFlags GI.Gdk.Flags.ModifierType
instance Data.GI.Base.BasicTypes.BoxedFlags GI.Gdk.Flags.PaintableFlags
instance Data.GI.Base.BasicTypes.BoxedFlags GI.Gdk.Flags.SeatCapabilities
instance Data.GI.Base.BasicTypes.BoxedFlags GI.Gdk.Flags.ToplevelCapabilities
instance Data.GI.Base.BasicTypes.BoxedFlags GI.Gdk.Flags.ToplevelState
instance GHC.Internal.Enum.Enum GI.Gdk.Flags.AnchorHints
instance GHC.Internal.Enum.Enum GI.Gdk.Flags.AxisFlags
instance GHC.Internal.Enum.Enum GI.Gdk.Flags.DragAction
instance GHC.Internal.Enum.Enum GI.Gdk.Flags.FrameClockPhase
instance GHC.Internal.Enum.Enum GI.Gdk.Flags.GLAPI
instance GHC.Internal.Enum.Enum GI.Gdk.Flags.ModifierType
instance GHC.Internal.Enum.Enum GI.Gdk.Flags.PaintableFlags
instance GHC.Internal.Enum.Enum GI.Gdk.Flags.SeatCapabilities
instance GHC.Internal.Enum.Enum GI.Gdk.Flags.ToplevelCapabilities
instance GHC.Internal.Enum.Enum GI.Gdk.Flags.ToplevelState
instance GHC.Classes.Eq GI.Gdk.Flags.AnchorHints
instance GHC.Classes.Eq GI.Gdk.Flags.AxisFlags
instance GHC.Classes.Eq GI.Gdk.Flags.DragAction
instance GHC.Classes.Eq GI.Gdk.Flags.FrameClockPhase
instance GHC.Classes.Eq GI.Gdk.Flags.GLAPI
instance GHC.Classes.Eq GI.Gdk.Flags.ModifierType
instance GHC.Classes.Eq GI.Gdk.Flags.PaintableFlags
instance GHC.Classes.Eq GI.Gdk.Flags.SeatCapabilities
instance GHC.Classes.Eq GI.Gdk.Flags.ToplevelCapabilities
instance GHC.Classes.Eq GI.Gdk.Flags.ToplevelState
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Flags.AnchorHints
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Flags.AxisFlags
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Flags.DragAction
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Flags.FrameClockPhase
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Flags.GLAPI
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Flags.ModifierType
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Flags.PaintableFlags
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Flags.SeatCapabilities
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Flags.ToplevelCapabilities
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Flags.ToplevelState
instance Data.GI.Base.BasicTypes.IsGFlag GI.Gdk.Flags.AnchorHints
instance Data.GI.Base.BasicTypes.IsGFlag GI.Gdk.Flags.AxisFlags
instance Data.GI.Base.BasicTypes.IsGFlag GI.Gdk.Flags.DragAction
instance Data.GI.Base.BasicTypes.IsGFlag GI.Gdk.Flags.FrameClockPhase
instance Data.GI.Base.BasicTypes.IsGFlag GI.Gdk.Flags.GLAPI
instance Data.GI.Base.BasicTypes.IsGFlag GI.Gdk.Flags.ModifierType
instance Data.GI.Base.BasicTypes.IsGFlag GI.Gdk.Flags.PaintableFlags
instance Data.GI.Base.BasicTypes.IsGFlag GI.Gdk.Flags.SeatCapabilities
instance Data.GI.Base.BasicTypes.IsGFlag GI.Gdk.Flags.ToplevelCapabilities
instance Data.GI.Base.BasicTypes.IsGFlag GI.Gdk.Flags.ToplevelState
instance GHC.Classes.Ord GI.Gdk.Flags.AnchorHints
instance GHC.Classes.Ord GI.Gdk.Flags.AxisFlags
instance GHC.Classes.Ord GI.Gdk.Flags.DragAction
instance GHC.Classes.Ord GI.Gdk.Flags.FrameClockPhase
instance GHC.Classes.Ord GI.Gdk.Flags.GLAPI
instance GHC.Classes.Ord GI.Gdk.Flags.ModifierType
instance GHC.Classes.Ord GI.Gdk.Flags.PaintableFlags
instance GHC.Classes.Ord GI.Gdk.Flags.SeatCapabilities
instance GHC.Classes.Ord GI.Gdk.Flags.ToplevelCapabilities
instance GHC.Classes.Ord GI.Gdk.Flags.ToplevelState
instance GHC.Internal.Show.Show GI.Gdk.Flags.AnchorHints
instance GHC.Internal.Show.Show GI.Gdk.Flags.AxisFlags
instance GHC.Internal.Show.Show GI.Gdk.Flags.DragAction
instance GHC.Internal.Show.Show GI.Gdk.Flags.FrameClockPhase
instance GHC.Internal.Show.Show GI.Gdk.Flags.GLAPI
instance GHC.Internal.Show.Show GI.Gdk.Flags.ModifierType
instance GHC.Internal.Show.Show GI.Gdk.Flags.PaintableFlags
instance GHC.Internal.Show.Show GI.Gdk.Flags.SeatCapabilities
instance GHC.Internal.Show.Show GI.Gdk.Flags.ToplevelCapabilities
instance GHC.Internal.Show.Show GI.Gdk.Flags.ToplevelState
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Flags.AnchorHints
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Flags.AxisFlags
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Flags.DragAction
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Flags.FrameClockPhase
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Flags.GLAPI
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Flags.ModifierType
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Flags.PaintableFlags
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Flags.SeatCapabilities
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Flags.ToplevelCapabilities
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Flags.ToplevelState

-- | Deserializes content received via inter-application data transfers.
--   
--   The GdkContentDeserializer transforms serialized content that
--   is identified by a mime type into an object identified by a GType.
--   
--   GTK provides serializers and deserializers for common data types such
--   as text, colors, images or file lists. To register your own
--   deserialization functions, use
--   [funccontentRegisterDeserializer].
--   
--   Also see ContentSerializer.
module GI.Gdk.Objects.ContentDeserializer

-- | Memory-managed wrapper type.
newtype ContentDeserializer
ContentDeserializer :: ManagedPtr ContentDeserializer -> ContentDeserializer

-- | Type class for types which can be safely cast to
--   ContentDeserializer, for instance with
--   toContentDeserializer.
class (GObject o, IsDescendantOf ContentDeserializer o) => IsContentDeserializer o

-- | Cast to ContentDeserializer, for types for which this is known
--   to be safe. For general casts, use castTo.
toContentDeserializer :: (MonadIO m, IsContentDeserializer o) => o -> m ContentDeserializer

-- | Gets the cancellable for the current operation.
--   
--   This is the GCancellable that was passed to
--   contentDeserializeAsync.
contentDeserializerGetCancellable :: (HasCallStack, MonadIO m, IsContentDeserializer a) => a -> m (Maybe Cancellable)

-- | Gets the GType to create an instance of.
contentDeserializerGetGtype :: (HasCallStack, MonadIO m, IsContentDeserializer a) => a -> m GType

-- | Gets the input stream for the current operation.
--   
--   This is the stream that was passed to contentDeserializeAsync.
contentDeserializerGetInputStream :: (HasCallStack, MonadIO m, IsContentDeserializer a) => a -> m InputStream

-- | Gets the mime type to deserialize from.
contentDeserializerGetMimeType :: (HasCallStack, MonadIO m, IsContentDeserializer a) => a -> m Text

-- | Gets the I/O priority for the current operation.
--   
--   This is the priority that was passed to
--   contentDeserializeAsync.
contentDeserializerGetPriority :: (HasCallStack, MonadIO m, IsContentDeserializer a) => a -> m Int32

-- | Gets the data that was associated with the current operation.
--   
--   See contentDeserializerSetTaskData.
contentDeserializerGetTaskData :: (HasCallStack, MonadIO m, IsContentDeserializer a) => a -> m (Ptr ())

-- | Gets the user data that was passed when the deserializer was
--   registered.
contentDeserializerGetUserData :: (HasCallStack, MonadIO m, IsContentDeserializer a) => a -> m (Ptr ())

-- | Gets the GValue to store the deserialized object in.
contentDeserializerGetValue :: (HasCallStack, MonadIO m, IsContentDeserializer a) => a -> m GValue

-- | Indicate that the deserialization has ended with an error.
--   
--   This function consumes error.
contentDeserializerReturnError :: (HasCallStack, MonadIO m, IsContentDeserializer a) => a -> GError -> m ()

-- | Indicate that the deserialization has been successfully completed.
contentDeserializerReturnSuccess :: (HasCallStack, MonadIO m, IsContentDeserializer a) => a -> m ()

-- | Associate data with the current deserialization operation.
contentDeserializerSetTaskData :: (HasCallStack, MonadIO m, IsContentDeserializer a) => a -> Ptr () -> DestroyNotify -> m ()
instance GHC.Classes.Eq GI.Gdk.Objects.ContentDeserializer.ContentDeserializer
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.ContentDeserializer.ContentDeserializer
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.ContentDeserializer.ContentDeserializer
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.ContentDeserializer.ContentDeserializer o) => GI.Gdk.Objects.ContentDeserializer.IsContentDeserializer o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.ContentDeserializer.ContentDeserializer)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.ContentDeserializer.ContentDeserializer
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.ContentDeserializer.ContentDeserializer

-- | Serializes content for inter-application data transfers.
--   
--   The GdkContentSerializer transforms an object that is
--   identified by a GType into a serialized form (i.e. a byte stream) that
--   is identified by a mime type.
--   
--   GTK provides serializers and deserializers for common data types such
--   as text, colors, images or file lists. To register your own
--   serialization functions, use contentRegisterSerializer.
--   
--   Also see ContentDeserializer.
module GI.Gdk.Objects.ContentSerializer

-- | Memory-managed wrapper type.
newtype ContentSerializer
ContentSerializer :: ManagedPtr ContentSerializer -> ContentSerializer

-- | Type class for types which can be safely cast to
--   ContentSerializer, for instance with
--   toContentSerializer.
class (GObject o, IsDescendantOf ContentSerializer o) => IsContentSerializer o

-- | Cast to ContentSerializer, for types for which this is known to
--   be safe. For general casts, use castTo.
toContentSerializer :: (MonadIO m, IsContentSerializer o) => o -> m ContentSerializer

-- | Gets the cancellable for the current operation.
--   
--   This is the GCancellable that was passed to
--   [funccontentSerializeAsync].
contentSerializerGetCancellable :: (HasCallStack, MonadIO m, IsContentSerializer a) => a -> m (Maybe Cancellable)

-- | Gets the GType to of the object to serialize.
contentSerializerGetGtype :: (HasCallStack, MonadIO m, IsContentSerializer a) => a -> m GType

-- | Gets the mime type to serialize to.
contentSerializerGetMimeType :: (HasCallStack, MonadIO m, IsContentSerializer a) => a -> m Text

-- | Gets the output stream for the current operation.
--   
--   This is the stream that was passed to
--   [funccontentSerializeAsync].
contentSerializerGetOutputStream :: (HasCallStack, MonadIO m, IsContentSerializer a) => a -> m OutputStream

-- | Gets the I/O priority for the current operation.
--   
--   This is the priority that was passed to
--   [funccontentSerializeAsync].
contentSerializerGetPriority :: (HasCallStack, MonadIO m, IsContentSerializer a) => a -> m Int32

-- | Gets the data that was associated with the current operation.
--   
--   See contentSerializerSetTaskData.
contentSerializerGetTaskData :: (HasCallStack, MonadIO m, IsContentSerializer a) => a -> m (Ptr ())

-- | Gets the user data that was passed when the serializer was registered.
contentSerializerGetUserData :: (HasCallStack, MonadIO m, IsContentSerializer a) => a -> m (Ptr ())

-- | Gets the GValue to read the object to serialize from.
contentSerializerGetValue :: (HasCallStack, MonadIO m, IsContentSerializer a) => a -> m GValue

-- | Indicate that the serialization has ended with an error.
--   
--   This function consumes error.
contentSerializerReturnError :: (HasCallStack, MonadIO m, IsContentSerializer a) => a -> GError -> m ()

-- | Indicate that the serialization has been successfully completed.
contentSerializerReturnSuccess :: (HasCallStack, MonadIO m, IsContentSerializer a) => a -> m ()

-- | Associate data with the current serialization operation.
contentSerializerSetTaskData :: (HasCallStack, MonadIO m, IsContentSerializer a) => a -> Ptr () -> DestroyNotify -> m ()
instance GHC.Classes.Eq GI.Gdk.Objects.ContentSerializer.ContentSerializer
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.ContentSerializer.ContentSerializer
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.ContentSerializer.ContentSerializer
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.ContentSerializer.ContentSerializer o) => GI.Gdk.Objects.ContentSerializer.IsContentSerializer o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.ContentSerializer.ContentSerializer)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.ContentSerializer.ContentSerializer
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.ContentSerializer.ContentSerializer

-- | A physical tool associated to a GdkDevice.
module GI.Gdk.Objects.DeviceTool

-- | Memory-managed wrapper type.
newtype DeviceTool
DeviceTool :: ManagedPtr DeviceTool -> DeviceTool

-- | Type class for types which can be safely cast to DeviceTool,
--   for instance with toDeviceTool.
class (GObject o, IsDescendantOf DeviceTool o) => IsDeviceTool o

-- | Cast to DeviceTool, for types for which this is known to be
--   safe. For general casts, use castTo.
toDeviceTool :: (MonadIO m, IsDeviceTool o) => o -> m DeviceTool

-- | Gets the axes of the tool.
deviceToolGetAxes :: (HasCallStack, MonadIO m, IsDeviceTool a) => a -> m [AxisFlags]

-- | Gets the hardware ID of this tool, or 0 if it's not known.
--   
--   When non-zero, the identifier is unique for the given tool model,
--   meaning that two identical tools will share the same
--   hardwareId, but will have different serial numbers
--   (see deviceToolGetSerial).
--   
--   This is a more concrete (and device specific) method to identify a
--   GdkDeviceTool than deviceToolGetToolType, as a tablet
--   may support multiple devices with the same GdkDeviceToolType,
--   but different hardware identifiers.
deviceToolGetHardwareId :: (HasCallStack, MonadIO m, IsDeviceTool a) => a -> m Word64

-- | Gets the serial number of this tool.
--   
--   This value can be used to identify a physical tool (eg. a tablet pen)
--   across program executions.
deviceToolGetSerial :: (HasCallStack, MonadIO m, IsDeviceTool a) => a -> m Word64

-- | Gets the GdkDeviceToolType of the tool.
deviceToolGetToolType :: (HasCallStack, MonadIO m, IsDeviceTool a) => a -> m DeviceToolType

-- | Construct a GValueConstruct with valid value for the
--   “axes” property. This is rarely needed directly, but it is
--   used by new.
constructDeviceToolAxes :: (IsDeviceTool o, MonadIO m) => [AxisFlags] -> m (GValueConstruct o)

-- | Get the value of the “axes” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get deviceTool #axes
--   
getDeviceToolAxes :: (MonadIO m, IsDeviceTool o) => o -> m [AxisFlags]

-- | Construct a GValueConstruct with valid value for the
--   “hardware-id” property. This is rarely needed directly, but
--   it is used by new.
constructDeviceToolHardwareId :: (IsDeviceTool o, MonadIO m) => Word64 -> m (GValueConstruct o)

-- | Get the value of the “hardware-id” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get deviceTool #hardwareId
--   
getDeviceToolHardwareId :: (MonadIO m, IsDeviceTool o) => o -> m Word64

-- | Construct a GValueConstruct with valid value for the
--   “serial” property. This is rarely needed directly, but it is
--   used by new.
constructDeviceToolSerial :: (IsDeviceTool o, MonadIO m) => Word64 -> m (GValueConstruct o)

-- | Get the value of the “serial” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get deviceTool #serial
--   
getDeviceToolSerial :: (MonadIO m, IsDeviceTool o) => o -> m Word64

-- | Construct a GValueConstruct with valid value for the
--   “tool-type” property. This is rarely needed directly, but it
--   is used by new.
constructDeviceToolToolType :: (IsDeviceTool o, MonadIO m) => DeviceToolType -> m (GValueConstruct o)

-- | Get the value of the “tool-type” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get deviceTool #toolType
--   
getDeviceToolToolType :: (MonadIO m, IsDeviceTool o) => o -> m DeviceToolType
instance GHC.Classes.Eq GI.Gdk.Objects.DeviceTool.DeviceTool
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.DeviceTool.DeviceTool
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.DeviceTool.DeviceTool
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.DeviceTool.DeviceTool o) => GI.Gdk.Objects.DeviceTool.IsDeviceTool o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.DeviceTool.DeviceTool)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.DeviceTool.DeviceTool
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.DeviceTool.DeviceTool

-- | Base type for snapshot operations.
--   
--   The subclass of GdkSnapshot used by GTK is
--   GtkSnapshot.
module GI.Gdk.Objects.Snapshot

-- | Memory-managed wrapper type.
newtype Snapshot
Snapshot :: ManagedPtr Snapshot -> Snapshot

-- | Type class for types which can be safely cast to Snapshot, for
--   instance with toSnapshot.
class (GObject o, IsDescendantOf Snapshot o) => IsSnapshot o

-- | Cast to Snapshot, for types for which this is known to be safe.
--   For general casts, use castTo.
toSnapshot :: (MonadIO m, IsSnapshot o) => o -> m Snapshot
instance GHC.Classes.Eq GI.Gdk.Objects.Snapshot.Snapshot
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.Snapshot.Snapshot
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Snapshot.Snapshot
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.Snapshot.Snapshot)
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Snapshot.Snapshot o) => GI.Gdk.Objects.Snapshot.IsSnapshot o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.Snapshot.Snapshot
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.Snapshot.Snapshot

-- | An interface for content that can be painted.
--   
--   The content of a GdkPaintable can be painted anywhere at any
--   size without requiring any sort of layout. The interface is inspired
--   by similar concepts elsewhere, such as ClutterContent,
--   HTML/CSS Paint Sources, or SVG Paint Servers.
--   
--   A GdkPaintable can be snapshot at any time and size using
--   paintableSnapshot. How the paintable interprets that size and
--   if it scales or centers itself into the given rectangle is
--   implementation defined, though if you are implementing a
--   GdkPaintable and don't know what to do, it is suggested that
--   you scale your paintable ignoring any potential aspect ratio.
--   
--   The contents that a GdkPaintable produces may depend on the
--   Snapshot passed to it. For example, paintables may decide to
--   use more detailed images on higher resolution screens or when OpenGL
--   is available. A GdkPaintable will however always produce the
--   same output for the same snapshot.
--   
--   A GdkPaintable may change its contents, meaning that it will
--   now produce a different output with the same snapshot. Once that
--   happens, it will call paintableInvalidateContents which will
--   emit the Paintable::invalidateContents signal. If a paintable
--   is known to never change its contents, it will set the
--   PaintableFlagsStaticContents flag. If a consumer cannot deal
--   with changing contents, it may call paintableGetCurrentImage
--   which will return a static paintable and use that.
--   
--   A paintable can report an intrinsic (or preferred) size or aspect
--   ratio it wishes to be rendered at, though it doesn't have to.
--   Consumers of the interface can use this information to layout
--   thepaintable appropriately. Just like the contents, the size of a
--   paintable can change. A paintable will indicate this by calling
--   paintableInvalidateSize which will emit the
--   Paintable::invalidateSize signal. And just like for contents,
--   if a paintable is known to never change its size, it will set the
--   PaintableFlagsStaticSize flag.
--   
--   Besides API for applications, there are some functions that are only
--   useful for implementing subclasses and should not be used by
--   applications: paintableInvalidateContents,
--   paintableInvalidateSize, paintableNewEmpty.
module GI.Gdk.Interfaces.Paintable

-- | Memory-managed wrapper type.
newtype Paintable
Paintable :: ManagedPtr Paintable -> Paintable

-- | Type class for types which can be safely cast to Paintable, for
--   instance with toPaintable.
class (GObject o, IsDescendantOf Paintable o) => IsPaintable o

-- | Cast to Paintable, for types for which this is known to be
--   safe. For general casts, use castTo.
toPaintable :: (MonadIO m, IsPaintable o) => o -> m Paintable

-- | Compute a concrete size for the GdkPaintable.
--   
--   Applies the sizing algorithm outlined in the CSS Image spec to
--   the given paintable. See that link for more details.
--   
--   It is not necessary to call this function when both
--   specifiedWidth and specifiedHeight are
--   known, but it is useful to call this function in GtkWidget:measure
--   implementations to compute the other dimension when only one dimension
--   is given.
paintableComputeConcreteSize :: (HasCallStack, MonadIO m, IsPaintable a) => a -> Double -> Double -> Double -> Double -> m (Double, Double)

-- | Gets an immutable paintable for the current contents displayed by
--   paintable.
--   
--   This is useful when you want to retain the current state of an
--   animation, for example to take a screenshot of a running animation.
--   
--   If the paintable is already immutable, it will return
--   itself.
paintableGetCurrentImage :: (HasCallStack, MonadIO m, IsPaintable a) => a -> m Paintable

-- | Get flags for the paintable.
--   
--   This is oftentimes useful for optimizations.
--   
--   See [flagsgdk.PaintableFlags] for the flags and what
--   they mean.
paintableGetFlags :: (HasCallStack, MonadIO m, IsPaintable a) => a -> m [PaintableFlags]

-- | Gets the preferred aspect ratio the paintable would
--   like to be displayed at.
--   
--   The aspect ratio is the width divided by the height, so a value of 0.5
--   means that the paintable prefers to be displayed twice
--   as high as it is wide. Consumers of this interface can use this to
--   preserve aspect ratio when displaying the paintable.
--   
--   This is a purely informational value and does not in any way limit the
--   values that may be passed to paintableSnapshot.
--   
--   Usually when a paintable returns nonzero values from
--   paintableGetIntrinsicWidth and
--   paintableGetIntrinsicHeight the aspect ratio should conform to
--   those values, though that is not required.
--   
--   If the paintable does not have a preferred aspect
--   ratio, it returns 0. Negative values are never returned.
paintableGetIntrinsicAspectRatio :: (HasCallStack, MonadIO m, IsPaintable a) => a -> m Double

-- | Gets the preferred height the paintable would like to
--   be displayed at.
--   
--   Consumers of this interface can use this to reserve enough space to
--   draw the paintable.
--   
--   This is a purely informational value and does not in any way limit the
--   values that may be passed to paintableSnapshot.
--   
--   If the paintable does not have a preferred height, it
--   returns 0. Negative values are never returned.
paintableGetIntrinsicHeight :: (HasCallStack, MonadIO m, IsPaintable a) => a -> m Int32

-- | Gets the preferred width the paintable would like to
--   be displayed at.
--   
--   Consumers of this interface can use this to reserve enough space to
--   draw the paintable.
--   
--   This is a purely informational value and does not in any way limit the
--   values that may be passed to paintableSnapshot.
--   
--   If the paintable does not have a preferred width, it
--   returns 0. Negative values are never returned.
paintableGetIntrinsicWidth :: (HasCallStack, MonadIO m, IsPaintable a) => a -> m Int32

-- | Called by implementations of GdkPaintable to invalidate their
--   contents.
--   
--   Unless the contents are invalidated, implementations must guarantee
--   that multiple calls of paintableSnapshot produce the same
--   output.
--   
--   This function will emit the Paintable::invalidateContents
--   signal.
--   
--   If a paintable reports the
--   PaintableFlagsStaticContents flag, it must not call this
--   function.
paintableInvalidateContents :: (HasCallStack, MonadIO m, IsPaintable a) => a -> m ()

-- | Called by implementations of GdkPaintable to invalidate their
--   size.
--   
--   As long as the size is not invalidated, paintable must
--   return the same values for its intrinsic width, height and aspect
--   ratio.
--   
--   This function will emit the Paintable::invalidateSize signal.
--   
--   If a paintable reports the
--   PaintableFlagsStaticSize flag, it must not call this function.
paintableInvalidateSize :: (HasCallStack, MonadIO m, IsPaintable a) => a -> m ()

-- | Returns a paintable that has the given intrinsic size and draws
--   nothing.
--   
--   This is often useful for implementing the
--   Paintable.get_current_image() virtual function
--   when the paintable is in an incomplete state (like a
--   GtkMediaStream before receiving the first frame).
paintableNewEmpty :: (HasCallStack, MonadIO m) => Int32 -> Int32 -> m Paintable

-- | Snapshots the given paintable with the given width and
--   height.
--   
--   The paintable is drawn at the current (0,0) offset of the
--   snapshot. If width and
--   height are not larger than zero, this function will do
--   nothing.
paintableSnapshot :: (HasCallStack, MonadIO m, IsPaintable a, IsSnapshot b) => a -> b -> Double -> Double -> m ()

-- | Emitted when the contents of the paintable change.
--   
--   Examples for such an event would be videos changing to the next frame
--   or the icon theme for an icon changing.
type PaintableInvalidateContentsCallback = IO ()

-- | Connect a signal handler for the invalidateContents signal, to
--   be run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after paintable #invalidateContents callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterPaintableInvalidateContents :: (IsPaintable a, MonadIO m) => a -> ((?self :: a) => PaintableInvalidateContentsCallback) -> m SignalHandlerId

-- | Connect a signal handler for the invalidateContents signal, to
--   be run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on paintable #invalidateContents callback
--   
onPaintableInvalidateContents :: (IsPaintable a, MonadIO m) => a -> ((?self :: a) => PaintableInvalidateContentsCallback) -> m SignalHandlerId

-- | Emitted when the intrinsic size of the paintable
--   changes.
--   
--   This means the values reported by at least one of
--   paintableGetIntrinsicWidth, paintableGetIntrinsicHeight
--   or paintableGetIntrinsicAspectRatio has changed.
--   
--   Examples for such an event would be a paintable displaying the
--   contents of a toplevel surface being resized.
type PaintableInvalidateSizeCallback = IO ()

-- | Connect a signal handler for the invalidateSize signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after paintable #invalidateSize callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterPaintableInvalidateSize :: (IsPaintable a, MonadIO m) => a -> ((?self :: a) => PaintableInvalidateSizeCallback) -> m SignalHandlerId

-- | Connect a signal handler for the invalidateSize signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on paintable #invalidateSize callback
--   
onPaintableInvalidateSize :: (IsPaintable a, MonadIO m) => a -> ((?self :: a) => PaintableInvalidateSizeCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Gdk.Interfaces.Paintable.Paintable
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Interfaces.Paintable.Paintable
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Interfaces.Paintable.Paintable
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Interfaces.Paintable.Paintable)
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Interfaces.Paintable.Paintable o) => GI.Gdk.Interfaces.Paintable.IsPaintable o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Interfaces.Paintable.Paintable
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Interfaces.Paintable.Paintable

-- | Provides information to interpret colors and pixels in a variety of
--   ways.
--   
--   They are also known as *color spaces*.
--   
--   Crucially, GTK knows how to convert colors from one color state to
--   another.
--   
--   GdkColorState objects are immutable and therefore threadsafe.
--   
--   Since: 4.16
module GI.Gdk.Structs.ColorState

-- | Memory-managed wrapper type.
newtype ColorState
ColorState :: ManagedPtr ColorState -> ColorState

-- | Create a CicpParams representing the colorstate.
--   
--   It is not guaranteed that every GdkColorState can be
--   represented with Cicp parameters. If that is the case, this function
--   returns NULL.
--   
--   Since: 4.16
colorStateCreateCicpParams :: (HasCallStack, MonadIO m) => ColorState -> m (Maybe CicpParams)

-- | Compares two GdkColorStates for equality.
--   
--   Note that this function is not guaranteed to be perfect and two
--   objects describing the same color state may compare not equal.
--   However, different color states will never compare equal.
--   
--   Since: 4.16
colorStateEqual :: (HasCallStack, MonadIO m) => ColorState -> ColorState -> m Bool

-- | Compares two GdkColorStates for equivalence.
--   
--   Two objects that represent the same color state should be equivalent,
--   even though they may not be equal in the sense of
--   colorStateEqual.
--   
--   Since: 4.20
colorStateEquivalent :: (HasCallStack, MonadIO m) => ColorState -> ColorState -> m Bool

-- | Returns the color state object representing the oklab color space.
--   
--   This is a perceptually uniform color state.
--   
--   Since: 4.18
colorStateGetOklab :: (HasCallStack, MonadIO m) => m ColorState

-- | Returns the color state object representing the oklch color space.
--   
--   This is the polar variant of oklab, in which the hue is encoded as a
--   polar coordinate.
--   
--   Since: 4.18
colorStateGetOklch :: (HasCallStack, MonadIO m) => m ColorState

-- | Returns the color state object representing the linear rec2100 color
--   space.
--   
--   This color state uses the primaries defined by BT.2020-2 and BT.2100-0
--   and a linear transfer function.
--   
--   It is equivalent to the Cicp tuple 9/8/0/1.
--   
--   See e.g. the CSS HDR Module for details about this colorstate.
--   
--   Since: 4.16
colorStateGetRec2100Linear :: (HasCallStack, MonadIO m) => m ColorState

-- | Returns the color state object representing the rec2100-pq color
--   space.
--   
--   This color state uses the primaries defined by BT.2020-2 and BT.2100-0
--   and the transfer function defined by SMPTE ST 2084 and BT.2100-2.
--   
--   It is equivalent to the Cicp tuple 9/16/0/1.
--   
--   See e.g. the CSS HDR Module for details about this colorstate.
--   
--   Since: 4.16
colorStateGetRec2100Pq :: (HasCallStack, MonadIO m) => m ColorState

-- | Returns the color state object representing the sRGB color space.
--   
--   This color state uses the primaries defined by BT.709-6 and the
--   transfer function defined by IEC 61966-2-1.
--   
--   It is equivalent to the Cicp tuple 1/13/0/1.
--   
--   See e.g. the CSS Color Module for details about this
--   colorstate.
--   
--   Since: 4.16
colorStateGetSrgb :: (HasCallStack, MonadIO m) => m ColorState

-- | Returns the color state object representing the linearized sRGB color
--   space.
--   
--   This color state uses the primaries defined by BT.709-6 and a linear
--   transfer function.
--   
--   It is equivalent to the Cicp tuple 1/8/0/1.
--   
--   See e.g. the CSS Color Module for details about this
--   colorstate.
--   
--   Since: 4.16
colorStateGetSrgbLinear :: (HasCallStack, MonadIO m) => m ColorState

-- | Increase the reference count of self.
--   
--   Since: 4.16
colorStateRef :: (HasCallStack, MonadIO m) => ColorState -> m ColorState

-- | Decrease the reference count of self.
--   
--   Unless self is static, it will be freed when the
--   reference count reaches zero.
--   
--   Since: 4.16
colorStateUnref :: (HasCallStack, MonadIO m) => ColorState -> m ()
instance GHC.Classes.Eq GI.Gdk.Structs.ColorState.ColorState
instance Data.GI.Base.BasicTypes.GBoxed GI.Gdk.Structs.ColorState.ColorState
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Structs.ColorState.ColorState
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Structs.ColorState.ColorState)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.ColorState.ColorState
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Structs.ColorState.ColorState

-- | Refers to pixel data in various forms.
--   
--   It is primarily meant for pixel data that will not change over
--   multiple frames, and will be used for a long time.
--   
--   There are various ways to create GdkTexture objects from a
--   Pixbuf, or from bytes stored in memory, a file, or a
--   Resource.
--   
--   The ownership of the pixel data is transferred to the
--   GdkTexture instance; you can only make a copy of it, via
--   textureDownload.
--   
--   GdkTexture is an immutable object: That means you cannot
--   change anything about it other than increasing the reference count via
--   objectRef, and consequently, it is a threadsafe object.
--   
--   GDK provides a number of threadsafe texture loading functions:
--   textureNewFromResource, textureNewFromBytes,
--   textureNewFromFile, textureNewFromFilename,
--   textureNewForPixbuf. Note that these are meant for loading
--   icons and resources that are shipped with the toolkit or application.
--   It is recommended that you use a dedicated image loading framework
--   such as glycin, if you need to load untrusted image data.
module GI.Gdk.Objects.Texture

-- | Memory-managed wrapper type.
newtype Texture
Texture :: ManagedPtr Texture -> Texture

-- | Type class for types which can be safely cast to Texture, for
--   instance with toTexture.
class (GObject o, IsDescendantOf Texture o) => IsTexture o

-- | Cast to Texture, for types for which this is known to be safe.
--   For general casts, use castTo.
toTexture :: (MonadIO m, IsTexture o) => o -> m Texture

-- | Downloads the texture into local memory.
--   
--   This may be an expensive operation, as the actual texture data may
--   reside on a GPU or on a remote display server.
--   
--   The data format of the downloaded data is equivalent to
--   FormatArgb32, so every downloaded pixel requires 4 bytes of
--   memory.
--   
--   Downloading a texture into a Cairo image surface:
--   
--   
c code
--   
--   
--   surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
--                                         gdk_texture_get_width (texture),
--                                         gdk_texture_get_height (texture));
--   gdk_texture_download (texture,
--                         cairo_image_surface_get_data (surface),
--                         cairo_image_surface_get_stride (surface));
--   cairo_surface_mark_dirty (surface);
--   
--   
--   For more flexible download capabilities, see TextureDownloader.
textureDownload :: (HasCallStack, MonadIO m, IsTexture a) => a -> Ptr Word8 -> CSize -> m ()

-- | Returns the color state associated with the texture.
--   
--   Since: 4.16
textureGetColorState :: (HasCallStack, MonadIO m, IsTexture a) => a -> m ColorState

-- | Gets the memory format most closely associated with the data of the
--   texture.
--   
--   Note that it may not be an exact match for texture data stored on the
--   GPU or with compression.
--   
--   The format can give an indication about the bit depth and opacity of
--   the texture and is useful to determine the best format for downloading
--   the texture.
--   
--   Since: 4.10
textureGetFormat :: (HasCallStack, MonadIO m, IsTexture a) => a -> m MemoryFormat

-- | Returns the height of the texture, in pixels.
textureGetHeight :: (HasCallStack, MonadIO m, IsTexture a) => a -> m Int32

-- | Returns the width of texture, in pixels.
textureGetWidth :: (HasCallStack, MonadIO m, IsTexture a) => a -> m Int32

-- | Creates a new texture object representing the GdkPixbuf.
--   
--   This function is threadsafe, so that you can e.g. use GTask and
--   taskRunInThread to avoid blocking the main thread while loading
--   a big image.

-- | Deprecated: (Since version 4.20)Use e.g. libglycin, which can load
--   many imageformats into a GdkTexture
textureNewForPixbuf :: (HasCallStack, MonadIO m, IsPixbuf a) => a -> m Texture

-- | Creates a new texture by loading an image from memory,
--   
--   The file format is detected automatically. The supported formats are
--   PNG, JPEG and TIFF, though more formats might be available.
--   
--   If NULL is returned, then error will be set.
--   
--   This function is threadsafe, so that you can e.g. use GTask and
--   taskRunInThread to avoid blocking the main thread while loading
--   a big image.
--   
--   ::: warning Note that this function should not be used with untrusted
--   data. Use a proper image loading framework such as libglycin, which
--   can load many image formats into a GdkTexture.
--   
--   Since: 4.6
textureNewFromBytes :: (HasCallStack, MonadIO m) => Bytes -> m Texture

-- | Creates a new texture by loading an image from a file.
--   
--   The file format is detected automatically. The supported formats are
--   PNG, JPEG and TIFF, though more formats might be available.
--   
--   If NULL is returned, then error will be set.
--   
--   This function is threadsafe, so that you can e.g. use GTask and
--   taskRunInThread to avoid blocking the main thread while loading
--   a big image.
--   
--   ::: warning Note that this function should not be used with untrusted
--   data. Use a proper image loading framework such as libglycin, which
--   can load many image formats into a GdkTexture.
textureNewFromFile :: (HasCallStack, MonadIO m, IsFile a) => a -> m Texture

-- | Creates a new texture by loading an image from a file.
--   
--   The file format is detected automatically. The supported formats are
--   PNG, JPEG and TIFF, though more formats might be available.
--   
--   If NULL is returned, then error will be set.
--   
--   This function is threadsafe, so that you can e.g. use GTask and
--   taskRunInThread to avoid blocking the main thread while loading
--   a big image.
--   
--   ::: warning Note that this function should not be used with untrusted
--   data. Use a proper image loading framework such as libglycin, which
--   can load many image formats into a GdkTexture.
--   
--   Since: 4.6
textureNewFromFilename :: (HasCallStack, MonadIO m) => [Char] -> m Texture

-- | Creates a new texture by loading an image from a resource.
--   
--   The file format is detected automatically. The supported formats are
--   PNG, JPEG and TIFF, though more formats might be available.
--   
--   It is a fatal error if resourcePath does not specify a
--   valid image resource and the program will abort if that happens. If
--   you are unsure about the validity of a resource, use
--   textureNewFromFile to load it.
--   
--   This function is threadsafe, so that you can e.g. use GTask and
--   taskRunInThread to avoid blocking the main thread while loading
--   a big image.
textureNewFromResource :: (HasCallStack, MonadIO m) => Text -> m Texture

-- | Store the given texture to the
--   filename as a PNG file.
--   
--   This is a utility function intended for debugging and testing. If you
--   want more control over formats, proper error handling or want to store
--   to a File or other location, you might want to use
--   textureSaveToPngBytes or look into the libglycin library.
textureSaveToPng :: (HasCallStack, MonadIO m, IsTexture a) => a -> [Char] -> m Bool

-- | Store the given texture in memory as a PNG file.
--   
--   Use textureNewFromBytes to read it back.
--   
--   If you want to serialize a texture, this is a convenient and portable
--   way to do that.
--   
--   If you need more control over the generated image, such as attaching
--   metadata, you should look into an image handling library such as the
--   libglycin library.
--   
--   If you are dealing with high dynamic range float data, you might also
--   want to consider textureSaveToTiffBytes instead.
--   
--   Since: 4.6
textureSaveToPngBytes :: (HasCallStack, MonadIO m, IsTexture a) => a -> m Bytes

-- | Store the given texture to the
--   filename as a TIFF file.
--   
--   GTK will attempt to store data without loss.
--   
--   Since: 4.6
textureSaveToTiff :: (HasCallStack, MonadIO m, IsTexture a) => a -> [Char] -> m Bool

-- | Store the given texture in memory as a TIFF file.
--   
--   Use textureNewFromBytes to read it back.
--   
--   This function is intended to store a representation of the texture's
--   data that is as accurate as possible. This is particularly relevant
--   when working with high dynamic range images and floating-point texture
--   data.
--   
--   If that is not your concern and you are interested in a smaller size
--   and a more portable format, you might want to use
--   textureSaveToPngBytes.
--   
--   Since: 4.6
textureSaveToTiffBytes :: (HasCallStack, MonadIO m, IsTexture a) => a -> m Bytes

-- | Construct a GValueConstruct with valid value for the
--   “color-state” property. This is rarely needed directly, but
--   it is used by new.
constructTextureColorState :: (IsTexture o, MonadIO m) => ColorState -> m (GValueConstruct o)

-- | Get the value of the “color-state” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get texture #colorState
--   
getTextureColorState :: (MonadIO m, IsTexture o) => o -> m ColorState

-- | Construct a GValueConstruct with valid value for the
--   “height” property. This is rarely needed directly, but it is
--   used by new.
constructTextureHeight :: (IsTexture o, MonadIO m) => Int32 -> m (GValueConstruct o)

-- | Get the value of the “height” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get texture #height
--   
getTextureHeight :: (MonadIO m, IsTexture o) => o -> m Int32

-- | Construct a GValueConstruct with valid value for the
--   “width” property. This is rarely needed directly, but it is
--   used by new.
constructTextureWidth :: (IsTexture o, MonadIO m) => Int32 -> m (GValueConstruct o)

-- | Get the value of the “width” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get texture #width
--   
getTextureWidth :: (MonadIO m, IsTexture o) => o -> m Int32
instance GHC.Classes.Eq GI.Gdk.Objects.Texture.Texture
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.Texture.Texture
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Texture.Texture
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.Texture.Texture)
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Texture.Texture o) => GI.Gdk.Objects.Texture.IsTexture o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.Texture.Texture
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.Texture.Texture

-- | Constructs Texture objects from system memory provided via
--   Bytes.
--   
--   The operation is quite simple: Create a texture builder, set all the
--   necessary properties - keep in mind that the properties
--   MemoryTextureBuilder:bytes, MemoryTextureBuilder:stride,
--   MemoryTextureBuilder:width, and
--   MemoryTextureBuilder:height are mandatory - and then call
--   memoryTextureBuilderBuild to create the new texture.
--   
--   GdkMemoryTextureBuilder can be used for quick one-shot
--   construction of textures as well as kept around and reused to
--   construct multiple textures.
--   
--   Since: 4.16
module GI.Gdk.Objects.MemoryTextureBuilder

-- | Memory-managed wrapper type.
newtype MemoryTextureBuilder
MemoryTextureBuilder :: ManagedPtr MemoryTextureBuilder -> MemoryTextureBuilder

-- | Type class for types which can be safely cast to
--   MemoryTextureBuilder, for instance with
--   toMemoryTextureBuilder.
class (GObject o, IsDescendantOf MemoryTextureBuilder o) => IsMemoryTextureBuilder o

-- | Cast to MemoryTextureBuilder, for types for which this is known
--   to be safe. For general casts, use castTo.
toMemoryTextureBuilder :: (MonadIO m, IsMemoryTextureBuilder o) => o -> m MemoryTextureBuilder

-- | Builds a new GdkTexture with the values set up in the
--   builder.
--   
--   Note that it is a programming error to call this function if any
--   mandatory property has not been set.
--   
--   It is possible to call this function multiple times to create multiple
--   textures, possibly with changing properties in between.
--   
--   Since: 4.16
memoryTextureBuilderBuild :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> m Texture

-- | Gets the bytes previously set via memoryTextureBuilderSetBytes
--   or Nothing if none was set.
--   
--   Since: 4.16
memoryTextureBuilderGetBytes :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> m (Maybe Bytes)

-- | Gets the colorstate previously set via
--   memoryTextureBuilderSetColorState.
--   
--   Since: 4.16
memoryTextureBuilderGetColorState :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> m ColorState

-- | Gets the format previously set via
--   memoryTextureBuilderSetFormat.
--   
--   Since: 4.16
memoryTextureBuilderGetFormat :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> m MemoryFormat

-- | Gets the height previously set via
--   memoryTextureBuilderSetHeight or 0 if the height wasn't set.
--   
--   Since: 4.16
memoryTextureBuilderGetHeight :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> m Int32

-- | Gets the offset previously set via
--   memoryTextureBuilderSetOffset.
--   
--   Since: 4.20
memoryTextureBuilderGetOffset :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> Word32 -> m CSize

-- | Gets the stride previously set via
--   memoryTextureBuilderSetStride.
--   
--   Since: 4.16
memoryTextureBuilderGetStride :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> m CSize

-- | Gets the stride previously set via
--   memoryTextureBuilderSetStrideForPlane.
--   
--   Since: 4.20
memoryTextureBuilderGetStrideForPlane :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> Word32 -> m CSize

-- | Gets the region previously set via
--   memoryTextureBuilderSetUpdateRegion or Nothing if none
--   was set.
--   
--   Since: 4.16
memoryTextureBuilderGetUpdateRegion :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> m (Maybe Region)

-- | Gets the texture previously set via
--   memoryTextureBuilderSetUpdateTexture or Nothing if none
--   was set.
--   
--   Since: 4.16
memoryTextureBuilderGetUpdateTexture :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> m (Maybe Texture)

-- | Gets the width previously set via memoryTextureBuilderSetWidth
--   or 0 if the width wasn't set.
--   
--   Since: 4.16
memoryTextureBuilderGetWidth :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> m Int32

-- | Creates a new texture builder.
--   
--   Since: 4.16
memoryTextureBuilderNew :: (HasCallStack, MonadIO m) => m MemoryTextureBuilder

-- | Sets the data to be shown but the texture.
--   
--   The bytes must be set before calling memoryTextureBuilderBuild.
--   
--   Since: 4.16
memoryTextureBuilderSetBytes :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> Maybe Bytes -> m ()

-- | Sets the colorstate describing the data.
--   
--   By default, the sRGB colorstate is used. If you don't know what
--   colorstates are, this is probably the right thing.
--   
--   Since: 4.16
memoryTextureBuilderSetColorState :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> ColorState -> m ()

-- | Sets the format of the bytes.
--   
--   The default is GDK_MEMORY_R8G8B8A8_PREMULTIPLIED.
--   
--   Since: 4.16
memoryTextureBuilderSetFormat :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> MemoryFormat -> m ()

-- | Sets the height of the texture.
--   
--   The height must be set before calling memoryTextureBuilderBuild
--   and conform to size requirements of the provided format.
--   
--   Since: 4.16
memoryTextureBuilderSetHeight :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> Int32 -> m ()

-- | Sets the offset of the texture for plane.
--   
--   Since: 4.20
memoryTextureBuilderSetOffset :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> Word32 -> CSize -> m ()

-- | Sets the rowstride of the bytes used.
--   
--   The rowstride must be set before calling
--   memoryTextureBuilderBuild.
--   
--   Since: 4.16
memoryTextureBuilderSetStride :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> CSize -> m ()

-- | Sets the stride of the texture for plane.
--   
--   Since: 4.20
memoryTextureBuilderSetStrideForPlane :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> Word32 -> CSize -> m ()

-- | Sets the region to be updated by this texture.
--   
--   Together with MemoryTextureBuilder:updateTexture, this
--   describes an update of a previous texture.
--   
--   When rendering animations of large textures, it is possible that
--   consecutive textures are only updating contents in parts of the
--   texture. It is then possible to describe this update via these two
--   properties, so that GTK can avoid rerendering parts that did not
--   change.
--   
--   An example would be a screen recording where only the mouse pointer
--   moves.
--   
--   Since: 4.16
memoryTextureBuilderSetUpdateRegion :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> Maybe Region -> m ()

-- | Sets the texture to be updated by this texture.
--   
--   See memoryTextureBuilderSetUpdateRegion for an explanation.
--   
--   Since: 4.16
memoryTextureBuilderSetUpdateTexture :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a, IsTexture b) => a -> Maybe b -> m ()

-- | Sets the width of the texture.
--   
--   The width must be set before calling memoryTextureBuilderBuild
--   and conform to size requirements of the provided format.
--   
--   Since: 4.16
memoryTextureBuilderSetWidth :: (HasCallStack, MonadIO m, IsMemoryTextureBuilder a) => a -> Int32 -> m ()

-- | Set the value of the “bytes” property to Nothing. When
--   overloading is enabled, this is equivalent to
--   
--   
--   clear #bytes
--   
clearMemoryTextureBuilderBytes :: (MonadIO m, IsMemoryTextureBuilder o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “bytes” property. This is rarely needed directly, but it is
--   used by new.
constructMemoryTextureBuilderBytes :: (IsMemoryTextureBuilder o, MonadIO m) => Bytes -> m (GValueConstruct o)

-- | Get the value of the “bytes” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get memoryTextureBuilder #bytes
--   
getMemoryTextureBuilderBytes :: (MonadIO m, IsMemoryTextureBuilder o) => o -> m (Maybe Bytes)

-- | Set the value of the “bytes” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set memoryTextureBuilder [ #bytes := value ]
--   
setMemoryTextureBuilderBytes :: (MonadIO m, IsMemoryTextureBuilder o) => o -> Bytes -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “color-state” property. This is rarely needed directly, but
--   it is used by new.
constructMemoryTextureBuilderColorState :: (IsMemoryTextureBuilder o, MonadIO m) => ColorState -> m (GValueConstruct o)

-- | Get the value of the “color-state” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get memoryTextureBuilder #colorState
--   
getMemoryTextureBuilderColorState :: (MonadIO m, IsMemoryTextureBuilder o) => o -> m ColorState

-- | Set the value of the “color-state” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set memoryTextureBuilder [ #colorState := value ]
--   
setMemoryTextureBuilderColorState :: (MonadIO m, IsMemoryTextureBuilder o) => o -> ColorState -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “format” property. This is rarely needed directly, but it is
--   used by new.
constructMemoryTextureBuilderFormat :: (IsMemoryTextureBuilder o, MonadIO m) => MemoryFormat -> m (GValueConstruct o)

-- | Get the value of the “format” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get memoryTextureBuilder #format
--   
getMemoryTextureBuilderFormat :: (MonadIO m, IsMemoryTextureBuilder o) => o -> m MemoryFormat

-- | Set the value of the “format” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set memoryTextureBuilder [ #format := value ]
--   
setMemoryTextureBuilderFormat :: (MonadIO m, IsMemoryTextureBuilder o) => o -> MemoryFormat -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “height” property. This is rarely needed directly, but it is
--   used by new.
constructMemoryTextureBuilderHeight :: (IsMemoryTextureBuilder o, MonadIO m) => Int32 -> m (GValueConstruct o)

-- | Get the value of the “height” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get memoryTextureBuilder #height
--   
getMemoryTextureBuilderHeight :: (MonadIO m, IsMemoryTextureBuilder o) => o -> m Int32

-- | Set the value of the “height” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set memoryTextureBuilder [ #height := value ]
--   
setMemoryTextureBuilderHeight :: (MonadIO m, IsMemoryTextureBuilder o) => o -> Int32 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “stride” property. This is rarely needed directly, but it is
--   used by new.
constructMemoryTextureBuilderStride :: (IsMemoryTextureBuilder o, MonadIO m) => Word64 -> m (GValueConstruct o)

-- | Get the value of the “stride” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get memoryTextureBuilder #stride
--   
getMemoryTextureBuilderStride :: (MonadIO m, IsMemoryTextureBuilder o) => o -> m Word64

-- | Set the value of the “stride” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set memoryTextureBuilder [ #stride := value ]
--   
setMemoryTextureBuilderStride :: (MonadIO m, IsMemoryTextureBuilder o) => o -> Word64 -> m ()

-- | Set the value of the “update-region” property to
--   Nothing. When overloading is enabled, this is equivalent
--   to
--   
--   
--   clear #updateRegion
--   
clearMemoryTextureBuilderUpdateRegion :: (MonadIO m, IsMemoryTextureBuilder o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “update-region” property. This is rarely needed directly, but
--   it is used by new.
constructMemoryTextureBuilderUpdateRegion :: (IsMemoryTextureBuilder o, MonadIO m) => Region -> m (GValueConstruct o)

-- | Get the value of the “update-region” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get memoryTextureBuilder #updateRegion
--   
getMemoryTextureBuilderUpdateRegion :: (MonadIO m, IsMemoryTextureBuilder o) => o -> m (Maybe Region)

-- | Set the value of the “update-region” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set memoryTextureBuilder [ #updateRegion := value ]
--   
setMemoryTextureBuilderUpdateRegion :: (MonadIO m, IsMemoryTextureBuilder o) => o -> Region -> m ()

-- | Set the value of the “update-texture” property to
--   Nothing. When overloading is enabled, this is equivalent
--   to
--   
--   
--   clear #updateTexture
--   
clearMemoryTextureBuilderUpdateTexture :: (MonadIO m, IsMemoryTextureBuilder o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “update-texture” property. This is rarely needed directly,
--   but it is used by new.
constructMemoryTextureBuilderUpdateTexture :: (IsMemoryTextureBuilder o, MonadIO m, IsTexture a) => a -> m (GValueConstruct o)

-- | Get the value of the “update-texture” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get memoryTextureBuilder #updateTexture
--   
getMemoryTextureBuilderUpdateTexture :: (MonadIO m, IsMemoryTextureBuilder o) => o -> m (Maybe Texture)

-- | Set the value of the “update-texture” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set memoryTextureBuilder [ #updateTexture := value ]
--   
setMemoryTextureBuilderUpdateTexture :: (MonadIO m, IsMemoryTextureBuilder o, IsTexture a) => o -> a -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “width” property. This is rarely needed directly, but it is
--   used by new.
constructMemoryTextureBuilderWidth :: (IsMemoryTextureBuilder o, MonadIO m) => Int32 -> m (GValueConstruct o)

-- | Get the value of the “width” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get memoryTextureBuilder #width
--   
getMemoryTextureBuilderWidth :: (MonadIO m, IsMemoryTextureBuilder o) => o -> m Int32

-- | Set the value of the “width” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set memoryTextureBuilder [ #width := value ]
--   
setMemoryTextureBuilderWidth :: (MonadIO m, IsMemoryTextureBuilder o) => o -> Int32 -> m ()
instance GHC.Classes.Eq GI.Gdk.Objects.MemoryTextureBuilder.MemoryTextureBuilder
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.MemoryTextureBuilder.MemoryTextureBuilder
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.MemoryTextureBuilder.MemoryTextureBuilder
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.MemoryTextureBuilder.MemoryTextureBuilder)
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.MemoryTextureBuilder.MemoryTextureBuilder o) => GI.Gdk.Objects.MemoryTextureBuilder.IsMemoryTextureBuilder o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.MemoryTextureBuilder.MemoryTextureBuilder
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.MemoryTextureBuilder.MemoryTextureBuilder

-- | A GdkTexture representing image data in memory.
module GI.Gdk.Objects.MemoryTexture

-- | Memory-managed wrapper type.
newtype MemoryTexture
MemoryTexture :: ManagedPtr MemoryTexture -> MemoryTexture

-- | Type class for types which can be safely cast to MemoryTexture,
--   for instance with toMemoryTexture.
class (GObject o, IsDescendantOf MemoryTexture o) => IsMemoryTexture o

-- | Cast to MemoryTexture, for types for which this is known to be
--   safe. For general casts, use castTo.
toMemoryTexture :: (MonadIO m, IsMemoryTexture o) => o -> m MemoryTexture

-- | Creates a new texture for a blob of image data.
--   
--   The GBytes must contain stride ×
--   height pixels in the given format.
memoryTextureNew :: (HasCallStack, MonadIO m) => Int32 -> Int32 -> MemoryFormat -> Bytes -> CSize -> m MemoryTexture
instance GHC.Classes.Eq GI.Gdk.Objects.MemoryTexture.MemoryTexture
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.MemoryTexture.MemoryTexture
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.MemoryTexture.MemoryTexture
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.MemoryTexture.MemoryTexture)
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.MemoryTexture.MemoryTexture o) => GI.Gdk.Objects.MemoryTexture.IsMemoryTexture o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.MemoryTexture.MemoryTexture
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.MemoryTexture.MemoryTexture

-- | A GdkTexture representing a DMA buffer.
--   
--   To create a GdkDmabufTexture, use the auxiliary
--   DmabufTextureBuilder object.
--   
--   Dma-buf textures can only be created on Linux.
--   
--   Since: 4.14
module GI.Gdk.Objects.DmabufTexture

-- | Memory-managed wrapper type.
newtype DmabufTexture
DmabufTexture :: ManagedPtr DmabufTexture -> DmabufTexture

-- | Type class for types which can be safely cast to DmabufTexture,
--   for instance with toDmabufTexture.
class (GObject o, IsDescendantOf DmabufTexture o) => IsDmabufTexture o

-- | Cast to DmabufTexture, for types for which this is known to be
--   safe. For general casts, use castTo.
toDmabufTexture :: (MonadIO m, IsDmabufTexture o) => o -> m DmabufTexture
instance GHC.Classes.Eq GI.Gdk.Objects.DmabufTexture.DmabufTexture
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.DmabufTexture.DmabufTexture
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.DmabufTexture.DmabufTexture
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.DmabufTexture.DmabufTexture o) => GI.Gdk.Objects.DmabufTexture.IsDmabufTexture o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.DmabufTexture.DmabufTexture)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.DmabufTexture.DmabufTexture
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.DmabufTexture.DmabufTexture

-- | Contains the parameters that define a colorstate with cicp parameters.
--   
--   Cicp parameters are specified in the ITU-T H.273 specification.
--   
--   See the documentation of individual properties for supported values.
--   
--   The 'unspecified' value (2) is not treated in any special way, and
--   must be replaced by a different value before creating a color state.
--   
--   GdkCicpParams can be used as a builder object to construct a
--   color state from Cicp data with cicpParamsBuildColorState. The
--   function will return an error if the given parameters are not
--   supported.
--   
--   You can obtain a GdkCicpParams object from a color state with
--   colorStateCreateCicpParams. This can be used to create a
--   variant of a color state, by changing just one of the cicp parameters,
--   or just to obtain information about the color state.
--   
--   Since: 4.16
module GI.Gdk.Objects.CicpParams

-- | Memory-managed wrapper type.
newtype CicpParams
CicpParams :: ManagedPtr CicpParams -> CicpParams

-- | Type class for types which can be safely cast to CicpParams,
--   for instance with toCicpParams.
class (GObject o, IsDescendantOf CicpParams o) => IsCicpParams o

-- | Cast to CicpParams, for types for which this is known to be
--   safe. For general casts, use castTo.
toCicpParams :: (MonadIO m, IsCicpParams o) => o -> m CicpParams

-- | Creates a new GdkColorState object for the cicp parameters in
--   self.
--   
--   Note that this may fail if the cicp parameters in self
--   are not supported by GTK. In that case, NULL is returned, and
--   error is set with an error message that can be
--   presented to the user.
--   
--   Since: 4.16
cicpParamsBuildColorState :: (HasCallStack, MonadIO m, IsCicpParams a) => a -> m ColorState

-- | Returns the value of the color-primaries property of
--   self.
--   
--   Since: 4.16
cicpParamsGetColorPrimaries :: (HasCallStack, MonadIO m, IsCicpParams a) => a -> m Word32

-- | Gets the matrix-coefficients property of self.
--   
--   Since: 4.16
cicpParamsGetMatrixCoefficients :: (HasCallStack, MonadIO m, IsCicpParams a) => a -> m Word32

-- | Gets the range property of self.
--   
--   Since: 4.16
cicpParamsGetRange :: (HasCallStack, MonadIO m, IsCicpParams a) => a -> m CicpRange

-- | Gets the transfer-function property of self.
--   
--   Since: 4.16
cicpParamsGetTransferFunction :: (HasCallStack, MonadIO m, IsCicpParams a) => a -> m Word32

-- | Creates a new GdkCicpParams object.
--   
--   The initial values of the properties are the values for "undefined"
--   and need to be set before a color state object can be built.
--   
--   Since: 4.16
cicpParamsNew :: (HasCallStack, MonadIO m) => m CicpParams

-- | Sets the color-primaries property of self.
--   
--   Since: 4.16
cicpParamsSetColorPrimaries :: (HasCallStack, MonadIO m, IsCicpParams a) => a -> Word32 -> m ()

-- | self a GdkCicpParams Sets the
--   matrix-coefficients property of self.
--   
--   Since: 4.16
cicpParamsSetMatrixCoefficients :: (HasCallStack, MonadIO m, IsCicpParams a) => a -> Word32 -> m ()

-- | Sets the range property of self
--   
--   Since: 4.16
cicpParamsSetRange :: (HasCallStack, MonadIO m, IsCicpParams a) => a -> CicpRange -> m ()

-- | Sets the transfer-function property of self.
--   
--   Since: 4.16
cicpParamsSetTransferFunction :: (HasCallStack, MonadIO m, IsCicpParams a) => a -> Word32 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “color-primaries” property. This is rarely needed directly,
--   but it is used by new.
constructCicpParamsColorPrimaries :: (IsCicpParams o, MonadIO m) => Word32 -> m (GValueConstruct o)

-- | Get the value of the “color-primaries” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get cicpParams #colorPrimaries
--   
getCicpParamsColorPrimaries :: (MonadIO m, IsCicpParams o) => o -> m Word32

-- | Set the value of the “color-primaries” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set cicpParams [ #colorPrimaries := value ]
--   
setCicpParamsColorPrimaries :: (MonadIO m, IsCicpParams o) => o -> Word32 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “matrix-coefficients” property. This is rarely needed
--   directly, but it is used by new.
constructCicpParamsMatrixCoefficients :: (IsCicpParams o, MonadIO m) => Word32 -> m (GValueConstruct o)

-- | Get the value of the “matrix-coefficients” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get cicpParams #matrixCoefficients
--   
getCicpParamsMatrixCoefficients :: (MonadIO m, IsCicpParams o) => o -> m Word32

-- | Set the value of the “matrix-coefficients” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set cicpParams [ #matrixCoefficients := value ]
--   
setCicpParamsMatrixCoefficients :: (MonadIO m, IsCicpParams o) => o -> Word32 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “range” property. This is rarely needed directly, but it is
--   used by new.
constructCicpParamsRange :: (IsCicpParams o, MonadIO m) => CicpRange -> m (GValueConstruct o)

-- | Get the value of the “range” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get cicpParams #range
--   
getCicpParamsRange :: (MonadIO m, IsCicpParams o) => o -> m CicpRange

-- | Set the value of the “range” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set cicpParams [ #range := value ]
--   
setCicpParamsRange :: (MonadIO m, IsCicpParams o) => o -> CicpRange -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “transfer-function” property. This is rarely needed directly,
--   but it is used by new.
constructCicpParamsTransferFunction :: (IsCicpParams o, MonadIO m) => Word32 -> m (GValueConstruct o)

-- | Get the value of the “transfer-function” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get cicpParams #transferFunction
--   
getCicpParamsTransferFunction :: (MonadIO m, IsCicpParams o) => o -> m Word32

-- | Set the value of the “transfer-function” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set cicpParams [ #transferFunction := value ]
--   
setCicpParamsTransferFunction :: (MonadIO m, IsCicpParams o) => o -> Word32 -> m ()
instance GHC.Classes.Eq GI.Gdk.Objects.CicpParams.CicpParams
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.CicpParams.CicpParams
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.CicpParams.CicpParams
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.CicpParams.CicpParams o) => GI.Gdk.Objects.CicpParams.IsCicpParams o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.CicpParams.CicpParams)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.CicpParams.CicpParams
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.CicpParams.CicpParams

module GI.Gdk.Callbacks

-- | Type for the callback on the (unwrapped) C side.
type C_ContentDeserializeFunc = Ptr ContentDeserializer -> IO ()

-- | The type of a function that can be registered with
--   contentRegisterDeserializer.
--   
--   When the function gets called to operate on content, it can call
--   functions on the deserializer object to obtain the
--   mime type, input stream, user data, etc. for its operation.
type ContentDeserializeFunc = ContentDeserializer -> IO ()

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_ContentDeserializeFunc :: (HasCallStack, MonadIO m, IsContentDeserializer a) => FunPtr C_ContentDeserializeFunc -> a -> m ()

-- | Wrap the callback into a GClosure.
genClosure_ContentDeserializeFunc :: MonadIO m => ContentDeserializeFunc -> m (GClosure C_ContentDeserializeFunc)

-- | Generate a function pointer callable from C code, from a
--   C_ContentDeserializeFunc.
mk_ContentDeserializeFunc :: C_ContentDeserializeFunc -> IO (FunPtr C_ContentDeserializeFunc)

-- | A convenience synonym for Nothing :: Maybe
--   ContentDeserializeFunc.
noContentDeserializeFunc :: Maybe ContentDeserializeFunc

-- | Wrap a ContentDeserializeFunc into a
--   C_ContentDeserializeFunc.
wrap_ContentDeserializeFunc :: Maybe (Ptr (FunPtr C_ContentDeserializeFunc)) -> ContentDeserializeFunc -> C_ContentDeserializeFunc

-- | Type for the callback on the (unwrapped) C side.
type C_ContentSerializeFunc = Ptr ContentSerializer -> IO ()

-- | The type of a function that can be registered with
--   contentRegisterSerializer.
--   
--   When the function gets called to operate on content, it can call
--   functions on the serializer object to obtain the mime
--   type, output stream, user data, etc. for its operation.
type ContentSerializeFunc = ContentSerializer -> IO ()

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_ContentSerializeFunc :: (HasCallStack, MonadIO m, IsContentSerializer a) => FunPtr C_ContentSerializeFunc -> a -> m ()

-- | Wrap the callback into a GClosure.
genClosure_ContentSerializeFunc :: MonadIO m => ContentSerializeFunc -> m (GClosure C_ContentSerializeFunc)

-- | Generate a function pointer callable from C code, from a
--   C_ContentSerializeFunc.
mk_ContentSerializeFunc :: C_ContentSerializeFunc -> IO (FunPtr C_ContentSerializeFunc)

-- | A convenience synonym for Nothing :: Maybe
--   ContentSerializeFunc.
noContentSerializeFunc :: Maybe ContentSerializeFunc

-- | Wrap a ContentSerializeFunc into a
--   C_ContentSerializeFunc.
wrap_ContentSerializeFunc :: Maybe (Ptr (FunPtr C_ContentSerializeFunc)) -> ContentSerializeFunc -> C_ContentSerializeFunc

-- | Type for the callback on the (unwrapped) C side.
type C_CursorGetTextureCallback = Ptr Cursor -> Int32 -> CDouble -> Ptr Int32 -> Ptr Int32 -> Ptr Int32 -> Ptr Int32 -> Ptr () -> IO Ptr Texture

-- | The type of callback used by a dynamic GdkCursor to generate
--   a texture for the cursor image at the given cursorSize
--   and scale.
--   
--   The actual cursor size in application pixels may be different from
--   cursorSize x cursorSize, and will be
--   returned in width, height. The
--   returned texture should have a size that corresponds to the actual
--   cursor size, in device pixels (i.e. application pixels, multiplied by
--   scale).
--   
--   This function may fail and return NULL, in which case the
--   fallback cursor will be used.
type CursorGetTextureCallback = Cursor -> Int32 -> Double -> Ptr () -> IO (Maybe Texture, Int32, Int32, Int32, Int32)

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_CursorGetTextureCallback :: (HasCallStack, MonadIO m, IsCursor a) => FunPtr C_CursorGetTextureCallback -> a -> Int32 -> Double -> Ptr () -> m (Maybe Texture, Int32, Int32, Int32, Int32)

-- | Wrap the callback into a GClosure.
genClosure_CursorGetTextureCallback :: MonadIO m => CursorGetTextureCallback -> m (GClosure C_CursorGetTextureCallback)

-- | Generate a function pointer callable from C code, from a
--   C_CursorGetTextureCallback.
mk_CursorGetTextureCallback :: C_CursorGetTextureCallback -> IO (FunPtr C_CursorGetTextureCallback)

-- | A convenience synonym for Nothing :: Maybe
--   CursorGetTextureCallback.
noCursorGetTextureCallback :: Maybe CursorGetTextureCallback

-- | Wrap a CursorGetTextureCallback into a
--   C_CursorGetTextureCallback.
wrap_CursorGetTextureCallback :: Maybe (Ptr (FunPtr C_CursorGetTextureCallback)) -> CursorGetTextureCallback -> C_CursorGetTextureCallback

-- | Used to create and destroy cursors.
--   
--   Cursors are immutable objects, so once you created them, there is no
--   way to modify them later. You should create a new cursor when you want
--   to change something about it.
--   
--   Cursors by themselves are not very interesting: they must be bound to
--   a window for users to see them. This is done with
--   surfaceSetCursor or surfaceSetDeviceCursor. Applications
--   will typically use higher-level GTK functions such as
--   gtk_widget_set_cursor() instead.
--   
--   Cursors are not bound to a given Display, so they can be
--   shared. However, the appearance of cursors may vary when used on
--   different platforms.
--   
--   
Named and texture cursors
--   
--   There are multiple ways to create cursors. The platform's own cursors
--   can be created with cursorNewFromName. That function lists the
--   commonly available names that are shared with the CSS specification.
--   Other names may be available, depending on the platform in use. On
--   some platforms, what images are used for named cursors may be
--   influenced by the cursor theme.
--   
--   Another option to create a cursor is to use
--   cursorNewFromTexture and provide an image to use for the
--   cursor.
--   
--   To ease work with unsupported cursors, a fallback cursor can be
--   provided. If a Surface cannot use a cursor because of the
--   reasons mentioned above, it will try the fallback cursor. Fallback
--   cursors can themselves have fallback cursors again, so it is possible
--   to provide a chain of progressively easier to support cursors. If none
--   of the provided cursors can be supported, the default cursor will be
--   the ultimate fallback.
module GI.Gdk.Objects.Cursor

-- | Memory-managed wrapper type.
newtype Cursor
Cursor :: ManagedPtr Cursor -> Cursor

-- | Type class for types which can be safely cast to Cursor, for
--   instance with toCursor.
class (GObject o, IsDescendantOf Cursor o) => IsCursor o

-- | Cast to Cursor, for types for which this is known to be safe.
--   For general casts, use castTo.
toCursor :: (MonadIO m, IsCursor o) => o -> m Cursor

-- | Returns the fallback for this cursor.
--   
--   The fallback will be used if this cursor is not available on a given
--   GdkDisplay. For named cursors, this can happen when using
--   nonstandard names or when using an incomplete cursor theme. For
--   textured cursors, this can happen when the texture is too large or
--   when the GdkDisplay it is used on does not support textured
--   cursors.
cursorGetFallback :: (HasCallStack, MonadIO m, IsCursor a) => a -> m (Maybe Cursor)

-- | Returns the horizontal offset of the hotspot.
--   
--   The hotspot indicates the pixel that will be directly above the
--   cursor.
--   
--   Note that named cursors may have a nonzero hotspot, but this function
--   will only return the hotspot position for cursors created with
--   cursorNewFromTexture.
cursorGetHotspotX :: (HasCallStack, MonadIO m, IsCursor a) => a -> m Int32

-- | Returns the vertical offset of the hotspot.
--   
--   The hotspot indicates the pixel that will be directly above the
--   cursor.
--   
--   Note that named cursors may have a nonzero hotspot, but this function
--   will only return the hotspot position for cursors created with
--   cursorNewFromTexture.
cursorGetHotspotY :: (HasCallStack, MonadIO m, IsCursor a) => a -> m Int32

-- | Returns the name of the cursor.
--   
--   If the cursor is not a named cursor, Nothing will be returned.
cursorGetName :: (HasCallStack, MonadIO m, IsCursor a) => a -> m (Maybe Text)

-- | Returns the texture for the cursor.
--   
--   If the cursor is a named cursor, Nothing will be returned.
cursorGetTexture :: (HasCallStack, MonadIO m, IsCursor a) => a -> m (Maybe Texture)

-- | Creates a new callback-based cursor object.
--   
--   Cursors of this kind produce textures for the cursor image on demand,
--   when the callback is called.
--   
--   Since: 4.16
cursorNewFromCallback :: (HasCallStack, MonadIO m, IsCursor a) => CursorGetTextureCallback -> Maybe a -> m (Maybe Cursor)

-- | Creates a new cursor by looking up name in the current
--   cursor theme.
--   
--   A recommended set of cursor names that will work across different
--   platforms can be found in the CSS specification:
--   
--   | | | | | --- | --- | --- | | | "none" | No cursor | | | "default" |
--   The default cursor | | | "help" | Help is available | | | "pointer" |
--   Indicates a link or interactive element | | |"context-menu" | A
--   context menu is available | | | "progress" | Progress indicator | | |
--   "wait" | Busy cursor | | | "cell" | Cell(s) may be selected | | |
--   "crosshair" | Simple crosshair | | | "text" | Text may be selected | |
--   | "vertical-text" | Vertical text may be selected | | | "alias" | DND:
--   Something will be linked | | | "copy" | DND: Something will be copied
--   | | | "move" | DND: Something will be moved | | | "dnd-ask" | DND:
--   User can choose action to be carried out | | | "no-drop" | DND: Can't
--   drop here | | | "not-allowed" | DND: Action will not be carried out |
--   | | "grab" | DND: Something can be grabbed | | | "grabbing" | DND:
--   Something is being grabbed | | | "n-resize" | Resizing: Move north
--   border | | | "e-resize" | Resizing: Move east border | | | "s-resize"
--   | Resizing: Move south border | | | "w-resize" | Resizing: Move west
--   border | | | "ne-resize" | Resizing: Move north-east corner | | |
--   "nw-resize" | Resizing: Move north-west corner | | | "sw-resize" |
--   Resizing: Move south-west corner | | | "se-resize" | Resizing: Move
--   south-east corner | | | "col-resize" | Resizing: Move an item or
--   border horizontally | | | "row-resize" | Resizing: Move an item or
--   border vertically | | | "ew-resize" | Moving: Something can be moved
--   horizontally | | | "ns-resize" | Moving: Something can be moved
--   vertically | | | "nesw-resize" | Moving: Something can be moved
--   diagonally, north-east to south-west | | | "nwse-resize" | Moving:
--   something can be moved diagonally, north-west to south-east | | |
--   "all-resize" | Moving: Something can be moved in any direction | | |
--   "all-scroll" | Can scroll in any direction | | | "zoom-in" | Zoom in |
--   | | "zoom-out" | Zoom out |
cursorNewFromName :: (HasCallStack, MonadIO m, IsCursor a) => Text -> Maybe a -> m (Maybe Cursor)

-- | Creates a new cursor from a GdkTexture.
cursorNewFromTexture :: (HasCallStack, MonadIO m, IsTexture a, IsCursor b) => a -> Int32 -> Int32 -> Maybe b -> m Cursor

-- | Construct a GValueConstruct with valid value for the
--   “fallback” property. This is rarely needed directly, but it
--   is used by new.
constructCursorFallback :: (IsCursor o, MonadIO m, IsCursor a) => a -> m (GValueConstruct o)

-- | Get the value of the “fallback” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get cursor #fallback
--   
getCursorFallback :: (MonadIO m, IsCursor o) => o -> m (Maybe Cursor)

-- | Construct a GValueConstruct with valid value for the
--   “hotspot-x” property. This is rarely needed directly, but it
--   is used by new.
constructCursorHotspotX :: (IsCursor o, MonadIO m) => Int32 -> m (GValueConstruct o)

-- | Get the value of the “hotspot-x” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get cursor #hotspotX
--   
getCursorHotspotX :: (MonadIO m, IsCursor o) => o -> m Int32

-- | Construct a GValueConstruct with valid value for the
--   “hotspot-y” property. This is rarely needed directly, but it
--   is used by new.
constructCursorHotspotY :: (IsCursor o, MonadIO m) => Int32 -> m (GValueConstruct o)

-- | Get the value of the “hotspot-y” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get cursor #hotspotY
--   
getCursorHotspotY :: (MonadIO m, IsCursor o) => o -> m Int32

-- | Construct a GValueConstruct with valid value for the
--   “name” property. This is rarely needed directly, but it is
--   used by new.
constructCursorName :: (IsCursor o, MonadIO m) => Text -> m (GValueConstruct o)

-- | Get the value of the “name” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get cursor #name
--   
getCursorName :: (MonadIO m, IsCursor o) => o -> m (Maybe Text)

-- | Construct a GValueConstruct with valid value for the
--   “texture” property. This is rarely needed directly, but it is
--   used by new.
constructCursorTexture :: (IsCursor o, MonadIO m, IsTexture a) => a -> m (GValueConstruct o)

-- | Get the value of the “texture” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get cursor #texture
--   
getCursorTexture :: (MonadIO m, IsCursor o) => o -> m (Maybe Texture)
instance GHC.Classes.Eq GI.Gdk.Objects.Cursor.Cursor
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.Cursor.Cursor
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Cursor.Cursor
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Cursor.Cursor o) => GI.Gdk.Objects.Cursor.IsCursor o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.Cursor.Cursor)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.Cursor.Cursor
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.Cursor.Cursor

-- | Used to advertise and negotiate the format of content.
--   
--   You will encounter GdkContentFormats when interacting with
--   objects controlling operations that pass data between different
--   widgets, window or application, like Drag, Drop,
--   Clipboard or ContentProvider.
--   
--   GDK supports content in 2 forms: GType and mime type. Using
--   GTypes is meant only for in-process content transfers. Mime
--   types are meant to be used for data passing both in-process and
--   out-of-process. The details of how data is passed is described in the
--   documentation of the actual implementations. To transform between the
--   two forms, ContentSerializer and ContentDeserializer are
--   used.
--   
--   A GdkContentFormats describes a set of possible formats
--   content can be exchanged in. It is assumed that this set is ordered.
--   GTypes are more important than mime types. Order between
--   different GTypes or mime types is the order they were added
--   in, most important first. Functions that care about order, such as
--   contentFormatsUnion, will describe in their documentation how
--   they interpret that order, though in general the order of the first
--   argument is considered the primary order of the result, followed by
--   the order of further arguments.
--   
--   For debugging purposes, the function contentFormatsToString
--   exists. It will print a comma-separated list of formats from most
--   important to least important.
--   
--   GdkContentFormats is an immutable struct. After creation, you
--   cannot change the types it represents. Instead, new
--   GdkContentFormats have to be created. The
--   ContentFormatsBuilder structure is meant to help in this
--   endeavor.
module GI.Gdk.Structs.ContentFormats

-- | Memory-managed wrapper type.
newtype ContentFormats
ContentFormats :: ManagedPtr ContentFormats -> ContentFormats

-- | Checks if a given GType is part of the given
--   formats.
contentFormatsContainGtype :: (HasCallStack, MonadIO m) => ContentFormats -> GType -> m Bool

-- | Checks if a given mime type is part of the given
--   formats.
contentFormatsContainMimeType :: (HasCallStack, MonadIO m) => ContentFormats -> Text -> m Bool

-- | Gets the GTypes included in formats.
--   
--   Note that formats may not contain any GTypes,
--   in particular when they are empty. In that case Nothing will be
--   returned.
contentFormatsGetGtypes :: (HasCallStack, MonadIO m) => ContentFormats -> m (Maybe [GType], CSize)

-- | Gets the mime types included in formats.
--   
--   Note that formats may not contain any mime types, in
--   particular when they are empty. In that case Nothing will be
--   returned.
contentFormatsGetMimeTypes :: (HasCallStack, MonadIO m) => ContentFormats -> m (Maybe [Text], CSize)

-- | Returns whether the content formats contain any formats.
--   
--   Since: 4.18
contentFormatsIsEmpty :: (HasCallStack, MonadIO m) => ContentFormats -> m Bool

-- | Checks if first and second have any
--   matching formats.
contentFormatsMatch :: (HasCallStack, MonadIO m) => ContentFormats -> ContentFormats -> m Bool

-- | Finds the first GType from first that is also
--   contained in second.
--   
--   If no matching GType is found, G_TYPE_INVALID
--   is returned.
contentFormatsMatchGtype :: (HasCallStack, MonadIO m) => ContentFormats -> ContentFormats -> m GType

-- | Finds the first mime type from first that is also
--   contained in second.
--   
--   If no matching mime type is found, Nothing is returned.
contentFormatsMatchMimeType :: (HasCallStack, MonadIO m) => ContentFormats -> ContentFormats -> m (Maybe Text)

-- | Creates a new GdkContentFormats from an array of mime types.
--   
--   The mime types must be valid and different from each other or the
--   behavior of the return value is undefined. If you cannot guarantee
--   this, use ContentFormatsBuilder instead.
contentFormatsNew :: (HasCallStack, MonadIO m) => Maybe [Text] -> m ContentFormats

-- | Creates a new GdkContentFormats for a given GType.
contentFormatsNewForGtype :: (HasCallStack, MonadIO m) => GType -> m ContentFormats

-- | Parses the given string into
--   GdkContentFormats and returns the formats.
--   
--   Strings printed via contentFormatsToString can be read in again
--   successfully using this function.
--   
--   If string does not describe valid content formats,
--   Nothing is returned.
--   
--   Since: 4.4
contentFormatsParse :: (HasCallStack, MonadIO m) => Text -> m (Maybe ContentFormats)

-- | Prints the given formats into a string for human
--   consumption.
--   
--   The result of this function can later be parsed with
--   contentFormatsParse.
contentFormatsPrint :: (HasCallStack, MonadIO m) => ContentFormats -> String -> m ()

-- | Increases the reference count of a GdkContentFormats by one.
contentFormatsRef :: (HasCallStack, MonadIO m) => ContentFormats -> m ContentFormats

-- | Prints the given formats into a human-readable string.
--   
--   The resulting string can be parsed with contentFormatsParse.
--   
--   This is a small wrapper around contentFormatsPrint to help when
--   debugging.
contentFormatsToString :: (HasCallStack, MonadIO m) => ContentFormats -> m Text

-- | Append all missing types from second to
--   first, in the order they had in
--   second.
contentFormatsUnion :: (HasCallStack, MonadIO m) => ContentFormats -> ContentFormats -> m ContentFormats

-- | Add GTypes for mime types in formats for which
--   deserializers are registered.
contentFormatsUnionDeserializeGtypes :: (HasCallStack, MonadIO m) => ContentFormats -> m ContentFormats

-- | Add mime types for GTypes in formats for which
--   deserializers are registered.
contentFormatsUnionDeserializeMimeTypes :: (HasCallStack, MonadIO m) => ContentFormats -> m ContentFormats

-- | Add GTypes for the mime types in formats for which
--   serializers are registered.
contentFormatsUnionSerializeGtypes :: (HasCallStack, MonadIO m) => ContentFormats -> m ContentFormats

-- | Add mime types for GTypes in formats for which
--   serializers are registered.
contentFormatsUnionSerializeMimeTypes :: (HasCallStack, MonadIO m) => ContentFormats -> m ContentFormats

-- | Decreases the reference count of a GdkContentFormats by one.
--   
--   If the resulting reference count is zero, frees the formats.
contentFormatsUnref :: (HasCallStack, MonadIO m) => ContentFormats -> m ()
instance GHC.Classes.Eq GI.Gdk.Structs.ContentFormats.ContentFormats
instance Data.GI.Base.BasicTypes.GBoxed GI.Gdk.Structs.ContentFormats.ContentFormats
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Structs.ContentFormats.ContentFormats
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Structs.ContentFormats.ContentFormats)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.ContentFormats.ContentFormats
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Structs.ContentFormats.ContentFormats

-- | Provides content for the clipboard or for drag-and-drop operations in
--   a number of formats.
--   
--   To create a GdkContentProvider, use
--   contentProviderNewForValue or
--   contentProviderNewForBytes.
--   
--   GDK knows how to handle common text and image formats out-of-the-box.
--   See ContentSerializer and ContentDeserializer if you
--   want to add support for application-specific data formats.
module GI.Gdk.Objects.ContentProvider

-- | Memory-managed wrapper type.
newtype ContentProvider
ContentProvider :: ManagedPtr ContentProvider -> ContentProvider

-- | Type class for types which can be safely cast to
--   ContentProvider, for instance with toContentProvider.
class (GObject o, IsDescendantOf ContentProvider o) => IsContentProvider o

-- | Cast to ContentProvider, for types for which this is known to
--   be safe. For general casts, use castTo.
toContentProvider :: (MonadIO m, IsContentProvider o) => o -> m ContentProvider

-- | Emits the contentChanged signal.
contentProviderContentChanged :: (HasCallStack, MonadIO m, IsContentProvider a) => a -> m ()

-- | Gets the contents of provider stored in
--   value.
--   
--   The value will have been initialized to the
--   GType the value should be provided in. This given
--   GType does not need to be listed in the formats returned by
--   contentProviderRefFormats. However, if the given GType
--   is not supported, this operation can fail and
--   G_IO_ERROR_NOT_SUPPORTED will be reported.
contentProviderGetValue :: (HasCallStack, MonadIO m, IsContentProvider a) => a -> GValue -> m ()

-- | Create a content provider that provides the given
--   bytes as data for the given mimeType.
contentProviderNewForBytes :: (HasCallStack, MonadIO m) => Text -> Bytes -> m ContentProvider

-- | Create a content provider that provides the given
--   value.
contentProviderNewForValue :: (HasCallStack, MonadIO m) => GValue -> m ContentProvider

-- | Creates a content provider that represents all the given
--   providers.
--   
--   Whenever data needs to be written, the union provider will try the
--   given providers in the given order and the first one
--   supporting a format will be chosen to provide it.
--   
--   This allows an easy way to support providing data in different
--   formats. For example, an image may be provided by its file and by the
--   image contents with a call such as
--   
--   
c code
--   
--   
--   gdk_content_provider_new_union ((GdkContentProvider *[2]) {
--                                     gdk_content_provider_new_typed (G_TYPE_FILE, file),
--                                     gdk_content_provider_new_typed (GDK_TYPE_TEXTURE, texture)
--                                   }, 2);
--   
contentProviderNewUnion :: (HasCallStack, MonadIO m) => Maybe [ContentProvider] -> m ContentProvider

-- | Gets the formats that the provider can provide its current contents
--   in.
contentProviderRefFormats :: (HasCallStack, MonadIO m, IsContentProvider a) => a -> m ContentFormats

-- | Gets the formats that the provider suggests other applications to
--   store the data in.
--   
--   An example of such an application would be a clipboard manager.
--   
--   This can be assumed to be a subset of
--   contentProviderRefFormats.
contentProviderRefStorableFormats :: (HasCallStack, MonadIO m, IsContentProvider a) => a -> m ContentFormats

-- | Asynchronously writes the contents of provider to
--   stream in the given mimeType.
--   
--   The given mime type does not need to be listed in the formats returned
--   by contentProviderRefFormats. However, if the given
--   GType is not supported, G_IO_ERROR_NOT_SUPPORTED
--   will be reported.
--   
--   The given stream will not be closed.
contentProviderWriteMimeTypeAsync :: (HasCallStack, MonadIO m, IsContentProvider a, IsOutputStream b, IsCancellable c) => a -> Text -> b -> Int32 -> Maybe c -> Maybe AsyncReadyCallback -> m ()

-- | Finishes an asynchronous write operation.
--   
--   See contentProviderWriteMimeTypeAsync.
contentProviderWriteMimeTypeFinish :: (HasCallStack, MonadIO m, IsContentProvider a, IsAsyncResult b) => a -> b -> m ()

-- | Get the value of the “formats” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get contentProvider #formats
--   
getContentProviderFormats :: (MonadIO m, IsContentProvider o) => o -> m (Maybe ContentFormats)

-- | Get the value of the “storable-formats” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get contentProvider #storableFormats
--   
getContentProviderStorableFormats :: (MonadIO m, IsContentProvider o) => o -> m (Maybe ContentFormats)

-- | Emitted whenever the content provided by this provider has changed.
type ContentProviderContentChangedCallback = IO ()

-- | Connect a signal handler for the contentChanged signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after contentProvider #contentChanged callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterContentProviderContentChanged :: (IsContentProvider a, MonadIO m) => a -> ((?self :: a) => ContentProviderContentChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the contentChanged signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on contentProvider #contentChanged callback
--   
onContentProviderContentChanged :: (IsContentProvider a, MonadIO m) => a -> ((?self :: a) => ContentProviderContentChangedCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Gdk.Objects.ContentProvider.ContentProvider
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.ContentProvider.ContentProvider
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.ContentProvider.ContentProvider
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.ContentProvider.ContentProvider o) => GI.Gdk.Objects.ContentProvider.IsContentProvider o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.ContentProvider.ContentProvider)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.ContentProvider.ContentProvider
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.ContentProvider.ContentProvider

-- | Creates GdkContentFormats objects.
module GI.Gdk.Structs.ContentFormatsBuilder

-- | Memory-managed wrapper type.
newtype ContentFormatsBuilder
ContentFormatsBuilder :: ManagedPtr ContentFormatsBuilder -> ContentFormatsBuilder

-- | Appends all formats from formats to
--   builder, skipping those that already exist.
contentFormatsBuilderAddFormats :: (HasCallStack, MonadIO m) => ContentFormatsBuilder -> ContentFormats -> m ()

-- | Appends type to builder if it has not
--   already been added.
contentFormatsBuilderAddGtype :: (HasCallStack, MonadIO m) => ContentFormatsBuilder -> GType -> m ()

-- | Appends mimeType to builder if it has
--   not already been added.
contentFormatsBuilderAddMimeType :: (HasCallStack, MonadIO m) => ContentFormatsBuilder -> Text -> m ()

-- | Create a new GdkContentFormatsBuilder object.
--   
--   The resulting builder would create an empty
--   GdkContentFormats. Use addition functions to add types to it.
contentFormatsBuilderNew :: (HasCallStack, MonadIO m) => m ContentFormatsBuilder

-- | Acquires a reference on the given builder.
--   
--   This function is intended primarily for bindings.
--   GdkContentFormatsBuilder objects should not be kept around.
contentFormatsBuilderRef :: (HasCallStack, MonadIO m) => ContentFormatsBuilder -> m ContentFormatsBuilder

-- | Creates a new GdkContentFormats from the given
--   builder.
--   
--   The given GdkContentFormatsBuilder is reset once this
--   function returns; you cannot call this function multiple times on the
--   same builder instance.
--   
--   This function is intended primarily for bindings. C code should use
--   ContentFormatsBuilder.free_to_formats().
contentFormatsBuilderToFormats :: (HasCallStack, MonadIO m) => ContentFormatsBuilder -> m ContentFormats

-- | Releases a reference on the given builder.
contentFormatsBuilderUnref :: (HasCallStack, MonadIO m) => ContentFormatsBuilder -> m ()
instance GHC.Classes.Eq GI.Gdk.Structs.ContentFormatsBuilder.ContentFormatsBuilder
instance Data.GI.Base.BasicTypes.GBoxed GI.Gdk.Structs.ContentFormatsBuilder.ContentFormatsBuilder
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Structs.ContentFormatsBuilder.ContentFormatsBuilder
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Structs.ContentFormatsBuilder.ContentFormatsBuilder)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.ContentFormatsBuilder.ContentFormatsBuilder
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Structs.ContentFormatsBuilder.ContentFormatsBuilder

-- | Provides information about supported DMA buffer formats.
--   
--   You can query whether a given format is supported with
--   dmabufFormatsContains and you can iterate over the list of all
--   supported formats with dmabufFormatsGetNFormats and
--   dmabufFormatsGetFormat.
--   
--   The list of supported formats is sorted by preference, with the best
--   formats coming first.
--   
--   The list may contains (format, modifier) pairs where the modifier is
--   DMA_FORMAT_MOD_INVALID, indicating that _implicit
--   modifiers_ may be used with this format.
--   
--   See DmabufTextureBuilder for more information about DMA
--   buffers.
--   
--   Note that DMA buffers only exist on Linux.
--   
--   Since: 4.14
module GI.Gdk.Structs.DmabufFormats

-- | Memory-managed wrapper type.
newtype DmabufFormats
DmabufFormats :: ManagedPtr DmabufFormats -> DmabufFormats

-- | Returns whether a given format is contained in
--   formats.
--   
--   Since: 4.14
dmabufFormatsContains :: (HasCallStack, MonadIO m) => DmabufFormats -> Word32 -> Word64 -> m Bool

-- | Returns whether formats1 and formats2
--   contain the same dmabuf formats, in the same order.
--   
--   Since: 4.14
dmabufFormatsEqual :: (HasCallStack, MonadIO m) => Maybe DmabufFormats -> Maybe DmabufFormats -> m Bool

-- | Gets the fourcc code and modifier for a format that is contained in
--   formats.
--   
--   Since: 4.14
dmabufFormatsGetFormat :: (HasCallStack, MonadIO m) => DmabufFormats -> CSize -> m (Word32, Word64)

-- | Returns the number of formats that the formats object
--   contains.
--   
--   Note that DMA buffers are a Linux concept, so on other platforms,
--   dmabufFormatsGetNFormats will always return zero.
--   
--   Since: 4.14
dmabufFormatsGetNFormats :: (HasCallStack, MonadIO m) => DmabufFormats -> m CSize

-- | Increases the reference count of formats.
--   
--   Since: 4.14
dmabufFormatsRef :: (HasCallStack, MonadIO m) => DmabufFormats -> m DmabufFormats

-- | Decreases the reference count of formats.
--   
--   When the reference count reaches zero, the object is freed.
--   
--   Since: 4.14
dmabufFormatsUnref :: (HasCallStack, MonadIO m) => DmabufFormats -> m ()
instance GHC.Classes.Eq GI.Gdk.Structs.DmabufFormats.DmabufFormats
instance Data.GI.Base.BasicTypes.GBoxed GI.Gdk.Structs.DmabufFormats.DmabufFormats
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Structs.DmabufFormats.DmabufFormats
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Structs.DmabufFormats.DmabufFormats)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.DmabufFormats.DmabufFormats
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Structs.DmabufFormats.DmabufFormats

-- | Contains information that is useful to compute the size of a drag
--   surface.
--   
--   Since: 4.12
module GI.Gdk.Structs.DragSurfaceSize

-- | Memory-managed wrapper type.
newtype DragSurfaceSize
DragSurfaceSize :: ManagedPtr DragSurfaceSize -> DragSurfaceSize

-- | Sets the size the drag surface prefers to be resized to.
--   
--   Since: 4.12
dragSurfaceSizeSetSize :: (HasCallStack, MonadIO m) => DragSurfaceSize -> Int32 -> Int32 -> m ()
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Structs.DragSurfaceSize.DragSurfaceSize
instance GHC.Classes.Eq GI.Gdk.Structs.DragSurfaceSize.DragSurfaceSize
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.DragSurfaceSize.DragSurfaceSize

-- | An opaque type representing a sequence of related events.
module GI.Gdk.Structs.EventSequence

-- | Memory-managed wrapper type.
newtype EventSequence
EventSequence :: ManagedPtr EventSequence -> EventSequence
instance GHC.Classes.Eq GI.Gdk.Structs.EventSequence.EventSequence
instance Data.GI.Base.BasicTypes.GBoxed GI.Gdk.Structs.EventSequence.EventSequence
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Structs.EventSequence.EventSequence
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Structs.EventSequence.EventSequence)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.EventSequence.EventSequence
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Structs.EventSequence.EventSequence

-- | An opaque type representing a list of files.
--   
--   Since: 4.6
module GI.Gdk.Structs.FileList

-- | Memory-managed wrapper type.
newtype FileList
FileList :: ManagedPtr FileList -> FileList

-- | Retrieves the list of files inside a GdkFileList.
--   
--   This function is meant for language bindings.
--   
--   Since: 4.6
fileListGetFiles :: (HasCallStack, MonadIO m) => FileList -> m [File]

-- | Creates a new GdkFileList for the given array of files.
--   
--   This function is meant to be used by language bindings.
--   
--   Since: 4.8
fileListNewFromArray :: (HasCallStack, MonadIO m) => [File] -> m FileList

-- | Creates a new files list container from a singly linked list of
--   GFile instances.
--   
--   This function is meant to be used by language bindings
--   
--   Since: 4.8
fileListNewFromList :: (HasCallStack, MonadIO m, IsFile a) => [a] -> m FileList
instance GHC.Classes.Eq GI.Gdk.Structs.FileList.FileList
instance Data.GI.Base.BasicTypes.GBoxed GI.Gdk.Structs.FileList.FileList
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Structs.FileList.FileList
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Structs.FileList.FileList)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.FileList.FileList
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Structs.FileList.FileList

-- | Holds timing information for a single frame of the application’s
--   displays.
--   
--   To retrieve GdkFrameTimings objects, use
--   frameClockGetTimings or frameClockGetCurrentTimings. The
--   information in GdkFrameTimings is useful for precise
--   synchronization of video with the event or audio streams, and for
--   measuring quality metrics for the application’s display, such as
--   latency and jitter.
module GI.Gdk.Structs.FrameTimings

-- | Memory-managed wrapper type.
newtype FrameTimings
FrameTimings :: ManagedPtr FrameTimings -> FrameTimings

-- | Returns whether timings are complete.
--   
--   The timing information in a GdkFrameTimings is filled in
--   incrementally as the frame as drawn and passed off to the window
--   system for processing and display to the user. The accessor functions
--   for GdkFrameTimings can return 0 to indicate an unavailable
--   value for two reasons: either because the information is not yet
--   available, or because it isn't available at all.
--   
--   Once this function returns True for a frame, you can be certain
--   that no further values will become available and be stored in the
--   GdkFrameTimings.
frameTimingsGetComplete :: (HasCallStack, MonadIO m) => FrameTimings -> m Bool

-- | Gets the frame counter value of the GdkFrameClock when this
--   frame was drawn.
frameTimingsGetFrameCounter :: (HasCallStack, MonadIO m) => FrameTimings -> m Int64

-- | Returns the frame time for the frame.
--   
--   This is the time value that is typically used to time animations for
--   the frame. See frameClockGetFrameTime.
frameTimingsGetFrameTime :: (HasCallStack, MonadIO m) => FrameTimings -> m Int64

-- | Gets the predicted time at which this frame will be displayed.
--   
--   Although no predicted time may be available, if one is available, it
--   will be available while the frame is being generated, in contrast to
--   frameTimingsGetPresentationTime, which is only available after
--   the frame has been presented.
--   
--   In general, if you are simply animating, you should use
--   frameClockGetFrameTime rather than this function, but this
--   function is useful for applications that want exact control over
--   latency. For example, a movie player may want this information for
--   Audio/Video synchronization.
frameTimingsGetPredictedPresentationTime :: (HasCallStack, MonadIO m) => FrameTimings -> m Int64

-- | Reurns the presentation time.
--   
--   This is the time at which the frame became visible to the user.
frameTimingsGetPresentationTime :: (HasCallStack, MonadIO m) => FrameTimings -> m Int64

-- | Gets the natural interval between presentation times for the display
--   that this frame was displayed on.
--   
--   Frame presentation usually happens during the “vertical blanking
--   interval”.
frameTimingsGetRefreshInterval :: (HasCallStack, MonadIO m) => FrameTimings -> m Int64

-- | Increases the reference count of timings.
frameTimingsRef :: (HasCallStack, MonadIO m) => FrameTimings -> m FrameTimings

-- | Decreases the reference count of timings.
--   
--   If timings is no longer referenced, it will be freed.
frameTimingsUnref :: (HasCallStack, MonadIO m) => FrameTimings -> m ()
instance GHC.Classes.Eq GI.Gdk.Structs.FrameTimings.FrameTimings
instance Data.GI.Base.BasicTypes.GBoxed GI.Gdk.Structs.FrameTimings.FrameTimings
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Structs.FrameTimings.FrameTimings
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Structs.FrameTimings.FrameTimings)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.FrameTimings.FrameTimings
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Structs.FrameTimings.FrameTimings

-- | Tells the application when to update and repaint a surface.
--   
--   This may be synced to the vertical refresh rate of the monitor, for
--   example. Even when the frame clock uses a simple timer rather than a
--   hardware-based vertical sync, the frame clock helps because it ensures
--   everything paints at the same time (reducing the total number of
--   frames).
--   
--   The frame clock can also automatically stop painting when it knows the
--   frames will not be visible, or scale back animation framerates.
--   
--   GdkFrameClock is designed to be compatible with an
--   OpenGL-based implementation or with mozRequestAnimationFrame in
--   Firefox, for example.
--   
--   A frame clock is idle until someone requests a frame with
--   frameClockRequestPhase. At some later point that makes sense
--   for the synchronization being implemented, the clock will process a
--   frame and emit signals for each phase that has been requested. (See
--   the signals of the GdkFrameClock class for documentation of
--   the phases. FrameClockPhaseUpdate and the
--   FrameClock::update signal are most interesting for application
--   writers, and are used to update the animations, using the frame time
--   given by frameClockGetFrameTime.
--   
--   The frame time is reported in microseconds and generally in the same
--   timescale as getMonotonicTime, however, it is not the same as
--   getMonotonicTime. The frame time does not advance during the
--   time a frame is being painted, and outside of a frame, an attempt is
--   made so that all calls to frameClockGetFrameTime that are
--   called at a “similar” time get the same value. This means that if
--   different animations are timed by looking at the difference in time
--   between an initial value from frameClockGetFrameTime and the
--   value inside the FrameClock::update signal of the clock, they
--   will stay exactly synchronized.
module GI.Gdk.Objects.FrameClock

-- | Memory-managed wrapper type.
newtype FrameClock
FrameClock :: ManagedPtr FrameClock -> FrameClock

-- | Type class for types which can be safely cast to FrameClock,
--   for instance with toFrameClock.
class (GObject o, IsDescendantOf FrameClock o) => IsFrameClock o

-- | Cast to FrameClock, for types for which this is known to be
--   safe. For general casts, use castTo.
toFrameClock :: (MonadIO m, IsFrameClock o) => o -> m FrameClock

-- | Starts updates for an animation.
--   
--   Until a matching call to frameClockEndUpdating is made, the
--   frame clock will continually request a new frame with the
--   FrameClockPhaseUpdate phase. This function may be called
--   multiple times and frames will be requested until
--   frameClockEndUpdating is called the same number of times.
frameClockBeginUpdating :: (HasCallStack, MonadIO m, IsFrameClock a) => a -> m ()

-- | Stops updates for an animation.
--   
--   See the documentation for frameClockBeginUpdating.
frameClockEndUpdating :: (HasCallStack, MonadIO m, IsFrameClock a) => a -> m ()

-- | Gets the frame timings for the current frame.
frameClockGetCurrentTimings :: (HasCallStack, MonadIO m, IsFrameClock a) => a -> m (Maybe FrameTimings)

-- | Calculates the current frames-per-second, based on the frame timings
--   of frameClock.
frameClockGetFps :: (HasCallStack, MonadIO m, IsFrameClock a) => a -> m Double

-- | GdkFrameClock maintains a 64-bit counter that increments for
--   each frame drawn.
frameClockGetFrameCounter :: (HasCallStack, MonadIO m, IsFrameClock a) => a -> m Int64

-- | Gets the time that should currently be used for animations.
--   
--   Inside the processing of a frame, it’s the time used to compute the
--   animation position of everything in a frame. Outside of a frame, it's
--   the time of the conceptual “previous frame,” which may be either the
--   actual previous frame time, or if that’s too old, an updated time.
frameClockGetFrameTime :: (HasCallStack, MonadIO m, IsFrameClock a) => a -> m Int64

-- | Returns the frame counter for the oldest frame available in history.
--   
--   GdkFrameClock internally keeps a history of
--   GdkFrameTimings objects for recent frames that can be
--   retrieved with frameClockGetTimings. The set of stored frames
--   is the set from the counter values given by
--   frameClockGetHistoryStart and frameClockGetFrameCounter,
--   inclusive.
frameClockGetHistoryStart :: (HasCallStack, MonadIO m, IsFrameClock a) => a -> m Int64

-- | Predicts a presentation time, based on history.
--   
--   Using the frame history stored in the frame clock, finds the last
--   known presentation time and refresh interval, and assuming that
--   presentation times are separated by the refresh interval, predicts a
--   presentation time that is a multiple of the refresh interval after the
--   last presentation time, and later than baseTime.
frameClockGetRefreshInfo :: (HasCallStack, MonadIO m, IsFrameClock a) => a -> Int64 -> m (Int64, Int64)

-- | Retrieves a GdkFrameTimings object holding timing information
--   for the current frame or a recent frame.
--   
--   The GdkFrameTimings object may not yet be complete: see
--   frameTimingsGetComplete and frameClockGetHistoryStart.
frameClockGetTimings :: (HasCallStack, MonadIO m, IsFrameClock a) => a -> Int64 -> m (Maybe FrameTimings)

-- | Asks the frame clock to run a particular phase.
--   
--   The signal corresponding the requested phase will be emitted the next
--   time the frame clock processes. Multiple calls to
--   frameClockRequestPhase will be combined together and only one
--   frame processed. If you are displaying animated content and want to
--   continually request the FrameClockPhaseUpdate phase for a
--   period of time, you should use frameClockBeginUpdating instead,
--   since this allows GTK to adjust system parameters to get maximally
--   smooth animations.
frameClockRequestPhase :: (HasCallStack, MonadIO m, IsFrameClock a) => a -> [FrameClockPhase] -> m ()

-- | This signal ends processing of the frame.
--   
--   Applications should generally not handle this signal.
type FrameClockAfterPaintCallback = IO ()

-- | Connect a signal handler for the afterPaint signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after frameClock #afterPaint callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterFrameClockAfterPaint :: (IsFrameClock a, MonadIO m) => a -> ((?self :: a) => FrameClockAfterPaintCallback) -> m SignalHandlerId

-- | Connect a signal handler for the afterPaint signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on frameClock #afterPaint callback
--   
onFrameClockAfterPaint :: (IsFrameClock a, MonadIO m) => a -> ((?self :: a) => FrameClockAfterPaintCallback) -> m SignalHandlerId

-- | Begins processing of the frame.
--   
--   Applications should generally not handle this signal.
type FrameClockBeforePaintCallback = IO ()

-- | Connect a signal handler for the beforePaint signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after frameClock #beforePaint callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterFrameClockBeforePaint :: (IsFrameClock a, MonadIO m) => a -> ((?self :: a) => FrameClockBeforePaintCallback) -> m SignalHandlerId

-- | Connect a signal handler for the beforePaint signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on frameClock #beforePaint callback
--   
onFrameClockBeforePaint :: (IsFrameClock a, MonadIO m) => a -> ((?self :: a) => FrameClockBeforePaintCallback) -> m SignalHandlerId

-- | Used to flush pending motion events that are being batched up and
--   compressed together.
--   
--   Applications should not handle this signal.
type FrameClockFlushEventsCallback = IO ()

-- | Connect a signal handler for the flushEvents signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after frameClock #flushEvents callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterFrameClockFlushEvents :: (IsFrameClock a, MonadIO m) => a -> ((?self :: a) => FrameClockFlushEventsCallback) -> m SignalHandlerId

-- | Connect a signal handler for the flushEvents signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on frameClock #flushEvents callback
--   
onFrameClockFlushEvents :: (IsFrameClock a, MonadIO m) => a -> ((?self :: a) => FrameClockFlushEventsCallback) -> m SignalHandlerId

-- | Emitted as the second step of toolkit and application processing of
--   the frame.
--   
--   Any work to update sizes and positions of application elements should
--   be performed. GTK normally handles this internally.
type FrameClockLayoutCallback = IO ()

-- | Connect a signal handler for the layout signal, to be run after
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after frameClock #layout callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterFrameClockLayout :: (IsFrameClock a, MonadIO m) => a -> ((?self :: a) => FrameClockLayoutCallback) -> m SignalHandlerId

-- | Connect a signal handler for the layout signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on frameClock #layout callback
--   
onFrameClockLayout :: (IsFrameClock a, MonadIO m) => a -> ((?self :: a) => FrameClockLayoutCallback) -> m SignalHandlerId

-- | Emitted as the third step of toolkit and application processing of the
--   frame.
--   
--   The frame is repainted. GDK normally handles this internally and emits
--   Surface::render signals which are turned into
--   GtkWidget::snapshot signals by GTK.
type FrameClockPaintCallback = IO ()

-- | Connect a signal handler for the paint signal, to be run after
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after frameClock #paint callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterFrameClockPaint :: (IsFrameClock a, MonadIO m) => a -> ((?self :: a) => FrameClockPaintCallback) -> m SignalHandlerId

-- | Connect a signal handler for the paint signal, to be run before
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   on frameClock #paint callback
--   
onFrameClockPaint :: (IsFrameClock a, MonadIO m) => a -> ((?self :: a) => FrameClockPaintCallback) -> m SignalHandlerId

-- | Emitted after processing of the frame is finished.
--   
--   This signal is handled internally by GTK to resume normal event
--   processing. Applications should not handle this signal.
type FrameClockResumeEventsCallback = IO ()

-- | Connect a signal handler for the resumeEvents signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after frameClock #resumeEvents callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterFrameClockResumeEvents :: (IsFrameClock a, MonadIO m) => a -> ((?self :: a) => FrameClockResumeEventsCallback) -> m SignalHandlerId

-- | Connect a signal handler for the resumeEvents signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on frameClock #resumeEvents callback
--   
onFrameClockResumeEvents :: (IsFrameClock a, MonadIO m) => a -> ((?self :: a) => FrameClockResumeEventsCallback) -> m SignalHandlerId

-- | Emitted as the first step of toolkit and application processing of the
--   frame.
--   
--   Animations should be updated using frameClockGetFrameTime.
--   Applications can connect directly to this signal, or use
--   gtk_widget_add_tick_callback() as a more convenient interface.
type FrameClockUpdateCallback = IO ()

-- | Connect a signal handler for the update signal, to be run after
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after frameClock #update callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterFrameClockUpdate :: (IsFrameClock a, MonadIO m) => a -> ((?self :: a) => FrameClockUpdateCallback) -> m SignalHandlerId

-- | Connect a signal handler for the update signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on frameClock #update callback
--   
onFrameClockUpdate :: (IsFrameClock a, MonadIO m) => a -> ((?self :: a) => FrameClockUpdateCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Gdk.Objects.FrameClock.FrameClock
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.FrameClock.FrameClock
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.FrameClock.FrameClock
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.FrameClock.FrameClock o) => GI.Gdk.Objects.FrameClock.IsFrameClock o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.FrameClock.FrameClock)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.FrameClock.FrameClock
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.FrameClock.FrameClock

-- | Represents a hardware key that can be mapped to a keyval.
module GI.Gdk.Structs.KeymapKey

-- | Memory-managed wrapper type.
newtype KeymapKey
KeymapKey :: ManagedPtr KeymapKey -> KeymapKey

-- | Construct a KeymapKey struct initialized to zero.
newZeroKeymapKey :: MonadIO m => m KeymapKey

-- | Get the value of the “group” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get keymapKey #group
--   
getKeymapKeyGroup :: MonadIO m => KeymapKey -> m Int32

-- | Set the value of the “group” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   set keymapKey [ #group := value ]
--   
setKeymapKeyGroup :: MonadIO m => KeymapKey -> Int32 -> m ()

-- | Get the value of the “keycode” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get keymapKey #keycode
--   
getKeymapKeyKeycode :: MonadIO m => KeymapKey -> m Word32

-- | Set the value of the “keycode” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   set keymapKey [ #keycode := value ]
--   
setKeymapKeyKeycode :: MonadIO m => KeymapKey -> Word32 -> m ()

-- | Get the value of the “level” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get keymapKey #level
--   
getKeymapKeyLevel :: MonadIO m => KeymapKey -> m Int32

-- | Set the value of the “level” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   set keymapKey [ #level := value ]
--   
setKeymapKeyLevel :: MonadIO m => KeymapKey -> Int32 -> m ()
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Structs.KeymapKey.KeymapKey
instance Data.GI.Base.BasicTypes.CallocPtr GI.Gdk.Structs.KeymapKey.KeymapKey
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.KeymapKey.KeymapKey tag
instance GHC.Classes.Eq GI.Gdk.Structs.KeymapKey.KeymapKey
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.KeymapKey.KeymapKey

-- | Represents a color, in a way that is compatible with cairo’s notion of
--   color.
--   
--   GdkRGBA is a convenient way to pass colors around. It’s based
--   on cairo’s way to deal with colors and mirrors its behavior. All
--   values are in the range from 0.0 to 1.0 inclusive. So the color (0.0,
--   0.0, 0.0, 0.0) represents transparent black and (1.0, 1.0, 1.0, 1.0)
--   is opaque white. Other values will be clamped to this range when
--   drawing.
module GI.Gdk.Structs.RGBA

-- | Memory-managed wrapper type.
newtype RGBA
RGBA :: ManagedPtr RGBA -> RGBA

-- | Construct a RGBA struct initialized to zero.
newZeroRGBA :: MonadIO m => m RGBA

-- | Makes a copy of a GdkRGBA.
--   
--   The result must be freed through rGBAFree.
rGBACopy :: (HasCallStack, MonadIO m) => RGBA -> m RGBA

-- | Compares two GdkRGBA colors.
rGBAEqual :: (HasCallStack, MonadIO m) => RGBA -> RGBA -> m Bool

-- | Frees a GdkRGBA.
rGBAFree :: (HasCallStack, MonadIO m) => RGBA -> m ()

-- | A hash function suitable for using for a hash table that stores
--   GdkRGBAs.
rGBAHash :: (HasCallStack, MonadIO m) => RGBA -> m Word32

-- | Checks if an rgba value is transparent.
--   
--   That is, drawing with the value would not produce any change.
rGBAIsClear :: (HasCallStack, MonadIO m) => RGBA -> m Bool

-- | Checks if an rgba value is opaque.
--   
--   That is, drawing with the value will not retain any results from
--   previous contents.
rGBAIsOpaque :: (HasCallStack, MonadIO m) => RGBA -> m Bool

-- | Parses a textual representation of a color.
--   
--   The string can be either one of:
--   
--   
--   
- A standard name (Taken from the CSS specification).
--   
- A hexadecimal value in the form “#rgb”, “#rrggbb”, “#rrrgggbbb” or
--   ”#rrrrggggbbbb”
--   
- A hexadecimal value in the form “#rgba”, “#rrggbbaa”, or
--   ”#rrrrggggbbbbaaaa”
--   
- A RGB color in the form “rgb(r,g,b)” (In this case the color will
--   have full opacity)
--   
- A RGBA color in the form “rgba(r,g,b,a)”
--   
- A HSL color in the form “hsl(h,s,l)”
--   
- A HSLA color in the form “hsla(h,s,l,a)”
--   
--   
--   Where “r”, “g”, “b” and “a” are respectively the red, green, blue and
--   alpha color values. In the last two cases, “r”, “g”, and “b” are
--   either integers in the range 0 to 255 or percentage values in the
--   range 0% to 100%, and a is a floating point value in the range 0 to 1.
--   The range for “h” is 0 to 360, and “s”, “l” can be either numbers in
--   the range 0 to 100 or percentages.
rGBAParse :: (HasCallStack, MonadIO m) => RGBA -> Text -> m Bool

-- | No description available in the introspection data.
rGBAPrint :: (HasCallStack, MonadIO m) => RGBA -> String -> m String

-- | Returns a textual specification of rgba in the form
--   rgb(r,g,b) or rgba(r,g,b,a), where “r”, “g”, “b” and
--   “a” represent the red, green, blue and alpha values respectively. “r”,
--   “g”, and “b” are represented as integers in the range 0 to 255, and
--   “a” is represented as a floating point value in the range 0 to 1.
--   
--   These string forms are string forms that are supported by the CSS3
--   colors module, and can be parsed by rGBAParse.
--   
--   Note that this string representation may lose some precision, since
--   “r”, “g” and “b” are represented as 8-bit integers. If this is a
--   concern, you should use a different representation.
rGBAToString :: (HasCallStack, MonadIO m) => RGBA -> m Text

-- | Get the value of the “alpha” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get rGBA #alpha
--   
getRGBAAlpha :: MonadIO m => RGBA -> m Float

-- | Set the value of the “alpha” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   set rGBA [ #alpha := value ]
--   
setRGBAAlpha :: MonadIO m => RGBA -> Float -> m ()

-- | Get the value of the “blue” field. When overloading is
--   enabled, this is equivalent to
--   
--   
--   get rGBA #blue
--   
getRGBABlue :: MonadIO m => RGBA -> m Float

-- | Set the value of the “blue” field. When overloading is
--   enabled, this is equivalent to
--   
--   
--   set rGBA [ #blue := value ]
--   
setRGBABlue :: MonadIO m => RGBA -> Float -> m ()

-- | Get the value of the “green” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get rGBA #green
--   
getRGBAGreen :: MonadIO m => RGBA -> m Float

-- | Set the value of the “green” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   set rGBA [ #green := value ]
--   
setRGBAGreen :: MonadIO m => RGBA -> Float -> m ()

-- | Get the value of the “red” field. When overloading is
--   enabled, this is equivalent to
--   
--   
--   get rGBA #red
--   
getRGBARed :: MonadIO m => RGBA -> m Float

-- | Set the value of the “red” field. When overloading is
--   enabled, this is equivalent to
--   
--   
--   set rGBA [ #red := value ]
--   
setRGBARed :: MonadIO m => RGBA -> Float -> m ()
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.RGBA.RGBA tag
instance GHC.Classes.Eq GI.Gdk.Structs.RGBA.RGBA
instance Data.GI.Base.BasicTypes.GBoxed GI.Gdk.Structs.RGBA.RGBA
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Structs.RGBA.RGBA
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Structs.RGBA.RGBA)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.RGBA.RGBA
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Structs.RGBA.RGBA

-- | Represents a rectangle.
--   
--   GdkRectangle is identical to cairo_rectangle_t.
--   Together with Cairo’s cairo_region_t data type, these are the
--   central types for representing sets of pixels.
--   
--   The intersection of two rectangles can be computed with
--   rectangleIntersect; to find the union of two rectangles use
--   rectangleUnion.
--   
--   The cairo_region_t type provided by Cairo is usually used for
--   managing non-rectangular clipping of graphical operations.
--   
--   The Graphene library has a number of other data types for regions and
--   volumes in 2D and 3D.
module GI.Gdk.Structs.Rectangle

-- | Memory-managed wrapper type.
newtype Rectangle
Rectangle :: ManagedPtr Rectangle -> Rectangle

-- | Construct a Rectangle struct initialized to zero.
newZeroRectangle :: MonadIO m => m Rectangle

-- | Returns True if rect contains the point
--   described by x and y.
rectangleContainsPoint :: (HasCallStack, MonadIO m) => Rectangle -> Int32 -> Int32 -> m Bool

-- | Checks if the two given rectangles are equal.
rectangleEqual :: (HasCallStack, MonadIO m) => Rectangle -> Rectangle -> m Bool

-- | Calculates the intersection of two rectangles.
--   
--   It is allowed for dest to be the same as either
--   src1 or src2. If the rectangles do not
--   intersect, dest’s width and height is set to 0 and its
--   x and y values are undefined. If you are only interested in whether
--   the rectangles intersect, but not in the intersecting area itself,
--   pass Nothing for dest.
rectangleIntersect :: (HasCallStack, MonadIO m) => Rectangle -> Rectangle -> m (Bool, Rectangle)

-- | Calculates the union of two rectangles.
--   
--   The union of rectangles src1 and src2
--   is the smallest rectangle which includes both src1 and
--   src2 within it. It is allowed for dest
--   to be the same as either src1 or src2.
--   
--   Note that this function does not ignore 'empty' rectangles (ie. with
--   zero width or height).
rectangleUnion :: (HasCallStack, MonadIO m) => Rectangle -> Rectangle -> m Rectangle

-- | Get the value of the “height” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get rectangle #height
--   
getRectangleHeight :: MonadIO m => Rectangle -> m Int32

-- | Set the value of the “height” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   set rectangle [ #height := value ]
--   
setRectangleHeight :: MonadIO m => Rectangle -> Int32 -> m ()

-- | Get the value of the “width” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get rectangle #width
--   
getRectangleWidth :: MonadIO m => Rectangle -> m Int32

-- | Set the value of the “width” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   set rectangle [ #width := value ]
--   
setRectangleWidth :: MonadIO m => Rectangle -> Int32 -> m ()

-- | Get the value of the “x” field. When overloading is
--   enabled, this is equivalent to
--   
--   
--   get rectangle #x
--   
getRectangleX :: MonadIO m => Rectangle -> m Int32

-- | Set the value of the “x” field. When overloading is
--   enabled, this is equivalent to
--   
--   
--   set rectangle [ #x := value ]
--   
setRectangleX :: MonadIO m => Rectangle -> Int32 -> m ()

-- | Get the value of the “y” field. When overloading is
--   enabled, this is equivalent to
--   
--   
--   get rectangle #y
--   
getRectangleY :: MonadIO m => Rectangle -> m Int32

-- | Set the value of the “y” field. When overloading is
--   enabled, this is equivalent to
--   
--   
--   set rectangle [ #y := value ]
--   
setRectangleY :: MonadIO m => Rectangle -> Int32 -> m ()
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.Rectangle.Rectangle tag
instance GHC.Classes.Eq GI.Gdk.Structs.Rectangle.Rectangle
instance Data.GI.Base.BasicTypes.GBoxed GI.Gdk.Structs.Rectangle.Rectangle
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Structs.Rectangle.Rectangle
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Structs.Rectangle.Rectangle)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.Rectangle.Rectangle
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Structs.Rectangle.Rectangle

-- | Contains information that is necessary position a Popup
--   relative to its parent.
--   
--   The positioning requires a negotiation with the windowing system,
--   since it depends on external constraints, such as the position of the
--   parent surface, and the screen dimensions.
--   
--   The basic ingredients are a rectangle on the parent surface, and the
--   anchor on both that rectangle and the popup. The anchors specify a
--   side or corner to place next to each other.
--   
--   
--   For cases where placing the anchors next to each other would make the
--   popup extend offscreen, the layout includes some hints for how to
--   resolve this problem. The hints may suggest to flip the anchor
--   position to the other side, or to 'slide' the popup along a side, or
--   to resize it.
--   
--   
--   
--   These hints may be combined.
--   
--   Ultimatively, it is up to the windowing system to determine the
--   position and size of the popup. You can learn about the result by
--   calling popupGetPositionX, popupGetPositionY,
--   popupGetRectAnchor and popupGetSurfaceAnchor after the
--   popup has been presented. This can be used to adjust the rendering.
--   For example, GtkPopover changes its arrow position accordingly.
--   But you have to be careful avoid changing the size of the popover, or
--   it has to be presented again.
module GI.Gdk.Structs.PopupLayout

-- | Memory-managed wrapper type.
newtype PopupLayout
PopupLayout :: ManagedPtr PopupLayout -> PopupLayout

-- | Makes a copy of layout.
popupLayoutCopy :: (HasCallStack, MonadIO m) => PopupLayout -> m PopupLayout

-- | Check whether layout and other has
--   identical layout properties.
popupLayoutEqual :: (HasCallStack, MonadIO m) => PopupLayout -> PopupLayout -> m Bool

-- | Get the anchor hints.
popupLayoutGetAnchorHints :: (HasCallStack, MonadIO m) => PopupLayout -> m [AnchorHints]

-- | Get the anchor rectangle.
popupLayoutGetAnchorRect :: (HasCallStack, MonadIO m) => PopupLayout -> m Rectangle

-- | Retrieves the offset for the anchor rectangle.
popupLayoutGetOffset :: (HasCallStack, MonadIO m) => PopupLayout -> m (Int32, Int32)

-- | Returns the anchor position on the anchor rectangle.
popupLayoutGetRectAnchor :: (HasCallStack, MonadIO m) => PopupLayout -> m Gravity

-- | Obtains the shadow widths of this layout.
--   
--   Since: 4.2
popupLayoutGetShadowWidth :: (HasCallStack, MonadIO m) => PopupLayout -> m (Int32, Int32, Int32, Int32)

-- | Returns the anchor position on the popup surface.
popupLayoutGetSurfaceAnchor :: (HasCallStack, MonadIO m) => PopupLayout -> m Gravity

-- | Create a popup layout description.
--   
--   Used together with popupPresent to describe how a popup surface
--   should be placed and behave on-screen.
--   
--   anchorRect is relative to the top-left corner of the
--   surface's parent. rectAnchor and
--   surfaceAnchor determine anchor points on
--   anchorRect and surface to pin together.
--   
--   The position of anchorRect's anchor point can
--   optionally be offset using popupLayoutSetOffset, which is
--   equivalent to offsetting the position of surface.
popupLayoutNew :: (HasCallStack, MonadIO m) => Rectangle -> Gravity -> Gravity -> m PopupLayout

-- | Increases the reference count of value.
popupLayoutRef :: (HasCallStack, MonadIO m) => PopupLayout -> m PopupLayout

-- | Set new anchor hints.
--   
--   The set anchorHints determines how
--   surface will be moved if the anchor points cause it to
--   move off-screen. For example, GDK_ANCHOR_FLIP_X will replace
--   GDK_GRAVITY_NORTH_WEST with GDK_GRAVITY_NORTH_EAST
--   and vice versa if surface extends beyond the left or
--   right edges of the monitor.
popupLayoutSetAnchorHints :: (HasCallStack, MonadIO m) => PopupLayout -> [AnchorHints] -> m ()

-- | Set the anchor rectangle.
popupLayoutSetAnchorRect :: (HasCallStack, MonadIO m) => PopupLayout -> Rectangle -> m ()

-- | Offset the position of the anchor rectangle with the given delta.
popupLayoutSetOffset :: (HasCallStack, MonadIO m) => PopupLayout -> Int32 -> Int32 -> m ()

-- | Set the anchor on the anchor rectangle.
popupLayoutSetRectAnchor :: (HasCallStack, MonadIO m) => PopupLayout -> Gravity -> m ()

-- | Sets the shadow width of the popup.
--   
--   The shadow width corresponds to the part of the computed surface size
--   that would consist of the shadow margin surrounding the window, would
--   there be any.
--   
--   Since: 4.2
popupLayoutSetShadowWidth :: (HasCallStack, MonadIO m) => PopupLayout -> Int32 -> Int32 -> Int32 -> Int32 -> m ()

-- | Set the anchor on the popup surface.
popupLayoutSetSurfaceAnchor :: (HasCallStack, MonadIO m) => PopupLayout -> Gravity -> m ()

-- | Decreases the reference count of value.
popupLayoutUnref :: (HasCallStack, MonadIO m) => PopupLayout -> m ()
instance GHC.Classes.Eq GI.Gdk.Structs.PopupLayout.PopupLayout
instance Data.GI.Base.BasicTypes.GBoxed GI.Gdk.Structs.PopupLayout.PopupLayout
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Structs.PopupLayout.PopupLayout
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Structs.PopupLayout.PopupLayout)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.PopupLayout.PopupLayout
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Structs.PopupLayout.PopupLayout

-- | Used to download the contents of a Texture.
--   
--   It is intended to be created as a short-term object for a single
--   download, but can be used for multiple downloads of different textures
--   or with different settings.
--   
--   GdkTextureDownloader can be used to convert data between
--   different formats. Create a GdkTexture for the existing
--   format and then download it in a different format.
--   
--   Since: 4.10
module GI.Gdk.Structs.TextureDownloader

-- | Memory-managed wrapper type.
newtype TextureDownloader
TextureDownloader :: ManagedPtr TextureDownloader -> TextureDownloader

-- | Creates a copy of the downloader.
--   
--   This function is meant for language bindings.
--   
--   Since: 4.10
textureDownloaderCopy :: (HasCallStack, MonadIO m) => TextureDownloader -> m TextureDownloader

-- | Downloads the given texture pixels into a GBytes. The
--   rowstride will be stored in the stride value.
--   
--   This function will abort if it tries to download a large texture and
--   fails to allocate memory. If you think that may happen, you should
--   handle memory allocation yourself and use
--   textureDownloaderDownloadInto once allocation succeeded.
--   
--   This function cannot be used with a multiplanar format. Use
--   textureDownloaderDownloadBytesWithPlanes for that purpose.
--   
--   Since: 4.10
textureDownloaderDownloadBytes :: (HasCallStack, MonadIO m) => TextureDownloader -> m (Bytes, CSize)

-- | Downloads the texture into local memory.
--   
--   This function cannot be used with a multiplanar format.
--   
--   Since: 4.10
textureDownloaderDownloadInto :: (HasCallStack, MonadIO m) => TextureDownloader -> Ptr Word8 -> CSize -> m ()

-- | Frees the given downloader and all its associated resources.
--   
--   Since: 4.10
textureDownloaderFree :: (HasCallStack, MonadIO m) => TextureDownloader -> m ()

-- | Gets the color state that the data will be downloaded in.
--   
--   Since: 4.16
textureDownloaderGetColorState :: (HasCallStack, MonadIO m) => TextureDownloader -> m ColorState

-- | Gets the format that the data will be downloaded in.
--   
--   Since: 4.10
textureDownloaderGetFormat :: (HasCallStack, MonadIO m) => TextureDownloader -> m MemoryFormat

-- | Gets the texture that the downloader will download.
--   
--   Since: 4.10
textureDownloaderGetTexture :: (HasCallStack, MonadIO m) => TextureDownloader -> m Texture

-- | Creates a new texture downloader for texture.
--   
--   By default, the downloader will convert the data to the default memory
--   format, and to the sRGB color state.
--   
--   Since: 4.10
textureDownloaderNew :: (HasCallStack, MonadIO m, IsTexture a) => a -> m TextureDownloader

-- | Sets the color state the downloader will convert the data to.
--   
--   By default, the sRGB colorstate returned by
--   ColorState.get_srgb is used.
--   
--   Since: 4.16
textureDownloaderSetColorState :: (HasCallStack, MonadIO m) => TextureDownloader -> ColorState -> m ()

-- | Sets the format the downloader will download.
--   
--   By default, GDK_MEMORY_DEFAULT is set.
--   
--   Since: 4.10
textureDownloaderSetFormat :: (HasCallStack, MonadIO m) => TextureDownloader -> MemoryFormat -> m ()

-- | Changes the texture the downloader will download.
--   
--   Since: 4.10
textureDownloaderSetTexture :: (HasCallStack, MonadIO m, IsTexture a) => TextureDownloader -> a -> m ()
instance GHC.Classes.Eq GI.Gdk.Structs.TextureDownloader.TextureDownloader
instance Data.GI.Base.BasicTypes.GBoxed GI.Gdk.Structs.TextureDownloader.TextureDownloader
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Structs.TextureDownloader.TextureDownloader
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Structs.TextureDownloader.TextureDownloader)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.TextureDownloader.TextureDownloader
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Structs.TextureDownloader.TextureDownloader

-- | Stores a single event in a motion history.
--   
--   To check whether an axis is present, check whether the corresponding
--   flag from the [flagsgdk.AxisFlags] enumeration is set
--   in the flags To access individual axis values, use the
--   values of the values of the AxisUse enumerations as indices.
module GI.Gdk.Structs.TimeCoord

-- | Memory-managed wrapper type.
newtype TimeCoord
TimeCoord :: ManagedPtr TimeCoord -> TimeCoord

-- | Construct a TimeCoord struct initialized to zero.
newZeroTimeCoord :: MonadIO m => m TimeCoord

-- | Get the value of the “flags” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get timeCoord #flags
--   
getTimeCoordFlags :: MonadIO m => TimeCoord -> m [AxisFlags]

-- | Set the value of the “flags” field. When overloading
--   is enabled, this is equivalent to
--   
--   
--   set timeCoord [ #flags := value ]
--   
setTimeCoordFlags :: MonadIO m => TimeCoord -> [AxisFlags] -> m ()

-- | Get the value of the “time” field. When overloading is
--   enabled, this is equivalent to
--   
--   
--   get timeCoord #time
--   
getTimeCoordTime :: MonadIO m => TimeCoord -> m Word32

-- | Set the value of the “time” field. When overloading is
--   enabled, this is equivalent to
--   
--   
--   set timeCoord [ #time := value ]
--   
setTimeCoordTime :: MonadIO m => TimeCoord -> Word32 -> m ()
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Structs.TimeCoord.TimeCoord
instance Data.GI.Base.BasicTypes.CallocPtr GI.Gdk.Structs.TimeCoord.TimeCoord
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Gdk.Structs.TimeCoord.TimeCoord tag
instance GHC.Classes.Eq GI.Gdk.Structs.TimeCoord.TimeCoord
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.TimeCoord.TimeCoord

-- | Represents the platform-specific Vulkan draw context.
--   
--   GdkVulkanContexts are created for a surface using
--   surfaceCreateVulkanContext, and the context will match the
--   characteristics of the surface.
--   
--   Support for GdkVulkanContext is platform-specific and context
--   creation can fail, returning Nothing context.
module GI.Gdk.Objects.VulkanContext

-- | Memory-managed wrapper type.
newtype VulkanContext
VulkanContext :: ManagedPtr VulkanContext -> VulkanContext

-- | Type class for types which can be safely cast to VulkanContext,
--   for instance with toVulkanContext.
class (GObject o, IsDescendantOf VulkanContext o) => IsVulkanContext o

-- | Cast to VulkanContext, for types for which this is known to be
--   safe. For general casts, use castTo.
toVulkanContext :: (MonadIO m, IsVulkanContext o) => o -> m VulkanContext

-- | Emitted when the images managed by this context have changed.
--   
--   Usually this means that the swapchain had to be recreated, for example
--   in response to a change of the surface size.
type VulkanContextImagesUpdatedCallback = IO ()

-- | Connect a signal handler for the imagesUpdated signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after vulkanContext #imagesUpdated callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterVulkanContextImagesUpdated :: (IsVulkanContext a, MonadIO m) => a -> ((?self :: a) => VulkanContextImagesUpdatedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the imagesUpdated signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on vulkanContext #imagesUpdated callback
--   
onVulkanContextImagesUpdated :: (IsVulkanContext a, MonadIO m) => a -> ((?self :: a) => VulkanContextImagesUpdatedCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Gdk.Objects.VulkanContext.VulkanContext
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.VulkanContext.VulkanContext
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.VulkanContext.VulkanContext
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.VulkanContext.VulkanContext)
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.VulkanContext.VulkanContext o) => GI.Gdk.Objects.VulkanContext.IsVulkanContext o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.VulkanContext.VulkanContext
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.VulkanContext.VulkanContext

-- | An event related to a gesture on a touchpad device.
--   
--   Unlike touchscreens, where the windowing system sends basic sequences
--   of begin, update, end events, and leaves gesture recognition to the
--   clients, touchpad gestures are typically processed by the system,
--   resulting in these events.
module GI.Gdk.Objects.TouchpadEvent

-- | Memory-managed wrapper type.
newtype TouchpadEvent
TouchpadEvent :: ManagedPtr TouchpadEvent -> TouchpadEvent

-- | Type class for types which can be safely cast to TouchpadEvent,
--   for instance with toTouchpadEvent.
class (BoxedPtr o, TypedObject o, IsDescendantOf TouchpadEvent o) => IsTouchpadEvent o

-- | Cast to TouchpadEvent, for types for which this is known to be
--   safe. For general casts, use castTo.
toTouchpadEvent :: (MonadIO m, IsTouchpadEvent o) => o -> m TouchpadEvent

-- | Extracts delta information from a touchpad event.
touchpadEventGetDeltas :: (HasCallStack, MonadIO m, IsTouchpadEvent a) => a -> m (Double, Double)

-- | Extracts the touchpad gesture phase from a touchpad event.
touchpadEventGetGesturePhase :: (HasCallStack, MonadIO m, IsTouchpadEvent a) => a -> m TouchpadGesturePhase

-- | Extracts the number of fingers from a touchpad event.
touchpadEventGetNFingers :: (HasCallStack, MonadIO m, IsTouchpadEvent a) => a -> m Word32

-- | Extracts the angle delta from a touchpad pinch event.
touchpadEventGetPinchAngleDelta :: (HasCallStack, MonadIO m, IsTouchpadEvent a) => a -> m Double

-- | Extracts the scale from a touchpad pinch event.
touchpadEventGetPinchScale :: (HasCallStack, MonadIO m, IsTouchpadEvent a) => a -> m Double
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Objects.TouchpadEvent.TouchpadEvent
instance GHC.Classes.Eq GI.Gdk.Objects.TouchpadEvent.TouchpadEvent
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.TouchpadEvent.TouchpadEvent
instance (Data.GI.Base.BasicTypes.BoxedPtr o, Data.GI.Base.BasicTypes.TypedObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.TouchpadEvent.TouchpadEvent o) => GI.Gdk.Objects.TouchpadEvent.IsTouchpadEvent o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.TouchpadEvent.TouchpadEvent
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.TouchpadEvent.TouchpadEvent

-- | An event related to a touch-based device.
module GI.Gdk.Objects.TouchEvent

-- | Memory-managed wrapper type.
newtype TouchEvent
TouchEvent :: ManagedPtr TouchEvent -> TouchEvent

-- | Type class for types which can be safely cast to TouchEvent,
--   for instance with toTouchEvent.
class (BoxedPtr o, TypedObject o, IsDescendantOf TouchEvent o) => IsTouchEvent o

-- | Cast to TouchEvent, for types for which this is known to be
--   safe. For general casts, use castTo.
toTouchEvent :: (MonadIO m, IsTouchEvent o) => o -> m TouchEvent

-- | Extracts whether a touch event is emulating a pointer event.
touchEventGetEmulatingPointer :: (HasCallStack, MonadIO m, IsTouchEvent a) => a -> m Bool
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Objects.TouchEvent.TouchEvent
instance GHC.Classes.Eq GI.Gdk.Objects.TouchEvent.TouchEvent
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.TouchEvent.TouchEvent
instance (Data.GI.Base.BasicTypes.BoxedPtr o, Data.GI.Base.BasicTypes.TypedObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.TouchEvent.TouchEvent o) => GI.Gdk.Objects.TouchEvent.IsTouchEvent o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.TouchEvent.TouchEvent
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.TouchEvent.TouchEvent

-- | Represents a rectangular region on the screen.
--   
--   It’s a low-level object, used to implement high-level objects such as
--   GtkWindow.
--   
--   The surfaces you see in practice are either Toplevel or
--   Popup, and those interfaces provide much of the required API to
--   interact with these surfaces. Other, more specialized surface types
--   exist, but you will rarely interact with them directly.
module GI.Gdk.Objects.Surface

-- | Memory-managed wrapper type.
newtype Surface
Surface :: ManagedPtr Surface -> Surface

-- | Type class for types which can be safely cast to Surface, for
--   instance with toSurface.
class (GObject o, IsDescendantOf Surface o) => IsSurface o

-- | Cast to Surface, for types for which this is known to be safe.
--   For general casts, use castTo.
toSurface :: (MonadIO m, IsSurface o) => o -> m Surface

-- | Emits a short beep associated to surface.
--   
--   If the display of surface does not support per-surface
--   beeps, emits a short beep on the display just as displayBeep.
surfaceBeep :: (HasCallStack, MonadIO m, IsSurface a) => a -> m ()

-- | Creates a new GdkCairoContext for rendering on
--   surface.

-- | Deprecated: (Since version 4.18)Drawing content with Cairo should
--   be done viaCairo rendernodes, not by using the Cairo renderer.
surfaceCreateCairoContext :: (HasCallStack, MonadIO m, IsSurface a) => a -> m CairoContext

-- | Creates a new GdkGLContext for the GdkSurface.
--   
--   The context is disconnected from any particular surface or surface. If
--   the creation of the GdkGLContext failed,
--   error will be set. Before using the returned
--   GdkGLContext, you will need to call
--   gLContextMakeCurrent or gLContextRealize.
surfaceCreateGlContext :: (HasCallStack, MonadIO m, IsSurface a) => a -> m GLContext

-- | Create a new Cairo surface that is as compatible as possible with the
--   given surface.
--   
--   For example the new surface will have the same fallback resolution and
--   font options as surface. Generally, the new surface
--   will also use the same backend as surface, unless that
--   is not possible for some reason. The type of the returned surface may
--   be examined with cairo_surface_get_type().
--   
--   Initially the surface contents are all 0 (transparent if contents have
--   transparency, black otherwise.)
--   
--   This function always returns a valid pointer, but it will return a
--   pointer to a “nil” surface if other is already in an
--   error state or any other error occurs.

-- | Deprecated: (Since version 4.12)Create a suitable cairo image
--   surface yourself
surfaceCreateSimilarSurface :: (HasCallStack, MonadIO m, IsSurface a) => a -> Content -> Int32 -> Int32 -> m Surface

-- | Sets an error and returns Nothing.

-- | Deprecated: (Since version 4.14)GTK does not expose any Vulkan
--   internals. Thisfunction is a leftover that was accidentally
--   exposed.
surfaceCreateVulkanContext :: (HasCallStack, MonadIO m, IsSurface a) => a -> m VulkanContext

-- | Destroys the window system resources associated with
--   surface and decrements surface's
--   reference count.
--   
--   The window system resources for all children of
--   surface are also destroyed, but the children’s
--   reference counts are not decremented.
--   
--   Note that a surface will not be destroyed automatically when its
--   reference count reaches zero. You must call this function yourself
--   before that happens.
surfaceDestroy :: (HasCallStack, MonadIO m, IsSurface a) => a -> m ()

-- | Retrieves a GdkCursor pointer for the cursor currently set on
--   the GdkSurface.
--   
--   If the return value is Nothing then there is no custom cursor
--   set on the surface, and it is using the cursor for its parent surface.
--   
--   Use surfaceSetCursor to unset the cursor of the surface.
surfaceGetCursor :: (HasCallStack, MonadIO m, IsSurface a) => a -> m (Maybe Cursor)

-- | Retrieves a GdkCursor pointer for the device
--   currently set on the specified GdkSurface.
--   
--   If the return value is Nothing then there is no custom cursor
--   set on the specified surface, and it is using the cursor for its
--   parent surface.
--   
--   Use surfaceSetCursor to unset the cursor of the surface.
surfaceGetDeviceCursor :: (HasCallStack, MonadIO m, IsSurface a, IsDevice b) => a -> b -> m (Maybe Cursor)

-- | Obtains the current device position and modifier state.
--   
--   The position is given in coordinates relative to the upper left corner
--   of surface.
surfaceGetDevicePosition :: (HasCallStack, MonadIO m, IsSurface a, IsDevice b) => a -> b -> m (Bool, Double, Double, [ModifierType])

-- | Gets the GdkDisplay associated with a GdkSurface.
surfaceGetDisplay :: (HasCallStack, MonadIO m, IsSurface a) => a -> m Display

-- | Gets the frame clock for the surface.
--   
--   The frame clock for a surface never changes unless the surface is
--   reparented to a new toplevel surface.
surfaceGetFrameClock :: (HasCallStack, MonadIO m, IsSurface a) => a -> m FrameClock

-- | Returns the height of the given surface.
--   
--   Surface size is reported in ”application pixels”, not ”device pixels”
--   (see surfaceGetScaleFactor).
surfaceGetHeight :: (HasCallStack, MonadIO m, IsSurface a) => a -> m Int32

-- | Checks whether the surface has been mapped.
--   
--   A surface is mapped with toplevelPresent or
--   popupPresent.
surfaceGetMapped :: (HasCallStack, MonadIO m, IsSurface a) => a -> m Bool

-- | Returns the internal scale that maps from surface coordinates to the
--   actual device pixels.
--   
--   When the scale is bigger than 1, the windowing system prefers to get
--   buffers with a resolution that is bigger than the surface size (e.g.
--   to show the surface on a high-resolution display, or in a magnifier).
--   
--   Compare with surfaceGetScaleFactor, which returns the next
--   larger integer.
--   
--   The scale may change during the lifetime of the surface.
--   
--   Since: 4.12
surfaceGetScale :: (HasCallStack, MonadIO m, IsSurface a) => a -> m Double

-- | Returns the internal scale factor that maps from surface coordinates
--   to the actual device pixels.
--   
--   On traditional systems this is 1, but on very high density outputs
--   this can be a higher value (often 2). A higher value means that
--   drawing is automatically scaled up to a higher resolution, so any code
--   doing drawing will automatically look nicer. However, if you are
--   supplying pixel-based data the scale value can be used to determine
--   whether to use a pixel resource with higher resolution data.
--   
--   The scale factor may change during the lifetime of the surface.
surfaceGetScaleFactor :: (HasCallStack, MonadIO m, IsSurface a) => a -> m Int32

-- | Returns the width of the given surface.
--   
--   Surface size is reported in ”application pixels”, not ”device pixels”
--   (see surfaceGetScaleFactor).
surfaceGetWidth :: (HasCallStack, MonadIO m, IsSurface a) => a -> m Int32

-- | Hide the surface.
--   
--   For toplevel surfaces, withdraws them, so they will no longer be known
--   to the window manager; for all surfaces, unmaps them, so they won’t be
--   displayed. Normally done automatically as part of
--   gtk_widget_hide().
surfaceHide :: (HasCallStack, MonadIO m, IsSurface a) => a -> m ()

-- | Check to see if a surface is destroyed.
surfaceIsDestroyed :: (HasCallStack, MonadIO m, IsSurface a) => a -> m Bool

-- | Create a new popup surface.
--   
--   The surface will be attached to parent and can be
--   positioned relative to it using popupPresent.
surfaceNewPopup :: (HasCallStack, MonadIO m, IsSurface a) => a -> Bool -> m Surface

-- | Creates a new toplevel surface.
surfaceNewToplevel :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m Surface

-- | Forces a Surface::render signal emission for
--   surface to be scheduled.
--   
--   This function is useful for implementations that track invalid regions
--   on their own.
surfaceQueueRender :: (HasCallStack, MonadIO m, IsSurface a) => a -> m ()

-- | Request a layout phase from the surface's frame clock.
--   
--   See frameClockRequestPhase.
surfaceRequestLayout :: (HasCallStack, MonadIO m, IsSurface a) => a -> m ()

-- | Sets the default mouse pointer for a GdkSurface.
--   
--   Passing Nothing for the cursor argument means
--   that surface will use the cursor of its parent
--   surface. Most surfaces should use this default. Note that
--   cursor must be for the same display as
--   surface.
--   
--   Use cursorNewFromName or cursorNewFromTexture to create
--   the cursor. To make the cursor invisible, use
--   GDK_BLANK_CURSOR.
surfaceSetCursor :: (HasCallStack, MonadIO m, IsSurface a, IsCursor b) => a -> Maybe b -> m ()

-- | Sets a specific GdkCursor for a given device when it gets
--   inside surface.
--   
--   Passing Nothing for the cursor argument means
--   that surface will use the cursor of its parent
--   surface. Most surfaces should use this default.
--   
--   Use cursorNewFromName or cursorNewFromTexture to create
--   the cursor. To make the cursor invisible, use
--   GDK_BLANK_CURSOR.
surfaceSetDeviceCursor :: (HasCallStack, MonadIO m, IsSurface a, IsDevice b, IsCursor c) => a -> b -> c -> m ()

-- | Apply the region to the surface for the purpose of event handling.
--   
--   Mouse events which happen while the pointer position corresponds to an
--   unset bit in the mask will be passed on the surface below
--   surface.
--   
--   An input region is typically used with RGBA surfaces. The alpha
--   channel of the surface defines which pixels are invisible and allows
--   for nicely antialiased borders, and the input region controls where
--   the surface is “clickable”.
--   
--   Use displaySupportsInputShapes to find out if a particular
--   backend supports input regions.
surfaceSetInputRegion :: (HasCallStack, MonadIO m, IsSurface a) => a -> Maybe Region -> m ()

-- | Marks a region of the GdkSurface as opaque.
--   
--   For optimisation purposes, compositing window managers may like to not
--   draw obscured regions of surfaces, or turn off blending during for
--   these regions. With RGB windows with no transparency, this is just the
--   shape of the window, but with ARGB32 windows, the compositor does not
--   know what regions of the window are transparent or not.
--   
--   This function only works for toplevel surfaces.
--   
--   GTK will update this property automatically if the
--   surface background is opaque, as we know where the
--   opaque regions are. If your surface background is not opaque, please
--   update this property in your GtkWidgetClass.css_changed
--   handler.

-- | Deprecated: (Since version 4.16)GDK can figure out the opaque parts
--   of a window itselfby inspecting the contents that are drawn.
surfaceSetOpaqueRegion :: (HasCallStack, MonadIO m, IsSurface a) => a -> Maybe Region -> m ()

-- | Translates coordinates between two surfaces.
--   
--   Note that this only works if to and
--   from are popups or transient-for to the same toplevel
--   (directly or indirectly).
surfaceTranslateCoordinates :: (HasCallStack, MonadIO m, IsSurface a, IsSurface b) => a -> b -> Double -> Double -> m (Bool, Double, Double)

-- | Set the value of the “cursor” property to Nothing.
--   When overloading is enabled, this is equivalent to
--   
--   
--   clear #cursor
--   
clearSurfaceCursor :: (MonadIO m, IsSurface o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “cursor” property. This is rarely needed directly, but it is
--   used by new.
constructSurfaceCursor :: (IsSurface o, MonadIO m, IsCursor a) => a -> m (GValueConstruct o)

-- | Get the value of the “cursor” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get surface #cursor
--   
getSurfaceCursor :: (MonadIO m, IsSurface o) => o -> m (Maybe Cursor)

-- | Set the value of the “cursor” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set surface [ #cursor := value ]
--   
setSurfaceCursor :: (MonadIO m, IsSurface o, IsCursor a) => o -> a -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “display” property. This is rarely needed directly, but it is
--   used by new.
constructSurfaceDisplay :: (IsSurface o, MonadIO m, IsDisplay a) => a -> m (GValueConstruct o)

-- | Get the value of the “display” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get surface #display
--   
getSurfaceDisplay :: (MonadIO m, IsSurface o) => o -> m Display

-- | Construct a GValueConstruct with valid value for the
--   “frame-clock” property. This is rarely needed directly, but
--   it is used by new.
constructSurfaceFrameClock :: (IsSurface o, MonadIO m, IsFrameClock a) => a -> m (GValueConstruct o)

-- | Get the value of the “frame-clock” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get surface #frameClock
--   
getSurfaceFrameClock :: (MonadIO m, IsSurface o) => o -> m FrameClock

-- | Get the value of the “height” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get surface #height
--   
getSurfaceHeight :: (MonadIO m, IsSurface o) => o -> m Int32

-- | Get the value of the “mapped” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get surface #mapped
--   
getSurfaceMapped :: (MonadIO m, IsSurface o) => o -> m Bool

-- | Get the value of the “scale” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get surface #scale
--   
getSurfaceScale :: (MonadIO m, IsSurface o) => o -> m Double

-- | Get the value of the “scale-factor” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get surface #scaleFactor
--   
getSurfaceScaleFactor :: (MonadIO m, IsSurface o) => o -> m Int32

-- | Get the value of the “width” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get surface #width
--   
getSurfaceWidth :: (MonadIO m, IsSurface o) => o -> m Int32

-- | Emitted when surface starts being present on the
--   monitor.
type SurfaceEnterMonitorCallback = Monitor -> IO ()

-- | Connect a signal handler for the enterMonitor signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after surface #enterMonitor callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterSurfaceEnterMonitor :: (IsSurface a, MonadIO m) => a -> ((?self :: a) => SurfaceEnterMonitorCallback) -> m SignalHandlerId

-- | Connect a signal handler for the enterMonitor signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on surface #enterMonitor callback
--   
onSurfaceEnterMonitor :: (IsSurface a, MonadIO m) => a -> ((?self :: a) => SurfaceEnterMonitorCallback) -> m SignalHandlerId

-- | Emitted when GDK receives an input event for surface.
type SurfaceEventCallback = Event -> IO Bool

-- | Connect a signal handler for the event signal, to be run after
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after surface #event callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterSurfaceEvent :: (IsSurface a, MonadIO m) => a -> ((?self :: a) => SurfaceEventCallback) -> m SignalHandlerId

-- | Connect a signal handler for the event signal, to be run before
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   on surface #event callback
--   
onSurfaceEvent :: (IsSurface a, MonadIO m) => a -> ((?self :: a) => SurfaceEventCallback) -> m SignalHandlerId

-- | Emitted when the size of surface is changed, or when
--   relayout should be performed.
--   
--   Surface size is reported in ”application pixels”, not ”device pixels”
--   (see surfaceGetScaleFactor).
type SurfaceLayoutCallback = Int32 -> Int32 -> IO ()

-- | Connect a signal handler for the layout signal, to be run after
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after surface #layout callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterSurfaceLayout :: (IsSurface a, MonadIO m) => a -> ((?self :: a) => SurfaceLayoutCallback) -> m SignalHandlerId

-- | Connect a signal handler for the layout signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on surface #layout callback
--   
onSurfaceLayout :: (IsSurface a, MonadIO m) => a -> ((?self :: a) => SurfaceLayoutCallback) -> m SignalHandlerId

-- | Emitted when surface stops being present on the
--   monitor.
type SurfaceLeaveMonitorCallback = Monitor -> IO ()

-- | Connect a signal handler for the leaveMonitor signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after surface #leaveMonitor callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterSurfaceLeaveMonitor :: (IsSurface a, MonadIO m) => a -> ((?self :: a) => SurfaceLeaveMonitorCallback) -> m SignalHandlerId

-- | Connect a signal handler for the leaveMonitor signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on surface #leaveMonitor callback
--   
onSurfaceLeaveMonitor :: (IsSurface a, MonadIO m) => a -> ((?self :: a) => SurfaceLeaveMonitorCallback) -> m SignalHandlerId

-- | Emitted when part of the surface needs to be redrawn.
type SurfaceRenderCallback = Region -> IO Bool

-- | Connect a signal handler for the render signal, to be run after
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after surface #render callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterSurfaceRender :: (IsSurface a, MonadIO m) => a -> ((?self :: a) => SurfaceRenderCallback) -> m SignalHandlerId

-- | Connect a signal handler for the render signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on surface #render callback
--   
onSurfaceRender :: (IsSurface a, MonadIO m) => a -> ((?self :: a) => SurfaceRenderCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Gdk.Objects.Surface.Surface
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.Surface.Surface
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Surface.Surface
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.Surface.Surface)
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Surface.Surface o) => GI.Gdk.Objects.Surface.IsSurface o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.Surface.Surface
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.Surface.Surface

-- | Represents a collection of input devices that belong to a user.
module GI.Gdk.Objects.Seat

-- | Memory-managed wrapper type.
newtype Seat
Seat :: ManagedPtr Seat -> Seat

-- | Type class for types which can be safely cast to Seat, for
--   instance with toSeat.
class (GObject o, IsDescendantOf Seat o) => IsSeat o

-- | Cast to Seat, for types for which this is known to be safe. For
--   general casts, use castTo.
toSeat :: (MonadIO m, IsSeat o) => o -> m Seat

-- | Returns the capabilities this GdkSeat currently has.
seatGetCapabilities :: (HasCallStack, MonadIO m, IsSeat a) => a -> m [SeatCapabilities]

-- | Returns the devices that match the given capabilities.
seatGetDevices :: (HasCallStack, MonadIO m, IsSeat a) => a -> [SeatCapabilities] -> m [Device]

-- | Returns the GdkDisplay this seat belongs to.
seatGetDisplay :: (HasCallStack, MonadIO m, IsSeat a) => a -> m Display

-- | Returns the device that routes keyboard events.
seatGetKeyboard :: (HasCallStack, MonadIO m, IsSeat a) => a -> m (Maybe Device)

-- | Returns the device that routes pointer events.
seatGetPointer :: (HasCallStack, MonadIO m, IsSeat a) => a -> m (Maybe Device)

-- | Returns all GdkDeviceTools that are known to the application.
seatGetTools :: (HasCallStack, MonadIO m, IsSeat a) => a -> m [DeviceTool]

-- | Construct a GValueConstruct with valid value for the
--   “display” property. This is rarely needed directly, but it is
--   used by new.
constructSeatDisplay :: (IsSeat o, MonadIO m, IsDisplay a) => a -> m (GValueConstruct o)

-- | Get the value of the “display” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get seat #display
--   
getSeatDisplay :: (MonadIO m, IsSeat o) => o -> m Display

-- | Emitted when a new input device is related to this seat.
type SeatDeviceAddedCallback = Device -> IO ()

-- | Connect a signal handler for the deviceAdded signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after seat #deviceAdded callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterSeatDeviceAdded :: (IsSeat a, MonadIO m) => a -> ((?self :: a) => SeatDeviceAddedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the deviceAdded signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on seat #deviceAdded callback
--   
onSeatDeviceAdded :: (IsSeat a, MonadIO m) => a -> ((?self :: a) => SeatDeviceAddedCallback) -> m SignalHandlerId

-- | Emitted when an input device is removed (e.g. unplugged).
type SeatDeviceRemovedCallback = Device -> IO ()

-- | Connect a signal handler for the deviceRemoved signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after seat #deviceRemoved callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterSeatDeviceRemoved :: (IsSeat a, MonadIO m) => a -> ((?self :: a) => SeatDeviceRemovedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the deviceRemoved signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on seat #deviceRemoved callback
--   
onSeatDeviceRemoved :: (IsSeat a, MonadIO m) => a -> ((?self :: a) => SeatDeviceRemovedCallback) -> m SignalHandlerId

-- | Emitted whenever a new tool is made known to the seat.
--   
--   The tool may later be assigned to a device (i.e. on proximity with a
--   tablet). The device will emit the Device::toolChanged signal
--   accordingly.
--   
--   A same tool may be used by several devices.
type SeatToolAddedCallback = DeviceTool -> IO ()

-- | Connect a signal handler for the toolAdded signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after seat #toolAdded callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterSeatToolAdded :: (IsSeat a, MonadIO m) => a -> ((?self :: a) => SeatToolAddedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the toolAdded signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on seat #toolAdded callback
--   
onSeatToolAdded :: (IsSeat a, MonadIO m) => a -> ((?self :: a) => SeatToolAddedCallback) -> m SignalHandlerId

-- | Emitted whenever a tool is no longer known to this
--   seat.
type SeatToolRemovedCallback = DeviceTool -> IO ()

-- | Connect a signal handler for the toolRemoved signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after seat #toolRemoved callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterSeatToolRemoved :: (IsSeat a, MonadIO m) => a -> ((?self :: a) => SeatToolRemovedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the toolRemoved signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on seat #toolRemoved callback
--   
onSeatToolRemoved :: (IsSeat a, MonadIO m) => a -> ((?self :: a) => SeatToolRemovedCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Gdk.Objects.Seat.Seat
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.Seat.Seat
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Seat.Seat
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.Seat.Seat)
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Seat.Seat o) => GI.Gdk.Objects.Seat.IsSeat o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.Seat.Seat
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.Seat.Seat

-- | An event related to a scrolling motion.
module GI.Gdk.Objects.ScrollEvent

-- | Memory-managed wrapper type.
newtype ScrollEvent
ScrollEvent :: ManagedPtr ScrollEvent -> ScrollEvent

-- | Type class for types which can be safely cast to ScrollEvent,
--   for instance with toScrollEvent.
class (BoxedPtr o, TypedObject o, IsDescendantOf ScrollEvent o) => IsScrollEvent o

-- | Cast to ScrollEvent, for types for which this is known to be
--   safe. For general casts, use castTo.
toScrollEvent :: (MonadIO m, IsScrollEvent o) => o -> m ScrollEvent

-- | Extracts the scroll deltas of a scroll event.
--   
--   The deltas will be zero unless the scroll direction is
--   ScrollDirectionSmooth.
--   
--   For the representation unit of these deltas, see
--   scrollEventGetUnit.
scrollEventGetDeltas :: (HasCallStack, MonadIO m, IsScrollEvent a) => a -> m (Double, Double)

-- | Extracts the direction of a scroll event.
scrollEventGetDirection :: (HasCallStack, MonadIO m, IsScrollEvent a) => a -> m ScrollDirection

-- | Extracts the scroll direction relative to the physical motion.
--   
--   Since: 4.20
scrollEventGetRelativeDirection :: (HasCallStack, MonadIO m, IsScrollEvent a) => a -> m ScrollRelativeDirection

-- | Extracts the scroll delta unit of a scroll event.
--   
--   The unit will always be ScrollUnitWheel if the scroll direction
--   is not ScrollDirectionSmooth.
--   
--   Since: 4.8
scrollEventGetUnit :: (HasCallStack, MonadIO m, IsScrollEvent a) => a -> m ScrollUnit

-- | Check whether a scroll event is a stop scroll event.
--   
--   Scroll sequences with smooth scroll information may provide a stop
--   scroll event once the interaction with the device finishes, e.g. by
--   lifting a finger. This stop scroll event is the signal that a widget
--   may trigger kinetic scrolling based on the current velocity.
--   
--   Stop scroll events always have a delta of 0/0.
scrollEventIsStop :: (HasCallStack, MonadIO m, IsScrollEvent a) => a -> m Bool
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Objects.ScrollEvent.ScrollEvent
instance GHC.Classes.Eq GI.Gdk.Objects.ScrollEvent.ScrollEvent
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.ScrollEvent.ScrollEvent
instance (Data.GI.Base.BasicTypes.BoxedPtr o, Data.GI.Base.BasicTypes.TypedObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.ScrollEvent.ScrollEvent o) => GI.Gdk.Objects.ScrollEvent.IsScrollEvent o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.ScrollEvent.ScrollEvent
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.ScrollEvent.ScrollEvent

-- | An event related to the proximity of a tool to a device.
module GI.Gdk.Objects.ProximityEvent

-- | Memory-managed wrapper type.
newtype ProximityEvent
ProximityEvent :: ManagedPtr ProximityEvent -> ProximityEvent

-- | Type class for types which can be safely cast to
--   ProximityEvent, for instance with toProximityEvent.
class (BoxedPtr o, TypedObject o, IsDescendantOf ProximityEvent o) => IsProximityEvent o

-- | Cast to ProximityEvent, for types for which this is known to be
--   safe. For general casts, use castTo.
toProximityEvent :: (MonadIO m, IsProximityEvent o) => o -> m ProximityEvent
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Objects.ProximityEvent.ProximityEvent
instance GHC.Classes.Eq GI.Gdk.Objects.ProximityEvent.ProximityEvent
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.ProximityEvent.ProximityEvent
instance (Data.GI.Base.BasicTypes.BoxedPtr o, Data.GI.Base.BasicTypes.TypedObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.ProximityEvent.ProximityEvent o) => GI.Gdk.Objects.ProximityEvent.IsProximityEvent o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.ProximityEvent.ProximityEvent
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.ProximityEvent.ProximityEvent

-- | An event related to a pad-based device.
module GI.Gdk.Objects.PadEvent

-- | Memory-managed wrapper type.
newtype PadEvent
PadEvent :: ManagedPtr PadEvent -> PadEvent

-- | Type class for types which can be safely cast to PadEvent, for
--   instance with toPadEvent.
class (BoxedPtr o, TypedObject o, IsDescendantOf PadEvent o) => IsPadEvent o

-- | Cast to PadEvent, for types for which this is known to be safe.
--   For general casts, use castTo.
toPadEvent :: (MonadIO m, IsPadEvent o) => o -> m PadEvent

-- | Extracts the information from a pad strip or ring event.
padEventGetAxisValue :: (HasCallStack, MonadIO m, IsPadEvent a) => a -> m (Word32, Double)

-- | Extracts information about the pressed button from a pad event.
padEventGetButton :: (HasCallStack, MonadIO m, IsPadEvent a) => a -> m Word32

-- | Extracts group and mode information from a pad event.
padEventGetGroupMode :: (HasCallStack, MonadIO m, IsPadEvent a) => a -> m (Word32, Word32)
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Objects.PadEvent.PadEvent
instance GHC.Classes.Eq GI.Gdk.Objects.PadEvent.PadEvent
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.PadEvent.PadEvent
instance (Data.GI.Base.BasicTypes.BoxedPtr o, Data.GI.Base.BasicTypes.TypedObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.PadEvent.PadEvent o) => GI.Gdk.Objects.PadEvent.IsPadEvent o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.PadEvent.PadEvent
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.PadEvent.PadEvent

-- | An event related to a pointer or touch device motion.
module GI.Gdk.Objects.MotionEvent

-- | Memory-managed wrapper type.
newtype MotionEvent
MotionEvent :: ManagedPtr MotionEvent -> MotionEvent

-- | Type class for types which can be safely cast to MotionEvent,
--   for instance with toMotionEvent.
class (BoxedPtr o, TypedObject o, IsDescendantOf MotionEvent o) => IsMotionEvent o

-- | Cast to MotionEvent, for types for which this is known to be
--   safe. For general casts, use castTo.
toMotionEvent :: (MonadIO m, IsMotionEvent o) => o -> m MotionEvent
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Objects.MotionEvent.MotionEvent
instance GHC.Classes.Eq GI.Gdk.Objects.MotionEvent.MotionEvent
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.MotionEvent.MotionEvent
instance (Data.GI.Base.BasicTypes.BoxedPtr o, Data.GI.Base.BasicTypes.TypedObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.MotionEvent.MotionEvent o) => GI.Gdk.Objects.MotionEvent.IsMotionEvent o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.MotionEvent.MotionEvent
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.MotionEvent.MotionEvent

-- | Represents the individual outputs that are associated with a
--   GdkDisplay.
--   
--   GdkDisplay keeps a GListModel to enumerate and
--   monitor monitors with displayGetMonitors. You can use
--   displayGetMonitorAtSurface to find a particular monitor.
module GI.Gdk.Objects.Monitor

-- | Memory-managed wrapper type.
newtype Monitor
Monitor :: ManagedPtr Monitor -> Monitor

-- | Type class for types which can be safely cast to Monitor, for
--   instance with toMonitor.
class (GObject o, IsDescendantOf Monitor o) => IsMonitor o

-- | Cast to Monitor, for types for which this is known to be safe.
--   For general casts, use castTo.
toMonitor :: (MonadIO m, IsMonitor o) => o -> m Monitor

-- | Gets the name of the monitor's connector, if available.
--   
--   These are strings such as "eDP-1", or "HDMI-2". They depend on
--   software and hardware configuration, and should not be relied on as
--   stable identifiers of a specific monitor.
monitorGetConnector :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m (Maybe Text)

-- | Gets a string describing the monitor, if available.
--   
--   This can be used to identify a monitor in the UI.
--   
--   Since: 4.10
monitorGetDescription :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m (Maybe Text)

-- | Gets the display that this monitor belongs to.
monitorGetDisplay :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Display

-- | Retrieves the size and position of the monitor within the display
--   coordinate space.
--   
--   The returned geometry is in ”application pixels”, not in ”device
--   pixels” (see monitorGetScale).
monitorGetGeometry :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Rectangle

-- | Gets the height in millimeters of the monitor.
monitorGetHeightMm :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Int32

-- | Gets the name or PNP ID of the monitor's manufacturer.
--   
--   Note that this value might also vary depending on actual display
--   backend.
--   
--   The PNP ID registry is located at https://uefi.org/pnp_id_list.
monitorGetManufacturer :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m (Maybe Text)

-- | Gets the string identifying the monitor model, if available.
monitorGetModel :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m (Maybe Text)

-- | Gets the refresh rate of the monitor, if available.
--   
--   The value is in milli-Hertz, so a refresh rate of 60Hz is returned as
--   60000.
monitorGetRefreshRate :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Int32

-- | Gets the internal scale factor that maps from monitor coordinates to
--   device pixels.
--   
--   This can be used if you want to create pixel based data for a
--   particular monitor, but most of the time you’re drawing to a surface
--   where it is better to use surfaceGetScale instead.
--   
--   Since: 4.14
monitorGetScale :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Double

-- | Gets the internal scale factor that maps from monitor coordinates to
--   device pixels.
--   
--   On traditional systems this is 1, but on very high density outputs it
--   can be a higher value (often 2).
--   
--   This can be used if you want to create pixel based data for a
--   particular monitor, but most of the time you’re drawing to a surface
--   where it is better to use surfaceGetScaleFactor instead.
monitorGetScaleFactor :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Int32

-- | Gets information about the layout of red, green and blue primaries for
--   pixels.
monitorGetSubpixelLayout :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m SubpixelLayout

-- | Gets the width in millimeters of the monitor.
monitorGetWidthMm :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Int32

-- | Returns True if the monitor object corresponds
--   to a physical monitor.
--   
--   The monitor becomes invalid when the physical monitor
--   is unplugged or removed.
monitorIsValid :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Bool

-- | Get the value of the “connector” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get monitor #connector
--   
getMonitorConnector :: (MonadIO m, IsMonitor o) => o -> m (Maybe Text)

-- | Get the value of the “description” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get monitor #description
--   
getMonitorDescription :: (MonadIO m, IsMonitor o) => o -> m (Maybe Text)

-- | Construct a GValueConstruct with valid value for the
--   “display” property. This is rarely needed directly, but it is
--   used by new.
constructMonitorDisplay :: (IsMonitor o, MonadIO m, IsDisplay a) => a -> m (GValueConstruct o)

-- | Get the value of the “display” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get monitor #display
--   
getMonitorDisplay :: (MonadIO m, IsMonitor o) => o -> m Display

-- | Get the value of the “geometry” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get monitor #geometry
--   
getMonitorGeometry :: (MonadIO m, IsMonitor o) => o -> m (Maybe Rectangle)

-- | Get the value of the “height-mm” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get monitor #heightMm
--   
getMonitorHeightMm :: (MonadIO m, IsMonitor o) => o -> m Int32

-- | Get the value of the “manufacturer” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get monitor #manufacturer
--   
getMonitorManufacturer :: (MonadIO m, IsMonitor o) => o -> m (Maybe Text)

-- | Get the value of the “model” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get monitor #model
--   
getMonitorModel :: (MonadIO m, IsMonitor o) => o -> m (Maybe Text)

-- | Get the value of the “refresh-rate” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get monitor #refreshRate
--   
getMonitorRefreshRate :: (MonadIO m, IsMonitor o) => o -> m Int32

-- | Get the value of the “scale” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get monitor #scale
--   
getMonitorScale :: (MonadIO m, IsMonitor o) => o -> m Double

-- | Get the value of the “scale-factor” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get monitor #scaleFactor
--   
getMonitorScaleFactor :: (MonadIO m, IsMonitor o) => o -> m Int32

-- | Get the value of the “subpixel-layout” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get monitor #subpixelLayout
--   
getMonitorSubpixelLayout :: (MonadIO m, IsMonitor o) => o -> m SubpixelLayout

-- | Get the value of the “valid” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get monitor #valid
--   
getMonitorValid :: (MonadIO m, IsMonitor o) => o -> m Bool

-- | Get the value of the “width-mm” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get monitor #widthMm
--   
getMonitorWidthMm :: (MonadIO m, IsMonitor o) => o -> m Int32

-- | Emitted when the output represented by monitor gets
--   disconnected.
type MonitorInvalidateCallback = IO ()

-- | Connect a signal handler for the invalidate signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after monitor #invalidate callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterMonitorInvalidate :: (IsMonitor a, MonadIO m) => a -> ((?self :: a) => MonitorInvalidateCallback) -> m SignalHandlerId

-- | Connect a signal handler for the invalidate signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on monitor #invalidate callback
--   
onMonitorInvalidate :: (IsMonitor a, MonadIO m) => a -> ((?self :: a) => MonitorInvalidateCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Gdk.Objects.Monitor.Monitor
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.Monitor.Monitor
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Monitor.Monitor
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.Monitor.Monitor)
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Monitor.Monitor o) => GI.Gdk.Objects.Monitor.IsMonitor o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.Monitor.Monitor
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.Monitor.Monitor

-- | An event related to a key-based device.
module GI.Gdk.Objects.KeyEvent

-- | Memory-managed wrapper type.
newtype KeyEvent
KeyEvent :: ManagedPtr KeyEvent -> KeyEvent

-- | Type class for types which can be safely cast to KeyEvent, for
--   instance with toKeyEvent.
class (BoxedPtr o, TypedObject o, IsDescendantOf KeyEvent o) => IsKeyEvent o

-- | Cast to KeyEvent, for types for which this is known to be safe.
--   For general casts, use castTo.
toKeyEvent :: (MonadIO m, IsKeyEvent o) => o -> m KeyEvent

-- | Extracts the consumed modifiers from a key event.
keyEventGetConsumedModifiers :: (HasCallStack, MonadIO m, IsKeyEvent a) => a -> m [ModifierType]

-- | Extracts the keycode from a key event.
keyEventGetKeycode :: (HasCallStack, MonadIO m, IsKeyEvent a) => a -> m Word32

-- | Extracts the keyval from a key event.
keyEventGetKeyval :: (HasCallStack, MonadIO m, IsKeyEvent a) => a -> m Word32

-- | Extracts the layout from a key event.
keyEventGetLayout :: (HasCallStack, MonadIO m, IsKeyEvent a) => a -> m Word32

-- | Extracts the shift level from a key event.
keyEventGetLevel :: (HasCallStack, MonadIO m, IsKeyEvent a) => a -> m Word32

-- | Gets a keyval and modifier combination that will match the event.
--   
--   See keyEventMatches.
keyEventGetMatch :: (HasCallStack, MonadIO m, IsKeyEvent a) => a -> m (Bool, Word32, [ModifierType])

-- | Extracts whether the key event is for a modifier key.
keyEventIsModifier :: (HasCallStack, MonadIO m, IsKeyEvent a) => a -> m Bool

-- | Matches a key event against a keyval and modifiers.
--   
--   This is typically used to trigger keyboard shortcuts such as Ctrl-C.
--   
--   Partial matches are possible where the combination matches if the
--   currently active group is ignored.
--   
--   Note that we ignore Caps Lock for matching.
keyEventMatches :: (HasCallStack, MonadIO m, IsKeyEvent a) => a -> Word32 -> [ModifierType] -> m KeyMatch
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Objects.KeyEvent.KeyEvent
instance GHC.Classes.Eq GI.Gdk.Objects.KeyEvent.KeyEvent
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.KeyEvent.KeyEvent
instance (Data.GI.Base.BasicTypes.BoxedPtr o, Data.GI.Base.BasicTypes.TypedObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.KeyEvent.KeyEvent o) => GI.Gdk.Objects.KeyEvent.IsKeyEvent o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.KeyEvent.KeyEvent
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.KeyEvent.KeyEvent

-- | An event related to a broken windowing system grab.
module GI.Gdk.Objects.GrabBrokenEvent

-- | Memory-managed wrapper type.
newtype GrabBrokenEvent
GrabBrokenEvent :: ManagedPtr GrabBrokenEvent -> GrabBrokenEvent

-- | Type class for types which can be safely cast to
--   GrabBrokenEvent, for instance with toGrabBrokenEvent.
class (BoxedPtr o, TypedObject o, IsDescendantOf GrabBrokenEvent o) => IsGrabBrokenEvent o

-- | Cast to GrabBrokenEvent, for types for which this is known to
--   be safe. For general casts, use castTo.
toGrabBrokenEvent :: (MonadIO m, IsGrabBrokenEvent o) => o -> m GrabBrokenEvent

-- | Extracts the grab surface from a grab broken event.
grabBrokenEventGetGrabSurface :: (HasCallStack, MonadIO m, IsGrabBrokenEvent a) => a -> m Surface

-- | Checks whether the grab broken event is for an implicit grab.
grabBrokenEventGetImplicit :: (HasCallStack, MonadIO m, IsGrabBrokenEvent a) => a -> m Bool
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Objects.GrabBrokenEvent.GrabBrokenEvent
instance GHC.Classes.Eq GI.Gdk.Objects.GrabBrokenEvent.GrabBrokenEvent
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.GrabBrokenEvent.GrabBrokenEvent
instance (Data.GI.Base.BasicTypes.BoxedPtr o, Data.GI.Base.BasicTypes.TypedObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.GrabBrokenEvent.GrabBrokenEvent o) => GI.Gdk.Objects.GrabBrokenEvent.IsGrabBrokenEvent o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.GrabBrokenEvent.GrabBrokenEvent
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.GrabBrokenEvent.GrabBrokenEvent

-- | Constructs Texture objects from GL textures.
--   
--   The operation is quite simple: Create a texture builder, set all the
--   necessary properties - keep in mind that the properties
--   GLTextureBuilder:context, GLTextureBuilder:id,
--   GLTextureBuilder:width, and GLTextureBuilder:height are
--   mandatory - and then call gLTextureBuilderBuild to create the
--   new texture.
--   
--   GdkGLTextureBuilder can be used for quick one-shot
--   construction of textures as well as kept around and reused to
--   construct multiple textures.
--   
--   Since: 4.12
module GI.Gdk.Objects.GLTextureBuilder

-- | Memory-managed wrapper type.
newtype GLTextureBuilder
GLTextureBuilder :: ManagedPtr GLTextureBuilder -> GLTextureBuilder

-- | Type class for types which can be safely cast to
--   GLTextureBuilder, for instance with toGLTextureBuilder.
class (GObject o, IsDescendantOf GLTextureBuilder o) => IsGLTextureBuilder o

-- | Cast to GLTextureBuilder, for types for which this is known to
--   be safe. For general casts, use castTo.
toGLTextureBuilder :: (MonadIO m, IsGLTextureBuilder o) => o -> m GLTextureBuilder

-- | Builds a new GdkTexture with the values set up in the
--   builder.
--   
--   The destroy function gets called when the returned texture
--   gets released; either when the texture is finalized or by an explicit
--   call to gLTextureRelease. It should release all GL resources
--   associated with the texture, such as the GLTextureBuilder:id
--   and the GLTextureBuilder:sync.
--   
--   Note that it is a programming error to call this function if any
--   mandatory property has not been set.
--   
--   It is possible to call this function multiple times to create multiple
--   textures, possibly with changing properties in between.
--   
--   Since: 4.12
gLTextureBuilderBuild :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> Maybe DestroyNotify -> Ptr () -> m Texture

-- | Gets the color state previously set via
--   gLTextureBuilderSetColorState.
--   
--   Since: 4.16
gLTextureBuilderGetColorState :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> m ColorState

-- | Gets the context previously set via gLTextureBuilderSetContext
--   or Nothing if none was set.
--   
--   Since: 4.12
gLTextureBuilderGetContext :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> m (Maybe GLContext)

-- | Gets the format previously set via gLTextureBuilderSetFormat.
--   
--   Since: 4.12
gLTextureBuilderGetFormat :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> m MemoryFormat

-- | Gets whether the texture has a mipmap.
--   
--   Since: 4.12
gLTextureBuilderGetHasMipmap :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> m Bool

-- | Gets the height previously set via gLTextureBuilderSetHeight or
--   0 if the height wasn't set.
--   
--   Since: 4.12
gLTextureBuilderGetHeight :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> m Int32

-- | Gets the texture id previously set via gLTextureBuilderSetId or
--   0 if the id wasn't set.
--   
--   Since: 4.12
gLTextureBuilderGetId :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> m Word32

-- | Gets the GLsync previously set via
--   gLTextureBuilderSetSync.
--   
--   Since: 4.12
gLTextureBuilderGetSync :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> m (Ptr ())

-- | Gets the region previously set via
--   gLTextureBuilderSetUpdateRegion or Nothing if none was
--   set.
--   
--   Since: 4.12
gLTextureBuilderGetUpdateRegion :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> m (Maybe Region)

-- | Gets the texture previously set via
--   gLTextureBuilderSetUpdateTexture or Nothing if none was
--   set.
--   
--   Since: 4.12
gLTextureBuilderGetUpdateTexture :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> m (Maybe Texture)

-- | Gets the width previously set via gLTextureBuilderSetWidth or 0
--   if the width wasn't set.
--   
--   Since: 4.12
gLTextureBuilderGetWidth :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> m Int32

-- | Creates a new texture builder.
--   
--   Since: 4.12
gLTextureBuilderNew :: (HasCallStack, MonadIO m) => m GLTextureBuilder

-- | Sets the color state for the texture.
--   
--   By default, the sRGB colorstate is used. If you don't know what
--   colorstates are, this is probably the right thing.
--   
--   Since: 4.16
gLTextureBuilderSetColorState :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> ColorState -> m ()

-- | Sets the context to be used for the texture. This is the context that
--   owns the texture.
--   
--   The context must be set before calling gLTextureBuilderBuild.
--   
--   Since: 4.12
gLTextureBuilderSetContext :: (HasCallStack, MonadIO m, IsGLTextureBuilder a, IsGLContext b) => a -> Maybe b -> m ()

-- | Sets the format of the texture. The default is
--   GDK_MEMORY_R8G8B8A8_PREMULTIPLIED.
--   
--   The format is the preferred format the texture data should be
--   downloaded to. The format must be supported by the GL version of
--   GLTextureBuilder:context.
--   
--   GDK's texture download code assumes that the format corresponds to the
--   storage parameters of the GL texture in an obvious way. For example, a
--   format of GDK_MEMORY_R16G16B16A16_PREMULTIPLIED is expected
--   to be stored as GL_RGBA16 texture, and
--   GDK_MEMORY_G8A8 is expected to be stored as GL_RG8
--   texture.
--   
--   Setting the right format is particularly useful when using high bit
--   depth textures to preserve the bit depth, to set the correct value for
--   unpremultiplied textures and to make sure opaque textures are treated
--   as such.
--   
--   Non-RGBA textures need to have swizzling parameters set up properly to
--   be usable in GSK's shaders.
--   
--   Since: 4.12
gLTextureBuilderSetFormat :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> MemoryFormat -> m ()

-- | Sets whether the texture has a mipmap. This allows the renderer and
--   other users of the generated texture to use a higher quality
--   downscaling.
--   
--   Typically, the glGenerateMipmap function is used to generate
--   a mimap.
--   
--   Since: 4.12
gLTextureBuilderSetHasMipmap :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> Bool -> m ()

-- | Sets the height of the texture.
--   
--   The height must be set before calling gLTextureBuilderBuild.
--   
--   Since: 4.12
gLTextureBuilderSetHeight :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> Int32 -> m ()

-- | Sets the texture id of the texture. The texture id must remain
--   unmodified until the texture was finalized. See
--   gLTextureBuilderBuild for a longer discussion.
--   
--   The id must be set before calling gLTextureBuilderBuild.
--   
--   Since: 4.12
gLTextureBuilderSetId :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> Word32 -> m ()

-- | Sets the GLSync object to use for the texture.
--   
--   GTK will wait on this object before using the created
--   GdkTexture.
--   
--   The destroy function that is passed to
--   gLTextureBuilderBuild is responsible for freeing the sync
--   object when it is no longer needed. The texture builder does not
--   destroy it and it is the callers responsibility to make sure it
--   doesn't leak.
--   
--   Since: 4.12
gLTextureBuilderSetSync :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> Ptr () -> m ()

-- | Sets the region to be updated by this texture. Together with
--   GLTextureBuilder:updateTexture this describes an update of a
--   previous texture.
--   
--   When rendering animations of large textures, it is possible that
--   consecutive textures are only updating contents in parts of the
--   texture. It is then possible to describe this update via these two
--   properties, so that GTK can avoid rerendering parts that did not
--   change.
--   
--   An example would be a screen recording where only the mouse pointer
--   moves.
--   
--   Since: 4.12
gLTextureBuilderSetUpdateRegion :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> Maybe Region -> m ()

-- | Sets the texture to be updated by this texture. See
--   gLTextureBuilderSetUpdateRegion for an explanation.
--   
--   Since: 4.12
gLTextureBuilderSetUpdateTexture :: (HasCallStack, MonadIO m, IsGLTextureBuilder a, IsTexture b) => a -> Maybe b -> m ()

-- | Sets the width of the texture.
--   
--   The width must be set before calling gLTextureBuilderBuild.
--   
--   Since: 4.12
gLTextureBuilderSetWidth :: (HasCallStack, MonadIO m, IsGLTextureBuilder a) => a -> Int32 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “color-state” property. This is rarely needed directly, but
--   it is used by new.
constructGLTextureBuilderColorState :: (IsGLTextureBuilder o, MonadIO m) => ColorState -> m (GValueConstruct o)

-- | Get the value of the “color-state” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get gLTextureBuilder #colorState
--   
getGLTextureBuilderColorState :: (MonadIO m, IsGLTextureBuilder o) => o -> m ColorState

-- | Set the value of the “color-state” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set gLTextureBuilder [ #colorState := value ]
--   
setGLTextureBuilderColorState :: (MonadIO m, IsGLTextureBuilder o) => o -> ColorState -> m ()

-- | Set the value of the “context” property to Nothing.
--   When overloading is enabled, this is equivalent to
--   
--   
--   clear #context
--   
clearGLTextureBuilderContext :: (MonadIO m, IsGLTextureBuilder o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “context” property. This is rarely needed directly, but it is
--   used by new.
constructGLTextureBuilderContext :: (IsGLTextureBuilder o, MonadIO m, IsGLContext a) => a -> m (GValueConstruct o)

-- | Get the value of the “context” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get gLTextureBuilder #context
--   
getGLTextureBuilderContext :: (MonadIO m, IsGLTextureBuilder o) => o -> m (Maybe GLContext)

-- | Set the value of the “context” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set gLTextureBuilder [ #context := value ]
--   
setGLTextureBuilderContext :: (MonadIO m, IsGLTextureBuilder o, IsGLContext a) => o -> a -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “format” property. This is rarely needed directly, but it is
--   used by new.
constructGLTextureBuilderFormat :: (IsGLTextureBuilder o, MonadIO m) => MemoryFormat -> m (GValueConstruct o)

-- | Get the value of the “format” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get gLTextureBuilder #format
--   
getGLTextureBuilderFormat :: (MonadIO m, IsGLTextureBuilder o) => o -> m MemoryFormat

-- | Set the value of the “format” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set gLTextureBuilder [ #format := value ]
--   
setGLTextureBuilderFormat :: (MonadIO m, IsGLTextureBuilder o) => o -> MemoryFormat -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “has-mipmap” property. This is rarely needed directly, but it
--   is used by new.
constructGLTextureBuilderHasMipmap :: (IsGLTextureBuilder o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “has-mipmap” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get gLTextureBuilder #hasMipmap
--   
getGLTextureBuilderHasMipmap :: (MonadIO m, IsGLTextureBuilder o) => o -> m Bool

-- | Set the value of the “has-mipmap” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set gLTextureBuilder [ #hasMipmap := value ]
--   
setGLTextureBuilderHasMipmap :: (MonadIO m, IsGLTextureBuilder o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “height” property. This is rarely needed directly, but it is
--   used by new.
constructGLTextureBuilderHeight :: (IsGLTextureBuilder o, MonadIO m) => Int32 -> m (GValueConstruct o)

-- | Get the value of the “height” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get gLTextureBuilder #height
--   
getGLTextureBuilderHeight :: (MonadIO m, IsGLTextureBuilder o) => o -> m Int32

-- | Set the value of the “height” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set gLTextureBuilder [ #height := value ]
--   
setGLTextureBuilderHeight :: (MonadIO m, IsGLTextureBuilder o) => o -> Int32 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “id” property. This is rarely needed directly, but it is used
--   by new.
constructGLTextureBuilderId :: (IsGLTextureBuilder o, MonadIO m) => Word32 -> m (GValueConstruct o)

-- | Get the value of the “id” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get gLTextureBuilder #id
--   
getGLTextureBuilderId :: (MonadIO m, IsGLTextureBuilder o) => o -> m Word32

-- | Set the value of the “id” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   set gLTextureBuilder [ #id := value ]
--   
setGLTextureBuilderId :: (MonadIO m, IsGLTextureBuilder o) => o -> Word32 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “sync” property. This is rarely needed directly, but it is
--   used by new.
constructGLTextureBuilderSync :: (IsGLTextureBuilder o, MonadIO m) => Ptr () -> m (GValueConstruct o)

-- | Get the value of the “sync” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get gLTextureBuilder #sync
--   
getGLTextureBuilderSync :: (MonadIO m, IsGLTextureBuilder o) => o -> m (Ptr ())

-- | Set the value of the “sync” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   set gLTextureBuilder [ #sync := value ]
--   
setGLTextureBuilderSync :: (MonadIO m, IsGLTextureBuilder o) => o -> Ptr () -> m ()

-- | Set the value of the “update-region” property to
--   Nothing. When overloading is enabled, this is equivalent
--   to
--   
--   
--   clear #updateRegion
--   
clearGLTextureBuilderUpdateRegion :: (MonadIO m, IsGLTextureBuilder o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “update-region” property. This is rarely needed directly, but
--   it is used by new.
constructGLTextureBuilderUpdateRegion :: (IsGLTextureBuilder o, MonadIO m) => Region -> m (GValueConstruct o)

-- | Get the value of the “update-region” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get gLTextureBuilder #updateRegion
--   
getGLTextureBuilderUpdateRegion :: (MonadIO m, IsGLTextureBuilder o) => o -> m (Maybe Region)

-- | Set the value of the “update-region” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set gLTextureBuilder [ #updateRegion := value ]
--   
setGLTextureBuilderUpdateRegion :: (MonadIO m, IsGLTextureBuilder o) => o -> Region -> m ()

-- | Set the value of the “update-texture” property to
--   Nothing. When overloading is enabled, this is equivalent
--   to
--   
--   
--   clear #updateTexture
--   
clearGLTextureBuilderUpdateTexture :: (MonadIO m, IsGLTextureBuilder o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “update-texture” property. This is rarely needed directly,
--   but it is used by new.
constructGLTextureBuilderUpdateTexture :: (IsGLTextureBuilder o, MonadIO m, IsTexture a) => a -> m (GValueConstruct o)

-- | Get the value of the “update-texture” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get gLTextureBuilder #updateTexture
--   
getGLTextureBuilderUpdateTexture :: (MonadIO m, IsGLTextureBuilder o) => o -> m (Maybe Texture)

-- | Set the value of the “update-texture” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set gLTextureBuilder [ #updateTexture := value ]
--   
setGLTextureBuilderUpdateTexture :: (MonadIO m, IsGLTextureBuilder o, IsTexture a) => o -> a -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “width” property. This is rarely needed directly, but it is
--   used by new.
constructGLTextureBuilderWidth :: (IsGLTextureBuilder o, MonadIO m) => Int32 -> m (GValueConstruct o)

-- | Get the value of the “width” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get gLTextureBuilder #width
--   
getGLTextureBuilderWidth :: (MonadIO m, IsGLTextureBuilder o) => o -> m Int32

-- | Set the value of the “width” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set gLTextureBuilder [ #width := value ]
--   
setGLTextureBuilderWidth :: (MonadIO m, IsGLTextureBuilder o) => o -> Int32 -> m ()
instance GHC.Classes.Eq GI.Gdk.Objects.GLTextureBuilder.GLTextureBuilder
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.GLTextureBuilder.GLTextureBuilder
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.GLTextureBuilder.GLTextureBuilder
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.GLTextureBuilder.GLTextureBuilder o) => GI.Gdk.Objects.GLTextureBuilder.IsGLTextureBuilder o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.GLTextureBuilder.GLTextureBuilder)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.GLTextureBuilder.GLTextureBuilder
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.GLTextureBuilder.GLTextureBuilder

-- | A GdkTexture representing a GL texture object.
module GI.Gdk.Objects.GLTexture

-- | Memory-managed wrapper type.
newtype GLTexture
GLTexture :: ManagedPtr GLTexture -> GLTexture

-- | Type class for types which can be safely cast to GLTexture, for
--   instance with toGLTexture.
class (GObject o, IsDescendantOf GLTexture o) => IsGLTexture o

-- | Cast to GLTexture, for types for which this is known to be
--   safe. For general casts, use castTo.
toGLTexture :: (MonadIO m, IsGLTexture o) => o -> m GLTexture

-- | Creates a new texture for an existing GL texture.
--   
--   Note that the GL texture must not be modified until
--   destroy is called, which will happen when the
--   GdkTexture object is finalized, or due to an explicit call of
--   gLTextureRelease.

-- | Deprecated: (Since version 4.12)GLTextureBuilder supersedes
--   this functionand provides extended functionality for creating GL
--   textures.
gLTextureNew :: (HasCallStack, MonadIO m, IsGLContext a) => a -> Word32 -> Int32 -> Int32 -> DestroyNotify -> Ptr () -> m GLTexture

-- | Releases the GL resources held by a GdkGLTexture.
--   
--   The texture contents are still available via the
--   textureDownload function, after this function has been called.
gLTextureRelease :: (HasCallStack, MonadIO m, IsGLTexture a) => a -> m ()
instance GHC.Classes.Eq GI.Gdk.Objects.GLTexture.GLTexture
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.GLTexture.GLTexture
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.GLTexture.GLTexture
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.GLTexture.GLTexture o) => GI.Gdk.Objects.GLTexture.IsGLTexture o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.GLTexture.GLTexture)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.GLTexture.GLTexture
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.GLTexture.GLTexture

-- | Represents a platform-specific OpenGL draw context.
--   
--   GdkGLContexts are created for a surface using
--   surfaceCreateGlContext, and the context will match the
--   characteristics of the surface.
--   
--   A GdkGLContext is not tied to any particular normal
--   framebuffer. For instance, it cannot draw to the surface back buffer.
--   The GDK repaint system is in full control of the painting to that.
--   Instead, you can create render buffers or textures and use
--   [funccairoDrawFromGl] in the draw function of your
--   widget to draw them. Then GDK will handle the integration of your
--   rendering with that of other widgets.
--   
--   Support for GdkGLContext is platform-specific and context
--   creation can fail, returning Nothing context.
--   
--   A GdkGLContext has to be made "current" in order to start
--   using it, otherwise any OpenGL call will be ignored.
--   
--   
Creating a new OpenGL context
--   
--   In order to create a new GdkGLContext instance you need a
--   GdkSurface, which you typically get during the realize call
--   of a widget.
--   
--   A GdkGLContext is not realized until either
--   gLContextMakeCurrent or gLContextRealize is called. It
--   is possible to specify details of the GL context like the OpenGL
--   version to be used, or whether the GL context should have extra state
--   validation enabled after calling surfaceCreateGlContext by
--   calling gLContextRealize. If the realization fails you have the
--   option to change the settings of the GdkGLContext and try
--   again.
--   
--   
Using a GdkGLContext
--   
--   You will need to make the GdkGLContext the current context
--   before issuing OpenGL calls; the system sends OpenGL commands to
--   whichever context is current. It is possible to have multiple
--   contexts, so you always need to ensure that the one which you want to
--   draw with is the current one before issuing commands:
--   
--   
c code
--   
--   
--   gdk_gl_context_make_current (context);
--   
--   
--   You can now perform your drawing using OpenGL commands.
--   
--   You can check which GdkGLContext is the current one by using
--   gLContextGetCurrent; you can also unset any
--   GdkGLContext that is currently set by calling
--   gLContextClearCurrent.
module GI.Gdk.Objects.GLContext

-- | Memory-managed wrapper type.
newtype GLContext
GLContext :: ManagedPtr GLContext -> GLContext

-- | Type class for types which can be safely cast to GLContext, for
--   instance with toGLContext.
class (GObject o, IsDescendantOf GLContext o) => IsGLContext o

-- | Cast to GLContext, for types for which this is known to be
--   safe. For general casts, use castTo.
toGLContext :: (MonadIO m, IsGLContext o) => o -> m GLContext

-- | Clears the current GdkGLContext.
--   
--   Any OpenGL call after this function returns will be ignored until
--   gLContextMakeCurrent is called.
gLContextClearCurrent :: (HasCallStack, MonadIO m) => m ()

-- | Gets the allowed APIs set via gLContextSetAllowedApis.
--   
--   Since: 4.6
gLContextGetAllowedApis :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m [GLAPI]

-- | Gets the API currently in use.
--   
--   If the renderer has not been realized yet, 0 is returned.
--   
--   Since: 4.6
gLContextGetApi :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m [GLAPI]

-- | Retrieves the current GdkGLContext.
gLContextGetCurrent :: (HasCallStack, MonadIO m) => m (Maybe GLContext)

-- | Retrieves whether the context is doing extra validations and runtime
--   checking.
--   
--   See gLContextSetDebugEnabled.
gLContextGetDebugEnabled :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m Bool

-- | Retrieves the display the context is created for
gLContextGetDisplay :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m (Maybe Display)

-- | Retrieves whether the context is forward-compatible.
--   
--   See gLContextSetForwardCompatible.
gLContextGetForwardCompatible :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m Bool

-- | Retrieves required OpenGL version set as a requirement for the
--   context realization. It will not change even if a
--   greater OpenGL version is supported and used after the
--   context is realized. See gLContextGetVersion
--   for the real version in use.
--   
--   See gLContextSetRequiredVersion.
gLContextGetRequiredVersion :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m (Int32, Int32)

-- | Used to retrieves the GdkGLContext that this
--   context share data with.
--   
--   As many contexts can share data now and no single shared context
--   exists anymore, this function has been deprecated and now always
--   returns Nothing.

-- | Deprecated: (Since version 4.4)Use gLContextIsShared to
--   check if contextscan be shared.
gLContextGetSharedContext :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m (Maybe GLContext)

-- | Retrieves the surface used by the context.
gLContextGetSurface :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m (Maybe Surface)

-- | Checks whether the context is using an OpenGL or
--   OpenGL ES profile.
gLContextGetUseEs :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m Bool

-- | Retrieves the OpenGL version of the context.
--   
--   The context must be realized prior to calling this
--   function.
gLContextGetVersion :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m (Int32, Int32)

-- | Whether the GdkGLContext is in legacy mode or not.
--   
--   The GdkGLContext must be realized before calling this
--   function.
--   
--   When realizing a GL context, GDK will try to use the OpenGL 3.2 core
--   profile; this profile removes all the OpenGL API that was deprecated
--   prior to the 3.2 version of the specification. If the realization is
--   successful, this function will return False.
--   
--   If the underlying OpenGL implementation does not support core
--   profiles, GDK will fall back to a pre-3.2 compatibility profile, and
--   this function will return True.
--   
--   You can use the value returned by this function to decide which kind
--   of OpenGL API to use, or whether to do extension discovery, or what
--   kind of shader programs to load.
gLContextIsLegacy :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m Bool

-- | Checks if the two GL contexts can share resources.
--   
--   When they can, the texture IDs from other can be used
--   in self. This is particularly useful when passing
--   GdkGLTexture objects between different contexts.
--   
--   Contexts created for the same display with the same properties will
--   always be compatible, even if they are created for different surfaces.
--   For other contexts it depends on the GL backend.
--   
--   Both contexts must be realized for this check to succeed. If either
--   one is not, this function will return False.
--   
--   Since: 4.4
gLContextIsShared :: (HasCallStack, MonadIO m, IsGLContext a, IsGLContext b) => a -> b -> m Bool

-- | Makes the context the current one.
gLContextMakeCurrent :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m ()

-- | Realizes the given GdkGLContext.
--   
--   It is safe to call this function on a realized GdkGLContext.
gLContextRealize :: (HasCallStack, MonadIO m, IsGLContext a) => a -> m ()

-- | Sets the allowed APIs. When gLContextRealize is called, only
--   the allowed APIs will be tried. If you set this to 0, realizing will
--   always fail.
--   
--   If you set it on a realized context, the property will not have any
--   effect. It is only relevant during gLContextRealize.
--   
--   By default, all APIs are allowed.
--   
--   Since: 4.6
gLContextSetAllowedApis :: (HasCallStack, MonadIO m, IsGLContext a) => a -> [GLAPI] -> m ()

-- | Sets whether the GdkGLContext should perform extra
--   validations and runtime checking.
--   
--   This is useful during development, but has additional overhead.
--   
--   The GdkGLContext must not be realized or made current prior
--   to calling this function.
gLContextSetDebugEnabled :: (HasCallStack, MonadIO m, IsGLContext a) => a -> Bool -> m ()

-- | Sets whether the GdkGLContext should be forward-compatible.
--   
--   Forward-compatible contexts must not support OpenGL functionality that
--   has been marked as deprecated in the requested version; non-forward
--   compatible contexts, on the other hand, must support both deprecated
--   and non deprecated functionality.
--   
--   The GdkGLContext must not be realized or made current prior
--   to calling this function.
gLContextSetForwardCompatible :: (HasCallStack, MonadIO m, IsGLContext a) => a -> Bool -> m ()

-- | Sets the major and minor version of OpenGL to request.
--   
--   Setting major and minor to zero will
--   use the default values.
--   
--   Setting major and minor lower than the
--   minimum versions required by GTK will result in the context choosing
--   the minimum version.
--   
--   The context must not be realized or made current prior
--   to calling this function.
gLContextSetRequiredVersion :: (HasCallStack, MonadIO m, IsGLContext a) => a -> Int32 -> Int32 -> m ()

-- | Requests that GDK create an OpenGL ES context instead of an OpenGL
--   one.
--   
--   Not all platforms support OpenGL ES.
--   
--   The context must not have been realized.
--   
--   By default, GDK will attempt to automatically detect whether the
--   underlying GL implementation is OpenGL or OpenGL ES once the
--   context is realized.
--   
--   You should check the return value of gLContextGetUseEs after
--   calling gLContextRealize to decide whether to use the OpenGL or
--   OpenGL ES API, extensions, or shaders.
gLContextSetUseEs :: (HasCallStack, MonadIO m, IsGLContext a) => a -> Int32 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “allowed-apis” property. This is rarely needed directly, but
--   it is used by new.
constructGLContextAllowedApis :: (IsGLContext o, MonadIO m) => [GLAPI] -> m (GValueConstruct o)

-- | Get the value of the “allowed-apis” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get gLContext #allowedApis
--   
getGLContextAllowedApis :: (MonadIO m, IsGLContext o) => o -> m [GLAPI]

-- | Set the value of the “allowed-apis” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set gLContext [ #allowedApis := value ]
--   
setGLContextAllowedApis :: (MonadIO m, IsGLContext o) => o -> [GLAPI] -> m ()

-- | Get the value of the “api” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get gLContext #api
--   
getGLContextApi :: (MonadIO m, IsGLContext o) => o -> m [GLAPI]

-- | Construct a GValueConstruct with valid value for the
--   “shared-context” property. This is rarely needed directly,
--   but it is used by new.
constructGLContextSharedContext :: (IsGLContext o, MonadIO m, IsGLContext a) => a -> m (GValueConstruct o)

-- | Get the value of the “shared-context” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get gLContext #sharedContext
--   
getGLContextSharedContext :: (MonadIO m, IsGLContext o) => o -> m (Maybe GLContext)
instance GHC.Classes.Eq GI.Gdk.Objects.GLContext.GLContext
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.GLContext.GLContext
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.GLContext.GLContext
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.GLContext.GLContext o) => GI.Gdk.Objects.GLContext.IsGLContext o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.GLContext.GLContext)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.GLContext.GLContext
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.GLContext.GLContext

-- | An event related to a keyboard focus change.
module GI.Gdk.Objects.FocusEvent

-- | Memory-managed wrapper type.
newtype FocusEvent
FocusEvent :: ManagedPtr FocusEvent -> FocusEvent

-- | Type class for types which can be safely cast to FocusEvent,
--   for instance with toFocusEvent.
class (BoxedPtr o, TypedObject o, IsDescendantOf FocusEvent o) => IsFocusEvent o

-- | Cast to FocusEvent, for types for which this is known to be
--   safe. For general casts, use castTo.
toFocusEvent :: (MonadIO m, IsFocusEvent o) => o -> m FocusEvent

-- | Extracts whether this event is about focus entering or leaving the
--   surface.
focusEventGetIn :: (HasCallStack, MonadIO m, IsFocusEvent a) => a -> m Bool
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Objects.FocusEvent.FocusEvent
instance GHC.Classes.Eq GI.Gdk.Objects.FocusEvent.FocusEvent
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.FocusEvent.FocusEvent
instance (Data.GI.Base.BasicTypes.BoxedPtr o, Data.GI.Base.BasicTypes.TypedObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.FocusEvent.FocusEvent o) => GI.Gdk.Objects.FocusEvent.IsFocusEvent o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.FocusEvent.FocusEvent
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.FocusEvent.FocusEvent

-- | Represents windowing system events.
--   
--   In GTK applications the events are handled automatically by toplevel
--   widgets and passed on to the event controllers of appropriate widgets,
--   so using GdkEvent and its related API is rarely needed.
--   
--   GdkEvent structs are immutable.
module GI.Gdk.Objects.Event

-- | Memory-managed wrapper type.
newtype Event
Event :: ManagedPtr Event -> Event

-- | Type class for types which can be safely cast to Event, for
--   instance with toEvent.
class (BoxedPtr o, TypedObject o, IsDescendantOf Event o) => IsEvent o

-- | Cast to Event, for types for which this is known to be safe.
--   For general casts, use castTo.
toEvent :: (MonadIO m, IsEvent o) => o -> m Event

-- | Extracts all axis values from an event.
--   
--   To find out which axes are used, use deviceToolGetAxes on the
--   device tool returned by eventGetDeviceTool.
eventGetAxes :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Bool, [Double])

-- | Extract the axis value for a particular axis use from an event
--   structure.
--   
--   To find out which axes are used, use deviceToolGetAxes on the
--   device tool returned by eventGetDeviceTool.
eventGetAxis :: (HasCallStack, MonadIO m, IsEvent a) => a -> AxisUse -> m (Bool, Double)

-- | Returns the device of an event.
eventGetDevice :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Maybe Device)

-- | Returns a GdkDeviceTool representing the tool that caused the
--   event.
--   
--   If the was not generated by a device that supports different tools
--   (such as a tablet), this function will return Nothing.
--   
--   Note: the GdkDeviceTool will be constant during the
--   application lifetime, if settings must be stored persistently across
--   runs, see deviceToolGetSerial.
eventGetDeviceTool :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Maybe DeviceTool)

-- | Retrieves the display associated to the event.
eventGetDisplay :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Maybe Display)

-- | Returns the event sequence to which the event belongs.
--   
--   Related touch events are connected in a sequence. Other events
--   typically don't have event sequence information.
eventGetEventSequence :: (HasCallStack, MonadIO m, IsEvent a) => a -> m EventSequence

-- | Retrieves the type of the event.
eventGetEventType :: (HasCallStack, MonadIO m, IsEvent a) => a -> m EventType

-- | Retrieves the history of the device that event is for,
--   as a list of time and coordinates.
--   
--   The history includes positions that are not delivered as separate
--   events to the application because they occurred in the same frame as
--   event.
--   
--   Note that only motion and scroll events record history, and motion
--   events do it only if one of the mouse buttons is down, or the device
--   has a tool.
eventGetHistory :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Maybe [TimeCoord])

-- | Returns the modifier state field of an event.
eventGetModifierState :: (HasCallStack, MonadIO m, IsEvent a) => a -> m [ModifierType]

-- | Returns whether this event is an 'emulated' pointer event.
--   
--   Emulated pointer events typically originate from a touch events.
eventGetPointerEmulated :: (HasCallStack, MonadIO m, IsEvent a) => a -> m Bool

-- | Extract the event surface relative x/y coordinates from an event.
--   
--   This position is in surface coordinates.
eventGetPosition :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Bool, Double, Double)

-- | Returns the seat that originated the event.
eventGetSeat :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Maybe Seat)

-- | Extracts the surface associated with an event.
eventGetSurface :: (HasCallStack, MonadIO m, IsEvent a) => a -> m (Maybe Surface)

-- | Returns the timestamp of event.
--   
--   Not all events have timestamps. In that case, this function returns
--   CURRENT_TIME.
eventGetTime :: (HasCallStack, MonadIO m, IsEvent a) => a -> m Word32

-- | Increase the ref count of event.
eventRef :: (HasCallStack, MonadIO m, IsEvent a) => a -> m Event

-- | Returns whether a GdkEvent should trigger a context menu,
--   according to platform conventions.
--   
--   The right mouse button typically triggers context menus. On macOS,
--   Control+left mouse button also triggers.
--   
--   This function should always be used instead of simply checking for
--   
--   
c code
--   
--   
--   event->button == GDK_BUTTON_SECONDARY
--   
eventTriggersContextMenu :: (HasCallStack, MonadIO m, IsEvent a) => a -> m Bool

-- | Decrease the ref count of event.
--   
--   If the last reference is dropped, the structure is freed.
eventUnref :: (HasCallStack, MonadIO m, IsEvent a) => a -> m ()
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Objects.Event.Event
instance GHC.Classes.Eq GI.Gdk.Objects.Event.Event
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Event.Event
instance (Data.GI.Base.BasicTypes.BoxedPtr o, Data.GI.Base.BasicTypes.TypedObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Event.Event o) => GI.Gdk.Objects.Event.IsEvent o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.Event.Event
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.Event.Event

-- | Represents the target of an ongoing DND operation.
--   
--   Possible drop sites get informed about the status of the ongoing drag
--   operation with events of type GDK_DRAG_ENTER,
--   GDK_DRAG_LEAVE, GDK_DRAG_MOTION and
--   GDK_DROP_START. The GdkDrop object can be obtained
--   from these Event types using dNDEventGetDrop.
--   
--   The actual data transfer is initiated from the target side via an
--   async read, using one of the GdkDrop methods for this
--   purpose: dropReadAsync or dropReadValueAsync.
--   
--   GTK provides a higher level abstraction based on top of these
--   functions, and so they are not normally needed in GTK applications.
--   See the "Drag and Drop" section of the GTK documentation for more
--   information.
module GI.Gdk.Objects.Drop

-- | Memory-managed wrapper type.
newtype Drop
Drop :: ManagedPtr Drop -> Drop

-- | Type class for types which can be safely cast to Drop, for
--   instance with toDrop.
class (GObject o, IsDescendantOf Drop o) => IsDrop o

-- | Cast to Drop, for types for which this is known to be safe. For
--   general casts, use castTo.
toDrop :: (MonadIO m, IsDrop o) => o -> m Drop

-- | Ends the drag operation after a drop.
--   
--   The action must be a single action selected from the
--   actions available via dropGetActions.
dropFinish :: (HasCallStack, MonadIO m, IsDrop a) => a -> [DragAction] -> m ()

-- | Returns the possible actions for this GdkDrop.
--   
--   If this value contains multiple actions - i.e.
--   DragAction.is_unique() returns false for the
--   result - dropFinish must choose the action to use when
--   accepting the drop. This will only happen if you passed
--   GDK_ACTION_ASK as one of the possible actions in
--   dropStatus. GDK_ACTION_ASK itself will not be included
--   in the actions returned by this function.
--   
--   This value may change over the lifetime of the Drop both as a
--   response to source side actions as well as to calls to
--   dropStatus or dropFinish. The source side will not
--   change this value anymore once a drop has started.
dropGetActions :: (HasCallStack, MonadIO m, IsDrop a) => a -> m [DragAction]

-- | Returns the GdkDevice performing the drop.
dropGetDevice :: (HasCallStack, MonadIO m, IsDrop a) => a -> m Device

-- | Gets the GdkDisplay that self was created
--   for.
dropGetDisplay :: (HasCallStack, MonadIO m, IsDrop a) => a -> m Display

-- | If this is an in-app drag-and-drop operation, returns the
--   GdkDrag that corresponds to this drop.
--   
--   If it is not, NULL is returned.
dropGetDrag :: (HasCallStack, MonadIO m, IsDrop a) => a -> m (Maybe Drag)

-- | Returns the GdkContentFormats that the drop offers the data
--   to be read in.
dropGetFormats :: (HasCallStack, MonadIO m, IsDrop a) => a -> m ContentFormats

-- | Returns the GdkSurface performing the drop.
dropGetSurface :: (HasCallStack, MonadIO m, IsDrop a) => a -> m Surface

-- | Asynchronously read the dropped data from a GdkDrop in a
--   format that complies with one of the mime types.
dropReadAsync :: (HasCallStack, MonadIO m, IsDrop a, IsCancellable b) => a -> [Text] -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()

-- | Finishes an async drop read operation.
--   
--   Note that you must not use blocking read calls on the returned stream
--   in the GTK thread, since some platforms might require communication
--   with GTK to complete the data transfer. You can use async APIs such as
--   inputStreamReadBytesAsync.
--   
--   See dropReadAsync.
dropReadFinish :: (HasCallStack, MonadIO m, IsDrop a, IsAsyncResult b) => a -> b -> m (Maybe InputStream, Text)

-- | Asynchronously request the drag operation's contents converted to the
--   given type.
--   
--   For local drag-and-drop operations that are available in the given
--   GType, the value will be copied directly. Otherwise, GDK will
--   try to use contentDeserializeAsync to convert the data.
dropReadValueAsync :: (HasCallStack, MonadIO m, IsDrop a, IsCancellable b) => a -> GType -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()

-- | Finishes an async drop read.
--   
--   See dropReadValueAsync.
dropReadValueFinish :: (HasCallStack, MonadIO m, IsDrop a, IsAsyncResult b) => a -> b -> m GValue

-- | Selects all actions that are potentially supported by the destination.
--   
--   When calling this function, do not restrict the passed in actions to
--   the ones provided by dropGetActions. Those actions may change
--   in the future, even depending on the actions you provide here.
--   
--   The preferred action is a hint to the drag-and-drop
--   mechanism about which action to use when multiple actions are
--   possible.
--   
--   This function should be called by drag destinations in response to
--   GDK_DRAG_ENTER or GDK_DRAG_MOTION events. If the
--   destination does not yet know the exact actions it supports, it should
--   set any possible actions first and then later call this function
--   again.
dropStatus :: (HasCallStack, MonadIO m, IsDrop a) => a -> [DragAction] -> [DragAction] -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “actions” property. This is rarely needed directly, but it is
--   used by new.
constructDropActions :: (IsDrop o, MonadIO m) => [DragAction] -> m (GValueConstruct o)

-- | Get the value of the “actions” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get drop #actions
--   
getDropActions :: (MonadIO m, IsDrop o) => o -> m [DragAction]

-- | Construct a GValueConstruct with valid value for the
--   “device” property. This is rarely needed directly, but it is
--   used by new.
constructDropDevice :: (IsDrop o, MonadIO m, IsDevice a) => a -> m (GValueConstruct o)

-- | Get the value of the “device” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get drop #device
--   
getDropDevice :: (MonadIO m, IsDrop o) => o -> m Device

-- | Get the value of the “display” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get drop #display
--   
getDropDisplay :: (MonadIO m, IsDrop o) => o -> m Display

-- | Construct a GValueConstruct with valid value for the
--   “drag” property. This is rarely needed directly, but it is
--   used by new.
constructDropDrag :: (IsDrop o, MonadIO m, IsDrag a) => a -> m (GValueConstruct o)

-- | Get the value of the “drag” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get drop #drag
--   
getDropDrag :: (MonadIO m, IsDrop o) => o -> m (Maybe Drag)

-- | Construct a GValueConstruct with valid value for the
--   “formats” property. This is rarely needed directly, but it is
--   used by new.
constructDropFormats :: (IsDrop o, MonadIO m) => ContentFormats -> m (GValueConstruct o)

-- | Get the value of the “formats” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get drop #formats
--   
getDropFormats :: (MonadIO m, IsDrop o) => o -> m ContentFormats

-- | Construct a GValueConstruct with valid value for the
--   “surface” property. This is rarely needed directly, but it is
--   used by new.
constructDropSurface :: (IsDrop o, MonadIO m, IsSurface a) => a -> m (GValueConstruct o)

-- | Get the value of the “surface” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get drop #surface
--   
getDropSurface :: (MonadIO m, IsDrop o) => o -> m Surface
instance GHC.Classes.Eq GI.Gdk.Objects.Drop.Drop
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.Drop.Drop
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Drop.Drop
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Drop.Drop o) => GI.Gdk.Objects.Drop.IsDrop o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.Drop.Drop)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.Drop.Drop
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.Drop.Drop

-- | Base class for objects implementing different rendering methods.
--   
--   GdkDrawContext is the base object used by contexts
--   implementing different rendering methods, such as CairoContext
--   or GLContext. It provides shared functionality between those
--   contexts.
--   
--   You will always interact with one of those subclasses.
--   
--   A GdkDrawContext is always associated with a single toplevel
--   surface.
module GI.Gdk.Objects.DrawContext

-- | Memory-managed wrapper type.
newtype DrawContext
DrawContext :: ManagedPtr DrawContext -> DrawContext

-- | Type class for types which can be safely cast to DrawContext,
--   for instance with toDrawContext.
class (GObject o, IsDescendantOf DrawContext o) => IsDrawContext o

-- | Cast to DrawContext, for types for which this is known to be
--   safe. For general casts, use castTo.
toDrawContext :: (MonadIO m, IsDrawContext o) => o -> m DrawContext

-- | Indicates that you are beginning the process of redrawing
--   region on the context's surface.
--   
--   Calling this function begins a drawing operation using
--   context on the surface that context
--   was created from. The actual requirements and guarantees for the
--   drawing operation vary for different implementations of drawing, so a
--   CairoContext and a GLContext need to be treated
--   differently.
--   
--   A call to this function is a requirement for drawing and must be
--   followed by a call to drawContextEndFrame, which will complete
--   the drawing operation and ensure the contents become visible on
--   screen.
--   
--   Note that the region passed to this function is the
--   minimum region that needs to be drawn and depending on implementation,
--   windowing system and hardware in use, it might be necessary to draw a
--   larger region. Drawing implementation must use
--   drawContextGetFrameRegion to query the region that must be
--   drawn.
--   
--   When using GTK, the widget system automatically places calls to
--   drawContextBeginFrame and drawContextEndFrame via the
--   use of GskRenderers, so application code does not need to call
--   these functions explicitly.

-- | Deprecated: (Since version 4.16)Drawing directly to the surface is
--   no longer recommended.Use GskRenderNode and
--   GskRenderer.
drawContextBeginFrame :: (HasCallStack, MonadIO m, IsDrawContext a) => a -> Region -> m ()

-- | Ends a drawing operation started with drawContextBeginFrame.
--   
--   This makes the drawing available on screen. See
--   drawContextBeginFrame for more details about drawing.
--   
--   When using a GLContext, this function may call
--   glFlush() implicitly before returning; it is not recommended
--   to call glFlush() explicitly before calling this function.

-- | Deprecated: (Since version 4.16)Drawing directly to the surface is
--   no longer recommended.Use GskRenderNode and
--   GskRenderer.
drawContextEndFrame :: (HasCallStack, MonadIO m, IsDrawContext a) => a -> m ()

-- | Retrieves the GdkDisplay the context is
--   created for
drawContextGetDisplay :: (HasCallStack, MonadIO m, IsDrawContext a) => a -> m (Maybe Display)

-- | Retrieves the region that is currently being repainted.
--   
--   After a call to drawContextBeginFrame this function will return
--   a union of the region passed to that function and the area of the
--   surface that the context determined needs to be
--   repainted.
--   
--   If context is not in between calls to
--   drawContextBeginFrame and drawContextEndFrame,
--   Nothing will be returned.

-- | Deprecated: (Since version 4.16)Drawing directly to the surface is
--   no longer recommended.Use GskRenderNode and
--   GskRenderer.
drawContextGetFrameRegion :: (HasCallStack, MonadIO m, IsDrawContext a) => a -> m (Maybe Region)

-- | Retrieves the surface that context is bound to.
drawContextGetSurface :: (HasCallStack, MonadIO m, IsDrawContext a) => a -> m (Maybe Surface)

-- | Returns True if context is in the process of
--   drawing to its surface.
--   
--   This is the case between calls to drawContextBeginFrame and
--   drawContextEndFrame. In this situation, drawing commands may be
--   effecting the contents of the context's surface.

-- | Deprecated: (Since version 4.16)Drawing directly to the surface is
--   no longer recommended.Use GskRenderNode and
--   GskRenderer.
drawContextIsInFrame :: (HasCallStack, MonadIO m, IsDrawContext a) => a -> m Bool

-- | Construct a GValueConstruct with valid value for the
--   “display” property. This is rarely needed directly, but it is
--   used by new.
constructDrawContextDisplay :: (IsDrawContext o, MonadIO m, IsDisplay a) => a -> m (GValueConstruct o)

-- | Get the value of the “display” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get drawContext #display
--   
getDrawContextDisplay :: (MonadIO m, IsDrawContext o) => o -> m (Maybe Display)

-- | Construct a GValueConstruct with valid value for the
--   “surface” property. This is rarely needed directly, but it is
--   used by new.
constructDrawContextSurface :: (IsDrawContext o, MonadIO m, IsSurface a) => a -> m (GValueConstruct o)

-- | Get the value of the “surface” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get drawContext #surface
--   
getDrawContextSurface :: (MonadIO m, IsDrawContext o) => o -> m (Maybe Surface)
instance GHC.Classes.Eq GI.Gdk.Objects.DrawContext.DrawContext
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.DrawContext.DrawContext
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.DrawContext.DrawContext
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.DrawContext.DrawContext o) => GI.Gdk.Objects.DrawContext.IsDrawContext o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.DrawContext.DrawContext)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.DrawContext.DrawContext
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.DrawContext.DrawContext

-- | Represents the source of an ongoing DND operation.
--   
--   A GdkDrag is created when a drag is started, and stays alive
--   for duration of the DND operation. After a drag has been started with
--   dragBegin, the caller gets informed about the status of the
--   ongoing drag operation with signals on the GdkDrag object.
--   
--   GTK provides a higher level abstraction based on top of these
--   functions, and so they are not normally needed in GTK applications.
--   See the "Drag and Drop" section of the GTK documentation for more
--   information.
module GI.Gdk.Objects.Drag

-- | Memory-managed wrapper type.
newtype Drag
Drag :: ManagedPtr Drag -> Drag

-- | Type class for types which can be safely cast to Drag, for
--   instance with toDrag.
class (GObject o, IsDescendantOf Drag o) => IsDrag o

-- | Cast to Drag, for types for which this is known to be safe. For
--   general casts, use castTo.
toDrag :: (MonadIO m, IsDrag o) => o -> m Drag

-- | Starts a drag and creates a new drag context for it.
--   
--   This function is called by the drag source. After this call, you
--   probably want to set up the drag icon using the surface returned by
--   dragGetDragSurface.
--   
--   This function returns a reference to the Drag object, but GTK
--   keeps its own reference as well, as long as the DND operation is going
--   on.
--   
--   Note: if actions include DragActionMove, you
--   need to listen for the Drag::dndFinished signal and delete the
--   data at the source if dragGetSelectedAction returns
--   DragActionMove.
dragBegin :: (HasCallStack, MonadIO m, IsSurface a, IsDevice b, IsContentProvider c) => a -> b -> c -> [DragAction] -> Double -> Double -> m (Maybe Drag)

-- | Informs GDK that the drop ended.
--   
--   Passing False for success may trigger a drag
--   cancellation animation.
--   
--   This function is called by the drag source, and should be the last
--   call before dropping the reference to the drag.
--   
--   The GdkDrag will only take the first dragDropDone call
--   as effective, if this function is called multiple times, all
--   subsequent calls will be ignored.
dragDropDone :: (HasCallStack, MonadIO m, IsDrag a) => a -> Bool -> m ()

-- | Determines the bitmask of possible actions proposed by the source.
dragGetActions :: (HasCallStack, MonadIO m, IsDrag a) => a -> m [DragAction]

-- | Returns the GdkContentProvider associated to the
--   GdkDrag object.
dragGetContent :: (HasCallStack, MonadIO m, IsDrag a) => a -> m ContentProvider

-- | Returns the GdkDevice associated to the GdkDrag
--   object.
dragGetDevice :: (HasCallStack, MonadIO m, IsDrag a) => a -> m Device

-- | Gets the GdkDisplay that the drag object was created for.
dragGetDisplay :: (HasCallStack, MonadIO m, IsDrag a) => a -> m Display

-- | Returns the surface on which the drag icon should be rendered during
--   the drag operation.
--   
--   Note that the surface may not be available until the drag operation
--   has begun. GDK will move the surface in accordance with the ongoing
--   drag operation. The surface is owned by drag and will
--   be destroyed when the drag operation is over.
dragGetDragSurface :: (HasCallStack, MonadIO m, IsDrag a) => a -> m (Maybe Surface)

-- | Retrieves the formats supported by this GdkDrag object.
dragGetFormats :: (HasCallStack, MonadIO m, IsDrag a) => a -> m ContentFormats

-- | Determines the action chosen by the drag destination.
dragGetSelectedAction :: (HasCallStack, MonadIO m, IsDrag a) => a -> m [DragAction]

-- | Returns the GdkSurface where the drag originates.
dragGetSurface :: (HasCallStack, MonadIO m, IsDrag a) => a -> m Surface

-- | Sets the position of the drag surface that will be kept under the
--   cursor hotspot.
--   
--   Initially, the hotspot is at the top left corner of the drag surface.
dragSetHotspot :: (HasCallStack, MonadIO m, IsDrag a) => a -> Int32 -> Int32 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “actions” property. This is rarely needed directly, but it is
--   used by new.
constructDragActions :: (IsDrag o, MonadIO m) => [DragAction] -> m (GValueConstruct o)

-- | Get the value of the “actions” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get drag #actions
--   
getDragActions :: (MonadIO m, IsDrag o) => o -> m [DragAction]

-- | Set the value of the “actions” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set drag [ #actions := value ]
--   
setDragActions :: (MonadIO m, IsDrag o) => o -> [DragAction] -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “content” property. This is rarely needed directly, but it is
--   used by new.
constructDragContent :: (IsDrag o, MonadIO m, IsContentProvider a) => a -> m (GValueConstruct o)

-- | Get the value of the “content” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get drag #content
--   
getDragContent :: (MonadIO m, IsDrag o) => o -> m ContentProvider

-- | Construct a GValueConstruct with valid value for the
--   “device” property. This is rarely needed directly, but it is
--   used by new.
constructDragDevice :: (IsDrag o, MonadIO m, IsDevice a) => a -> m (GValueConstruct o)

-- | Get the value of the “device” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get drag #device
--   
getDragDevice :: (MonadIO m, IsDrag o) => o -> m Device

-- | Get the value of the “display” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get drag #display
--   
getDragDisplay :: (MonadIO m, IsDrag o) => o -> m Display

-- | Construct a GValueConstruct with valid value for the
--   “formats” property. This is rarely needed directly, but it is
--   used by new.
constructDragFormats :: (IsDrag o, MonadIO m) => ContentFormats -> m (GValueConstruct o)

-- | Get the value of the “formats” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get drag #formats
--   
getDragFormats :: (MonadIO m, IsDrag o) => o -> m ContentFormats

-- | Construct a GValueConstruct with valid value for the
--   “selected-action” property. This is rarely needed directly,
--   but it is used by new.
constructDragSelectedAction :: (IsDrag o, MonadIO m) => [DragAction] -> m (GValueConstruct o)

-- | Get the value of the “selected-action” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get drag #selectedAction
--   
getDragSelectedAction :: (MonadIO m, IsDrag o) => o -> m [DragAction]

-- | Set the value of the “selected-action” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set drag [ #selectedAction := value ]
--   
setDragSelectedAction :: (MonadIO m, IsDrag o) => o -> [DragAction] -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “surface” property. This is rarely needed directly, but it is
--   used by new.
constructDragSurface :: (IsDrag o, MonadIO m, IsSurface a) => a -> m (GValueConstruct o)

-- | Get the value of the “surface” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get drag #surface
--   
getDragSurface :: (MonadIO m, IsDrag o) => o -> m Surface

-- | Emitted when the drag operation is cancelled.
type DragCancelCallback = DragCancelReason -> IO ()

-- | Connect a signal handler for the cancel signal, to be run after
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after drag #cancel callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterDragCancel :: (IsDrag a, MonadIO m) => a -> ((?self :: a) => DragCancelCallback) -> m SignalHandlerId

-- | Connect a signal handler for the cancel signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on drag #cancel callback
--   
onDragCancel :: (IsDrag a, MonadIO m) => a -> ((?self :: a) => DragCancelCallback) -> m SignalHandlerId

-- | Emitted when the destination side has finished reading all data.
--   
--   The drag object can now free all miscellaneous data.
type DragDndFinishedCallback = IO ()

-- | Connect a signal handler for the dndFinished signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after drag #dndFinished callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterDragDndFinished :: (IsDrag a, MonadIO m) => a -> ((?self :: a) => DragDndFinishedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the dndFinished signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on drag #dndFinished callback
--   
onDragDndFinished :: (IsDrag a, MonadIO m) => a -> ((?self :: a) => DragDndFinishedCallback) -> m SignalHandlerId

-- | Emitted when the drop operation is performed on an accepting client.
type DragDropPerformedCallback = IO ()

-- | Connect a signal handler for the dropPerformed signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after drag #dropPerformed callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterDragDropPerformed :: (IsDrag a, MonadIO m) => a -> ((?self :: a) => DragDropPerformedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the dropPerformed signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on drag #dropPerformed callback
--   
onDragDropPerformed :: (IsDrag a, MonadIO m) => a -> ((?self :: a) => DragDropPerformedCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Gdk.Objects.Drag.Drag
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.Drag.Drag
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Drag.Drag
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Drag.Drag o) => GI.Gdk.Objects.Drag.IsDrag o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.Drag.Drag)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.Drag.Drag
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.Drag.Drag

-- | Constructs Texture objects from DMA buffers.
--   
--   DMA buffers are commonly called _dma-bufs_.
--   
--   DMA buffers are a feature of the Linux kernel to enable efficient
--   buffer and memory sharing between hardware such as codecs, GPUs,
--   displays, cameras and the kernel drivers controlling them. For
--   example, a decoder may want its output to be directly shared with the
--   display server for rendering without a copy.
--   
--   Any device driver which participates in DMA buffer sharing, can do so
--   as either the exporter or importer of buffers (or both).
--   
--   The memory that is shared via DMA buffers is usually stored in
--   non-system memory (maybe in device's local memory or something else
--   not directly accessible by the CPU), and accessing this memory from
--   the CPU may have higher-than-usual overhead.
--   
--   In particular for graphics data, it is not uncommon that data consists
--   of multiple separate blocks of memory, for example one block for each
--   of the red, green and blue channels. These blocks are called
--   _planes_. DMA buffers can have up to four planes. Even if the
--   memory is a single block, the data can be organized in multiple
--   planes, by specifying offsets from the beginning of the data.
--   
--   DMA buffers are exposed to user-space as file descriptors allowing to
--   pass them between processes. If a DMA buffer has multiple planes, more
--   than one file descriptor may be present, up to the number of planes.
--   If the number of file descriptors is less than the number of planes,
--   the remaining ones should be set to -1.
--   
--   The format of the data (for graphics data, essentially its colorspace)
--   is described by a 32-bit integer. These format identifiers are defined
--   in the header file drm_fourcc.h and commonly referred to as
--   _fourcc_ values, since they are identified by 4 ASCII
--   characters. Additionally, each DMA buffer has a _modifier_,
--   which is a 64-bit integer that describes driver-specific details of
--   the memory layout, such as tiling or compression.
--   
--   For historical reasons, some producers of dma-bufs don't provide an
--   explicit modifier, but instead return DMA_FORMAT_MOD_INVALID
--   to indicate that their modifier is _implicit_. GTK tries to
--   accommodate this situation by accepting
--   DMA_FORMAT_MOD_INVALID as modifier.
--   
--   The operation of GdkDmabufTextureBuilder is quite simple:
--   Create a texture builder, set all the necessary properties, and then
--   call dmabufTextureBuilderBuild to create the new texture.
--   
--   The required properties for a dma-buf texture are
--   
--   
--   
- The width and height in pixels
--   
- The fourcc code and modifier which identify the
--   format and memory layout of the dma-buf
--   
- The file descriptor, offset and stride for each of the planes
--   
--   
--   GdkDmabufTextureBuilder can be used for quick one-shot
--   construction of textures as well as kept around and reused to
--   construct multiple textures.
--   
--   For further information, see
--   
--   
--   
- The Linux kernel documentation
--   
- The header file drm_fourcc.h
--   
--   
--   Since: 4.14
module GI.Gdk.Objects.DmabufTextureBuilder

-- | Memory-managed wrapper type.
newtype DmabufTextureBuilder
DmabufTextureBuilder :: ManagedPtr DmabufTextureBuilder -> DmabufTextureBuilder

-- | Type class for types which can be safely cast to
--   DmabufTextureBuilder, for instance with
--   toDmabufTextureBuilder.
class (GObject o, IsDescendantOf DmabufTextureBuilder o) => IsDmabufTextureBuilder o

-- | Cast to DmabufTextureBuilder, for types for which this is known
--   to be safe. For general casts, use castTo.
toDmabufTextureBuilder :: (MonadIO m, IsDmabufTextureBuilder o) => o -> m DmabufTextureBuilder

-- | Builds a new GdkTexture with the values set up in the
--   builder.
--   
--   It is a programming error to call this function if any mandatory
--   property has not been set.
--   
--   Not all formats defined in the drm_fourcc.h header are
--   supported. You can use displayGetDmabufFormats to get a list of
--   supported formats. If the format is not supported by GTK,
--   Nothing will be returned and error will be set.
--   
--   The destroy function gets called when the returned texture
--   gets released.
--   
--   It is the responsibility of the caller to keep the file descriptors
--   for the planes open until the created texture is no longer used, and
--   close them afterwards (possibly using the destroy
--   notify).
--   
--   It is possible to call this function multiple times to create multiple
--   textures, possibly with changing properties in between.
--   
--   Since: 4.14
dmabufTextureBuilderBuild :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Maybe DestroyNotify -> Ptr () -> m (Maybe Texture)

-- | Gets the color state previously set via
--   dmabufTextureBuilderSetColorState.
--   
--   Since: 4.16
dmabufTextureBuilderGetColorState :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> m (Maybe ColorState)

-- | Returns the display that this texture builder is associated with.
--   
--   Since: 4.14
dmabufTextureBuilderGetDisplay :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> m Display

-- | Gets the file descriptor for a plane or -1 if none.
--   
--   Since: 4.14
dmabufTextureBuilderGetFd :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Word32 -> m Int32

-- | Gets the format previously set via
--   dmabufTextureBuilderSetFourcc or 0 if the format wasn't set.
--   
--   The format is specified as a fourcc code.
--   
--   Since: 4.14
dmabufTextureBuilderGetFourcc :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> m Word32

-- | Gets the height previously set via
--   dmabufTextureBuilderSetHeight or 0 if the height wasn't set.
--   
--   Since: 4.14
dmabufTextureBuilderGetHeight :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> m Word32

-- | Gets the modifier value.
--   
--   Since: 4.14
dmabufTextureBuilderGetModifier :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> m Word64

-- | Gets the number of planes.
--   
--   Since: 4.14
dmabufTextureBuilderGetNPlanes :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> m Word32

-- | Gets the offset value for a plane.
--   
--   Since: 4.14
dmabufTextureBuilderGetOffset :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Word32 -> m Word32

-- | Whether the data is premultiplied.
--   
--   Since: 4.14
dmabufTextureBuilderGetPremultiplied :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> m Bool

-- | Gets the stride value for a plane.
--   
--   Since: 4.14
dmabufTextureBuilderGetStride :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Word32 -> m Word32

-- | Gets the region previously set via
--   dmabufTextureBuilderSetUpdateRegion or Nothing if none
--   was set.
--   
--   Since: 4.14
dmabufTextureBuilderGetUpdateRegion :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> m (Maybe Region)

-- | Gets the texture previously set via
--   dmabufTextureBuilderSetUpdateTexture or Nothing if none
--   was set.
--   
--   Since: 4.14
dmabufTextureBuilderGetUpdateTexture :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> m (Maybe Texture)

-- | Gets the width previously set via dmabufTextureBuilderSetWidth
--   or 0 if the width wasn't set.
--   
--   Since: 4.14
dmabufTextureBuilderGetWidth :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> m Word32

-- | Creates a new texture builder.
--   
--   Since: 4.14
dmabufTextureBuilderNew :: (HasCallStack, MonadIO m) => m DmabufTextureBuilder

-- | Sets the color state for the texture.
--   
--   By default, the colorstate is NULL. In that case, GTK will
--   choose the correct colorstate based on the format. If you don't know
--   what colorstates are, this is probably the right thing.
--   
--   Since: 4.16
dmabufTextureBuilderSetColorState :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Maybe ColorState -> m ()

-- | Sets the display that this texture builder is associated with.
--   
--   The display is used to determine the supported dma-buf formats.
--   
--   Since: 4.14
dmabufTextureBuilderSetDisplay :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a, IsDisplay b) => a -> b -> m ()

-- | Sets the file descriptor for a plane or to -1 to unset it.
--   
--   Since: 4.14
dmabufTextureBuilderSetFd :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Word32 -> Int32 -> m ()

-- | Sets the format of the texture.
--   
--   The format is specified as a fourcc code.
--   
--   The format must be set before calling
--   dmabufTextureBuilderBuild.
--   
--   Since: 4.14
dmabufTextureBuilderSetFourcc :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Word32 -> m ()

-- | Sets the height of the texture.
--   
--   The height must be set before calling
--   dmabufTextureBuilderBuild.
--   
--   Since: 4.14
dmabufTextureBuilderSetHeight :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Word32 -> m ()

-- | Sets the modifier.
--   
--   Since: 4.14
dmabufTextureBuilderSetModifier :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Word64 -> m ()

-- | Sets the number of planes of the texture.
--   
--   Since: 4.14
dmabufTextureBuilderSetNPlanes :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Word32 -> m ()

-- | Sets the offset for a plane.
--   
--   Since: 4.14
dmabufTextureBuilderSetOffset :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Word32 -> Word32 -> m ()

-- | Sets whether the data is premultiplied.
--   
--   Unless otherwise specified, all formats including alpha channels are
--   assumed to be premultiplied.
--   
--   Since: 4.14
dmabufTextureBuilderSetPremultiplied :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Bool -> m ()

-- | Sets the stride for a plane.
--   
--   The stride must be set for all planes before calling
--   dmabufTextureBuilderBuild.
--   
--   Since: 4.14
dmabufTextureBuilderSetStride :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Word32 -> Word32 -> m ()

-- | Sets the region to be updated by this texture. Together with
--   DmabufTextureBuilder:updateTexture this describes an update of
--   a previous texture.
--   
--   When rendering animations of large textures, it is possible that
--   consecutive textures are only updating contents in parts of the
--   texture. It is then possible to describe this update via these two
--   properties, so that GTK can avoid rerendering parts that did not
--   change.
--   
--   An example would be a screen recording where only the mouse pointer
--   moves.
--   
--   Since: 4.14
dmabufTextureBuilderSetUpdateRegion :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Maybe Region -> m ()

-- | Sets the texture to be updated by this texture. See
--   dmabufTextureBuilderSetUpdateRegion for an explanation.
--   
--   Since: 4.14
dmabufTextureBuilderSetUpdateTexture :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a, IsTexture b) => a -> Maybe b -> m ()

-- | Sets the width of the texture.
--   
--   The width must be set before calling dmabufTextureBuilderBuild.
--   
--   Since: 4.14
dmabufTextureBuilderSetWidth :: (HasCallStack, MonadIO m, IsDmabufTextureBuilder a) => a -> Word32 -> m ()

-- | Set the value of the “color-state” property to
--   Nothing. When overloading is enabled, this is equivalent
--   to
--   
--   
--   clear #colorState
--   
clearDmabufTextureBuilderColorState :: (MonadIO m, IsDmabufTextureBuilder o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “color-state” property. This is rarely needed directly, but
--   it is used by new.
constructDmabufTextureBuilderColorState :: (IsDmabufTextureBuilder o, MonadIO m) => ColorState -> m (GValueConstruct o)

-- | Get the value of the “color-state” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get dmabufTextureBuilder #colorState
--   
getDmabufTextureBuilderColorState :: (MonadIO m, IsDmabufTextureBuilder o) => o -> m (Maybe ColorState)

-- | Set the value of the “color-state” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set dmabufTextureBuilder [ #colorState := value ]
--   
setDmabufTextureBuilderColorState :: (MonadIO m, IsDmabufTextureBuilder o) => o -> ColorState -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “display” property. This is rarely needed directly, but it is
--   used by new.
constructDmabufTextureBuilderDisplay :: (IsDmabufTextureBuilder o, MonadIO m, IsDisplay a) => a -> m (GValueConstruct o)

-- | Get the value of the “display” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get dmabufTextureBuilder #display
--   
getDmabufTextureBuilderDisplay :: (MonadIO m, IsDmabufTextureBuilder o) => o -> m Display

-- | Set the value of the “display” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set dmabufTextureBuilder [ #display := value ]
--   
setDmabufTextureBuilderDisplay :: (MonadIO m, IsDmabufTextureBuilder o, IsDisplay a) => o -> a -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “fourcc” property. This is rarely needed directly, but it is
--   used by new.
constructDmabufTextureBuilderFourcc :: (IsDmabufTextureBuilder o, MonadIO m) => Word32 -> m (GValueConstruct o)

-- | Get the value of the “fourcc” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get dmabufTextureBuilder #fourcc
--   
getDmabufTextureBuilderFourcc :: (MonadIO m, IsDmabufTextureBuilder o) => o -> m Word32

-- | Set the value of the “fourcc” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set dmabufTextureBuilder [ #fourcc := value ]
--   
setDmabufTextureBuilderFourcc :: (MonadIO m, IsDmabufTextureBuilder o) => o -> Word32 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “height” property. This is rarely needed directly, but it is
--   used by new.
constructDmabufTextureBuilderHeight :: (IsDmabufTextureBuilder o, MonadIO m) => Word32 -> m (GValueConstruct o)

-- | Get the value of the “height” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get dmabufTextureBuilder #height
--   
getDmabufTextureBuilderHeight :: (MonadIO m, IsDmabufTextureBuilder o) => o -> m Word32

-- | Set the value of the “height” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set dmabufTextureBuilder [ #height := value ]
--   
setDmabufTextureBuilderHeight :: (MonadIO m, IsDmabufTextureBuilder o) => o -> Word32 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “modifier” property. This is rarely needed directly, but it
--   is used by new.
constructDmabufTextureBuilderModifier :: (IsDmabufTextureBuilder o, MonadIO m) => Word64 -> m (GValueConstruct o)

-- | Get the value of the “modifier” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get dmabufTextureBuilder #modifier
--   
getDmabufTextureBuilderModifier :: (MonadIO m, IsDmabufTextureBuilder o) => o -> m Word64

-- | Set the value of the “modifier” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set dmabufTextureBuilder [ #modifier := value ]
--   
setDmabufTextureBuilderModifier :: (MonadIO m, IsDmabufTextureBuilder o) => o -> Word64 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “n-planes” property. This is rarely needed directly, but it
--   is used by new.
constructDmabufTextureBuilderNPlanes :: (IsDmabufTextureBuilder o, MonadIO m) => Word32 -> m (GValueConstruct o)

-- | Get the value of the “n-planes” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get dmabufTextureBuilder #nPlanes
--   
getDmabufTextureBuilderNPlanes :: (MonadIO m, IsDmabufTextureBuilder o) => o -> m Word32

-- | Set the value of the “n-planes” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set dmabufTextureBuilder [ #nPlanes := value ]
--   
setDmabufTextureBuilderNPlanes :: (MonadIO m, IsDmabufTextureBuilder o) => o -> Word32 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “premultiplied” property. This is rarely needed directly, but
--   it is used by new.
constructDmabufTextureBuilderPremultiplied :: (IsDmabufTextureBuilder o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “premultiplied” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get dmabufTextureBuilder #premultiplied
--   
getDmabufTextureBuilderPremultiplied :: (MonadIO m, IsDmabufTextureBuilder o) => o -> m Bool

-- | Set the value of the “premultiplied” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set dmabufTextureBuilder [ #premultiplied := value ]
--   
setDmabufTextureBuilderPremultiplied :: (MonadIO m, IsDmabufTextureBuilder o) => o -> Bool -> m ()

-- | Set the value of the “update-region” property to
--   Nothing. When overloading is enabled, this is equivalent
--   to
--   
--   
--   clear #updateRegion
--   
clearDmabufTextureBuilderUpdateRegion :: (MonadIO m, IsDmabufTextureBuilder o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “update-region” property. This is rarely needed directly, but
--   it is used by new.
constructDmabufTextureBuilderUpdateRegion :: (IsDmabufTextureBuilder o, MonadIO m) => Region -> m (GValueConstruct o)

-- | Get the value of the “update-region” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get dmabufTextureBuilder #updateRegion
--   
getDmabufTextureBuilderUpdateRegion :: (MonadIO m, IsDmabufTextureBuilder o) => o -> m (Maybe Region)

-- | Set the value of the “update-region” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set dmabufTextureBuilder [ #updateRegion := value ]
--   
setDmabufTextureBuilderUpdateRegion :: (MonadIO m, IsDmabufTextureBuilder o) => o -> Region -> m ()

-- | Set the value of the “update-texture” property to
--   Nothing. When overloading is enabled, this is equivalent
--   to
--   
--   
--   clear #updateTexture
--   
clearDmabufTextureBuilderUpdateTexture :: (MonadIO m, IsDmabufTextureBuilder o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “update-texture” property. This is rarely needed directly,
--   but it is used by new.
constructDmabufTextureBuilderUpdateTexture :: (IsDmabufTextureBuilder o, MonadIO m, IsTexture a) => a -> m (GValueConstruct o)

-- | Get the value of the “update-texture” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get dmabufTextureBuilder #updateTexture
--   
getDmabufTextureBuilderUpdateTexture :: (MonadIO m, IsDmabufTextureBuilder o) => o -> m (Maybe Texture)

-- | Set the value of the “update-texture” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set dmabufTextureBuilder [ #updateTexture := value ]
--   
setDmabufTextureBuilderUpdateTexture :: (MonadIO m, IsDmabufTextureBuilder o, IsTexture a) => o -> a -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “width” property. This is rarely needed directly, but it is
--   used by new.
constructDmabufTextureBuilderWidth :: (IsDmabufTextureBuilder o, MonadIO m) => Word32 -> m (GValueConstruct o)

-- | Get the value of the “width” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get dmabufTextureBuilder #width
--   
getDmabufTextureBuilderWidth :: (MonadIO m, IsDmabufTextureBuilder o) => o -> m Word32

-- | Set the value of the “width” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set dmabufTextureBuilder [ #width := value ]
--   
setDmabufTextureBuilderWidth :: (MonadIO m, IsDmabufTextureBuilder o) => o -> Word32 -> m ()
instance GHC.Classes.Eq GI.Gdk.Objects.DmabufTextureBuilder.DmabufTextureBuilder
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.DmabufTextureBuilder.DmabufTextureBuilder
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.DmabufTextureBuilder.DmabufTextureBuilder
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.DmabufTextureBuilder.DmabufTextureBuilder o) => GI.Gdk.Objects.DmabufTextureBuilder.IsDmabufTextureBuilder o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.DmabufTextureBuilder.DmabufTextureBuilder)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.DmabufTextureBuilder.DmabufTextureBuilder
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.DmabufTextureBuilder.DmabufTextureBuilder

-- | Offers notification when displays appear or disappear.
--   
--   GdkDisplayManager is a singleton object.
--   
--   You can use displayManagerGet to obtain the
--   GdkDisplayManager singleton, but that should be rarely
--   necessary. Typically, initializing GTK opens a display that you can
--   work with without ever accessing the GdkDisplayManager.
--   
--   The GDK library can be built with support for multiple backends. The
--   GdkDisplayManager object determines which backend is used at
--   runtime.
--   
--   In the rare case that you need to influence which of the backends is
--   being used, you can use setAllowedBackends. Note that you need
--   to call this function before initializing GTK.
--   
--   
Backend-specific code
--   
--   When writing backend-specific code that is supposed to work with
--   multiple GDK backends, you have to consider both compile time and
--   runtime. At compile time, use the GDK_WINDOWING_X11,
--   GDK_WINDOWING_WIN32 macros, etc. to find out which backends
--   are present in the GDK library you are building your application
--   against. At runtime, use type-check macros like
--   GDK_IS_X11_DISPLAY() to find out which backend is in
--   use:
--   
--   
c code
--   
--   
--   #ifdef GDK_WINDOWING_X11
--     if (GDK_IS_X11_DISPLAY (display))
--       {
--         // make X11-specific calls here
--       }
--     else
--   #endif
--   #ifdef GDK_WINDOWING_MACOS
--     if (GDK_IS_MACOS_DISPLAY (display))
--       {
--         // make Quartz-specific calls here
--       }
--     else
--   #endif
--     g_error ("Unsupported GDK backend");
--   
module GI.Gdk.Objects.DisplayManager

-- | Memory-managed wrapper type.
newtype DisplayManager
DisplayManager :: ManagedPtr DisplayManager -> DisplayManager

-- | Type class for types which can be safely cast to
--   DisplayManager, for instance with toDisplayManager.
class (GObject o, IsDescendantOf DisplayManager o) => IsDisplayManager o

-- | Cast to DisplayManager, for types for which this is known to be
--   safe. For general casts, use castTo.
toDisplayManager :: (MonadIO m, IsDisplayManager o) => o -> m DisplayManager

-- | Gets the singleton GdkDisplayManager object.
--   
--   When called for the first time, this function consults the
--   GDK_BACKEND environment variable to find out which of the
--   supported GDK backends to use (in case GDK has been compiled with
--   multiple backends).
--   
--   Applications can use [funcsetAllowedBackends] to limit
--   what backends will be used.
displayManagerGet :: (HasCallStack, MonadIO m) => m DisplayManager

-- | Gets the default GdkDisplay.
displayManagerGetDefaultDisplay :: (HasCallStack, MonadIO m, IsDisplayManager a) => a -> m (Maybe Display)

-- | List all currently open displays.
displayManagerListDisplays :: (HasCallStack, MonadIO m, IsDisplayManager a) => a -> m [Display]

-- | Opens a display.
displayManagerOpenDisplay :: (HasCallStack, MonadIO m, IsDisplayManager a) => a -> Maybe Text -> m (Maybe Display)

-- | Sets display as the default display.
displayManagerSetDefaultDisplay :: (HasCallStack, MonadIO m, IsDisplayManager a, IsDisplay b) => a -> b -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “default-display” property. This is rarely needed directly,
--   but it is used by new.
constructDisplayManagerDefaultDisplay :: (IsDisplayManager o, MonadIO m, IsDisplay a) => a -> m (GValueConstruct o)

-- | Get the value of the “default-display” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get displayManager #defaultDisplay
--   
getDisplayManagerDefaultDisplay :: (MonadIO m, IsDisplayManager o) => o -> m (Maybe Display)

-- | Set the value of the “default-display” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set displayManager [ #defaultDisplay := value ]
--   
setDisplayManagerDefaultDisplay :: (MonadIO m, IsDisplayManager o, IsDisplay a) => o -> a -> m ()

-- | Emitted when a display is opened.
type DisplayManagerDisplayOpenedCallback = Display -> IO ()

-- | Connect a signal handler for the displayOpened signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after displayManager #displayOpened callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterDisplayManagerDisplayOpened :: (IsDisplayManager a, MonadIO m) => a -> ((?self :: a) => DisplayManagerDisplayOpenedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the displayOpened signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on displayManager #displayOpened callback
--   
onDisplayManagerDisplayOpened :: (IsDisplayManager a, MonadIO m) => a -> ((?self :: a) => DisplayManagerDisplayOpenedCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Gdk.Objects.DisplayManager.DisplayManager
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.DisplayManager.DisplayManager
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.DisplayManager.DisplayManager
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.DisplayManager.DisplayManager o) => GI.Gdk.Objects.DisplayManager.IsDisplayManager o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.DisplayManager.DisplayManager)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.DisplayManager.DisplayManager
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.DisplayManager.DisplayManager

-- | A representation of a workstation.
--   
--   Their purpose are two-fold:
--   
--   
--   
- To manage and provide information about input devices (pointers,
--   keyboards, etc)
--   
- To manage and provide information about output devices (monitors,
--   projectors, etc)
--   
--   
--   Most of the input device handling has been factored out into separate
--   Seat objects. Every display has a one or more seats, which can
--   be accessed with displayGetDefaultSeat and
--   displayListSeats.
--   
--   Output devices are represented by Monitor objects, which can be
--   accessed with displayGetMonitorAtSurface and similar APIs.
module GI.Gdk.Objects.Display

-- | Memory-managed wrapper type.
newtype Display
Display :: ManagedPtr Display -> Display

-- | Type class for types which can be safely cast to Display, for
--   instance with toDisplay.
class (GObject o, IsDescendantOf Display o) => IsDisplay o

-- | Cast to Display, for types for which this is known to be safe.
--   For general casts, use castTo.
toDisplay :: (MonadIO m, IsDisplay o) => o -> m Display

-- | Emits a short beep on display
displayBeep :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m ()

-- | Closes the connection to the windowing system for the given display.
--   
--   This cleans up associated resources.
displayClose :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m ()

-- | Creates a new GdkGLContext for the GdkDisplay.
--   
--   The context is disconnected from any particular surface or surface and
--   cannot be used to draw to any surface. It can only be used to draw to
--   non-surface framebuffers like textures.
--   
--   If the creation of the GdkGLContext failed,
--   error will be set. Before using the returned
--   GdkGLContext, you will need to call
--   gLContextMakeCurrent or gLContextRealize.
--   
--   Since: 4.6
displayCreateGlContext :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m GLContext

-- | Returns True if there is an ongoing grab on
--   device for display.
displayDeviceIsGrabbed :: (HasCallStack, MonadIO m, IsDisplay a, IsDevice b) => a -> b -> m Bool

-- | Flushes any requests queued for the windowing system.
--   
--   This happens automatically when the main loop blocks waiting for new
--   events, but if your application is drawing without returning control
--   to the main loop, you may need to call this function explicitly. A
--   common case where this function needs to be called is when an
--   application is executing drawing commands from a thread other than the
--   thread where the main loop is running.
--   
--   This is most useful for X11. On windowing systems where requests are
--   handled synchronously, this function will do nothing.
displayFlush :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m ()

-- | Returns a GdkAppLaunchContext suitable for launching
--   applications on the given display.
displayGetAppLaunchContext :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m AppLaunchContext

-- | Gets the clipboard used for copy/paste operations.
displayGetClipboard :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m Clipboard

-- | Gets the default GdkDisplay.
--   
--   This is a convenience function for:
--   
--   gdk_display_manager_get_default_display (gdk_display_manager_get ())
displayGetDefault :: (HasCallStack, MonadIO m) => m (Maybe Display)

-- | Returns the default GdkSeat for this display.
--   
--   Note that a display may not have a seat. In this case, this function
--   will return Nothing.
displayGetDefaultSeat :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m (Maybe Seat)

-- | Returns the dma-buf formats that are supported on this display.
--   
--   GTK may use OpenGL or Vulkan to support some formats. Calling this
--   function will then initialize them if they aren't yet.
--   
--   The formats returned by this function can be used for negotiating
--   buffer formats with producers such as v4l, pipewire or GStreamer.
--   
--   To learn more about dma-bufs, see DmabufTextureBuilder.
--   
--   This function is threadsafe. It can be called from any thread.
--   
--   Since: 4.14
displayGetDmabufFormats :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m DmabufFormats

-- | Gets the monitor in which the largest area of surface
--   resides.
displayGetMonitorAtSurface :: (HasCallStack, MonadIO m, IsDisplay a, IsSurface b) => a -> b -> m (Maybe Monitor)

-- | Gets the list of monitors associated with this display.
--   
--   Subsequent calls to this function will always return the same list for
--   the same display.
--   
--   You can listen to the GListModelitemsChanged signal on this
--   list to monitor changes to the monitor of this display.
displayGetMonitors :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m ListModel

-- | Gets the name of the display.
displayGetName :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m Text

-- | Gets the clipboard used for the primary selection.
--   
--   On backends where the primary clipboard is not supported natively, GDK
--   emulates this clipboard locally.
displayGetPrimaryClipboard :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m Clipboard

-- | Retrieves a desktop-wide setting such as double-click time for the
--   display.
displayGetSetting :: (HasCallStack, MonadIO m, IsDisplay a) => a -> Text -> GValue -> m Bool

-- | Gets the startup notification ID for a Wayland display, or
--   Nothing if no ID has been defined.

-- | Deprecated: (Since version 4.10)
displayGetStartupNotificationId :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m (Maybe Text)

-- | Finds out if the display has been closed.
displayIsClosed :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m Bool

-- | Returns whether surfaces can reasonably be expected to have their
--   alpha channel drawn correctly on the screen.
--   
--   Check displayIsRgba for whether the display supports an alpha
--   channel.
--   
--   On X11 this function returns whether a compositing manager is
--   compositing on display.
--   
--   On modern displays, this value is always True.
displayIsComposited :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m Bool

-- | Returns whether surfaces on this display are created
--   with an alpha channel.
--   
--   Even if a True is returned, it is possible that the surface’s
--   alpha channel won’t be honored when displaying the surface on the
--   screen: in particular, for X an appropriate windowing manager and
--   compositing manager must be running to provide appropriate display.
--   Use displayIsComposited to check if that is the case.
--   
--   On modern displays, this value is always True.
displayIsRgba :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m Bool

-- | Returns the list of seats known to display.
displayListSeats :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m [Seat]

-- | Returns the keyvals bound to keycode.
--   
--   The Nth GdkKeymapKey in keys is bound to the
--   Nth keyval in keyvals.
--   
--   When a keycode is pressed by the user, the keyval from this list of
--   entries is selected by considering the effective keyboard group and
--   level.
--   
--   Free the returned arrays with free.
displayMapKeycode :: (HasCallStack, MonadIO m, IsDisplay a) => a -> Word32 -> m (Bool, [KeymapKey], [Word32])

-- | Obtains a list of keycode/group/level combinations that will generate
--   keyval.
--   
--   Groups and levels are two kinds of keyboard mode; in general, the
--   level determines whether the top or bottom symbol on a key is used,
--   and the group determines whether the left or right symbol is used.
--   
--   On US keyboards, the shift key changes the keyboard level, and there
--   are no groups. A group switch key might convert a keyboard between
--   Hebrew to English modes, for example.
--   
--   GdkEventKey contains a group field that
--   indicates the active keyboard group. The level is computed from the
--   modifier mask.
--   
--   The returned array should be freed with free.
displayMapKeyval :: (HasCallStack, MonadIO m, IsDisplay a) => a -> Word32 -> m (Bool, [KeymapKey])

-- | Indicates to the GUI environment that the application has finished
--   loading, using a given identifier.
--   
--   GTK will call this function automatically for GtkWindow with
--   custom startup-notification identifier unless
--   gtk_window_set_auto_startup_notification() is called to disable
--   that feature.

-- | Deprecated: (Since version 4.10)Using toplevelSetStartupId
--   is sufficient
displayNotifyStartupComplete :: (HasCallStack, MonadIO m, IsDisplay a) => a -> Text -> m ()

-- | Opens a display.
--   
--   If opening the display fails, NULL is returned.
displayOpen :: (HasCallStack, MonadIO m) => Maybe Text -> m (Maybe Display)

-- | Checks that OpenGL is available for self and ensures
--   that it is properly initialized. When this fails, an
--   error will be set describing the error and this
--   function returns False.
--   
--   Note that even if this function succeeds, creating a
--   GdkGLContext may still fail.
--   
--   This function is idempotent. Calling it multiple times will just
--   return the same value or error.
--   
--   You never need to call this function, GDK will call it automatically
--   as needed. But you can use it as a check when setting up code that
--   might make use of OpenGL.
--   
--   Since: 4.4
displayPrepareGl :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m ()

-- | Adds the given event to the event queue for display.

-- | Deprecated: (Since version 4.10)This function is only useful in
--   veryspecial situations and should not be used by applications.
displayPutEvent :: (HasCallStack, MonadIO m, IsDisplay a, IsEvent b) => a -> b -> m ()

-- | Returns True if the display supports input shapes.
--   
--   This means that surfaceSetInputRegion can be used to modify the
--   input shape of surfaces on display.
--   
--   On modern displays, this value is always True.
displaySupportsInputShapes :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m Bool

-- | Returns whether it's possible for a surface to draw outside of the
--   window area.
--   
--   If True is returned the application decides if it wants to draw
--   shadows. If False is returned, the compositor decides if it
--   wants to draw shadows.
--   
--   Since: 4.14
displaySupportsShadowWidth :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m Bool

-- | Flushes any requests queued for the windowing system and waits until
--   all requests have been handled.
--   
--   This is often used for making sure that the display is synchronized
--   with the current state of the program. Calling displaySync
--   before [methodgdkX11.Display.error_trap_pop] makes
--   sure that any errors generated from earlier requests are handled
--   before the error trap is removed.
--   
--   This is most useful for X11. On windowing systems where requests are
--   handled synchronously, this function will do nothing.
displaySync :: (HasCallStack, MonadIO m, IsDisplay a) => a -> m ()

-- | Translates the contents of a GdkEventKey into a keyval,
--   effective group, and level.
--   
--   Modifiers that affected the translation and are thus unavailable for
--   application use are returned in consumedModifiers.
--   
--   The effectiveGroup is the group that was actually used
--   for the translation; some keys such as Enter are not affected by the
--   active keyboard group. The level is derived from
--   state.
--   
--   consumedModifiers gives modifiers that should be
--   masked out from state when comparing this key press to
--   a keyboard shortcut. For instance, on a US keyboard, the plus
--   symbol is shifted, so when comparing a key press to a
--   <Control>plus accelerator <Shift> should
--   be masked out.
--   
--   This function should rarely be needed, since GdkEventKey
--   already contains the translated keyval. It is exported for the benefit
--   of virtualized test environments.
displayTranslateKey :: (HasCallStack, MonadIO m, IsDisplay a) => a -> Word32 -> [ModifierType] -> Int32 -> m (Bool, Word32, Int32, Int32, [ModifierType])

-- | Get the value of the “composited” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get display #composited
--   
getDisplayComposited :: (MonadIO m, IsDisplay o) => o -> m Bool

-- | Get the value of the “dmabuf-formats” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get display #dmabufFormats
--   
getDisplayDmabufFormats :: (MonadIO m, IsDisplay o) => o -> m DmabufFormats

-- | Get the value of the “input-shapes” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get display #inputShapes
--   
getDisplayInputShapes :: (MonadIO m, IsDisplay o) => o -> m Bool

-- | Get the value of the “rgba” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get display #rgba
--   
getDisplayRgba :: (MonadIO m, IsDisplay o) => o -> m Bool

-- | Get the value of the “shadow-width” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get display #shadowWidth
--   
getDisplayShadowWidth :: (MonadIO m, IsDisplay o) => o -> m Bool

-- | Emitted when the connection to the windowing system for
--   display is closed.
type DisplayClosedCallback = Bool -> IO ()

-- | Connect a signal handler for the closed signal, to be run after
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after display #closed callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterDisplayClosed :: (IsDisplay a, MonadIO m) => a -> ((?self :: a) => DisplayClosedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the closed signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on display #closed callback
--   
onDisplayClosed :: (IsDisplay a, MonadIO m) => a -> ((?self :: a) => DisplayClosedCallback) -> m SignalHandlerId

-- | Emitted when the connection to the windowing system for
--   display is opened.
type DisplayOpenedCallback = IO ()

-- | Connect a signal handler for the opened signal, to be run after
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after display #opened callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterDisplayOpened :: (IsDisplay a, MonadIO m) => a -> ((?self :: a) => DisplayOpenedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the opened signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on display #opened callback
--   
onDisplayOpened :: (IsDisplay a, MonadIO m) => a -> ((?self :: a) => DisplayOpenedCallback) -> m SignalHandlerId

-- | Emitted whenever a new seat is made known to the windowing system.
type DisplaySeatAddedCallback = Seat -> IO ()

-- | Connect a signal handler for the seatAdded signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after display #seatAdded callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterDisplaySeatAdded :: (IsDisplay a, MonadIO m) => a -> ((?self :: a) => DisplaySeatAddedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the seatAdded signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on display #seatAdded callback
--   
onDisplaySeatAdded :: (IsDisplay a, MonadIO m) => a -> ((?self :: a) => DisplaySeatAddedCallback) -> m SignalHandlerId

-- | Emitted whenever a seat is removed by the windowing system.
type DisplaySeatRemovedCallback = Seat -> IO ()

-- | Connect a signal handler for the seatRemoved signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after display #seatRemoved callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterDisplaySeatRemoved :: (IsDisplay a, MonadIO m) => a -> ((?self :: a) => DisplaySeatRemovedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the seatRemoved signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on display #seatRemoved callback
--   
onDisplaySeatRemoved :: (IsDisplay a, MonadIO m) => a -> ((?self :: a) => DisplaySeatRemovedCallback) -> m SignalHandlerId

-- | Emitted whenever a setting changes its value.
type DisplaySettingChangedCallback = Text -> IO ()

-- | Connect a signal handler for the settingChanged signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after display #settingChanged callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterDisplaySettingChanged :: (IsDisplay a, MonadIO m) => a -> ((?self :: a) => DisplaySettingChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the settingChanged signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on display #settingChanged callback
--   
onDisplaySettingChanged :: (IsDisplay a, MonadIO m) => a -> ((?self :: a) => DisplaySettingChangedCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Gdk.Objects.Display.Display
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.Display.Display
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Display.Display
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Display.Display o) => GI.Gdk.Objects.Display.IsDisplay o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.Display.Display)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.Display.Display
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.Display.Display

-- | Represents an input device, such as a keyboard, mouse or touchpad.
--   
--   See the Seat documentation for more information about the
--   various kinds of devices, and their relationships.
module GI.Gdk.Objects.Device

-- | Memory-managed wrapper type.
newtype Device
Device :: ManagedPtr Device -> Device

-- | Type class for types which can be safely cast to Device, for
--   instance with toDevice.
class (GObject o, IsDescendantOf Device o) => IsDevice o

-- | Cast to Device, for types for which this is known to be safe.
--   For general casts, use castTo.
toDevice :: (MonadIO m, IsDevice o) => o -> m Device

-- | Retrieves the index of the active layout of the keyboard.
--   
--   If there is no valid active layout for the GdkDevice, this
--   function will return -1;
--   
--   This is only relevant for keyboard devices.
--   
--   Since: 4.18
deviceGetActiveLayoutIndex :: (HasCallStack, MonadIO m, IsDevice a) => a -> m Int32

-- | Retrieves whether the Caps Lock modifier of the keyboard is locked.
--   
--   This is only relevant for keyboard devices.
deviceGetCapsLockState :: (HasCallStack, MonadIO m, IsDevice a) => a -> m Bool

-- | Retrieves the current tool for device.
deviceGetDeviceTool :: (HasCallStack, MonadIO m, IsDevice a) => a -> m (Maybe DeviceTool)

-- | Returns the direction of effective layout of the keyboard.
--   
--   This is only relevant for keyboard devices.
--   
--   The direction of a layout is the direction of the majority of its
--   symbols. See unicharDirection.
deviceGetDirection :: (HasCallStack, MonadIO m, IsDevice a) => a -> m Direction

-- | Returns the GdkDisplay to which device
--   pertains.
deviceGetDisplay :: (HasCallStack, MonadIO m, IsDevice a) => a -> m Display

-- | Determines whether the pointer follows device motion.
--   
--   This is not meaningful for keyboard devices, which don't have a
--   pointer.
deviceGetHasCursor :: (HasCallStack, MonadIO m, IsDevice a) => a -> m Bool

-- | Retrieves the names of the layouts of the keyboard.
--   
--   This is only relevant for keyboard devices.
--   
--   Since: 4.18
deviceGetLayoutNames :: (HasCallStack, MonadIO m, IsDevice a) => a -> m (Maybe [Text])

-- | Retrieves the current modifier state of the keyboard.
--   
--   This is only relevant for keyboard devices.
deviceGetModifierState :: (HasCallStack, MonadIO m, IsDevice a) => a -> m [ModifierType]

-- | The name of the device, suitable for showing in a user interface.
deviceGetName :: (HasCallStack, MonadIO m, IsDevice a) => a -> m Text

-- | Retrieves whether the Num Lock modifier of the keyboard is locked.
--   
--   This is only relevant for keyboard devices.
deviceGetNumLockState :: (HasCallStack, MonadIO m, IsDevice a) => a -> m Bool

-- | Retrieves the number of touch points associated to
--   device.
deviceGetNumTouches :: (HasCallStack, MonadIO m, IsDevice a) => a -> m Word32

-- | Returns the product ID of this device.
--   
--   This ID is retrieved from the device, and does not change. See
--   deviceGetVendorId for more information.
deviceGetProductId :: (HasCallStack, MonadIO m, IsDevice a) => a -> m (Maybe Text)

-- | Retrieves whether the Scroll Lock modifier of the keyboard is locked.
--   
--   This is only relevant for keyboard devices.
deviceGetScrollLockState :: (HasCallStack, MonadIO m, IsDevice a) => a -> m Bool

-- | Returns the GdkSeat the device belongs to.
deviceGetSeat :: (HasCallStack, MonadIO m, IsDevice a) => a -> m Seat

-- | Determines the type of the device.
deviceGetSource :: (HasCallStack, MonadIO m, IsDevice a) => a -> m InputSource

-- | Obtains the surface underneath device, returning the
--   location of the device in winX and
--   winY.
--   
--   Returns Nothing if the surface tree under
--   device is not known to GDK (for example, belongs to
--   another application).
deviceGetSurfaceAtPosition :: (HasCallStack, MonadIO m, IsDevice a) => a -> m (Maybe Surface, Double, Double)

-- | Returns the timestamp of the last activity for this device.
--   
--   In practice, this means the timestamp of the last event that was
--   received from the OS for this device. (GTK may occasionally produce
--   events for a device that are not received from the OS, and will not
--   update the timestamp).
--   
--   Since: 4.2
deviceGetTimestamp :: (HasCallStack, MonadIO m, IsDevice a) => a -> m Word32

-- | Returns the vendor ID of this device.
--   
--   This ID is retrieved from the device, and does not change.
--   
--   This function, together with deviceGetProductId, can be used to
--   eg. compose GSettings paths to store settings for this
--   device.
--   
--   
c code
--   
--   
--   static GSettings *
--   get_device_settings (GdkDevice *device)
--   {
--     const char *vendor, *product;
--     GSettings *settings;
--     GdkDevice *device;
--     char *path;
--   
--     vendor = gdk_device_get_vendor_id (device);
--     product = gdk_device_get_product_id (device);
--   
--     path = g_strdup_printf ("/org/example/app/devices/%s:%s/", vendor, product);
--     settings = g_settings_new_with_path (DEVICE_SCHEMA, path);
--     g_free (path);
--   
--     return settings;
--   }
--   
deviceGetVendorId :: (HasCallStack, MonadIO m, IsDevice a) => a -> m (Maybe Text)

-- | Determines if layouts for both right-to-left and left-to-right
--   languages are in use on the keyboard.
--   
--   This is only relevant for keyboard devices.
deviceHasBidiLayouts :: (HasCallStack, MonadIO m, IsDevice a) => a -> m Bool

-- | Get the value of the “active-layout-index” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #activeLayoutIndex
--   
getDeviceActiveLayoutIndex :: (MonadIO m, IsDevice o) => o -> m Int32

-- | Get the value of the “caps-lock-state” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #capsLockState
--   
getDeviceCapsLockState :: (MonadIO m, IsDevice o) => o -> m Bool

-- | Get the value of the “direction” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #direction
--   
getDeviceDirection :: (MonadIO m, IsDevice o) => o -> m Direction

-- | Construct a GValueConstruct with valid value for the
--   “display” property. This is rarely needed directly, but it is
--   used by new.
constructDeviceDisplay :: (IsDevice o, MonadIO m, IsDisplay a) => a -> m (GValueConstruct o)

-- | Get the value of the “display” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #display
--   
getDeviceDisplay :: (MonadIO m, IsDevice o) => o -> m Display

-- | Get the value of the “has-bidi-layouts” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #hasBidiLayouts
--   
getDeviceHasBidiLayouts :: (MonadIO m, IsDevice o) => o -> m Bool

-- | Construct a GValueConstruct with valid value for the
--   “has-cursor” property. This is rarely needed directly, but it
--   is used by new.
constructDeviceHasCursor :: (IsDevice o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “has-cursor” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #hasCursor
--   
getDeviceHasCursor :: (MonadIO m, IsDevice o) => o -> m Bool

-- | Get the value of the “layout-names” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #layoutNames
--   
getDeviceLayoutNames :: (MonadIO m, IsDevice o) => o -> m (Maybe [Text])

-- | Get the value of the “modifier-state” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #modifierState
--   
getDeviceModifierState :: (MonadIO m, IsDevice o) => o -> m [ModifierType]

-- | Get the value of the “n-axes” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #nAxes
--   
getDeviceNAxes :: (MonadIO m, IsDevice o) => o -> m Word32

-- | Construct a GValueConstruct with valid value for the
--   “name” property. This is rarely needed directly, but it is
--   used by new.
constructDeviceName :: (IsDevice o, MonadIO m) => Text -> m (GValueConstruct o)

-- | Get the value of the “name” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get device #name
--   
getDeviceName :: (MonadIO m, IsDevice o) => o -> m Text

-- | Get the value of the “num-lock-state” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #numLockState
--   
getDeviceNumLockState :: (MonadIO m, IsDevice o) => o -> m Bool

-- | Construct a GValueConstruct with valid value for the
--   “num-touches” property. This is rarely needed directly, but
--   it is used by new.
constructDeviceNumTouches :: (IsDevice o, MonadIO m) => Word32 -> m (GValueConstruct o)

-- | Get the value of the “num-touches” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #numTouches
--   
getDeviceNumTouches :: (MonadIO m, IsDevice o) => o -> m Word32

-- | Construct a GValueConstruct with valid value for the
--   “product-id” property. This is rarely needed directly, but it
--   is used by new.
constructDeviceProductId :: (IsDevice o, MonadIO m) => Text -> m (GValueConstruct o)

-- | Get the value of the “product-id” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #productId
--   
getDeviceProductId :: (MonadIO m, IsDevice o) => o -> m (Maybe Text)

-- | Get the value of the “scroll-lock-state” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #scrollLockState
--   
getDeviceScrollLockState :: (MonadIO m, IsDevice o) => o -> m Bool

-- | Set the value of the “seat” property to Nothing. When
--   overloading is enabled, this is equivalent to
--   
--   
--   clear #seat
--   
clearDeviceSeat :: (MonadIO m, IsDevice o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “seat” property. This is rarely needed directly, but it is
--   used by new.
constructDeviceSeat :: (IsDevice o, MonadIO m, IsSeat a) => a -> m (GValueConstruct o)

-- | Get the value of the “seat” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get device #seat
--   
getDeviceSeat :: (MonadIO m, IsDevice o) => o -> m Seat

-- | Set the value of the “seat” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   set device [ #seat := value ]
--   
setDeviceSeat :: (MonadIO m, IsDevice o, IsSeat a) => o -> a -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “source” property. This is rarely needed directly, but it is
--   used by new.
constructDeviceSource :: (IsDevice o, MonadIO m) => InputSource -> m (GValueConstruct o)

-- | Get the value of the “source” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #source
--   
getDeviceSource :: (MonadIO m, IsDevice o) => o -> m InputSource

-- | Get the value of the “tool” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get device #tool
--   
getDeviceTool :: (MonadIO m, IsDevice o) => o -> m (Maybe DeviceTool)

-- | Construct a GValueConstruct with valid value for the
--   “vendor-id” property. This is rarely needed directly, but it
--   is used by new.
constructDeviceVendorId :: (IsDevice o, MonadIO m) => Text -> m (GValueConstruct o)

-- | Get the value of the “vendor-id” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get device #vendorId
--   
getDeviceVendorId :: (MonadIO m, IsDevice o) => o -> m (Maybe Text)

-- | Emitted either when the number of either axes or keys changes.
--   
--   On X11 this will normally happen when the physical device routing
--   events through the logical device changes (for example, user switches
--   from the USB mouse to a tablet); in that case the logical device will
--   change to reflect the axes and keys on the new physical device.
type DeviceChangedCallback = IO ()

-- | Connect a signal handler for the changed signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after device #changed callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterDeviceChanged :: (IsDevice a, MonadIO m) => a -> ((?self :: a) => DeviceChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the changed signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on device #changed callback
--   
onDeviceChanged :: (IsDevice a, MonadIO m) => a -> ((?self :: a) => DeviceChangedCallback) -> m SignalHandlerId

-- | Emitted on pen/eraser devices whenever tools enter or leave proximity.
type DeviceToolChangedCallback = DeviceTool -> IO ()

-- | Connect a signal handler for the toolChanged signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after device #toolChanged callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterDeviceToolChanged :: (IsDevice a, MonadIO m) => a -> ((?self :: a) => DeviceToolChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the toolChanged signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on device #toolChanged callback
--   
onDeviceToolChanged :: (IsDevice a, MonadIO m) => a -> ((?self :: a) => DeviceToolChangedCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Gdk.Objects.Device.Device
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.Device.Device
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Device.Device
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Device.Device o) => GI.Gdk.Objects.Device.IsDevice o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.Device.Device)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.Device.Device
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.Device.Device

-- | An event related to closing a top-level surface.
module GI.Gdk.Objects.DeleteEvent

-- | Memory-managed wrapper type.
newtype DeleteEvent
DeleteEvent :: ManagedPtr DeleteEvent -> DeleteEvent

-- | Type class for types which can be safely cast to DeleteEvent,
--   for instance with toDeleteEvent.
class (BoxedPtr o, TypedObject o, IsDescendantOf DeleteEvent o) => IsDeleteEvent o

-- | Cast to DeleteEvent, for types for which this is known to be
--   safe. For general casts, use castTo.
toDeleteEvent :: (MonadIO m, IsDeleteEvent o) => o -> m DeleteEvent
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Objects.DeleteEvent.DeleteEvent
instance GHC.Classes.Eq GI.Gdk.Objects.DeleteEvent.DeleteEvent
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.DeleteEvent.DeleteEvent
instance (Data.GI.Base.BasicTypes.BoxedPtr o, Data.GI.Base.BasicTypes.TypedObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.DeleteEvent.DeleteEvent o) => GI.Gdk.Objects.DeleteEvent.IsDeleteEvent o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.DeleteEvent.DeleteEvent
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.DeleteEvent.DeleteEvent

-- | An event related to drag and drop operations.
module GI.Gdk.Objects.DNDEvent

-- | Memory-managed wrapper type.
newtype DNDEvent
DNDEvent :: ManagedPtr DNDEvent -> DNDEvent

-- | Type class for types which can be safely cast to DNDEvent, for
--   instance with toDNDEvent.
class (BoxedPtr o, TypedObject o, IsDescendantOf DNDEvent o) => IsDNDEvent o

-- | Cast to DNDEvent, for types for which this is known to be safe.
--   For general casts, use castTo.
toDNDEvent :: (MonadIO m, IsDNDEvent o) => o -> m DNDEvent

-- | Gets the GdkDrop object from a DND event.
dNDEventGetDrop :: (HasCallStack, MonadIO m, IsDNDEvent a) => a -> m (Maybe Drop)
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Objects.DNDEvent.DNDEvent
instance GHC.Classes.Eq GI.Gdk.Objects.DNDEvent.DNDEvent
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.DNDEvent.DNDEvent
instance (Data.GI.Base.BasicTypes.BoxedPtr o, Data.GI.Base.BasicTypes.TypedObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.DNDEvent.DNDEvent o) => GI.Gdk.Objects.DNDEvent.IsDNDEvent o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.DNDEvent.DNDEvent
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.DNDEvent.DNDEvent

-- | An event caused by a pointing device moving between surfaces.
module GI.Gdk.Objects.CrossingEvent

-- | Memory-managed wrapper type.
newtype CrossingEvent
CrossingEvent :: ManagedPtr CrossingEvent -> CrossingEvent

-- | Type class for types which can be safely cast to CrossingEvent,
--   for instance with toCrossingEvent.
class (BoxedPtr o, TypedObject o, IsDescendantOf CrossingEvent o) => IsCrossingEvent o

-- | Cast to CrossingEvent, for types for which this is known to be
--   safe. For general casts, use castTo.
toCrossingEvent :: (MonadIO m, IsCrossingEvent o) => o -> m CrossingEvent

-- | Extracts the notify detail from a crossing event.
crossingEventGetDetail :: (HasCallStack, MonadIO m, IsCrossingEvent a) => a -> m NotifyType

-- | Checks if the event surface is the focus surface.
crossingEventGetFocus :: (HasCallStack, MonadIO m, IsCrossingEvent a) => a -> m Bool

-- | Extracts the crossing mode from a crossing event.
crossingEventGetMode :: (HasCallStack, MonadIO m, IsCrossingEvent a) => a -> m CrossingMode
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Objects.CrossingEvent.CrossingEvent
instance GHC.Classes.Eq GI.Gdk.Objects.CrossingEvent.CrossingEvent
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.CrossingEvent.CrossingEvent
instance (Data.GI.Base.BasicTypes.BoxedPtr o, Data.GI.Base.BasicTypes.TypedObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.CrossingEvent.CrossingEvent o) => GI.Gdk.Objects.CrossingEvent.IsCrossingEvent o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.CrossingEvent.CrossingEvent
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.CrossingEvent.CrossingEvent

-- | Represents data shared between applications or inside an application.
--   
--   To get a GdkClipboard object, use displayGetClipboard
--   or displayGetPrimaryClipboard. You can find out about the data
--   that is currently available in a clipboard using
--   clipboardGetFormats.
--   
--   To make text or image data available in a clipboard, use
--   Clipboard.set_text() or
--   Clipboard.set_texture(). For other data, you
--   can use clipboardSetContent, which takes a
--   ContentProvider object.
--   
--   To read textual or image data from a clipboard, use
--   clipboardReadTextAsync or clipboardReadTextureAsync. For
--   other data, use clipboardReadAsync, which provides a
--   GInputStream object.
module GI.Gdk.Objects.Clipboard

-- | Memory-managed wrapper type.
newtype Clipboard
Clipboard :: ManagedPtr Clipboard -> Clipboard

-- | Type class for types which can be safely cast to Clipboard, for
--   instance with toClipboard.
class (GObject o, IsDescendantOf Clipboard o) => IsClipboard o

-- | Cast to Clipboard, for types for which this is known to be
--   safe. For general casts, use castTo.
toClipboard :: (MonadIO m, IsClipboard o) => o -> m Clipboard

-- | Returns the GdkContentProvider currently set on
--   clipboard.
--   
--   If the clipboard is empty or its contents are not
--   owned by the current process, Nothing will be returned.
clipboardGetContent :: (HasCallStack, MonadIO m, IsClipboard a) => a -> m (Maybe ContentProvider)

-- | Gets the GdkDisplay that the clipboard was created for.
clipboardGetDisplay :: (HasCallStack, MonadIO m, IsClipboard a) => a -> m Display

-- | Gets the formats that the clipboard can provide its current contents
--   in.
clipboardGetFormats :: (HasCallStack, MonadIO m, IsClipboard a) => a -> m ContentFormats

-- | Returns if the clipboard is local.
--   
--   A clipboard is considered local if it was last claimed by the running
--   application.
--   
--   Note that clipboardGetContent may return Nothing even on
--   a local clipboard. In this case the clipboard is empty.
clipboardIsLocal :: (HasCallStack, MonadIO m, IsClipboard a) => a -> m Bool

-- | Asynchronously requests an input stream to read the
--   clipboard's contents from.
--   
--   The clipboard will choose the most suitable mime type from the given
--   list to fulfill the request, preferring the ones listed first.
clipboardReadAsync :: (HasCallStack, MonadIO m, IsClipboard a, IsCancellable b) => a -> [Text] -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()

-- | Finishes an asynchronous clipboard read.
--   
--   See clipboardReadAsync.
clipboardReadFinish :: (HasCallStack, MonadIO m, IsClipboard a, IsAsyncResult b) => a -> b -> m (Maybe InputStream, Text)

-- | Asynchronously request the clipboard contents
--   converted to a string.
--   
--   This is a simple wrapper around clipboardReadValueAsync. Use
--   that function or clipboardReadAsync directly if you need more
--   control over the operation.
clipboardReadTextAsync :: (HasCallStack, MonadIO m, IsClipboard a, IsCancellable b) => a -> Maybe b -> Maybe AsyncReadyCallback -> m ()

-- | Finishes an asynchronous clipboard read.
--   
--   See clipboardReadTextAsync.
clipboardReadTextFinish :: (HasCallStack, MonadIO m, IsClipboard a, IsAsyncResult b) => a -> b -> m (Maybe Text)

-- | Asynchronously request the clipboard contents
--   converted to a GdkPixbuf.
--   
--   This is a simple wrapper around clipboardReadValueAsync. Use
--   that function or clipboardReadAsync directly if you need more
--   control over the operation.
clipboardReadTextureAsync :: (HasCallStack, MonadIO m, IsClipboard a, IsCancellable b) => a -> Maybe b -> Maybe AsyncReadyCallback -> m ()

-- | Finishes an asynchronous clipboard read.
--   
--   See clipboardReadTextureAsync.
clipboardReadTextureFinish :: (HasCallStack, MonadIO m, IsClipboard a, IsAsyncResult b) => a -> b -> m (Maybe Texture)

-- | Asynchronously request the clipboard contents
--   converted to the given type.
--   
--   For local clipboard contents that are available in the given
--   GType, the value will be copied directly. Otherwise, GDK will
--   try to use [funccontentDeserializeAsync] to convert
--   the clipboard's data.
clipboardReadValueAsync :: (HasCallStack, MonadIO m, IsClipboard a, IsCancellable b) => a -> GType -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()

-- | Finishes an asynchronous clipboard read.
--   
--   See clipboardReadValueAsync.
clipboardReadValueFinish :: (HasCallStack, MonadIO m, IsClipboard a, IsAsyncResult b) => a -> b -> m GValue

-- | Sets the clipboard to contain the given
--   value.
clipboardSet :: (HasCallStack, MonadIO m, IsClipboard a) => a -> GValue -> m ()

-- | Sets a new content provider on clipboard.
--   
--   The clipboard will claim the GdkDisplay's resources and
--   advertise these new contents to other applications.
--   
--   In the rare case of a failure, this function will return False.
--   The clipboard will then continue reporting its old contents and ignore
--   provider.
--   
--   If the contents are read by either an external application or the
--   clipboard's read functions, clipboard
--   will select the best format to transfer the contents and then request
--   that format from provider.
clipboardSetContent :: (HasCallStack, MonadIO m, IsClipboard a, IsContentProvider b) => a -> Maybe b -> m Bool

-- | Asynchronously instructs the clipboard to store its
--   contents remotely.
--   
--   If the clipboard is not local, this function does nothing but report
--   success.
--   
--   The purpose of this call is to preserve clipboard contents beyond the
--   lifetime of an application, so this function is typically called on
--   exit. Depending on the platform, the functionality may not be
--   available unless a "clipboard manager" is running.
--   
--   This function is called automatically when a GtkApplication is
--   shut down, so you likely don't need to call it.
clipboardStoreAsync :: (HasCallStack, MonadIO m, IsClipboard a, IsCancellable b) => a -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()

-- | Finishes an asynchronous clipboard store.
--   
--   See clipboardStoreAsync.
clipboardStoreFinish :: (HasCallStack, MonadIO m, IsClipboard a, IsAsyncResult b) => a -> b -> m ()

-- | Get the value of the “content” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get clipboard #content
--   
getClipboardContent :: (MonadIO m, IsClipboard o) => o -> m (Maybe ContentProvider)

-- | Construct a GValueConstruct with valid value for the
--   “display” property. This is rarely needed directly, but it is
--   used by new.
constructClipboardDisplay :: (IsClipboard o, MonadIO m, IsDisplay a) => a -> m (GValueConstruct o)

-- | Get the value of the “display” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get clipboard #display
--   
getClipboardDisplay :: (MonadIO m, IsClipboard o) => o -> m Display

-- | Get the value of the “formats” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get clipboard #formats
--   
getClipboardFormats :: (MonadIO m, IsClipboard o) => o -> m ContentFormats

-- | Get the value of the “local” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get clipboard #local
--   
getClipboardLocal :: (MonadIO m, IsClipboard o) => o -> m Bool

-- | Emitted when the clipboard changes ownership.
type ClipboardChangedCallback = IO ()

-- | Connect a signal handler for the changed signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after clipboard #changed callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterClipboardChanged :: (IsClipboard a, MonadIO m) => a -> ((?self :: a) => ClipboardChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the changed signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on clipboard #changed callback
--   
onClipboardChanged :: (IsClipboard a, MonadIO m) => a -> ((?self :: a) => ClipboardChangedCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Gdk.Objects.Clipboard.Clipboard
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.Clipboard.Clipboard
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.Clipboard.Clipboard
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.Clipboard.Clipboard o) => GI.Gdk.Objects.Clipboard.IsClipboard o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.Clipboard.Clipboard)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.Clipboard.Clipboard
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.Clipboard.Clipboard

-- | Represents the platform-specific draw context.
--   
--   GdkCairoContexts are created for a surface using
--   surfaceCreateCairoContext, and the context can then be used to
--   draw on that surface.
module GI.Gdk.Objects.CairoContext

-- | Memory-managed wrapper type.
newtype CairoContext
CairoContext :: ManagedPtr CairoContext -> CairoContext

-- | Type class for types which can be safely cast to CairoContext,
--   for instance with toCairoContext.
class (GObject o, IsDescendantOf CairoContext o) => IsCairoContext o

-- | Cast to CairoContext, for types for which this is known to be
--   safe. For general casts, use castTo.
toCairoContext :: (MonadIO m, IsCairoContext o) => o -> m CairoContext

-- | Retrieves a Cairo context to be used to draw on the
--   GdkSurface of context.
--   
--   A call to drawContextBeginFrame with this
--   context must have been done or this function will
--   return Nothing.
--   
--   The returned context is guaranteed to be valid until
--   drawContextEndFrame is called.

-- | Deprecated: (Since version 4.18)Drawing content with Cairo should
--   be done viaCairo rendernodes, not by using renderers.
cairoContextCairoCreate :: (HasCallStack, MonadIO m, IsCairoContext a) => a -> m (Maybe Context)
instance GHC.Classes.Eq GI.Gdk.Objects.CairoContext.CairoContext
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.CairoContext.CairoContext
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.CairoContext.CairoContext
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.CairoContext.CairoContext o) => GI.Gdk.Objects.CairoContext.IsCairoContext o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.CairoContext.CairoContext)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.CairoContext.CairoContext
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.CairoContext.CairoContext

-- | An event related to a button on a pointer device.
module GI.Gdk.Objects.ButtonEvent

-- | Memory-managed wrapper type.
newtype ButtonEvent
ButtonEvent :: ManagedPtr ButtonEvent -> ButtonEvent

-- | Type class for types which can be safely cast to ButtonEvent,
--   for instance with toButtonEvent.
class (BoxedPtr o, TypedObject o, IsDescendantOf ButtonEvent o) => IsButtonEvent o

-- | Cast to ButtonEvent, for types for which this is known to be
--   safe. For general casts, use castTo.
toButtonEvent :: (MonadIO m, IsButtonEvent o) => o -> m ButtonEvent

-- | Extract the button number from a button event.
buttonEventGetButton :: (HasCallStack, MonadIO m, IsButtonEvent a) => a -> m Word32
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Objects.ButtonEvent.ButtonEvent
instance GHC.Classes.Eq GI.Gdk.Objects.ButtonEvent.ButtonEvent
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.ButtonEvent.ButtonEvent
instance (Data.GI.Base.BasicTypes.BoxedPtr o, Data.GI.Base.BasicTypes.TypedObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.ButtonEvent.ButtonEvent o) => GI.Gdk.Objects.ButtonEvent.IsButtonEvent o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.ButtonEvent.ButtonEvent
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.ButtonEvent.ButtonEvent

-- | Handles launching an application in a graphical context.
--   
--   It is an implementation of GAppLaunchContext that provides
--   startup notification and allows to launch applications on a specific
--   workspace.
--   
--   
Launching an application
--   
--   
c code
--   
--   
--   GdkAppLaunchContext *context;
--   
--   context = gdk_display_get_app_launch_context (display);
--   
--   gdk_app_launch_context_set_timestamp (gdk_event_get_time (event));
--   
--   if (!g_app_info_launch_default_for_uri ("http://www.gtk.org", context, &error))
--     g_warning ("Launching failed: %s\n", error->message);
--   
--   g_object_unref (context);
--   
module GI.Gdk.Objects.AppLaunchContext

-- | Memory-managed wrapper type.
newtype AppLaunchContext
AppLaunchContext :: ManagedPtr AppLaunchContext -> AppLaunchContext

-- | Type class for types which can be safely cast to
--   AppLaunchContext, for instance with toAppLaunchContext.
class (GObject o, IsDescendantOf AppLaunchContext o) => IsAppLaunchContext o

-- | Cast to AppLaunchContext, for types for which this is known to
--   be safe. For general casts, use castTo.
toAppLaunchContext :: (MonadIO m, IsAppLaunchContext o) => o -> m AppLaunchContext

-- | Gets the GdkDisplay that context is for.
appLaunchContextGetDisplay :: (HasCallStack, MonadIO m, IsAppLaunchContext a) => a -> m Display

-- | Sets the workspace on which applications will be launched.
--   
--   This only works when running under a window manager that supports
--   multiple workspaces, as described in the Extended Window Manager
--   Hints. Specifically this sets the _NET_WM_DESKTOP
--   property described in that spec.
--   
--   This only works when using the X11 backend.
--   
--   When the workspace is not specified or desktop is set
--   to -1, it is up to the window manager to pick one, typically it will
--   be the current workspace.
appLaunchContextSetDesktop :: (HasCallStack, MonadIO m, IsAppLaunchContext a) => a -> Int32 -> m ()

-- | Sets the icon for applications that are launched with this context.
--   
--   Window Managers can use this information when displaying startup
--   notification.
--   
--   See also appLaunchContextSetIconName.
appLaunchContextSetIcon :: (HasCallStack, MonadIO m, IsAppLaunchContext a, IsIcon b) => a -> Maybe b -> m ()

-- | Sets the icon for applications that are launched with this context.
--   
--   The iconName will be interpreted in the same way as
--   the Icon field in desktop files. See also
--   appLaunchContextSetIcon.
--   
--   If both icon and iconName are set, the
--   iconName takes priority. If neither
--   icon or iconName is set, the icon is
--   taken from either the file that is passed to launched application or
--   from the GAppInfo for the launched application itself.
appLaunchContextSetIconName :: (HasCallStack, MonadIO m, IsAppLaunchContext a) => a -> Maybe Text -> m ()

-- | Sets the timestamp of context.
--   
--   The timestamp should ideally be taken from the event that triggered
--   the launch.
--   
--   Window managers can use this information to avoid moving the focus to
--   the newly launched application when the user is busy typing in another
--   window. This is also known as 'focus stealing prevention'.
appLaunchContextSetTimestamp :: (HasCallStack, MonadIO m, IsAppLaunchContext a) => a -> Word32 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “display” property. This is rarely needed directly, but it is
--   used by new.
constructAppLaunchContextDisplay :: (IsAppLaunchContext o, MonadIO m, IsDisplay a) => a -> m (GValueConstruct o)

-- | Get the value of the “display” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get appLaunchContext #display
--   
getAppLaunchContextDisplay :: (MonadIO m, IsAppLaunchContext o) => o -> m Display
instance GHC.Classes.Eq GI.Gdk.Objects.AppLaunchContext.AppLaunchContext
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Objects.AppLaunchContext.AppLaunchContext
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Objects.AppLaunchContext.AppLaunchContext
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Objects.AppLaunchContext.AppLaunchContext o) => GI.Gdk.Objects.AppLaunchContext.IsAppLaunchContext o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Objects.AppLaunchContext.AppLaunchContext)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Objects.AppLaunchContext.AppLaunchContext
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Objects.AppLaunchContext.AppLaunchContext

module GI.Gdk.Objects

-- | A surface that is attached to another surface.
--   
--   The GdkPopup is positioned relative to its parent surface.
--   
--   GdkPopups are typically used to implement menus and similar
--   popups. They can be modal, which is indicated by the
--   Popup:autohide property.
module GI.Gdk.Interfaces.Popup

-- | Memory-managed wrapper type.
newtype Popup
Popup :: ManagedPtr Popup -> Popup

-- | Type class for types which can be safely cast to Popup, for
--   instance with toPopup.
class (GObject o, IsDescendantOf Popup o) => IsPopup o

-- | Cast to Popup, for types for which this is known to be safe.
--   For general casts, use castTo.
toPopup :: (MonadIO m, IsPopup o) => o -> m Popup

-- | Returns whether this popup is set to hide on outside clicks.
popupGetAutohide :: (HasCallStack, MonadIO m, IsPopup a) => a -> m Bool

-- | Returns the parent surface of a popup.
popupGetParent :: (HasCallStack, MonadIO m, IsPopup a) => a -> m (Maybe Surface)

-- | Obtains the position of the popup relative to its parent.
popupGetPositionX :: (HasCallStack, MonadIO m, IsPopup a) => a -> m Int32

-- | Obtains the position of the popup relative to its parent.
popupGetPositionY :: (HasCallStack, MonadIO m, IsPopup a) => a -> m Int32

-- | Gets the current popup rectangle anchor.
--   
--   The value returned may change after calling popupPresent, or
--   after the Surface::layout signal is emitted.
popupGetRectAnchor :: (HasCallStack, MonadIO m, IsPopup a) => a -> m Gravity

-- | Gets the current popup surface anchor.
--   
--   The value returned may change after calling popupPresent, or
--   after the Surface::layout signal is emitted.
popupGetSurfaceAnchor :: (HasCallStack, MonadIO m, IsPopup a) => a -> m Gravity

-- | Present popup after having processed the
--   GdkPopupLayout rules.
--   
--   If the popup was previously not showing, it will be shown, otherwise
--   it will change position according to layout.
--   
--   After calling this function, the result should be handled in response
--   to the Surface::layout signal being emitted. The resulting
--   popup position can be queried using popupGetPositionX,
--   popupGetPositionY, and the resulting size will be sent as
--   parameters in the layout signal. Use popupGetRectAnchor and
--   popupGetSurfaceAnchor to get the resulting anchors.
--   
--   Presenting may fail, for example if the popup is set
--   to autohide and is immediately hidden upon being presented. If
--   presenting failed, the Surface::layout signal will not me
--   emitted.
popupPresent :: (HasCallStack, MonadIO m, IsPopup a) => a -> Int32 -> Int32 -> PopupLayout -> m Bool

-- | Construct a GValueConstruct with valid value for the
--   “autohide” property. This is rarely needed directly, but it
--   is used by new.
constructPopupAutohide :: (IsPopup o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “autohide” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get popup #autohide
--   
getPopupAutohide :: (MonadIO m, IsPopup o) => o -> m Bool

-- | Construct a GValueConstruct with valid value for the
--   “parent” property. This is rarely needed directly, but it is
--   used by new.
constructPopupParent :: (IsPopup o, MonadIO m, IsSurface a) => a -> m (GValueConstruct o)

-- | Get the value of the “parent” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get popup #parent
--   
getPopupParent :: (MonadIO m, IsPopup o) => o -> m (Maybe Surface)
instance GHC.Classes.Eq GI.Gdk.Interfaces.Popup.Popup
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Interfaces.Popup.Popup
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Interfaces.Popup.Popup
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Interfaces.Popup.Popup)
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Interfaces.Popup.Popup o) => GI.Gdk.Interfaces.Popup.IsPopup o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Interfaces.Popup.Popup
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Interfaces.Popup.Popup

-- | A surface that is used during DND.
module GI.Gdk.Interfaces.DragSurface

-- | Memory-managed wrapper type.
newtype DragSurface
DragSurface :: ManagedPtr DragSurface -> DragSurface

-- | Type class for types which can be safely cast to DragSurface,
--   for instance with toDragSurface.
class (GObject o, IsDescendantOf DragSurface o) => IsDragSurface o

-- | Cast to DragSurface, for types for which this is known to be
--   safe. For general casts, use castTo.
toDragSurface :: (MonadIO m, IsDragSurface o) => o -> m DragSurface

-- | Present dragSurface.
dragSurfacePresent :: (HasCallStack, MonadIO m, IsDragSurface a) => a -> Int32 -> Int32 -> m Bool

-- | Emitted when the size for the surface needs to be computed, when it is
--   present.
--   
--   This signal will normally be emitted during the native surface layout
--   cycle when the surface size needs to be recomputed.
--   
--   It is the responsibility of the drag surface user to handle this
--   signal and compute the desired size of the surface, storing the
--   computed size in the DragSurfaceSize object that is passed to
--   the signal handler, using dragSurfaceSizeSetSize.
--   
--   Failing to set a size so will result in an arbitrary size being used
--   as a result.
--   
--   Since: 4.12
type DragSurfaceComputeSizeCallback = DragSurfaceSize -> IO ()

-- | Connect a signal handler for the computeSize signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after dragSurface #computeSize callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterDragSurfaceComputeSize :: (IsDragSurface a, MonadIO m) => a -> ((?self :: a) => DragSurfaceComputeSizeCallback) -> m SignalHandlerId

-- | Connect a signal handler for the computeSize signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on dragSurface #computeSize callback
--   
onDragSurfaceComputeSize :: (IsDragSurface a, MonadIO m) => a -> ((?self :: a) => DragSurfaceComputeSizeCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Gdk.Interfaces.DragSurface.DragSurface
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Interfaces.DragSurface.DragSurface
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Interfaces.DragSurface.DragSurface
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Interfaces.DragSurface.DragSurface o) => GI.Gdk.Interfaces.DragSurface.IsDragSurface o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Interfaces.DragSurface.DragSurface)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Interfaces.DragSurface.DragSurface
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Interfaces.DragSurface.DragSurface

-- | An interface for tablet pad devices.
--   
--   It allows querying the features provided by the pad device.
--   
--   Tablet pads may contain one or more groups, each containing a subset
--   of the buttons/rings/strips available. devicePadGetNGroups can
--   be used to obtain the number of groups, devicePadGetNFeatures
--   and devicePadGetFeatureGroup can be combined to find out the
--   number of buttons/rings/strips the device has, and how are they
--   grouped.
--   
--   Each of those groups have different modes, which may be used to map
--   each individual pad feature to multiple actions. Only one mode is
--   effective (current) for each given group, different groups may have
--   different current modes. The number of available modes in a group can
--   be found out through devicePadGetGroupNModes, and the current
--   mode for a given group will be notified through events of type
--   GDK_PAD_GROUP_MODE.
module GI.Gdk.Interfaces.DevicePad

-- | Memory-managed wrapper type.
newtype DevicePad
DevicePad :: ManagedPtr DevicePad -> DevicePad

-- | Type class for types which can be safely cast to DevicePad, for
--   instance with toDevicePad.
class (GObject o, IsDescendantOf DevicePad o) => IsDevicePad o

-- | Cast to DevicePad, for types for which this is known to be
--   safe. For general casts, use castTo.
toDevicePad :: (MonadIO m, IsDevicePad o) => o -> m DevicePad

-- | Returns the group the given feature and
--   idx belong to.
--   
--   f the feature or index do not exist in pad, -1 is
--   returned.
devicePadGetFeatureGroup :: (HasCallStack, MonadIO m, IsDevicePad a) => a -> DevicePadFeature -> Int32 -> m Int32

-- | Returns the number of modes that group may have.
devicePadGetGroupNModes :: (HasCallStack, MonadIO m, IsDevicePad a) => a -> Int32 -> m Int32

-- | Returns the number of features a tablet pad has.
devicePadGetNFeatures :: (HasCallStack, MonadIO m, IsDevicePad a) => a -> DevicePadFeature -> m Int32

-- | Returns the number of groups this pad device has.
--   
--   Pads have at least one group. A pad group is a subcollection of
--   buttons/strip/rings that is affected collectively by a same current
--   mode.
devicePadGetNGroups :: (HasCallStack, MonadIO m, IsDevicePad a) => a -> m Int32
instance GHC.Classes.Eq GI.Gdk.Interfaces.DevicePad.DevicePad
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Interfaces.DevicePad.DevicePad
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Interfaces.DevicePad.DevicePad
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Interfaces.DevicePad.DevicePad o) => GI.Gdk.Interfaces.DevicePad.IsDevicePad o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Interfaces.DevicePad.DevicePad)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Interfaces.DevicePad.DevicePad
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Interfaces.DevicePad.DevicePad

module GI.Gdk.Functions

-- | Draws GL content onto a cairo context.
--   
--   It takes a render buffer ID (sourceType ==
--   GL_RENDERBUFFER) or a texture id (sourceType ==
--   GL_TEXTURE) and draws it onto cr with an OVER
--   operation, respecting the current clip. The top left corner of the
--   rectangle specified by x, y,
--   width and height will be drawn at the
--   current (0,0) position of the cairo_t.
--   
--   This will work for *all* cairo_t, as long as
--   surface is realized, but the fallback implementation
--   that reads back the pixels from the buffer may be used in the general
--   case. In the case of direct drawing to a surface with no special
--   effects applied to cr it will however use a more
--   efficient approach.
--   
--   For GL_RENDERBUFFER the code will always fall back to software for
--   buffers with alpha components, so make sure you use GL_TEXTURE if
--   using alpha.
--   
--   Calling this may change the current GL context.

-- | Deprecated: (Since version 4.6)The function is overly complex and
--   produces broken outputin various combinations of arguments. If you
--   want to draw with GL texturesin GTK, use gLTextureNew; if you
--   want to use that texture inCairo, use textureDownload to
--   download the data into a Cairoimage surface.
cairoDrawFromGl :: (HasCallStack, MonadIO m, IsSurface a) => Context -> a -> Int32 -> Int32 -> Int32 -> Int32 -> Int32 -> Int32 -> Int32 -> m ()

-- | Adds the given rectangle to the current path of cr.
cairoRectangle :: (HasCallStack, MonadIO m) => Context -> Rectangle -> m ()

-- | Adds the given region to the current path of cr.
cairoRegion :: (HasCallStack, MonadIO m) => Context -> Region -> m ()

-- | Creates region that covers the area where the given
--   surface is more than 50% opaque.
--   
--   This function takes into account device offsets that might be set with
--   cairo_surface_set_device_offset().
cairoRegionCreateFromSurface :: (HasCallStack, MonadIO m) => Surface -> m Region

-- | Sets the given pixbuf as the source pattern for cr.
--   
--   The pattern has an extend mode of ExtendNone and is aligned so
--   that the origin of pixbuf is pixbufX,
--   pixbufY.

-- | Deprecated: (Since version 4.20)Use
--   cairo_set_source_surface() and
--   textureDownload
cairoSetSourcePixbuf :: (HasCallStack, MonadIO m, IsPixbuf a) => Context -> a -> Double -> Double -> m ()

-- | Sets the specified GdkRGBA as the source color of
--   cr.
cairoSetSourceRgba :: (HasCallStack, MonadIO m) => Context -> RGBA -> m ()

-- | Reads content from the given input stream and deserialize it,
--   asynchronously.
--   
--   The default I/O priority is G_PRIORITY_DEFAULT (i.e. 0), and
--   lower numbers indicate a higher priority.
contentDeserializeAsync :: (HasCallStack, MonadIO m, IsInputStream a, IsCancellable b) => a -> Text -> GType -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()

-- | Finishes a content deserialization operation.
contentDeserializeFinish :: (HasCallStack, MonadIO m, IsAsyncResult a) => a -> m GValue

-- | Registers a function to deserialize object of a given type.
--   
--   Since 4.20, when looking up a deserializer to use, GTK will use the
--   last registered deserializer for a given mime type, so applications
--   can override the built-in deserializers.
contentRegisterDeserializer :: (HasCallStack, MonadIO m) => Text -> GType -> ContentDeserializeFunc -> m ()

-- | Registers a function to serialize objects of a given type.
--   
--   Since 4.20, when looking up a serializer to use, GTK will use the last
--   registered serializer for a given mime type, so applications can
--   override the built-in serializers.
contentRegisterSerializer :: (HasCallStack, MonadIO m) => GType -> Text -> ContentSerializeFunc -> m ()

-- | Serialize content and write it to the given output stream,
--   asynchronously.
--   
--   The default I/O priority is PRIORITY_DEFAULT (i.e. 0), and
--   lower numbers indicate a higher priority.
contentSerializeAsync :: (HasCallStack, MonadIO m, IsOutputStream a, IsCancellable b) => a -> Text -> GValue -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()

-- | Finishes a content serialization operation.
contentSerializeFinish :: (HasCallStack, MonadIO m, IsAsyncResult a) => a -> m ()

-- | Returns the relative angle from event1 to
--   event2.
--   
--   The relative angle is the angle between the X axis and the line
--   through both events' positions. The rotation direction for positive
--   angles is from the positive X axis towards the positive Y axis.
--   
--   This assumes that both events have X/Y information. If not, this
--   function returns False.
eventsGetAngle :: (HasCallStack, MonadIO m, IsEvent a, IsEvent b) => a -> b -> m (Bool, Double)

-- | Returns the point halfway between the events' positions.
--   
--   This assumes that both events have X/Y information. If not, this
--   function returns False.
eventsGetCenter :: (HasCallStack, MonadIO m, IsEvent a, IsEvent b) => a -> b -> m (Bool, Double, Double)

-- | Returns the distance between the event locations.
--   
--   This assumes that both events have X/Y information. If not, this
--   function returns False.
eventsGetDistance :: (HasCallStack, MonadIO m, IsEvent a, IsEvent b) => a -> b -> m (Bool, Double)

-- | Canonicalizes the given mime type and interns the result.
--   
--   If string is not a valid mime type, Nothing is
--   returned instead. See RFC 2048 for the syntax if mime types.
internMimeType :: (HasCallStack, MonadIO m) => Text -> m (Maybe Text)

-- | Obtains the upper- and lower-case versions of the keyval
--   symbol.
--   
--   Examples of keyvals are GDK_KEY_a, GDK_KEY_Enter,
--   GDK_KEY_F1, etc.
keyvalConvertCase :: (HasCallStack, MonadIO m) => Word32 -> m (Word32, Word32)

-- | Converts a key name to a key value.
--   
--   The names are the same as those in the gdk/gdkkeysyms.h
--   header file but without the leading “GDK_KEY_”.
keyvalFromName :: (HasCallStack, MonadIO m) => Text -> m Word32

-- | Returns true if the given key value is in lower case.
keyvalIsLower :: (HasCallStack, MonadIO m) => Word32 -> m Bool

-- | Returns true if the given key value is in upper case.
keyvalIsUpper :: (HasCallStack, MonadIO m) => Word32 -> m Bool

-- | Converts a key value into a symbolic name.
--   
--   The names are the same as those in the gdk/gdkkeysyms.h
--   header file but without the leading “GDK_KEY_”.
keyvalName :: (HasCallStack, MonadIO m) => Word32 -> m (Maybe Text)

-- | Converts a key value to lower case, if applicable.
keyvalToLower :: (HasCallStack, MonadIO m) => Word32 -> m Word32

-- | Converts from a GDK key symbol to the corresponding Unicode character.
--   
--   Note that the conversion does not take the current locale into
--   consideration, which might be expected for particular keyvals, such as
--   GDK_KEY_KP_Decimal.
keyvalToUnicode :: (HasCallStack, MonadIO m) => Word32 -> m Word32

-- | Converts a key value to upper case, if applicable.
keyvalToUpper :: (HasCallStack, MonadIO m) => Word32 -> m Word32

-- | Transfers image data from a cairo_surface_t and converts it
--   to a GdkPixbuf.
--   
--   This allows you to efficiently read individual pixels from cairo
--   surfaces.
--   
--   This function will create an RGB pixbuf with 8 bits per channel. The
--   pixbuf will contain an alpha channel if the surface
--   contains one.

-- | Deprecated: (Since version 4.12)Use Texture and subclasses
--   insteadcairo surfaces and pixbufs
pixbufGetFromSurface :: (HasCallStack, MonadIO m) => Surface -> Int32 -> Int32 -> Int32 -> Int32 -> m (Maybe Pixbuf)

-- | Creates a new pixbuf from texture.
--   
--   This should generally not be used in newly written code as later
--   stages will almost certainly convert the pixbuf back into a texture to
--   draw it on screen.

-- | Deprecated: (Since version 4.12)Use Texture and subclasses
--   insteadcairo surfaces and pixbufs
pixbufGetFromTexture :: (HasCallStack, MonadIO m, IsTexture a) => a -> m (Maybe Pixbuf)

-- | Sets a list of backends that GDK should try to use.
--   
--   This can be useful if your application does not work with certain GDK
--   backends.
--   
--   By default, GDK tries all included backends.
--   
--   For example:
--   
--   
c code
--   
--   
--   gdk_set_allowed_backends ("wayland,macos,*");
--   
--   
--   instructs GDK to try the Wayland backend first, followed by the MacOs
--   backend, and then all others.
--   
--   If the GDK_BACKEND environment variable is set, it determines
--   what backends are tried in what order, while still respecting the set
--   of allowed backends that are specified by this function.
--   
--   The possible backend names are:
--   
--   
--   
- 
broadway

--   
- 
macos

--   
- wayland.
--   
- 
win32

--   
- 
x11

--   
--   
--   You can also include a * in the list to try all remaining
--   backends.
--   
--   This call must happen prior to functions that open a display, such as
--   displayOpen, gtk_init(), or gtk_init_check()
--   in order to take effect.
setAllowedBackends :: (HasCallStack, MonadIO m) => Text -> m ()

-- | Converts from a Unicode character to a key symbol.
unicodeToKeyval :: (HasCallStack, MonadIO m) => Word32 -> m Word32

-- | Contains information that is necessary to present a sovereign window
--   on screen.
--   
--   The GdkToplevelLayout struct is necessary for using
--   toplevelPresent.
--   
--   Toplevel surfaces are sovereign windows that can be presented to the
--   user in various states (maximized, on all workspaces, etc).
module GI.Gdk.Structs.ToplevelLayout

-- | Memory-managed wrapper type.
newtype ToplevelLayout
ToplevelLayout :: ManagedPtr ToplevelLayout -> ToplevelLayout

-- | Create a new GdkToplevelLayout and copy the contents of
--   layout into it.
toplevelLayoutCopy :: (HasCallStack, MonadIO m) => ToplevelLayout -> m ToplevelLayout

-- | Check whether layout and other has
--   identical layout properties.
toplevelLayoutEqual :: (HasCallStack, MonadIO m) => ToplevelLayout -> ToplevelLayout -> m Bool

-- | If the layout specifies whether to the toplevel should go fullscreen,
--   the value pointed to by fullscreen is set to true if
--   it should go fullscreen, or false, if it should go unfullscreen.
toplevelLayoutGetFullscreen :: (HasCallStack, MonadIO m) => ToplevelLayout -> m (Bool, Bool)

-- | Returns the monitor that the layout is fullscreening the surface on.
toplevelLayoutGetFullscreenMonitor :: (HasCallStack, MonadIO m) => ToplevelLayout -> m (Maybe Monitor)

-- | If the layout specifies whether to the toplevel should go maximized,
--   the value pointed to by maximized is set to true if it
--   should go maximized, or false, if it should go unmaximized.
toplevelLayoutGetMaximized :: (HasCallStack, MonadIO m) => ToplevelLayout -> m (Bool, Bool)

-- | Returns whether the layout should allow the user to resize the
--   surface.
toplevelLayoutGetResizable :: (HasCallStack, MonadIO m) => ToplevelLayout -> m Bool

-- | Create a toplevel layout description.
--   
--   Used together with toplevelPresent to describe how a toplevel
--   surface should be placed and behave on-screen.
--   
--   The size is in ”application pixels”, not ”device pixels” (see
--   surfaceGetScale).
toplevelLayoutNew :: (HasCallStack, MonadIO m) => m ToplevelLayout

-- | Increases the reference count of layout.
toplevelLayoutRef :: (HasCallStack, MonadIO m) => ToplevelLayout -> m ToplevelLayout

-- | Sets whether the layout should cause the surface to be fullscreen when
--   presented.
toplevelLayoutSetFullscreen :: (HasCallStack, MonadIO m, IsMonitor a) => ToplevelLayout -> Bool -> Maybe a -> m ()

-- | Sets whether the layout should cause the surface to be maximized when
--   presented.
toplevelLayoutSetMaximized :: (HasCallStack, MonadIO m) => ToplevelLayout -> Bool -> m ()

-- | Sets whether the layout should allow the user to resize the surface
--   after it has been presented.
toplevelLayoutSetResizable :: (HasCallStack, MonadIO m) => ToplevelLayout -> Bool -> m ()

-- | Decreases the reference count of layout.
toplevelLayoutUnref :: (HasCallStack, MonadIO m) => ToplevelLayout -> m ()
instance GHC.Classes.Eq GI.Gdk.Structs.ToplevelLayout.ToplevelLayout
instance Data.GI.Base.BasicTypes.GBoxed GI.Gdk.Structs.ToplevelLayout.ToplevelLayout
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Structs.ToplevelLayout.ToplevelLayout
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Structs.ToplevelLayout.ToplevelLayout)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.ToplevelLayout.ToplevelLayout
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Structs.ToplevelLayout.ToplevelLayout

-- | Contains information that is useful to compute the size of a toplevel.
module GI.Gdk.Structs.ToplevelSize

-- | Memory-managed wrapper type.
newtype ToplevelSize
ToplevelSize :: ManagedPtr ToplevelSize -> ToplevelSize

-- | Retrieves the bounds the toplevel is placed within.
--   
--   The bounds represent the largest size a toplevel may have while still
--   being able to fit within some type of boundary. Depending on the
--   backend, this may be equivalent to the dimensions of the work area or
--   the monitor on which the window is being presented on, or something
--   else that limits the way a toplevel can be presented.
toplevelSizeGetBounds :: (HasCallStack, MonadIO m) => ToplevelSize -> m (Int32, Int32)

-- | Sets the minimum size of the toplevel.
--   
--   The minimum size corresponds to the limitations the toplevel can be
--   shrunk to, without resulting in incorrect painting. A user of a
--   GdkToplevel should calculate these given both the existing
--   size, and the bounds retrieved from the GdkToplevelSize
--   object.
--   
--   The minimum size should be within the bounds (see
--   toplevelSizeGetBounds).
toplevelSizeSetMinSize :: (HasCallStack, MonadIO m) => ToplevelSize -> Int32 -> Int32 -> m ()

-- | Sets the shadows size of the toplevel.
--   
--   The shadow width corresponds to the part of the computed surface size
--   that would consist of the shadow margin surrounding the window, would
--   there be any.
--   
--   Shadow width should only be set if
--   Gtk.Display.supports_shadow_width() is True.
toplevelSizeSetShadowWidth :: (HasCallStack, MonadIO m) => ToplevelSize -> Int32 -> Int32 -> Int32 -> Int32 -> m ()

-- | Sets the size the toplevel prefers to be resized to.
--   
--   The size should be within the bounds (see
--   toplevelSizeGetBounds). The set size should be considered as a
--   hint, and should not be assumed to be respected by the windowing
--   system, or backend.
toplevelSizeSetSize :: (HasCallStack, MonadIO m) => ToplevelSize -> Int32 -> Int32 -> m ()
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Gdk.Structs.ToplevelSize.ToplevelSize
instance GHC.Classes.Eq GI.Gdk.Structs.ToplevelSize.ToplevelSize
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Structs.ToplevelSize.ToplevelSize

module GI.Gdk.Structs

-- | A freestanding toplevel surface.
--   
--   The GdkToplevel interface provides useful APIs for
--   interacting with the windowing system, such as controlling
--   maximization and size of the surface, setting icons and transient
--   parents for dialogs.
module GI.Gdk.Interfaces.Toplevel

-- | Memory-managed wrapper type.
newtype Toplevel
Toplevel :: ManagedPtr Toplevel -> Toplevel

-- | Type class for types which can be safely cast to Toplevel, for
--   instance with toToplevel.
class (GObject o, IsDescendantOf Toplevel o) => IsToplevel o

-- | Cast to Toplevel, for types for which this is known to be safe.
--   For general casts, use castTo.
toToplevel :: (MonadIO m, IsToplevel o) => o -> m Toplevel

-- | Begins an interactive move operation.
--   
--   You might use this function to implement draggable titlebars.
toplevelBeginMove :: (HasCallStack, MonadIO m, IsToplevel a, IsDevice b) => a -> b -> Int32 -> Double -> Double -> Word32 -> m ()

-- | Begins an interactive resize operation.
--   
--   You might use this function to implement a “window resize grip.”
toplevelBeginResize :: (HasCallStack, MonadIO m, IsToplevel a, IsDevice b) => a -> SurfaceEdge -> Maybe b -> Int32 -> Double -> Double -> Word32 -> m ()

-- | Sets keyboard focus to surface.
--   
--   In most cases, gtk_window_present_with_time() should be used on
--   a GtkWindow, rather than calling this function.
toplevelFocus :: (HasCallStack, MonadIO m, IsToplevel a) => a -> Word32 -> m ()

-- | The capabilities that are available for this toplevel.
--   
--   Since: 4.20
toplevelGetCapabilities :: (HasCallStack, MonadIO m, IsToplevel a) => a -> m [ToplevelCapabilities]

-- | Returns the gravity that is used when changing the toplevel size
--   programmatically.
--   
--   Since: 4.20
toplevelGetGravity :: (HasCallStack, MonadIO m, IsToplevel a) => a -> m Gravity

-- | Gets the bitwise or of the currently active surface state flags, from
--   the GdkToplevelState enumeration.
toplevelGetState :: (HasCallStack, MonadIO m, IsToplevel a) => a -> m [ToplevelState]

-- | Requests that the toplevel inhibit the system
--   shortcuts.
--   
--   This is asking the desktop environment/windowing system to let all
--   keyboard events reach the surface, as long as it is focused, instead
--   of triggering system actions.
--   
--   If granted, the rerouting remains active until the default shortcuts
--   processing is restored with toplevelRestoreSystemShortcuts, or
--   the request is revoked by the desktop environment, windowing system or
--   the user.
--   
--   A typical use case for this API is remote desktop or virtual machine
--   viewers which need to inhibit the default system keyboard shortcuts so
--   that the remote session or virtual host gets those instead of the
--   local environment.
--   
--   The windowing system or desktop environment may ask the user to grant
--   or deny the request or even choose to ignore the request entirely.
--   
--   The caller can be notified whenever the request is granted or revoked
--   by listening to the Toplevel:shortcutsInhibited property.
toplevelInhibitSystemShortcuts :: (HasCallStack, MonadIO m, IsToplevel a, IsEvent b) => a -> Maybe b -> m ()

-- | Asks to lower the toplevel below other windows.
--   
--   The windowing system may choose to ignore the request.
toplevelLower :: (HasCallStack, MonadIO m, IsToplevel a) => a -> m Bool

-- | Asks to minimize the toplevel.
--   
--   The windowing system may choose to ignore the request.
toplevelMinimize :: (HasCallStack, MonadIO m, IsToplevel a) => a -> m Bool

-- | Present toplevel after having processed the
--   GdkToplevelLayout rules.
--   
--   If the toplevel was previously not showing, it will be showed,
--   otherwise it will change layout according to layout.
--   
--   GDK may emit the Toplevel::computeSize signal to let the user
--   of this toplevel compute the preferred size of the toplevel surface.
--   
--   Presenting is asynchronous and the specified layout parameters are not
--   guaranteed to be respected.
toplevelPresent :: (HasCallStack, MonadIO m, IsToplevel a) => a -> ToplevelLayout -> m ()

-- | Restore default system keyboard shortcuts which were previously
--   inhibited.
--   
--   This undoes the effect of toplevelInhibitSystemShortcuts.
toplevelRestoreSystemShortcuts :: (HasCallStack, MonadIO m, IsToplevel a) => a -> m ()

-- | Sets the toplevel to be decorated.
--   
--   Setting decorated to False hints the desktop
--   environment that the surface has its own, client-side decorations and
--   does not need to have window decorations added.
toplevelSetDecorated :: (HasCallStack, MonadIO m, IsToplevel a) => a -> Bool -> m ()

-- | Sets the toplevel to be deletable.
--   
--   Setting deletable to True hints the desktop
--   environment that it should offer the user a way to close the surface.
toplevelSetDeletable :: (HasCallStack, MonadIO m, IsToplevel a) => a -> Bool -> m ()

-- | Sets the gravity that is used when changing the toplevel size
--   programmatically.
--   
--   Since: 4.20
toplevelSetGravity :: (HasCallStack, MonadIO m, IsToplevel a) => a -> Gravity -> m ()

-- | Sets a list of icons for the surface.
--   
--   One of these will be used to represent the surface in iconic form. The
--   icon may be shown in window lists or task bars. Which icon size is
--   shown depends on the window manager. The window manager can scale the
--   icon but setting several size icons can give better image quality.
--   
--   Note that some platforms don't support surface icons.
toplevelSetIconList :: (HasCallStack, MonadIO m, IsToplevel a, IsTexture b) => a -> [b] -> m ()

-- | Sets the toplevel to be modal.
--   
--   The application can use this hint to tell the window manager that a
--   certain surface has modal behaviour. The window manager can use this
--   information to handle modal surfaces in a special way.
--   
--   You should only use this on surfaces for which you have previously
--   called toplevelSetTransientFor.
toplevelSetModal :: (HasCallStack, MonadIO m, IsToplevel a) => a -> Bool -> m ()

-- | Sets the startup notification ID.
--   
--   When using GTK, typically you should use
--   gtk_window_set_startup_id() instead of this low-level function.
toplevelSetStartupId :: (HasCallStack, MonadIO m, IsToplevel a) => a -> Text -> m ()

-- | Sets the title of a toplevel surface.
--   
--   The title maybe be displayed in the titlebar, in lists of windows,
--   etc.
toplevelSetTitle :: (HasCallStack, MonadIO m, IsToplevel a) => a -> Text -> m ()

-- | Sets a transient-for parent.
--   
--   Indicates to the window manager that surface is a
--   transient dialog associated with the application surface
--   parent. This allows the window manager to do things
--   like center surface on parent and keep
--   surface above parent.
--   
--   See gtk_window_set_transient_for() if you’re using
--   GtkWindow.
toplevelSetTransientFor :: (HasCallStack, MonadIO m, IsToplevel a, IsSurface b) => a -> b -> m ()

-- | Asks the windowing system to show the window menu.
--   
--   The window menu is the menu shown when right-clicking the titlebar on
--   traditional windows managed by the window manager. This is useful for
--   windows using client-side decorations, activating it with a
--   right-click on the window decorations.
toplevelShowWindowMenu :: (HasCallStack, MonadIO m, IsToplevel a, IsEvent b) => a -> b -> m Bool

-- | Returns whether the desktop environment supports tiled window states.
toplevelSupportsEdgeConstraints :: (HasCallStack, MonadIO m, IsToplevel a) => a -> m Bool

-- | Performs a title bar gesture.
--   
--   Since: 4.4
toplevelTitlebarGesture :: (HasCallStack, MonadIO m, IsToplevel a) => a -> TitlebarGesture -> m Bool

-- | Get the value of the “capabilities” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get toplevel #capabilities
--   
getToplevelCapabilities :: (MonadIO m, IsToplevel o) => o -> m [ToplevelCapabilities]

-- | Construct a GValueConstruct with valid value for the
--   “decorated” property. This is rarely needed directly, but it
--   is used by new.
constructToplevelDecorated :: (IsToplevel o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “decorated” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get toplevel #decorated
--   
getToplevelDecorated :: (MonadIO m, IsToplevel o) => o -> m Bool

-- | Set the value of the “decorated” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set toplevel [ #decorated := value ]
--   
setToplevelDecorated :: (MonadIO m, IsToplevel o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “deletable” property. This is rarely needed directly, but it
--   is used by new.
constructToplevelDeletable :: (IsToplevel o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “deletable” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get toplevel #deletable
--   
getToplevelDeletable :: (MonadIO m, IsToplevel o) => o -> m Bool

-- | Set the value of the “deletable” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set toplevel [ #deletable := value ]
--   
setToplevelDeletable :: (MonadIO m, IsToplevel o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “fullscreen-mode” property. This is rarely needed directly,
--   but it is used by new.
constructToplevelFullscreenMode :: (IsToplevel o, MonadIO m) => FullscreenMode -> m (GValueConstruct o)

-- | Get the value of the “fullscreen-mode” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get toplevel #fullscreenMode
--   
getToplevelFullscreenMode :: (MonadIO m, IsToplevel o) => o -> m FullscreenMode

-- | Set the value of the “fullscreen-mode” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set toplevel [ #fullscreenMode := value ]
--   
setToplevelFullscreenMode :: (MonadIO m, IsToplevel o) => o -> FullscreenMode -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “gravity” property. This is rarely needed directly, but it is
--   used by new.
constructToplevelGravity :: (IsToplevel o, MonadIO m) => Gravity -> m (GValueConstruct o)

-- | Get the value of the “gravity” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get toplevel #gravity
--   
getToplevelGravity :: (MonadIO m, IsToplevel o) => o -> m Gravity

-- | Set the value of the “gravity” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set toplevel [ #gravity := value ]
--   
setToplevelGravity :: (MonadIO m, IsToplevel o) => o -> Gravity -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “icon-list” property. This is rarely needed directly, but it
--   is used by new.
constructToplevelIconList :: (IsToplevel o, MonadIO m) => Ptr () -> m (GValueConstruct o)

-- | Get the value of the “icon-list” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get toplevel #iconList
--   
getToplevelIconList :: (MonadIO m, IsToplevel o) => o -> m (Ptr ())

-- | Set the value of the “icon-list” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set toplevel [ #iconList := value ]
--   
setToplevelIconList :: (MonadIO m, IsToplevel o) => o -> Ptr () -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “modal” property. This is rarely needed directly, but it is
--   used by new.
constructToplevelModal :: (IsToplevel o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “modal” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get toplevel #modal
--   
getToplevelModal :: (MonadIO m, IsToplevel o) => o -> m Bool

-- | Set the value of the “modal” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set toplevel [ #modal := value ]
--   
setToplevelModal :: (MonadIO m, IsToplevel o) => o -> Bool -> m ()

-- | Get the value of the “shortcuts-inhibited” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get toplevel #shortcutsInhibited
--   
getToplevelShortcutsInhibited :: (MonadIO m, IsToplevel o) => o -> m Bool

-- | Construct a GValueConstruct with valid value for the
--   “startup-id” property. This is rarely needed directly, but it
--   is used by new.
constructToplevelStartupId :: (IsToplevel o, MonadIO m) => Text -> m (GValueConstruct o)

-- | Get the value of the “startup-id” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get toplevel #startupId
--   
getToplevelStartupId :: (MonadIO m, IsToplevel o) => o -> m (Maybe Text)

-- | Set the value of the “startup-id” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set toplevel [ #startupId := value ]
--   
setToplevelStartupId :: (MonadIO m, IsToplevel o) => o -> Text -> m ()

-- | Get the value of the “state” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get toplevel #state
--   
getToplevelState :: (MonadIO m, IsToplevel o) => o -> m [ToplevelState]

-- | Construct a GValueConstruct with valid value for the
--   “title” property. This is rarely needed directly, but it is
--   used by new.
constructToplevelTitle :: (IsToplevel o, MonadIO m) => Text -> m (GValueConstruct o)

-- | Get the value of the “title” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get toplevel #title
--   
getToplevelTitle :: (MonadIO m, IsToplevel o) => o -> m (Maybe Text)

-- | Set the value of the “title” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set toplevel [ #title := value ]
--   
setToplevelTitle :: (MonadIO m, IsToplevel o) => o -> Text -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “transient-for” property. This is rarely needed directly, but
--   it is used by new.
constructToplevelTransientFor :: (IsToplevel o, MonadIO m, IsSurface a) => a -> m (GValueConstruct o)

-- | Get the value of the “transient-for” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get toplevel #transientFor
--   
getToplevelTransientFor :: (MonadIO m, IsToplevel o) => o -> m (Maybe Surface)

-- | Set the value of the “transient-for” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set toplevel [ #transientFor := value ]
--   
setToplevelTransientFor :: (MonadIO m, IsToplevel o, IsSurface a) => o -> a -> m ()

-- | Emitted when the size for the surface needs to be computed, when it is
--   present.
--   
--   This signal will normally be emitted during or after a call to
--   toplevelPresent, depending on the configuration received by the
--   windowing system. It may also be emitted at any other point in time,
--   in response to the windowing system spontaneously changing the
--   configuration of the toplevel surface.
--   
--   It is the responsibility of the toplevel user to handle this signal
--   and compute the desired size of the toplevel, given the information
--   passed via the ToplevelSize object. Failing to do so will
--   result in an arbitrary size being used as a result.
type ToplevelComputeSizeCallback = ToplevelSize -> IO ()

-- | Connect a signal handler for the computeSize signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after toplevel #computeSize callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterToplevelComputeSize :: (IsToplevel a, MonadIO m) => a -> ((?self :: a) => ToplevelComputeSizeCallback) -> m SignalHandlerId

-- | Connect a signal handler for the computeSize signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on toplevel #computeSize callback
--   
onToplevelComputeSize :: (IsToplevel a, MonadIO m) => a -> ((?self :: a) => ToplevelComputeSizeCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Gdk.Interfaces.Toplevel.Toplevel
instance Data.GI.Base.BasicTypes.GObject GI.Gdk.Interfaces.Toplevel.Toplevel
instance Data.GI.Base.Overloading.HasParentTypes GI.Gdk.Interfaces.Toplevel.Toplevel
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.Gdk.Interfaces.Toplevel.Toplevel)
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Gdk.Interfaces.Toplevel.Toplevel o) => GI.Gdk.Interfaces.Toplevel.IsToplevel o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Gdk.Interfaces.Toplevel.Toplevel
instance Data.GI.Base.BasicTypes.TypedObject GI.Gdk.Interfaces.Toplevel.Toplevel

module GI.Gdk.Interfaces

module GI.Gdk
