gdk

package
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 13, 2024 License: MPL-2.0 Imports: 17 Imported by: 36

Documentation

Index

Constants

View Source
const ACTION_ALL = 7

ACTION_ALL defines all possible DND actions.

This can be used in gdk.Drop.Status() messages when any drop can be accepted or a more specific drop method is not yet known.

View Source
const BUTTON_MIDDLE = 2

BUTTON_MIDDLE: middle button.

View Source
const BUTTON_PRIMARY = 1

BUTTON_PRIMARY: primary button. This is typically the left mouse button, or the right button in a left-handed setup.

View Source
const BUTTON_SECONDARY = 3

BUTTON_SECONDARY: secondary button. This is typically the right mouse button, or the left button in a left-handed setup.

View Source
const CURRENT_TIME = 0

CURRENT_TIME represents the current time, and can be used anywhere a time is expected.

View Source
const EVENT_PROPAGATE = false

EVENT_PROPAGATE: use this macro as the return value for continuing the propagation of an event handler.

View Source
const EVENT_STOP = true

EVENT_STOP: use this macro as the return value for stopping the propagation of an event handler.

View Source
const KEY_0 = 48
View Source
const KEY_1 = 49
View Source
const KEY_2 = 50
View Source
const KEY_3 = 51
View Source
const KEY_3270_AltCursor = 64784
View Source
const KEY_3270_Attn = 64782
View Source
const KEY_3270_BackTab = 64773
View Source
const KEY_3270_ChangeScreen = 64793
View Source
const KEY_3270_Copy = 64789
View Source
const KEY_3270_CursorBlink = 64783
View Source
const KEY_3270_CursorSelect = 64796
View Source
const KEY_3270_DeleteWord = 64794
View Source
const KEY_3270_Duplicate = 64769
View Source
const KEY_3270_Enter = 64798
View Source
const KEY_3270_EraseEOF = 64774
View Source
const KEY_3270_EraseInput = 64775
View Source
const KEY_3270_ExSelect = 64795
View Source
const KEY_3270_FieldMark = 64770
View Source
const KEY_3270_Ident = 64787
View Source
const KEY_3270_Jump = 64786
View Source
const KEY_3270_KeyClick = 64785
View Source
const KEY_3270_Left2 = 64772
View Source
const KEY_3270_PA1 = 64778
View Source
const KEY_3270_PA2 = 64779
View Source
const KEY_3270_PA3 = 64780
View Source
const KEY_3270_Play = 64790
View Source
const KEY_3270_PrintScreen = 64797
View Source
const KEY_3270_Quit = 64777
View Source
const KEY_3270_Record = 64792
View Source
const KEY_3270_Reset = 64776
View Source
const KEY_3270_Right2 = 64771
View Source
const KEY_3270_Rule = 64788
View Source
const KEY_3270_Setup = 64791
View Source
const KEY_3270_Test = 64781
View Source
const KEY_4 = 52
View Source
const KEY_5 = 53
View Source
const KEY_6 = 54
View Source
const KEY_7 = 55
View Source
const KEY_8 = 56
View Source
const KEY_9 = 57
View Source
const KEY_A = 65
View Source
const KEY_AE = 198
View Source
const KEY_Aacute = 193
View Source
const KEY_Abelowdot = 16785056
View Source
const KEY_Abreve = 451
View Source
const KEY_Abreveacute = 16785070
View Source
const KEY_Abrevebelowdot = 16785078
View Source
const KEY_Abrevegrave = 16785072
View Source
const KEY_Abrevehook = 16785074
View Source
const KEY_Abrevetilde = 16785076
View Source
const KEY_AccessX_Enable = 65136
View Source
const KEY_AccessX_Feedback_Enable = 65137
View Source
const KEY_Acircumflex = 194
View Source
const KEY_Acircumflexacute = 16785060
View Source
const KEY_Acircumflexbelowdot = 16785068
View Source
const KEY_Acircumflexgrave = 16785062
View Source
const KEY_Acircumflexhook = 16785064
View Source
const KEY_Acircumflextilde = 16785066
View Source
const KEY_AddFavorite = 269025081
View Source
const KEY_Adiaeresis = 196
View Source
const KEY_Agrave = 192
View Source
const KEY_Ahook = 16785058
View Source
const KEY_Alt_L = 65513
View Source
const KEY_Alt_R = 65514
View Source
const KEY_Amacron = 960
View Source
const KEY_Aogonek = 417
View Source
const KEY_ApplicationLeft = 269025104
View Source
const KEY_ApplicationRight = 269025105
View Source
const KEY_Arabic_0 = 16778848
View Source
const KEY_Arabic_1 = 16778849
View Source
const KEY_Arabic_2 = 16778850
View Source
const KEY_Arabic_3 = 16778851
View Source
const KEY_Arabic_4 = 16778852
View Source
const KEY_Arabic_5 = 16778853
View Source
const KEY_Arabic_6 = 16778854
View Source
const KEY_Arabic_7 = 16778855
View Source
const KEY_Arabic_8 = 16778856
View Source
const KEY_Arabic_9 = 16778857
View Source
const KEY_Arabic_ain = 1497
View Source
const KEY_Arabic_alef = 1479
View Source
const KEY_Arabic_alefmaksura = 1513
View Source
const KEY_Arabic_beh = 1480
View Source
const KEY_Arabic_comma = 1452
View Source
const KEY_Arabic_dad = 1494
View Source
const KEY_Arabic_dal = 1487
View Source
const KEY_Arabic_damma = 1519
View Source
const KEY_Arabic_dammatan = 1516
View Source
const KEY_Arabic_ddal = 16778888
View Source
const KEY_Arabic_farsi_yeh = 16778956
View Source
const KEY_Arabic_fatha = 1518
View Source
const KEY_Arabic_fathatan = 1515
View Source
const KEY_Arabic_feh = 1505
View Source
const KEY_Arabic_fullstop = 16778964
View Source
const KEY_Arabic_gaf = 16778927
View Source
const KEY_Arabic_ghain = 1498
View Source
const KEY_Arabic_ha = 1511
View Source
const KEY_Arabic_hah = 1485
View Source
const KEY_Arabic_hamza = 1473
View Source
const KEY_Arabic_hamza_above = 16778836
View Source
const KEY_Arabic_hamza_below = 16778837
View Source
const KEY_Arabic_hamzaonalef = 1475
View Source
const KEY_Arabic_hamzaonwaw = 1476
View Source
const KEY_Arabic_hamzaonyeh = 1478
View Source
const KEY_Arabic_hamzaunderalef = 1477
View Source
const KEY_Arabic_heh = 1511
View Source
const KEY_Arabic_heh_doachashmee = 16778942
View Source
const KEY_Arabic_heh_goal = 16778945
View Source
const KEY_Arabic_jeem = 1484
View Source
const KEY_Arabic_jeh = 16778904
View Source
const KEY_Arabic_kaf = 1507
View Source
const KEY_Arabic_kasra = 1520
View Source
const KEY_Arabic_kasratan = 1517
View Source
const KEY_Arabic_keheh = 16778921
View Source
const KEY_Arabic_khah = 1486
View Source
const KEY_Arabic_lam = 1508
View Source
const KEY_Arabic_madda_above = 16778835
View Source
const KEY_Arabic_maddaonalef = 1474
View Source
const KEY_Arabic_meem = 1509
View Source
const KEY_Arabic_noon = 1510
View Source
const KEY_Arabic_noon_ghunna = 16778938
View Source
const KEY_Arabic_peh = 16778878
View Source
const KEY_Arabic_percent = 16778858
View Source
const KEY_Arabic_qaf = 1506
View Source
const KEY_Arabic_question_mark = 1471
View Source
const KEY_Arabic_ra = 1489
View Source
const KEY_Arabic_rreh = 16778897
View Source
const KEY_Arabic_sad = 1493
View Source
const KEY_Arabic_seen = 1491
View Source
const KEY_Arabic_semicolon = 1467
View Source
const KEY_Arabic_shadda = 1521
View Source
const KEY_Arabic_sheen = 1492
View Source
const KEY_Arabic_sukun = 1522
View Source
const KEY_Arabic_superscript_alef = 16778864
View Source
const KEY_Arabic_switch = 65406
View Source
const KEY_Arabic_tah = 1495
View Source
const KEY_Arabic_tatweel = 1504
View Source
const KEY_Arabic_tcheh = 16778886
View Source
const KEY_Arabic_teh = 1482
View Source
const KEY_Arabic_tehmarbuta = 1481
View Source
const KEY_Arabic_thal = 1488
View Source
const KEY_Arabic_theh = 1483
View Source
const KEY_Arabic_tteh = 16778873
View Source
const KEY_Arabic_veh = 16778916
View Source
const KEY_Arabic_waw = 1512
View Source
const KEY_Arabic_yeh = 1514
View Source
const KEY_Arabic_yeh_baree = 16778962
View Source
const KEY_Arabic_zah = 1496
View Source
const KEY_Arabic_zain = 1490
View Source
const KEY_Aring = 197
View Source
const KEY_Armenian_AT = 16778552
View Source
const KEY_Armenian_AYB = 16778545
View Source
const KEY_Armenian_BEN = 16778546
View Source
const KEY_Armenian_CHA = 16778569
View Source
const KEY_Armenian_DA = 16778548
View Source
const KEY_Armenian_DZA = 16778561
View Source
const KEY_Armenian_E = 16778551
View Source
const KEY_Armenian_FE = 16778582
View Source
const KEY_Armenian_GHAT = 16778562
View Source
const KEY_Armenian_GIM = 16778547
View Source
const KEY_Armenian_HI = 16778565
View Source
const KEY_Armenian_HO = 16778560
View Source
const KEY_Armenian_INI = 16778555
View Source
const KEY_Armenian_JE = 16778571
View Source
const KEY_Armenian_KE = 16778580
View Source
const KEY_Armenian_KEN = 16778559
View Source
const KEY_Armenian_KHE = 16778557
View Source
const KEY_Armenian_LYUN = 16778556
View Source
const KEY_Armenian_MEN = 16778564
View Source
const KEY_Armenian_NU = 16778566
View Source
const KEY_Armenian_O = 16778581
View Source
const KEY_Armenian_PE = 16778570
View Source
const KEY_Armenian_PYUR = 16778579
View Source
const KEY_Armenian_RA = 16778572
View Source
const KEY_Armenian_RE = 16778576
View Source
const KEY_Armenian_SE = 16778573
View Source
const KEY_Armenian_SHA = 16778567
View Source
const KEY_Armenian_TCHE = 16778563
View Source
const KEY_Armenian_TO = 16778553
View Source
const KEY_Armenian_TSA = 16778558
View Source
const KEY_Armenian_TSO = 16778577
View Source
const KEY_Armenian_TYUN = 16778575
View Source
const KEY_Armenian_VEV = 16778574
View Source
const KEY_Armenian_VO = 16778568
View Source
const KEY_Armenian_VYUN = 16778578
View Source
const KEY_Armenian_YECH = 16778549
View Source
const KEY_Armenian_ZA = 16778550
View Source
const KEY_Armenian_ZHE = 16778554
View Source
const KEY_Armenian_accent = 16778587
View Source
const KEY_Armenian_amanak = 16778588
View Source
const KEY_Armenian_apostrophe = 16778586
View Source
const KEY_Armenian_at = 16778600
View Source
const KEY_Armenian_ayb = 16778593
View Source
const KEY_Armenian_ben = 16778594
View Source
const KEY_Armenian_but = 16778589
View Source
const KEY_Armenian_cha = 16778617
View Source
const KEY_Armenian_da = 16778596
View Source
const KEY_Armenian_dza = 16778609
View Source
const KEY_Armenian_e = 16778599
View Source
const KEY_Armenian_exclam = 16778588
View Source
const KEY_Armenian_fe = 16778630
View Source
const KEY_Armenian_full_stop = 16778633
View Source
const KEY_Armenian_ghat = 16778610
View Source
const KEY_Armenian_gim = 16778595
View Source
const KEY_Armenian_hi = 16778613
View Source
const KEY_Armenian_ho = 16778608
View Source
const KEY_Armenian_hyphen = 16778634
View Source
const KEY_Armenian_ini = 16778603
View Source
const KEY_Armenian_je = 16778619
View Source
const KEY_Armenian_ke = 16778628
View Source
const KEY_Armenian_ken = 16778607
View Source
const KEY_Armenian_khe = 16778605
View Source
const KEY_Armenian_ligature_ew = 16778631
View Source
const KEY_Armenian_lyun = 16778604
View Source
const KEY_Armenian_men = 16778612
View Source
const KEY_Armenian_nu = 16778614
View Source
const KEY_Armenian_o = 16778629
View Source
const KEY_Armenian_paruyk = 16778590
View Source
const KEY_Armenian_pe = 16778618
View Source
const KEY_Armenian_pyur = 16778627
View Source
const KEY_Armenian_question = 16778590
View Source
const KEY_Armenian_ra = 16778620
View Source
const KEY_Armenian_re = 16778624
View Source
const KEY_Armenian_se = 16778621
View Source
const KEY_Armenian_separation_mark = 16778589
View Source
const KEY_Armenian_sha = 16778615
View Source
const KEY_Armenian_shesht = 16778587
View Source
const KEY_Armenian_tche = 16778611
View Source
const KEY_Armenian_to = 16778601
View Source
const KEY_Armenian_tsa = 16778606
View Source
const KEY_Armenian_tso = 16778625
View Source
const KEY_Armenian_tyun = 16778623
View Source
const KEY_Armenian_verjaket = 16778633
View Source
const KEY_Armenian_vev = 16778622
View Source
const KEY_Armenian_vo = 16778616
View Source
const KEY_Armenian_vyun = 16778626
View Source
const KEY_Armenian_yech = 16778597
View Source
const KEY_Armenian_yentamna = 16778634
View Source
const KEY_Armenian_za = 16778598
View Source
const KEY_Armenian_zhe = 16778602
View Source
const KEY_Atilde = 195
View Source
const KEY_AudibleBell_Enable = 65146
View Source
const KEY_AudioCycleTrack = 269025179
View Source
const KEY_AudioForward = 269025175
View Source
const KEY_AudioLowerVolume = 269025041
View Source
const KEY_AudioMedia = 269025074
View Source
const KEY_AudioMicMute = 269025202
View Source
const KEY_AudioMute = 269025042
View Source
const KEY_AudioNext = 269025047
View Source
const KEY_AudioPause = 269025073
View Source
const KEY_AudioPlay = 269025044
View Source
const KEY_AudioPreset = 269025206
View Source
const KEY_AudioPrev = 269025046
View Source
const KEY_AudioRaiseVolume = 269025043
View Source
const KEY_AudioRandomPlay = 269025177
View Source
const KEY_AudioRecord = 269025052
View Source
const KEY_AudioRepeat = 269025176
View Source
const KEY_AudioRewind = 269025086
View Source
const KEY_AudioStop = 269025045
View Source
const KEY_Away = 269025165
View Source
const KEY_B = 66
View Source
const KEY_Babovedot = 16784898
View Source
const KEY_Back = 269025062
View Source
const KEY_BackForward = 269025087
View Source
const KEY_BackSpace = 65288
View Source
const KEY_Battery = 269025171
View Source
const KEY_Begin = 65368
View Source
const KEY_Blue = 269025190
View Source
const KEY_Bluetooth = 269025172
View Source
const KEY_Book = 269025106
View Source
const KEY_BounceKeys_Enable = 65140
View Source
const KEY_Break = 65387
View Source
const KEY_BrightnessAdjust = 269025083
View Source
const KEY_Byelorussian_SHORTU = 1726
View Source
const KEY_Byelorussian_shortu = 1710
View Source
const KEY_C = 67
View Source
const KEY_CD = 269025107
View Source
const KEY_CH = 65186
View Source
const KEY_C_H = 65189
View Source
const KEY_C_h = 65188
View Source
const KEY_Cabovedot = 709
View Source
const KEY_Cacute = 454
View Source
const KEY_Calculator = 269025053
View Source
const KEY_Calendar = 269025056
View Source
const KEY_Cancel = 65385
View Source
const KEY_Caps_Lock = 65509
View Source
const KEY_Ccaron = 456
View Source
const KEY_Ccedilla = 199
View Source
const KEY_Ccircumflex = 710
View Source
const KEY_Ch = 65185
View Source
const KEY_Clear = 65291
View Source
const KEY_ClearGrab = 269024801
View Source
const KEY_Close = 269025110
View Source
const KEY_Codeinput = 65335
View Source
const KEY_ColonSign = 16785569
View Source
const KEY_Community = 269025085
View Source
const KEY_ContrastAdjust = 269025058
View Source
const KEY_Control_L = 65507
View Source
const KEY_Control_R = 65508
View Source
const KEY_Copy = 269025111
View Source
const KEY_CruzeiroSign = 16785570
View Source
const KEY_Cut = 269025112
View Source
const KEY_CycleAngle = 269025180
View Source
const KEY_Cyrillic_A = 1761
View Source
const KEY_Cyrillic_BE = 1762
View Source
const KEY_Cyrillic_CHE = 1790
View Source
const KEY_Cyrillic_CHE_descender = 16778422
View Source
const KEY_Cyrillic_CHE_vertstroke = 16778424
View Source
const KEY_Cyrillic_DE = 1764
View Source
const KEY_Cyrillic_DZHE = 1727
View Source
const KEY_Cyrillic_E = 1788
View Source
const KEY_Cyrillic_EF = 1766
View Source
const KEY_Cyrillic_EL = 1772
View Source
const KEY_Cyrillic_EM = 1773
View Source
const KEY_Cyrillic_EN = 1774
View Source
const KEY_Cyrillic_EN_descender = 16778402
View Source
const KEY_Cyrillic_ER = 1778
View Source
const KEY_Cyrillic_ES = 1779
View Source
const KEY_Cyrillic_GHE = 1767
View Source
const KEY_Cyrillic_GHE_bar = 16778386
View Source
const KEY_Cyrillic_HA = 1768
View Source
const KEY_Cyrillic_HARDSIGN = 1791
View Source
const KEY_Cyrillic_HA_descender = 16778418
View Source
const KEY_Cyrillic_I = 1769
View Source
const KEY_Cyrillic_IE = 1765
View Source
const KEY_Cyrillic_IO = 1715
View Source
const KEY_Cyrillic_I_macron = 16778466
View Source
const KEY_Cyrillic_JE = 1720
View Source
const KEY_Cyrillic_KA = 1771
View Source
const KEY_Cyrillic_KA_descender = 16778394
View Source
const KEY_Cyrillic_KA_vertstroke = 16778396
View Source
const KEY_Cyrillic_LJE = 1721
View Source
const KEY_Cyrillic_NJE = 1722
View Source
const KEY_Cyrillic_O = 1775
View Source
const KEY_Cyrillic_O_bar = 16778472
View Source
const KEY_Cyrillic_PE = 1776
View Source
const KEY_Cyrillic_SCHWA = 16778456
View Source
const KEY_Cyrillic_SHA = 1787
View Source
const KEY_Cyrillic_SHCHA = 1789
View Source
const KEY_Cyrillic_SHHA = 16778426
View Source
const KEY_Cyrillic_SHORTI = 1770
View Source
const KEY_Cyrillic_SOFTSIGN = 1784
View Source
const KEY_Cyrillic_TE = 1780
View Source
const KEY_Cyrillic_TSE = 1763
View Source
const KEY_Cyrillic_U = 1781
View Source
const KEY_Cyrillic_U_macron = 16778478
View Source
const KEY_Cyrillic_U_straight = 16778414
View Source
const KEY_Cyrillic_U_straight_bar = 16778416
View Source
const KEY_Cyrillic_VE = 1783
View Source
const KEY_Cyrillic_YA = 1777
View Source
const KEY_Cyrillic_YERU = 1785
View Source
const KEY_Cyrillic_YU = 1760
View Source
const KEY_Cyrillic_ZE = 1786
View Source
const KEY_Cyrillic_ZHE = 1782
View Source
const KEY_Cyrillic_ZHE_descender = 16778390
View Source
const KEY_Cyrillic_a = 1729
View Source
const KEY_Cyrillic_be = 1730
View Source
const KEY_Cyrillic_che = 1758
View Source
const KEY_Cyrillic_che_descender = 16778423
View Source
const KEY_Cyrillic_che_vertstroke = 16778425
View Source
const KEY_Cyrillic_de = 1732
View Source
const KEY_Cyrillic_dzhe = 1711
View Source
const KEY_Cyrillic_e = 1756
View Source
const KEY_Cyrillic_ef = 1734
View Source
const KEY_Cyrillic_el = 1740
View Source
const KEY_Cyrillic_em = 1741
View Source
const KEY_Cyrillic_en = 1742
View Source
const KEY_Cyrillic_en_descender = 16778403
View Source
const KEY_Cyrillic_er = 1746
View Source
const KEY_Cyrillic_es = 1747
View Source
const KEY_Cyrillic_ghe = 1735
View Source
const KEY_Cyrillic_ghe_bar = 16778387
View Source
const KEY_Cyrillic_ha = 1736
View Source
const KEY_Cyrillic_ha_descender = 16778419
View Source
const KEY_Cyrillic_hardsign = 1759
View Source
const KEY_Cyrillic_i = 1737
View Source
const KEY_Cyrillic_i_macron = 16778467
View Source
const KEY_Cyrillic_ie = 1733
View Source
const KEY_Cyrillic_io = 1699
View Source
const KEY_Cyrillic_je = 1704
View Source
const KEY_Cyrillic_ka = 1739
View Source
const KEY_Cyrillic_ka_descender = 16778395
View Source
const KEY_Cyrillic_ka_vertstroke = 16778397
View Source
const KEY_Cyrillic_lje = 1705
View Source
const KEY_Cyrillic_nje = 1706
View Source
const KEY_Cyrillic_o = 1743
View Source
const KEY_Cyrillic_o_bar = 16778473
View Source
const KEY_Cyrillic_pe = 1744
View Source
const KEY_Cyrillic_schwa = 16778457
View Source
const KEY_Cyrillic_sha = 1755
View Source
const KEY_Cyrillic_shcha = 1757
View Source
const KEY_Cyrillic_shha = 16778427
View Source
const KEY_Cyrillic_shorti = 1738
View Source
const KEY_Cyrillic_softsign = 1752
View Source
const KEY_Cyrillic_te = 1748
View Source
const KEY_Cyrillic_tse = 1731
View Source
const KEY_Cyrillic_u = 1749
View Source
const KEY_Cyrillic_u_macron = 16778479
View Source
const KEY_Cyrillic_u_straight = 16778415
View Source
const KEY_Cyrillic_u_straight_bar = 16778417
View Source
const KEY_Cyrillic_ve = 1751
View Source
const KEY_Cyrillic_ya = 1745
View Source
const KEY_Cyrillic_yeru = 1753
View Source
const KEY_Cyrillic_yu = 1728
View Source
const KEY_Cyrillic_ze = 1754
View Source
const KEY_Cyrillic_zhe = 1750
View Source
const KEY_Cyrillic_zhe_descender = 16778391
View Source
const KEY_D = 68
View Source
const KEY_DOS = 269025114
View Source
const KEY_Dabovedot = 16784906
View Source
const KEY_Dcaron = 463
View Source
const KEY_Delete = 65535
View Source
const KEY_Display = 269025113
View Source
const KEY_Documents = 269025115
View Source
const KEY_DongSign = 16785579
View Source
const KEY_Down = 65364
View Source
const KEY_Dstroke = 464
View Source
const KEY_E = 69
View Source
const KEY_ENG = 957
View Source
const KEY_ETH = 208
View Source
const KEY_EZH = 16777655
View Source
const KEY_Eabovedot = 972
View Source
const KEY_Eacute = 201
View Source
const KEY_Ebelowdot = 16785080
View Source
const KEY_Ecaron = 460
View Source
const KEY_Ecircumflex = 202
View Source
const KEY_Ecircumflexacute = 16785086
View Source
const KEY_Ecircumflexbelowdot = 16785094
View Source
const KEY_Ecircumflexgrave = 16785088
View Source
const KEY_Ecircumflexhook = 16785090
View Source
const KEY_Ecircumflextilde = 16785092
View Source
const KEY_EcuSign = 16785568
View Source
const KEY_Ediaeresis = 203
View Source
const KEY_Egrave = 200
View Source
const KEY_Ehook = 16785082
View Source
const KEY_Eisu_Shift = 65327
View Source
const KEY_Eisu_toggle = 65328
View Source
const KEY_Eject = 269025068
View Source
const KEY_Emacron = 938
View Source
const KEY_End = 65367
View Source
const KEY_Eogonek = 458
View Source
const KEY_Escape = 65307
View Source
const KEY_Eth = 208
View Source
const KEY_Etilde = 16785084
View Source
const KEY_EuroSign = 8364
View Source
const KEY_Excel = 269025116
View Source
const KEY_Execute = 65378
View Source
const KEY_Explorer = 269025117
View Source
const KEY_F = 70
View Source
const KEY_F1 = 65470
View Source
const KEY_F10 = 65479
View Source
const KEY_F11 = 65480
View Source
const KEY_F12 = 65481
View Source
const KEY_F13 = 65482
View Source
const KEY_F14 = 65483
View Source
const KEY_F15 = 65484
View Source
const KEY_F16 = 65485
View Source
const KEY_F17 = 65486
View Source
const KEY_F18 = 65487
View Source
const KEY_F19 = 65488
View Source
const KEY_F2 = 65471
View Source
const KEY_F20 = 65489
View Source
const KEY_F21 = 65490
View Source
const KEY_F22 = 65491
View Source
const KEY_F23 = 65492
View Source
const KEY_F24 = 65493
View Source
const KEY_F25 = 65494
View Source
const KEY_F26 = 65495
View Source
const KEY_F27 = 65496
View Source
const KEY_F28 = 65497
View Source
const KEY_F29 = 65498
View Source
const KEY_F3 = 65472
View Source
const KEY_F30 = 65499
View Source
const KEY_F31 = 65500
View Source
const KEY_F32 = 65501
View Source
const KEY_F33 = 65502
View Source
const KEY_F34 = 65503
View Source
const KEY_F35 = 65504
View Source
const KEY_F4 = 65473
View Source
const KEY_F5 = 65474
View Source
const KEY_F6 = 65475
View Source
const KEY_F7 = 65476
View Source
const KEY_F8 = 65477
View Source
const KEY_F9 = 65478
View Source
const KEY_FFrancSign = 16785571
View Source
const KEY_Fabovedot = 16784926
View Source
const KEY_Farsi_0 = 16778992
View Source
const KEY_Farsi_1 = 16778993
View Source
const KEY_Farsi_2 = 16778994
View Source
const KEY_Farsi_3 = 16778995
View Source
const KEY_Farsi_4 = 16778996
View Source
const KEY_Farsi_5 = 16778997
View Source
const KEY_Farsi_6 = 16778998
View Source
const KEY_Farsi_7 = 16778999
View Source
const KEY_Farsi_8 = 16779000
View Source
const KEY_Farsi_9 = 16779001
View Source
const KEY_Farsi_yeh = 16778956
View Source
const KEY_Favorites = 269025072
View Source
const KEY_Finance = 269025084
View Source
const KEY_Find = 65384
View Source
const KEY_First_Virtual_Screen = 65232
View Source
const KEY_Forward = 269025063
View Source
const KEY_FrameBack = 269025181
View Source
const KEY_FrameForward = 269025182
View Source
const KEY_G = 71
View Source
const KEY_Gabovedot = 725
View Source
const KEY_Game = 269025118
View Source
const KEY_Gbreve = 683
View Source
const KEY_Gcaron = 16777702
View Source
const KEY_Gcedilla = 939
View Source
const KEY_Gcircumflex = 728
View Source
const KEY_Georgian_an = 16781520
View Source
const KEY_Georgian_ban = 16781521
View Source
const KEY_Georgian_can = 16781546
View Source
const KEY_Georgian_char = 16781549
View Source
const KEY_Georgian_chin = 16781545
View Source
const KEY_Georgian_cil = 16781548
View Source
const KEY_Georgian_don = 16781523
View Source
const KEY_Georgian_en = 16781524
View Source
const KEY_Georgian_fi = 16781558
View Source
const KEY_Georgian_gan = 16781522
View Source
const KEY_Georgian_ghan = 16781542
View Source
const KEY_Georgian_hae = 16781552
View Source
const KEY_Georgian_har = 16781556
View Source
const KEY_Georgian_he = 16781553
View Source
const KEY_Georgian_hie = 16781554
View Source
const KEY_Georgian_hoe = 16781557
View Source
const KEY_Georgian_in = 16781528
View Source
const KEY_Georgian_jhan = 16781551
View Source
const KEY_Georgian_jil = 16781547
View Source
const KEY_Georgian_kan = 16781529
View Source
const KEY_Georgian_khar = 16781541
View Source
const KEY_Georgian_las = 16781530
View Source
const KEY_Georgian_man = 16781531
View Source
const KEY_Georgian_nar = 16781532
View Source
const KEY_Georgian_on = 16781533
View Source
const KEY_Georgian_par = 16781534
View Source
const KEY_Georgian_phar = 16781540
View Source
const KEY_Georgian_qar = 16781543
View Source
const KEY_Georgian_rae = 16781536
View Source
const KEY_Georgian_san = 16781537
View Source
const KEY_Georgian_shin = 16781544
View Source
const KEY_Georgian_tan = 16781527
View Source
const KEY_Georgian_tar = 16781538
View Source
const KEY_Georgian_un = 16781539
View Source
const KEY_Georgian_vin = 16781525
View Source
const KEY_Georgian_we = 16781555
View Source
const KEY_Georgian_xan = 16781550
View Source
const KEY_Georgian_zen = 16781526
View Source
const KEY_Georgian_zhar = 16781535
View Source
const KEY_Go = 269025119
View Source
const KEY_Greek_ALPHA = 1985
View Source
const KEY_Greek_ALPHAaccent = 1953
View Source
const KEY_Greek_BETA = 1986
View Source
const KEY_Greek_CHI = 2007
View Source
const KEY_Greek_DELTA = 1988
View Source
const KEY_Greek_EPSILON = 1989
View Source
const KEY_Greek_EPSILONaccent = 1954
View Source
const KEY_Greek_ETA = 1991
View Source
const KEY_Greek_ETAaccent = 1955
View Source
const KEY_Greek_GAMMA = 1987
View Source
const KEY_Greek_IOTA = 1993
View Source
const KEY_Greek_IOTAaccent = 1956
View Source
const KEY_Greek_IOTAdiaeresis = 1957
View Source
const KEY_Greek_IOTAdieresis = 1957
View Source
const KEY_Greek_KAPPA = 1994
View Source
const KEY_Greek_LAMBDA = 1995
View Source
const KEY_Greek_LAMDA = 1995
View Source
const KEY_Greek_MU = 1996
View Source
const KEY_Greek_NU = 1997
View Source
const KEY_Greek_OMEGA = 2009
View Source
const KEY_Greek_OMEGAaccent = 1963
View Source
const KEY_Greek_OMICRON = 1999
View Source
const KEY_Greek_OMICRONaccent = 1959
View Source
const KEY_Greek_PHI = 2006
View Source
const KEY_Greek_PI = 2000
View Source
const KEY_Greek_PSI = 2008
View Source
const KEY_Greek_RHO = 2001
View Source
const KEY_Greek_SIGMA = 2002
View Source
const KEY_Greek_TAU = 2004
View Source
const KEY_Greek_THETA = 1992
View Source
const KEY_Greek_UPSILON = 2005
View Source
const KEY_Greek_UPSILONaccent = 1960
View Source
const KEY_Greek_UPSILONdieresis = 1961
View Source
const KEY_Greek_XI = 1998
View Source
const KEY_Greek_ZETA = 1990
View Source
const KEY_Greek_accentdieresis = 1966
View Source
const KEY_Greek_alpha = 2017
View Source
const KEY_Greek_alphaaccent = 1969
View Source
const KEY_Greek_beta = 2018
View Source
const KEY_Greek_chi = 2039
View Source
const KEY_Greek_delta = 2020
View Source
const KEY_Greek_epsilon = 2021
View Source
const KEY_Greek_epsilonaccent = 1970
View Source
const KEY_Greek_eta = 2023
View Source
const KEY_Greek_etaaccent = 1971
View Source
const KEY_Greek_finalsmallsigma = 2035
View Source
const KEY_Greek_gamma = 2019
View Source
const KEY_Greek_horizbar = 1967
View Source
const KEY_Greek_iota = 2025
View Source
const KEY_Greek_iotaaccent = 1972
View Source
const KEY_Greek_iotaaccentdieresis = 1974
View Source
const KEY_Greek_iotadieresis = 1973
View Source
const KEY_Greek_kappa = 2026
View Source
const KEY_Greek_lambda = 2027
View Source
const KEY_Greek_lamda = 2027
View Source
const KEY_Greek_mu = 2028
View Source
const KEY_Greek_nu = 2029
View Source
const KEY_Greek_omega = 2041
View Source
const KEY_Greek_omegaaccent = 1979
View Source
const KEY_Greek_omicron = 2031
View Source
const KEY_Greek_omicronaccent = 1975
View Source
const KEY_Greek_phi = 2038
View Source
const KEY_Greek_pi = 2032
View Source
const KEY_Greek_psi = 2040
View Source
const KEY_Greek_rho = 2033
View Source
const KEY_Greek_sigma = 2034
View Source
const KEY_Greek_switch = 65406
View Source
const KEY_Greek_tau = 2036
View Source
const KEY_Greek_theta = 2024
View Source
const KEY_Greek_upsilon = 2037
View Source
const KEY_Greek_upsilonaccent = 1976
View Source
const KEY_Greek_upsilonaccentdieresis = 1978
View Source
const KEY_Greek_upsilondieresis = 1977
View Source
const KEY_Greek_xi = 2030
View Source
const KEY_Greek_zeta = 2022
View Source
const KEY_Green = 269025188
View Source
const KEY_H = 72
View Source
const KEY_Hangul = 65329
View Source
const KEY_Hangul_A = 3775
View Source
const KEY_Hangul_AE = 3776
View Source
const KEY_Hangul_AraeA = 3830
View Source
const KEY_Hangul_AraeAE = 3831
View Source
const KEY_Hangul_Banja = 65337
View Source
const KEY_Hangul_Cieuc = 3770
View Source
const KEY_Hangul_Codeinput = 65335
View Source
const KEY_Hangul_Dikeud = 3751
View Source
const KEY_Hangul_E = 3780
View Source
const KEY_Hangul_EO = 3779
View Source
const KEY_Hangul_EU = 3793
View Source
const KEY_Hangul_End = 65331
View Source
const KEY_Hangul_Hanja = 65332
View Source
const KEY_Hangul_Hieuh = 3774
View Source
const KEY_Hangul_I = 3795
View Source
const KEY_Hangul_Ieung = 3767
View Source
const KEY_Hangul_J_Cieuc = 3818
View Source
const KEY_Hangul_J_Dikeud = 3802
View Source
const KEY_Hangul_J_Hieuh = 3822
View Source
const KEY_Hangul_J_Ieung = 3816
View Source
const KEY_Hangul_J_Jieuj = 3817
View Source
const KEY_Hangul_J_Khieuq = 3819
View Source
const KEY_Hangul_J_Kiyeog = 3796
View Source
const KEY_Hangul_J_KiyeogSios = 3798
View Source
const KEY_Hangul_J_KkogjiDalrinIeung = 3833
View Source
const KEY_Hangul_J_Mieum = 3811
View Source
const KEY_Hangul_J_Nieun = 3799
View Source
const KEY_Hangul_J_NieunHieuh = 3801
View Source
const KEY_Hangul_J_NieunJieuj = 3800
View Source
const KEY_Hangul_J_PanSios = 3832
View Source
const KEY_Hangul_J_Phieuf = 3821
View Source
const KEY_Hangul_J_Pieub = 3812
View Source
const KEY_Hangul_J_PieubSios = 3813
View Source
const KEY_Hangul_J_Rieul = 3803
View Source
const KEY_Hangul_J_RieulHieuh = 3810
View Source
const KEY_Hangul_J_RieulKiyeog = 3804
View Source
const KEY_Hangul_J_RieulMieum = 3805
View Source
const KEY_Hangul_J_RieulPhieuf = 3809
View Source
const KEY_Hangul_J_RieulPieub = 3806
View Source
const KEY_Hangul_J_RieulSios = 3807
View Source
const KEY_Hangul_J_RieulTieut = 3808
View Source
const KEY_Hangul_J_Sios = 3814
View Source
const KEY_Hangul_J_SsangKiyeog = 3797
View Source
const KEY_Hangul_J_SsangSios = 3815
View Source
const KEY_Hangul_J_Tieut = 3820
View Source
const KEY_Hangul_J_YeorinHieuh = 3834
View Source
const KEY_Hangul_Jamo = 65333
View Source
const KEY_Hangul_Jeonja = 65336
View Source
const KEY_Hangul_Jieuj = 3768
View Source
const KEY_Hangul_Khieuq = 3771
View Source
const KEY_Hangul_Kiyeog = 3745
View Source
const KEY_Hangul_KiyeogSios = 3747
View Source
const KEY_Hangul_KkogjiDalrinIeung = 3827
View Source
const KEY_Hangul_Mieum = 3761
View Source
const KEY_Hangul_MultipleCandidate = 65341
View Source
const KEY_Hangul_Nieun = 3748
View Source
const KEY_Hangul_NieunHieuh = 3750
View Source
const KEY_Hangul_NieunJieuj = 3749
View Source
const KEY_Hangul_O = 3783
View Source
const KEY_Hangul_OE = 3786
View Source
const KEY_Hangul_PanSios = 3826
View Source
const KEY_Hangul_Phieuf = 3773
View Source
const KEY_Hangul_Pieub = 3762
View Source
const KEY_Hangul_PieubSios = 3764
View Source
const KEY_Hangul_PostHanja = 65339
View Source
const KEY_Hangul_PreHanja = 65338
View Source
const KEY_Hangul_PreviousCandidate = 65342
View Source
const KEY_Hangul_Rieul = 3753
View Source
const KEY_Hangul_RieulHieuh = 3760
View Source
const KEY_Hangul_RieulKiyeog = 3754
View Source
const KEY_Hangul_RieulMieum = 3755
View Source
const KEY_Hangul_RieulPhieuf = 3759
View Source
const KEY_Hangul_RieulPieub = 3756
View Source
const KEY_Hangul_RieulSios = 3757
View Source
const KEY_Hangul_RieulTieut = 3758
View Source
const KEY_Hangul_RieulYeorinHieuh = 3823
View Source
const KEY_Hangul_Romaja = 65334
View Source
const KEY_Hangul_SingleCandidate = 65340
View Source
const KEY_Hangul_Sios = 3765
View Source
const KEY_Hangul_Special = 65343
View Source
const KEY_Hangul_SsangDikeud = 3752
View Source
const KEY_Hangul_SsangJieuj = 3769
View Source
const KEY_Hangul_SsangKiyeog = 3746
View Source
const KEY_Hangul_SsangPieub = 3763
View Source
const KEY_Hangul_SsangSios = 3766
View Source
const KEY_Hangul_Start = 65330
View Source
const KEY_Hangul_SunkyeongeumMieum = 3824
View Source
const KEY_Hangul_SunkyeongeumPhieuf = 3828
View Source
const KEY_Hangul_SunkyeongeumPieub = 3825
View Source
const KEY_Hangul_Tieut = 3772
View Source
const KEY_Hangul_U = 3788
View Source
const KEY_Hangul_WA = 3784
View Source
const KEY_Hangul_WAE = 3785
View Source
const KEY_Hangul_WE = 3790
View Source
const KEY_Hangul_WEO = 3789
View Source
const KEY_Hangul_WI = 3791
View Source
const KEY_Hangul_YA = 3777
View Source
const KEY_Hangul_YAE = 3778
View Source
const KEY_Hangul_YE = 3782
View Source
const KEY_Hangul_YEO = 3781
View Source
const KEY_Hangul_YI = 3794
View Source
const KEY_Hangul_YO = 3787
View Source
const KEY_Hangul_YU = 3792
View Source
const KEY_Hangul_YeorinHieuh = 3829
View Source
const KEY_Hangul_switch = 65406
View Source
const KEY_Hankaku = 65321
View Source
const KEY_Hcircumflex = 678
View Source
const KEY_Hebrew_switch = 65406
View Source
const KEY_Help = 65386
View Source
const KEY_Henkan = 65315
View Source
const KEY_Henkan_Mode = 65315
View Source
const KEY_Hibernate = 269025192
View Source
const KEY_Hiragana = 65317
View Source
const KEY_Hiragana_Katakana = 65319
View Source
const KEY_History = 269025079
View Source
const KEY_Home = 65360
View Source
const KEY_HomePage = 269025048
View Source
const KEY_HotLinks = 269025082
View Source
const KEY_Hstroke = 673
View Source
const KEY_Hyper_L = 65517
View Source
const KEY_Hyper_R = 65518
View Source
const KEY_I = 73
View Source
const KEY_ISO_Center_Object = 65075
View Source
const KEY_ISO_Continuous_Underline = 65072
View Source
const KEY_ISO_Discontinuous_Underline = 65073
View Source
const KEY_ISO_Emphasize = 65074
View Source
const KEY_ISO_Enter = 65076
View Source
const KEY_ISO_Fast_Cursor_Down = 65071
View Source
const KEY_ISO_Fast_Cursor_Left = 65068
View Source
const KEY_ISO_Fast_Cursor_Right = 65069
View Source
const KEY_ISO_Fast_Cursor_Up = 65070
View Source
const KEY_ISO_First_Group = 65036
View Source
const KEY_ISO_First_Group_Lock = 65037
View Source
const KEY_ISO_Group_Latch = 65030
View Source
const KEY_ISO_Group_Lock = 65031
View Source
const KEY_ISO_Group_Shift = 65406
View Source
const KEY_ISO_Last_Group = 65038
View Source
const KEY_ISO_Last_Group_Lock = 65039
View Source
const KEY_ISO_Left_Tab = 65056
View Source
const KEY_ISO_Level2_Latch = 65026
View Source
const KEY_ISO_Level3_Latch = 65028
View Source
const KEY_ISO_Level3_Lock = 65029
View Source
const KEY_ISO_Level3_Shift = 65027
View Source
const KEY_ISO_Level5_Latch = 65042
View Source
const KEY_ISO_Level5_Lock = 65043
View Source
const KEY_ISO_Level5_Shift = 65041
View Source
const KEY_ISO_Lock = 65025
View Source
const KEY_ISO_Move_Line_Down = 65058
View Source
const KEY_ISO_Move_Line_Up = 65057
View Source
const KEY_ISO_Next_Group = 65032
View Source
const KEY_ISO_Next_Group_Lock = 65033
View Source
const KEY_ISO_Partial_Line_Down = 65060
View Source
const KEY_ISO_Partial_Line_Up = 65059
View Source
const KEY_ISO_Partial_Space_Left = 65061
View Source
const KEY_ISO_Partial_Space_Right = 65062
View Source
const KEY_ISO_Prev_Group = 65034
View Source
const KEY_ISO_Prev_Group_Lock = 65035
View Source
const KEY_ISO_Release_Both_Margins = 65067
View Source
const KEY_ISO_Release_Margin_Left = 65065
View Source
const KEY_ISO_Release_Margin_Right = 65066
View Source
const KEY_ISO_Set_Margin_Left = 65063
View Source
const KEY_ISO_Set_Margin_Right = 65064
View Source
const KEY_Iabovedot = 681
View Source
const KEY_Iacute = 205
View Source
const KEY_Ibelowdot = 16785098
View Source
const KEY_Ibreve = 16777516
View Source
const KEY_Icircumflex = 206
View Source
const KEY_Idiaeresis = 207
View Source
const KEY_Igrave = 204
View Source
const KEY_Ihook = 16785096
View Source
const KEY_Imacron = 975
View Source
const KEY_Insert = 65379
View Source
const KEY_Iogonek = 967
View Source
const KEY_Itilde = 933
View Source
const KEY_J = 74
View Source
const KEY_Jcircumflex = 684
View Source
const KEY_K = 75
View Source
const KEY_KP_0 = 65456
View Source
const KEY_KP_1 = 65457
View Source
const KEY_KP_2 = 65458
View Source
const KEY_KP_3 = 65459
View Source
const KEY_KP_4 = 65460
View Source
const KEY_KP_5 = 65461
View Source
const KEY_KP_6 = 65462
View Source
const KEY_KP_7 = 65463
View Source
const KEY_KP_8 = 65464
View Source
const KEY_KP_9 = 65465
View Source
const KEY_KP_Add = 65451
View Source
const KEY_KP_Begin = 65437
View Source
const KEY_KP_Decimal = 65454
View Source
const KEY_KP_Delete = 65439
View Source
const KEY_KP_Divide = 65455
View Source
const KEY_KP_Down = 65433
View Source
const KEY_KP_End = 65436
View Source
const KEY_KP_Enter = 65421
View Source
const KEY_KP_Equal = 65469
View Source
const KEY_KP_F1 = 65425
View Source
const KEY_KP_F2 = 65426
View Source
const KEY_KP_F3 = 65427
View Source
const KEY_KP_F4 = 65428
View Source
const KEY_KP_Home = 65429
View Source
const KEY_KP_Insert = 65438
View Source
const KEY_KP_Left = 65430
View Source
const KEY_KP_Multiply = 65450
View Source
const KEY_KP_Next = 65435
View Source
const KEY_KP_Page_Down = 65435
View Source
const KEY_KP_Page_Up = 65434
View Source
const KEY_KP_Prior = 65434
View Source
const KEY_KP_Right = 65432
View Source
const KEY_KP_Separator = 65452
View Source
const KEY_KP_Space = 65408
View Source
const KEY_KP_Subtract = 65453
View Source
const KEY_KP_Tab = 65417
View Source
const KEY_KP_Up = 65431
View Source
const KEY_Kana_Lock = 65325
View Source
const KEY_Kana_Shift = 65326
View Source
const KEY_Kanji = 65313
View Source
const KEY_Kanji_Bangou = 65335
View Source
const KEY_Katakana = 65318
View Source
const KEY_KbdBrightnessDown = 269025030
View Source
const KEY_KbdBrightnessUp = 269025029
View Source
const KEY_KbdLightOnOff = 269025028
View Source
const KEY_Kcedilla = 979
View Source
const KEY_Keyboard = 269025203
View Source
const KEY_Korean_Won = 3839
View Source
const KEY_L = 76
View Source
const KEY_L1 = 65480
View Source
const KEY_L10 = 65489
View Source
const KEY_L2 = 65481
View Source
const KEY_L3 = 65482
View Source
const KEY_L4 = 65483
View Source
const KEY_L5 = 65484
View Source
const KEY_L6 = 65485
View Source
const KEY_L7 = 65486
View Source
const KEY_L8 = 65487
View Source
const KEY_L9 = 65488
View Source
const KEY_Lacute = 453
View Source
const KEY_Last_Virtual_Screen = 65236
View Source
const KEY_Launch0 = 269025088
View Source
const KEY_Launch1 = 269025089
View Source
const KEY_Launch2 = 269025090
View Source
const KEY_Launch3 = 269025091
View Source
const KEY_Launch4 = 269025092
View Source
const KEY_Launch5 = 269025093
View Source
const KEY_Launch6 = 269025094
View Source
const KEY_Launch7 = 269025095
View Source
const KEY_Launch8 = 269025096
View Source
const KEY_Launch9 = 269025097
View Source
const KEY_LaunchA = 269025098
View Source
const KEY_LaunchB = 269025099
View Source
const KEY_LaunchC = 269025100
View Source
const KEY_LaunchD = 269025101
View Source
const KEY_LaunchE = 269025102
View Source
const KEY_LaunchF = 269025103
View Source
const KEY_Lbelowdot = 16784950
View Source
const KEY_Lcaron = 421
View Source
const KEY_Lcedilla = 934
View Source
const KEY_Left = 65361
View Source
const KEY_LightBulb = 269025077
View Source
const KEY_Linefeed = 65290
View Source
const KEY_LiraSign = 16785572
View Source
const KEY_LogGrabInfo = 269024805
View Source
const KEY_LogOff = 269025121
View Source
const KEY_LogWindowTree = 269024804
View Source
const KEY_Lstroke = 419
View Source
const KEY_M = 77
View Source
const KEY_Mabovedot = 16784960
View Source
const KEY_Macedonia_DSE = 1717
View Source
const KEY_Macedonia_GJE = 1714
View Source
const KEY_Macedonia_KJE = 1724
View Source
const KEY_Macedonia_dse = 1701
View Source
const KEY_Macedonia_gje = 1698
View Source
const KEY_Macedonia_kje = 1708
View Source
const KEY_Mae_Koho = 65342
View Source
const KEY_Mail = 269025049
View Source
const KEY_MailForward = 269025168
View Source
const KEY_Market = 269025122
View Source
const KEY_Massyo = 65324
View Source
const KEY_Meeting = 269025123
View Source
const KEY_Memo = 269025054
View Source
const KEY_Menu = 65383
View Source
const KEY_MenuKB = 269025125
View Source
const KEY_MenuPB = 269025126
View Source
const KEY_Messenger = 269025166
View Source
const KEY_Meta_L = 65511
View Source
const KEY_Meta_R = 65512
View Source
const KEY_MillSign = 16785573
View Source
const KEY_ModeLock = 269025025
View Source
const KEY_Mode_switch = 65406
View Source
const KEY_MonBrightnessDown = 269025027
View Source
const KEY_MonBrightnessUp = 269025026
View Source
const KEY_MouseKeys_Accel_Enable = 65143
View Source
const KEY_MouseKeys_Enable = 65142
View Source
const KEY_Muhenkan = 65314
View Source
const KEY_Multi_key = 65312
View Source
const KEY_MultipleCandidate = 65341
View Source
const KEY_Music = 269025170
View Source
const KEY_MyComputer = 269025075
View Source
const KEY_MySites = 269025127
View Source
const KEY_N = 78
View Source
const KEY_Nacute = 465
View Source
const KEY_NairaSign = 16785574
View Source
const KEY_Ncaron = 466
View Source
const KEY_Ncedilla = 977
View Source
const KEY_New = 269025128
View Source
const KEY_NewSheqelSign = 16785578
View Source
const KEY_News = 269025129
View Source
const KEY_Next = 65366
View Source
const KEY_Next_VMode = 269024802
View Source
const KEY_Next_Virtual_Screen = 65234
View Source
const KEY_Ntilde = 209
View Source
const KEY_Num_Lock = 65407
View Source
const KEY_O = 79
View Source
const KEY_OE = 5052
View Source
const KEY_Oacute = 211
View Source
const KEY_Obarred = 16777631
View Source
const KEY_Obelowdot = 16785100
View Source
const KEY_Ocaron = 16777681
View Source
const KEY_Ocircumflex = 212
View Source
const KEY_Ocircumflexacute = 16785104
View Source
const KEY_Ocircumflexbelowdot = 16785112
View Source
const KEY_Ocircumflexgrave = 16785106
View Source
const KEY_Ocircumflexhook = 16785108
View Source
const KEY_Ocircumflextilde = 16785110
View Source
const KEY_Odiaeresis = 214
View Source
const KEY_Odoubleacute = 469
View Source
const KEY_OfficeHome = 269025130
View Source
const KEY_Ograve = 210
View Source
const KEY_Ohook = 16785102
View Source
const KEY_Ohorn = 16777632
View Source
const KEY_Ohornacute = 16785114
View Source
const KEY_Ohornbelowdot = 16785122
View Source
const KEY_Ohorngrave = 16785116
View Source
const KEY_Ohornhook = 16785118
View Source
const KEY_Ohorntilde = 16785120
View Source
const KEY_Omacron = 978
View Source
const KEY_Ooblique = 216
View Source
const KEY_Open = 269025131
View Source
const KEY_OpenURL = 269025080
View Source
const KEY_Option = 269025132
View Source
const KEY_Oslash = 216
View Source
const KEY_Otilde = 213
View Source
const KEY_Overlay1_Enable = 65144
View Source
const KEY_Overlay2_Enable = 65145
View Source
const KEY_P = 80
View Source
const KEY_Pabovedot = 16784982
View Source
const KEY_Page_Down = 65366
View Source
const KEY_Page_Up = 65365
View Source
const KEY_Paste = 269025133
View Source
const KEY_Pause = 65299
View Source
const KEY_PesetaSign = 16785575
View Source
const KEY_Phone = 269025134
View Source
const KEY_Pictures = 269025169
View Source
const KEY_Pointer_Accelerate = 65274
View Source
const KEY_Pointer_Button1 = 65257
View Source
const KEY_Pointer_Button2 = 65258
View Source
const KEY_Pointer_Button3 = 65259
View Source
const KEY_Pointer_Button4 = 65260
View Source
const KEY_Pointer_Button5 = 65261
View Source
const KEY_Pointer_Button_Dflt = 65256
View Source
const KEY_Pointer_DblClick1 = 65263
View Source
const KEY_Pointer_DblClick2 = 65264
View Source
const KEY_Pointer_DblClick3 = 65265
View Source
const KEY_Pointer_DblClick4 = 65266
View Source
const KEY_Pointer_DblClick5 = 65267
View Source
const KEY_Pointer_DblClick_Dflt = 65262
View Source
const KEY_Pointer_DfltBtnNext = 65275
View Source
const KEY_Pointer_DfltBtnPrev = 65276
View Source
const KEY_Pointer_Down = 65251
View Source
const KEY_Pointer_DownLeft = 65254
View Source
const KEY_Pointer_DownRight = 65255
View Source
const KEY_Pointer_Drag1 = 65269
View Source
const KEY_Pointer_Drag2 = 65270
View Source
const KEY_Pointer_Drag3 = 65271
View Source
const KEY_Pointer_Drag4 = 65272
View Source
const KEY_Pointer_Drag5 = 65277
View Source
const KEY_Pointer_Drag_Dflt = 65268
View Source
const KEY_Pointer_EnableKeys = 65273
View Source
const KEY_Pointer_Left = 65248
View Source
const KEY_Pointer_Right = 65249
View Source
const KEY_Pointer_Up = 65250
View Source
const KEY_Pointer_UpLeft = 65252
View Source
const KEY_Pointer_UpRight = 65253
View Source
const KEY_PowerDown = 269025057
View Source
const KEY_PowerOff = 269025066
View Source
const KEY_Prev_VMode = 269024803
View Source
const KEY_Prev_Virtual_Screen = 65233
View Source
const KEY_PreviousCandidate = 65342
View Source
const KEY_Print = 65377
View Source
const KEY_Prior = 65365
View Source
const KEY_Q = 81
View Source
const KEY_R = 82
View Source
const KEY_R1 = 65490
View Source
const KEY_R10 = 65499
View Source
const KEY_R11 = 65500
View Source
const KEY_R12 = 65501
View Source
const KEY_R13 = 65502
View Source
const KEY_R14 = 65503
View Source
const KEY_R15 = 65504
View Source
const KEY_R2 = 65491
View Source
const KEY_R3 = 65492
View Source
const KEY_R4 = 65493
View Source
const KEY_R5 = 65494
View Source
const KEY_R6 = 65495
View Source
const KEY_R7 = 65496
View Source
const KEY_R8 = 65497
View Source
const KEY_R9 = 65498
View Source
const KEY_RFKill = 269025205
View Source
const KEY_Racute = 448
View Source
const KEY_Rcaron = 472
View Source
const KEY_Rcedilla = 931
View Source
const KEY_Red = 269025187
View Source
const KEY_Redo = 65382
View Source
const KEY_Refresh = 269025065
View Source
const KEY_Reload = 269025139
View Source
const KEY_RepeatKeys_Enable = 65138
View Source
const KEY_Reply = 269025138
View Source
const KEY_Return = 65293
View Source
const KEY_Right = 65363
View Source
const KEY_RockerDown = 269025060
View Source
const KEY_RockerEnter = 269025061
View Source
const KEY_RockerUp = 269025059
View Source
const KEY_Romaji = 65316
View Source
const KEY_RotateWindows = 269025140
View Source
const KEY_RotationKB = 269025142
View Source
const KEY_RotationPB = 269025141
View Source
const KEY_RupeeSign = 16785576
View Source
const KEY_S = 83
View Source
const KEY_SCHWA = 16777615
View Source
const KEY_Sabovedot = 16784992
View Source
const KEY_Sacute = 422
View Source
const KEY_Save = 269025143
View Source
const KEY_Scaron = 425
View Source
const KEY_Scedilla = 426
View Source
const KEY_Scircumflex = 734
View Source
const KEY_ScreenSaver = 269025069
View Source
const KEY_ScrollClick = 269025146
View Source
const KEY_ScrollDown = 269025145
View Source
const KEY_ScrollUp = 269025144
View Source
const KEY_Scroll_Lock = 65300
View Source
const KEY_Search = 269025051
View Source
const KEY_Select = 65376
View Source
const KEY_SelectButton = 269025184
View Source
const KEY_Send = 269025147
View Source
const KEY_Serbian_DJE = 1713
View Source
const KEY_Serbian_DZE = 1727
View Source
const KEY_Serbian_JE = 1720
View Source
const KEY_Serbian_LJE = 1721
View Source
const KEY_Serbian_NJE = 1722
View Source
const KEY_Serbian_TSHE = 1723
View Source
const KEY_Serbian_dje = 1697
View Source
const KEY_Serbian_dze = 1711
View Source
const KEY_Serbian_je = 1704
View Source
const KEY_Serbian_lje = 1705
View Source
const KEY_Serbian_nje = 1706
View Source
const KEY_Serbian_tshe = 1707
View Source
const KEY_Shift_L = 65505
View Source
const KEY_Shift_Lock = 65510
View Source
const KEY_Shift_R = 65506
View Source
const KEY_Shop = 269025078
View Source
const KEY_SingleCandidate = 65340
View Source
const KEY_Sinh_a = 16780677
View Source
const KEY_Sinh_aa = 16780678
View Source
const KEY_Sinh_aa2 = 16780751
View Source
const KEY_Sinh_ae = 16780679
View Source
const KEY_Sinh_ae2 = 16780752
View Source
const KEY_Sinh_aee = 16780680
View Source
const KEY_Sinh_aee2 = 16780753
View Source
const KEY_Sinh_ai = 16780691
View Source
const KEY_Sinh_ai2 = 16780763
View Source
const KEY_Sinh_al = 16780746
View Source
const KEY_Sinh_au = 16780694
View Source
const KEY_Sinh_au2 = 16780766
View Source
const KEY_Sinh_ba = 16780726
View Source
const KEY_Sinh_bha = 16780727
View Source
const KEY_Sinh_ca = 16780704
View Source
const KEY_Sinh_cha = 16780705
View Source
const KEY_Sinh_dda = 16780713
View Source
const KEY_Sinh_ddha = 16780714
View Source
const KEY_Sinh_dha = 16780719
View Source
const KEY_Sinh_dhha = 16780720
View Source
const KEY_Sinh_e = 16780689
View Source
const KEY_Sinh_e2 = 16780761
View Source
const KEY_Sinh_ee = 16780690
View Source
const KEY_Sinh_ee2 = 16780762
View Source
const KEY_Sinh_fa = 16780742
View Source
const KEY_Sinh_ga = 16780700
View Source
const KEY_Sinh_gha = 16780701
View Source
const KEY_Sinh_h2 = 16780675
View Source
const KEY_Sinh_ha = 16780740
View Source
const KEY_Sinh_i = 16780681
View Source
const KEY_Sinh_i2 = 16780754
View Source
const KEY_Sinh_ii = 16780682
View Source
const KEY_Sinh_ii2 = 16780755
View Source
const KEY_Sinh_ja = 16780706
View Source
const KEY_Sinh_jha = 16780707
View Source
const KEY_Sinh_jnya = 16780709
View Source
const KEY_Sinh_ka = 16780698
View Source
const KEY_Sinh_kha = 16780699
View Source
const KEY_Sinh_kunddaliya = 16780788
View Source
const KEY_Sinh_la = 16780733
View Source
const KEY_Sinh_lla = 16780741
View Source
const KEY_Sinh_lu = 16780687
View Source
const KEY_Sinh_lu2 = 16780767
View Source
const KEY_Sinh_luu = 16780688
View Source
const KEY_Sinh_luu2 = 16780787
View Source
const KEY_Sinh_ma = 16780728
View Source
const KEY_Sinh_mba = 16780729
View Source
const KEY_Sinh_na = 16780721
View Source
const KEY_Sinh_ndda = 16780716
View Source
const KEY_Sinh_ndha = 16780723
View Source
const KEY_Sinh_ng = 16780674
View Source
const KEY_Sinh_ng2 = 16780702
View Source
const KEY_Sinh_nga = 16780703
View Source
const KEY_Sinh_nja = 16780710
View Source
const KEY_Sinh_nna = 16780715
View Source
const KEY_Sinh_nya = 16780708
View Source
const KEY_Sinh_o = 16780692
View Source
const KEY_Sinh_o2 = 16780764
View Source
const KEY_Sinh_oo = 16780693
View Source
const KEY_Sinh_oo2 = 16780765
View Source
const KEY_Sinh_pa = 16780724
View Source
const KEY_Sinh_pha = 16780725
View Source
const KEY_Sinh_ra = 16780731
View Source
const KEY_Sinh_ri = 16780685
View Source
const KEY_Sinh_rii = 16780686
View Source
const KEY_Sinh_ru2 = 16780760
View Source
const KEY_Sinh_ruu2 = 16780786
View Source
const KEY_Sinh_sa = 16780739
View Source
const KEY_Sinh_sha = 16780737
View Source
const KEY_Sinh_ssha = 16780738
View Source
const KEY_Sinh_tha = 16780717
View Source
const KEY_Sinh_thha = 16780718
View Source
const KEY_Sinh_tta = 16780711
View Source
const KEY_Sinh_ttha = 16780712
View Source
const KEY_Sinh_u = 16780683
View Source
const KEY_Sinh_u2 = 16780756
View Source
const KEY_Sinh_uu = 16780684
View Source
const KEY_Sinh_uu2 = 16780758
View Source
const KEY_Sinh_va = 16780736
View Source
const KEY_Sinh_ya = 16780730
View Source
const KEY_Sleep = 269025071
View Source
const KEY_SlowKeys_Enable = 65139
View Source
const KEY_Spell = 269025148
View Source
const KEY_SplitScreen = 269025149
View Source
const KEY_Standby = 269025040
View Source
const KEY_Start = 269025050
View Source
const KEY_StickyKeys_Enable = 65141
View Source
const KEY_Stop = 269025064
View Source
const KEY_Subtitle = 269025178
View Source
const KEY_Super_L = 65515
View Source
const KEY_Super_R = 65516
View Source
const KEY_Support = 269025150
View Source
const KEY_Suspend = 269025191
View Source
const KEY_Switch_VT_1 = 269024769
View Source
const KEY_Switch_VT_10 = 269024778
View Source
const KEY_Switch_VT_11 = 269024779
View Source
const KEY_Switch_VT_12 = 269024780
View Source
const KEY_Switch_VT_2 = 269024770
View Source
const KEY_Switch_VT_3 = 269024771
View Source
const KEY_Switch_VT_4 = 269024772
View Source
const KEY_Switch_VT_5 = 269024773
View Source
const KEY_Switch_VT_6 = 269024774
View Source
const KEY_Switch_VT_7 = 269024775
View Source
const KEY_Switch_VT_8 = 269024776
View Source
const KEY_Switch_VT_9 = 269024777
View Source
const KEY_Sys_Req = 65301
View Source
const KEY_T = 84
View Source
const KEY_THORN = 222
View Source
const KEY_Tab = 65289
View Source
const KEY_Tabovedot = 16785002
View Source
const KEY_TaskPane = 269025151
View Source
const KEY_Tcaron = 427
View Source
const KEY_Tcedilla = 478
View Source
const KEY_Terminal = 269025152
View Source
const KEY_Terminate_Server = 65237
View Source
const KEY_Thai_baht = 3551
View Source
const KEY_Thai_bobaimai = 3514
View Source
const KEY_Thai_chochan = 3496
View Source
const KEY_Thai_chochang = 3498
View Source
const KEY_Thai_choching = 3497
View Source
const KEY_Thai_chochoe = 3500
View Source
const KEY_Thai_dochada = 3502
View Source
const KEY_Thai_dodek = 3508
View Source
const KEY_Thai_fofa = 3517
View Source
const KEY_Thai_fofan = 3519
View Source
const KEY_Thai_hohip = 3531
View Source
const KEY_Thai_honokhuk = 3534
View Source
const KEY_Thai_khokhai = 3490
View Source
const KEY_Thai_khokhon = 3493
View Source
const KEY_Thai_khokhuat = 3491
View Source
const KEY_Thai_khokhwai = 3492
View Source
const KEY_Thai_khorakhang = 3494
View Source
const KEY_Thai_kokai = 3489
View Source
const KEY_Thai_lakkhangyao = 3557
View Source
const KEY_Thai_lekchet = 3575
View Source
const KEY_Thai_lekha = 3573
View Source
const KEY_Thai_lekhok = 3574
View Source
const KEY_Thai_lekkao = 3577
View Source
const KEY_Thai_leknung = 3569
View Source
const KEY_Thai_lekpaet = 3576
View Source
const KEY_Thai_leksam = 3571
View Source
const KEY_Thai_leksi = 3572
View Source
const KEY_Thai_leksong = 3570
View Source
const KEY_Thai_leksun = 3568
View Source
const KEY_Thai_lochula = 3532
View Source
const KEY_Thai_loling = 3525
View Source
const KEY_Thai_lu = 3526
View Source
const KEY_Thai_maichattawa = 3563
View Source
const KEY_Thai_maiek = 3560
View Source
const KEY_Thai_maihanakat = 3537
View Source
const KEY_Thai_maihanakat_maitho = 3550
View Source
const KEY_Thai_maitaikhu = 3559
View Source
const KEY_Thai_maitho = 3561
View Source
const KEY_Thai_maitri = 3562
View Source
const KEY_Thai_maiyamok = 3558
View Source
const KEY_Thai_moma = 3521
View Source
const KEY_Thai_ngongu = 3495
View Source
const KEY_Thai_nikhahit = 3565
View Source
const KEY_Thai_nonen = 3507
View Source
const KEY_Thai_nonu = 3513
View Source
const KEY_Thai_oang = 3533
View Source
const KEY_Thai_paiyannoi = 3535
View Source
const KEY_Thai_phinthu = 3546
View Source
const KEY_Thai_phophan = 3518
View Source
const KEY_Thai_phophung = 3516
View Source
const KEY_Thai_phosamphao = 3520
View Source
const KEY_Thai_popla = 3515
View Source
const KEY_Thai_rorua = 3523
View Source
const KEY_Thai_ru = 3524
View Source
const KEY_Thai_saraa = 3536
View Source
const KEY_Thai_saraaa = 3538
View Source
const KEY_Thai_saraae = 3553
View Source
const KEY_Thai_saraaimaimalai = 3556
View Source
const KEY_Thai_saraaimaimuan = 3555
View Source
const KEY_Thai_saraam = 3539
View Source
const KEY_Thai_sarae = 3552
View Source
const KEY_Thai_sarai = 3540
View Source
const KEY_Thai_saraii = 3541
View Source
const KEY_Thai_sarao = 3554
View Source
const KEY_Thai_sarau = 3544
View Source
const KEY_Thai_saraue = 3542
View Source
const KEY_Thai_sarauee = 3543
View Source
const KEY_Thai_sarauu = 3545
View Source
const KEY_Thai_sorusi = 3529
View Source
const KEY_Thai_sosala = 3528
View Source
const KEY_Thai_soso = 3499
View Source
const KEY_Thai_sosua = 3530
View Source
const KEY_Thai_thanthakhat = 3564
View Source
const KEY_Thai_thonangmontho = 3505
View Source
const KEY_Thai_thophuthao = 3506
View Source
const KEY_Thai_thothahan = 3511
View Source
const KEY_Thai_thothan = 3504
View Source
const KEY_Thai_thothong = 3512
View Source
const KEY_Thai_thothung = 3510
View Source
const KEY_Thai_topatak = 3503
View Source
const KEY_Thai_totao = 3509
View Source
const KEY_Thai_wowaen = 3527
View Source
const KEY_Thai_yoyak = 3522
View Source
const KEY_Thai_yoying = 3501
View Source
const KEY_Thorn = 222
View Source
const KEY_Time = 269025183
View Source
const KEY_ToDoList = 269025055
View Source
const KEY_Tools = 269025153
View Source
const KEY_TopMenu = 269025186
View Source
const KEY_TouchpadOff = 269025201
View Source
const KEY_TouchpadOn = 269025200
View Source
const KEY_TouchpadToggle = 269025193
View Source
const KEY_Touroku = 65323
View Source
const KEY_Travel = 269025154
View Source
const KEY_Tslash = 940
View Source
const KEY_U = 85
View Source
const KEY_UWB = 269025174
View Source
const KEY_Uacute = 218
View Source
const KEY_Ubelowdot = 16785124
View Source
const KEY_Ubreve = 733
View Source
const KEY_Ucircumflex = 219
View Source
const KEY_Udiaeresis = 220
View Source
const KEY_Udoubleacute = 475
View Source
const KEY_Ugrave = 217
View Source
const KEY_Uhook = 16785126
View Source
const KEY_Uhorn = 16777647
View Source
const KEY_Uhornacute = 16785128
View Source
const KEY_Uhornbelowdot = 16785136
View Source
const KEY_Uhorngrave = 16785130
View Source
const KEY_Uhornhook = 16785132
View Source
const KEY_Uhorntilde = 16785134
View Source
const KEY_Ukrainian_GHE_WITH_UPTURN = 1725
View Source
const KEY_Ukrainian_I = 1718
View Source
const KEY_Ukrainian_IE = 1716
View Source
const KEY_Ukrainian_YI = 1719
View Source
const KEY_Ukrainian_ghe_with_upturn = 1709
View Source
const KEY_Ukrainian_i = 1702
View Source
const KEY_Ukrainian_ie = 1700
View Source
const KEY_Ukrainian_yi = 1703
View Source
const KEY_Ukranian_I = 1718
View Source
const KEY_Ukranian_JE = 1716
View Source
const KEY_Ukranian_YI = 1719
View Source
const KEY_Ukranian_i = 1702
View Source
const KEY_Ukranian_je = 1700
View Source
const KEY_Ukranian_yi = 1703
View Source
const KEY_Umacron = 990
View Source
const KEY_Undo = 65381
View Source
const KEY_Ungrab = 269024800
View Source
const KEY_Uogonek = 985
View Source
const KEY_Up = 65362
View Source
const KEY_Uring = 473
View Source
const KEY_User1KB = 269025157
View Source
const KEY_User2KB = 269025158
View Source
const KEY_UserPB = 269025156
View Source
const KEY_Utilde = 989
View Source
const KEY_V = 86
View Source
const KEY_VendorHome = 269025076
View Source
const KEY_Video = 269025159
View Source
const KEY_View = 269025185
View Source
const KEY_VoidSymbol = 16777215
View Source
const KEY_W = 87
View Source
const KEY_WLAN = 269025173
View Source
const KEY_WWAN = 269025204
View Source
const KEY_WWW = 269025070
View Source
const KEY_Wacute = 16785026
View Source
const KEY_WakeUp = 269025067
View Source
const KEY_Wcircumflex = 16777588
View Source
const KEY_Wdiaeresis = 16785028
View Source
const KEY_WebCam = 269025167
View Source
const KEY_Wgrave = 16785024
View Source
const KEY_WheelButton = 269025160
View Source
const KEY_WindowClear = 269025109
View Source
const KEY_WonSign = 16785577
View Source
const KEY_Word = 269025161
View Source
const KEY_X = 88
View Source
const KEY_Xabovedot = 16785034
View Source
const KEY_Xfer = 269025162
View Source
const KEY_Y = 89
View Source
const KEY_Yacute = 221
View Source
const KEY_Ybelowdot = 16785140
View Source
const KEY_Ycircumflex = 16777590
View Source
const KEY_Ydiaeresis = 5054
View Source
const KEY_Yellow = 269025189
View Source
const KEY_Ygrave = 16785138
View Source
const KEY_Yhook = 16785142
View Source
const KEY_Ytilde = 16785144
View Source
const KEY_Z = 90
View Source
const KEY_Zabovedot = 431
View Source
const KEY_Zacute = 428
View Source
const KEY_Zcaron = 430
View Source
const KEY_Zen_Koho = 65341
View Source
const KEY_Zenkaku = 65320
View Source
const KEY_Zenkaku_Hankaku = 65322
View Source
const KEY_ZoomIn = 269025163
View Source
const KEY_ZoomOut = 269025164
View Source
const KEY_Zstroke = 16777653
View Source
const KEY_a = 97
View Source
const KEY_aacute = 225
View Source
const KEY_abelowdot = 16785057
View Source
const KEY_abovedot = 511
View Source
const KEY_abreve = 483
View Source
const KEY_abreveacute = 16785071
View Source
const KEY_abrevebelowdot = 16785079
View Source
const KEY_abrevegrave = 16785073
View Source
const KEY_abrevehook = 16785075
View Source
const KEY_abrevetilde = 16785077
View Source
const KEY_acircumflex = 226
View Source
const KEY_acircumflexacute = 16785061
View Source
const KEY_acircumflexbelowdot = 16785069
View Source
const KEY_acircumflexgrave = 16785063
View Source
const KEY_acircumflexhook = 16785065
View Source
const KEY_acircumflextilde = 16785067
View Source
const KEY_acute = 180
View Source
const KEY_adiaeresis = 228
View Source
const KEY_ae = 230
View Source
const KEY_agrave = 224
View Source
const KEY_ahook = 16785059
View Source
const KEY_amacron = 992
View Source
const KEY_ampersand = 38
View Source
const KEY_aogonek = 433
View Source
const KEY_apostrophe = 39
View Source
const KEY_approxeq = 16785992
View Source
const KEY_approximate = 2248
View Source
const KEY_aring = 229
View Source
const KEY_asciicircum = 94
View Source
const KEY_asciitilde = 126
View Source
const KEY_asterisk = 42
View Source
const KEY_at = 64
View Source
const KEY_atilde = 227
View Source
const KEY_b = 98
View Source
const KEY_babovedot = 16784899
View Source
const KEY_backslash = 92
View Source
const KEY_ballotcross = 2804
View Source
const KEY_bar = 124
View Source
const KEY_because = 16785973
View Source
const KEY_blank = 2527
View Source
const KEY_botintegral = 2213
View Source
const KEY_botleftparens = 2220
View Source
const KEY_botleftsqbracket = 2216
View Source
const KEY_botleftsummation = 2226
View Source
const KEY_botrightparens = 2222
View Source
const KEY_botrightsqbracket = 2218
View Source
const KEY_botrightsummation = 2230
View Source
const KEY_bott = 2550
View Source
const KEY_botvertsummationconnector = 2228
View Source
const KEY_braceleft = 123
View Source
const KEY_braceright = 125
View Source
const KEY_bracketleft = 91
View Source
const KEY_bracketright = 93
View Source
const KEY_braille_blank = 16787456
View Source
const KEY_braille_dot_1 = 65521
View Source
const KEY_braille_dot_10 = 65530
View Source
const KEY_braille_dot_2 = 65522
View Source
const KEY_braille_dot_3 = 65523
View Source
const KEY_braille_dot_4 = 65524
View Source
const KEY_braille_dot_5 = 65525
View Source
const KEY_braille_dot_6 = 65526
View Source
const KEY_braille_dot_7 = 65527
View Source
const KEY_braille_dot_8 = 65528
View Source
const KEY_braille_dot_9 = 65529
View Source
const KEY_braille_dots_1 = 16787457
View Source
const KEY_braille_dots_12 = 16787459
View Source
const KEY_braille_dots_123 = 16787463
View Source
const KEY_braille_dots_1234 = 16787471
View Source
const KEY_braille_dots_12345 = 16787487
View Source
const KEY_braille_dots_123456 = 16787519
View Source
const KEY_braille_dots_1234567 = 16787583
View Source
const KEY_braille_dots_12345678 = 16787711
View Source
const KEY_braille_dots_1234568 = 16787647
View Source
const KEY_braille_dots_123457 = 16787551
View Source
const KEY_braille_dots_1234578 = 16787679
View Source
const KEY_braille_dots_123458 = 16787615
View Source
const KEY_braille_dots_12346 = 16787503
View Source
const KEY_braille_dots_123467 = 16787567
View Source
const KEY_braille_dots_1234678 = 16787695
View Source
const KEY_braille_dots_123468 = 16787631
View Source
const KEY_braille_dots_12347 = 16787535
View Source
const KEY_braille_dots_123478 = 16787663
View Source
const KEY_braille_dots_12348 = 16787599
View Source
const KEY_braille_dots_1235 = 16787479
View Source
const KEY_braille_dots_12356 = 16787511
View Source
const KEY_braille_dots_123567 = 16787575
View Source
const KEY_braille_dots_1235678 = 16787703
View Source
const KEY_braille_dots_123568 = 16787639
View Source
const KEY_braille_dots_12357 = 16787543
View Source
const KEY_braille_dots_123578 = 16787671
View Source
const KEY_braille_dots_12358 = 16787607
View Source
const KEY_braille_dots_1236 = 16787495
View Source
const KEY_braille_dots_12367 = 16787559
View Source
const KEY_braille_dots_123678 = 16787687
View Source
const KEY_braille_dots_12368 = 16787623
View Source
const KEY_braille_dots_1237 = 16787527
View Source
const KEY_braille_dots_12378 = 16787655
View Source
const KEY_braille_dots_1238 = 16787591
View Source
const KEY_braille_dots_124 = 16787467
View Source
const KEY_braille_dots_1245 = 16787483
View Source
const KEY_braille_dots_12456 = 16787515
View Source
const KEY_braille_dots_124567 = 16787579
View Source
const KEY_braille_dots_1245678 = 16787707
View Source
const KEY_braille_dots_124568 = 16787643
View Source
const KEY_braille_dots_12457 = 16787547
View Source
const KEY_braille_dots_124578 = 16787675
View Source
const KEY_braille_dots_12458 = 16787611
View Source
const KEY_braille_dots_1246 = 16787499
View Source
const KEY_braille_dots_12467 = 16787563
View Source
const KEY_braille_dots_124678 = 16787691
View Source
const KEY_braille_dots_12468 = 16787627
View Source
const KEY_braille_dots_1247 = 16787531
View Source
const KEY_braille_dots_12478 = 16787659
View Source
const KEY_braille_dots_1248 = 16787595
View Source
const KEY_braille_dots_125 = 16787475
View Source
const KEY_braille_dots_1256 = 16787507
View Source
const KEY_braille_dots_12567 = 16787571
View Source
const KEY_braille_dots_125678 = 16787699
View Source
const KEY_braille_dots_12568 = 16787635
View Source
const KEY_braille_dots_1257 = 16787539
View Source
const KEY_braille_dots_12578 = 16787667
View Source
const KEY_braille_dots_1258 = 16787603
View Source
const KEY_braille_dots_126 = 16787491
View Source
const KEY_braille_dots_1267 = 16787555
View Source
const KEY_braille_dots_12678 = 16787683
View Source
const KEY_braille_dots_1268 = 16787619
View Source
const KEY_braille_dots_127 = 16787523
View Source
const KEY_braille_dots_1278 = 16787651
View Source
const KEY_braille_dots_128 = 16787587
View Source
const KEY_braille_dots_13 = 16787461
View Source
const KEY_braille_dots_134 = 16787469
View Source
const KEY_braille_dots_1345 = 16787485
View Source
const KEY_braille_dots_13456 = 16787517
View Source
const KEY_braille_dots_134567 = 16787581
View Source
const KEY_braille_dots_1345678 = 16787709
View Source
const KEY_braille_dots_134568 = 16787645
View Source
const KEY_braille_dots_13457 = 16787549
View Source
const KEY_braille_dots_134578 = 16787677
View Source
const KEY_braille_dots_13458 = 16787613
View Source
const KEY_braille_dots_1346 = 16787501
View Source
const KEY_braille_dots_13467 = 16787565
View Source
const KEY_braille_dots_134678 = 16787693
View Source
const KEY_braille_dots_13468 = 16787629
View Source
const KEY_braille_dots_1347 = 16787533
View Source
const KEY_braille_dots_13478 = 16787661
View Source
const KEY_braille_dots_1348 = 16787597
View Source
const KEY_braille_dots_135 = 16787477
View Source
const KEY_braille_dots_1356 = 16787509
View Source
const KEY_braille_dots_13567 = 16787573
View Source
const KEY_braille_dots_135678 = 16787701
View Source
const KEY_braille_dots_13568 = 16787637
View Source
const KEY_braille_dots_1357 = 16787541
View Source
const KEY_braille_dots_13578 = 16787669
View Source
const KEY_braille_dots_1358 = 16787605
View Source
const KEY_braille_dots_136 = 16787493
View Source
const KEY_braille_dots_1367 = 16787557
View Source
const KEY_braille_dots_13678 = 16787685
View Source
const KEY_braille_dots_1368 = 16787621
View Source
const KEY_braille_dots_137 = 16787525
View Source
const KEY_braille_dots_1378 = 16787653
View Source
const KEY_braille_dots_138 = 16787589
View Source
const KEY_braille_dots_14 = 16787465
View Source
const KEY_braille_dots_145 = 16787481
View Source
const KEY_braille_dots_1456 = 16787513
View Source
const KEY_braille_dots_14567 = 16787577
View Source
const KEY_braille_dots_145678 = 16787705
View Source
const KEY_braille_dots_14568 = 16787641
View Source
const KEY_braille_dots_1457 = 16787545
View Source
const KEY_braille_dots_14578 = 16787673
View Source
const KEY_braille_dots_1458 = 16787609
View Source
const KEY_braille_dots_146 = 16787497
View Source
const KEY_braille_dots_1467 = 16787561
View Source
const KEY_braille_dots_14678 = 16787689
View Source
const KEY_braille_dots_1468 = 16787625
View Source
const KEY_braille_dots_147 = 16787529
View Source
const KEY_braille_dots_1478 = 16787657
View Source
const KEY_braille_dots_148 = 16787593
View Source
const KEY_braille_dots_15 = 16787473
View Source
const KEY_braille_dots_156 = 16787505
View Source
const KEY_braille_dots_1567 = 16787569
View Source
const KEY_braille_dots_15678 = 16787697
View Source
const KEY_braille_dots_1568 = 16787633
View Source
const KEY_braille_dots_157 = 16787537
View Source
const KEY_braille_dots_1578 = 16787665
View Source
const KEY_braille_dots_158 = 16787601
View Source
const KEY_braille_dots_16 = 16787489
View Source
const KEY_braille_dots_167 = 16787553
View Source
const KEY_braille_dots_1678 = 16787681
View Source
const KEY_braille_dots_168 = 16787617
View Source
const KEY_braille_dots_17 = 16787521
View Source
const KEY_braille_dots_178 = 16787649
View Source
const KEY_braille_dots_18 = 16787585
View Source
const KEY_braille_dots_2 = 16787458
View Source
const KEY_braille_dots_23 = 16787462
View Source
const KEY_braille_dots_234 = 16787470
View Source
const KEY_braille_dots_2345 = 16787486
View Source
const KEY_braille_dots_23456 = 16787518
View Source
const KEY_braille_dots_234567 = 16787582
View Source
const KEY_braille_dots_2345678 = 16787710
View Source
const KEY_braille_dots_234568 = 16787646
View Source
const KEY_braille_dots_23457 = 16787550
View Source
const KEY_braille_dots_234578 = 16787678
View Source
const KEY_braille_dots_23458 = 16787614
View Source
const KEY_braille_dots_2346 = 16787502
View Source
const KEY_braille_dots_23467 = 16787566
View Source
const KEY_braille_dots_234678 = 16787694
View Source
const KEY_braille_dots_23468 = 16787630
View Source
const KEY_braille_dots_2347 = 16787534
View Source
const KEY_braille_dots_23478 = 16787662
View Source
const KEY_braille_dots_2348 = 16787598
View Source
const KEY_braille_dots_235 = 16787478
View Source
const KEY_braille_dots_2356 = 16787510
View Source
const KEY_braille_dots_23567 = 16787574
View Source
const KEY_braille_dots_235678 = 16787702
View Source
const KEY_braille_dots_23568 = 16787638
View Source
const KEY_braille_dots_2357 = 16787542
View Source
const KEY_braille_dots_23578 = 16787670
View Source
const KEY_braille_dots_2358 = 16787606
View Source
const KEY_braille_dots_236 = 16787494
View Source
const KEY_braille_dots_2367 = 16787558
View Source
const KEY_braille_dots_23678 = 16787686
View Source
const KEY_braille_dots_2368 = 16787622
View Source
const KEY_braille_dots_237 = 16787526
View Source
const KEY_braille_dots_2378 = 16787654
View Source
const KEY_braille_dots_238 = 16787590
View Source
const KEY_braille_dots_24 = 16787466
View Source
const KEY_braille_dots_245 = 16787482
View Source
const KEY_braille_dots_2456 = 16787514
View Source
const KEY_braille_dots_24567 = 16787578
View Source
const KEY_braille_dots_245678 = 16787706
View Source
const KEY_braille_dots_24568 = 16787642
View Source
const KEY_braille_dots_2457 = 16787546
View Source
const KEY_braille_dots_24578 = 16787674
View Source
const KEY_braille_dots_2458 = 16787610
View Source
const KEY_braille_dots_246 = 16787498
View Source
const KEY_braille_dots_2467 = 16787562
View Source
const KEY_braille_dots_24678 = 16787690
View Source
const KEY_braille_dots_2468 = 16787626
View Source
const KEY_braille_dots_247 = 16787530
View Source
const KEY_braille_dots_2478 = 16787658
View Source
const KEY_braille_dots_248 = 16787594
View Source
const KEY_braille_dots_25 = 16787474
View Source
const KEY_braille_dots_256 = 16787506
View Source
const KEY_braille_dots_2567 = 16787570
View Source
const KEY_braille_dots_25678 = 16787698
View Source
const KEY_braille_dots_2568 = 16787634
View Source
const KEY_braille_dots_257 = 16787538
View Source
const KEY_braille_dots_2578 = 16787666
View Source
const KEY_braille_dots_258 = 16787602
View Source
const KEY_braille_dots_26 = 16787490
View Source
const KEY_braille_dots_267 = 16787554
View Source
const KEY_braille_dots_2678 = 16787682
View Source
const KEY_braille_dots_268 = 16787618
View Source
const KEY_braille_dots_27 = 16787522
View Source
const KEY_braille_dots_278 = 16787650
View Source
const KEY_braille_dots_28 = 16787586
View Source
const KEY_braille_dots_3 = 16787460
View Source
const KEY_braille_dots_34 = 16787468
View Source
const KEY_braille_dots_345 = 16787484
View Source
const KEY_braille_dots_3456 = 16787516
View Source
const KEY_braille_dots_34567 = 16787580
View Source
const KEY_braille_dots_345678 = 16787708
View Source
const KEY_braille_dots_34568 = 16787644
View Source
const KEY_braille_dots_3457 = 16787548
View Source
const KEY_braille_dots_34578 = 16787676
View Source
const KEY_braille_dots_3458 = 16787612
View Source
const KEY_braille_dots_346 = 16787500
View Source
const KEY_braille_dots_3467 = 16787564
View Source
const KEY_braille_dots_34678 = 16787692
View Source
const KEY_braille_dots_3468 = 16787628
View Source
const KEY_braille_dots_347 = 16787532
View Source
const KEY_braille_dots_3478 = 16787660
View Source
const KEY_braille_dots_348 = 16787596
View Source
const KEY_braille_dots_35 = 16787476
View Source
const KEY_braille_dots_356 = 16787508
View Source
const KEY_braille_dots_3567 = 16787572
View Source
const KEY_braille_dots_35678 = 16787700
View Source
const KEY_braille_dots_3568 = 16787636
View Source
const KEY_braille_dots_357 = 16787540
View Source
const KEY_braille_dots_3578 = 16787668
View Source
const KEY_braille_dots_358 = 16787604
View Source
const KEY_braille_dots_36 = 16787492
View Source
const KEY_braille_dots_367 = 16787556
View Source
const KEY_braille_dots_3678 = 16787684
View Source
const KEY_braille_dots_368 = 16787620
View Source
const KEY_braille_dots_37 = 16787524
View Source
const KEY_braille_dots_378 = 16787652
View Source
const KEY_braille_dots_38 = 16787588
View Source
const KEY_braille_dots_4 = 16787464
View Source
const KEY_braille_dots_45 = 16787480
View Source
const KEY_braille_dots_456 = 16787512
View Source
const KEY_braille_dots_4567 = 16787576
View Source
const KEY_braille_dots_45678 = 16787704
View Source
const KEY_braille_dots_4568 = 16787640
View Source
const KEY_braille_dots_457 = 16787544
View Source
const KEY_braille_dots_4578 = 16787672
View Source
const KEY_braille_dots_458 = 16787608
View Source
const KEY_braille_dots_46 = 16787496
View Source
const KEY_braille_dots_467 = 16787560
View Source
const KEY_braille_dots_4678 = 16787688
View Source
const KEY_braille_dots_468 = 16787624
View Source
const KEY_braille_dots_47 = 16787528
View Source
const KEY_braille_dots_478 = 16787656
View Source
const KEY_braille_dots_48 = 16787592
View Source
const KEY_braille_dots_5 = 16787472
View Source
const KEY_braille_dots_56 = 16787504
View Source
const KEY_braille_dots_567 = 16787568
View Source
const KEY_braille_dots_5678 = 16787696
View Source
const KEY_braille_dots_568 = 16787632
View Source
const KEY_braille_dots_57 = 16787536
View Source
const KEY_braille_dots_578 = 16787664
View Source
const KEY_braille_dots_58 = 16787600
View Source
const KEY_braille_dots_6 = 16787488
View Source
const KEY_braille_dots_67 = 16787552
View Source
const KEY_braille_dots_678 = 16787680
View Source
const KEY_braille_dots_68 = 16787616
View Source
const KEY_braille_dots_7 = 16787520
View Source
const KEY_braille_dots_78 = 16787648
View Source
const KEY_braille_dots_8 = 16787584
View Source
const KEY_breve = 418
View Source
const KEY_brokenbar = 166
View Source
const KEY_c = 99
View Source
const KEY_c_h = 65187
View Source
const KEY_cabovedot = 741
View Source
const KEY_cacute = 486
View Source
const KEY_careof = 2744
View Source
const KEY_caret = 2812
View Source
const KEY_caron = 439
View Source
const KEY_ccaron = 488
View Source
const KEY_ccedilla = 231
View Source
const KEY_ccircumflex = 742
View Source
const KEY_cedilla = 184
View Source
const KEY_cent = 162
View Source
const KEY_ch = 65184
View Source
const KEY_checkerboard = 2529
View Source
const KEY_checkmark = 2803
View Source
const KEY_circle = 3023
View Source
const KEY_club = 2796
View Source
const KEY_colon = 58
View Source
const KEY_comma = 44
View Source
const KEY_containsas = 16785931
View Source
const KEY_copyright = 169
View Source
const KEY_cr = 2532
View Source
const KEY_crossinglines = 2542
View Source
const KEY_cuberoot = 16785947
View Source
const KEY_currency = 164
View Source
const KEY_cursor = 2815
View Source
const KEY_d = 100
View Source
const KEY_dabovedot = 16784907
View Source
const KEY_dagger = 2801
View Source
const KEY_dcaron = 495
View Source
const KEY_dead_A = 65153
View Source
const KEY_dead_E = 65155
View Source
const KEY_dead_I = 65157
View Source
const KEY_dead_O = 65159
View Source
const KEY_dead_U = 65161
View Source
const KEY_dead_a = 65152
View Source
const KEY_dead_abovecomma = 65124
View Source
const KEY_dead_abovedot = 65110
View Source
const KEY_dead_abovereversedcomma = 65125
View Source
const KEY_dead_abovering = 65112
View Source
const KEY_dead_aboveverticalline = 65169
View Source
const KEY_dead_acute = 65105
View Source
const KEY_dead_belowbreve = 65131
View Source
const KEY_dead_belowcircumflex = 65129
View Source
const KEY_dead_belowcomma = 65134
View Source
const KEY_dead_belowdiaeresis = 65132
View Source
const KEY_dead_belowdot = 65120
View Source
const KEY_dead_belowmacron = 65128
View Source
const KEY_dead_belowring = 65127
View Source
const KEY_dead_belowtilde = 65130
View Source
const KEY_dead_belowverticalline = 65170
View Source
const KEY_dead_breve = 65109
View Source
const KEY_dead_capital_schwa = 65163
View Source
const KEY_dead_caron = 65114
View Source
const KEY_dead_cedilla = 65115
View Source
const KEY_dead_circumflex = 65106
View Source
const KEY_dead_currency = 65135
View Source
const KEY_dead_dasia = 65125
View Source
const KEY_dead_diaeresis = 65111
View Source
const KEY_dead_doubleacute = 65113
View Source
const KEY_dead_doublegrave = 65126
View Source
const KEY_dead_e = 65154
View Source
const KEY_dead_grave = 65104
View Source
const KEY_dead_greek = 65164
View Source
const KEY_dead_hook = 65121
View Source
const KEY_dead_horn = 65122
View Source
const KEY_dead_i = 65156
View Source
const KEY_dead_invertedbreve = 65133
View Source
const KEY_dead_iota = 65117
View Source
const KEY_dead_longsolidusoverlay = 65171
View Source
const KEY_dead_lowline = 65168
View Source
const KEY_dead_macron = 65108
View Source
const KEY_dead_o = 65158
View Source
const KEY_dead_ogonek = 65116
View Source
const KEY_dead_perispomeni = 65107
View Source
const KEY_dead_psili = 65124
View Source
const KEY_dead_semivoiced_sound = 65119
View Source
const KEY_dead_small_schwa = 65162
View Source
const KEY_dead_stroke = 65123
View Source
const KEY_dead_tilde = 65107
View Source
const KEY_dead_u = 65160
View Source
const KEY_dead_voiced_sound = 65118
View Source
const KEY_decimalpoint = 2749
View Source
const KEY_degree = 176
View Source
const KEY_diaeresis = 168
View Source
const KEY_diamond = 2797
View Source
const KEY_digitspace = 2725
View Source
const KEY_dintegral = 16785964
View Source
const KEY_division = 247
View Source
const KEY_dollar = 36
View Source
const KEY_doubbaselinedot = 2735
View Source
const KEY_doubleacute = 445
View Source
const KEY_doubledagger = 2802
View Source
const KEY_doublelowquotemark = 2814
View Source
const KEY_downarrow = 2302
View Source
const KEY_downcaret = 2984
View Source
const KEY_downshoe = 3030
View Source
const KEY_downstile = 3012
View Source
const KEY_downtack = 3010
View Source
const KEY_dstroke = 496
View Source
const KEY_e = 101
View Source
const KEY_eabovedot = 1004
View Source
const KEY_eacute = 233
View Source
const KEY_ebelowdot = 16785081
View Source
const KEY_ecaron = 492
View Source
const KEY_ecircumflex = 234
View Source
const KEY_ecircumflexacute = 16785087
View Source
const KEY_ecircumflexbelowdot = 16785095
View Source
const KEY_ecircumflexgrave = 16785089
View Source
const KEY_ecircumflexhook = 16785091
View Source
const KEY_ecircumflextilde = 16785093
View Source
const KEY_ediaeresis = 235
View Source
const KEY_egrave = 232
View Source
const KEY_ehook = 16785083
View Source
const KEY_eightsubscript = 16785544
View Source
const KEY_eightsuperior = 16785528
View Source
const KEY_elementof = 16785928
View Source
const KEY_ellipsis = 2734
View Source
const KEY_em3space = 2723
View Source
const KEY_em4space = 2724
View Source
const KEY_emacron = 954
View Source
const KEY_emdash = 2729
View Source
const KEY_emfilledcircle = 2782
View Source
const KEY_emfilledrect = 2783
View Source
const KEY_emopencircle = 2766
View Source
const KEY_emopenrectangle = 2767
View Source
const KEY_emptyset = 16785925
View Source
const KEY_emspace = 2721
View Source
const KEY_endash = 2730
View Source
const KEY_enfilledcircbullet = 2790
View Source
const KEY_enfilledsqbullet = 2791
View Source
const KEY_eng = 959
View Source
const KEY_enopencircbullet = 2784
View Source
const KEY_enopensquarebullet = 2785
View Source
const KEY_enspace = 2722
View Source
const KEY_eogonek = 490
View Source
const KEY_equal = 61
View Source
const KEY_eth = 240
View Source
const KEY_etilde = 16785085
View Source
const KEY_exclam = 33
View Source
const KEY_exclamdown = 161
View Source
const KEY_ezh = 16777874
View Source
const KEY_f = 102
View Source
const KEY_fabovedot = 16784927
View Source
const KEY_femalesymbol = 2808
View Source
const KEY_ff = 2531
View Source
const KEY_figdash = 2747
View Source
const KEY_filledlefttribullet = 2780
View Source
const KEY_filledrectbullet = 2779
View Source
const KEY_filledrighttribullet = 2781
View Source
const KEY_filledtribulletdown = 2793
View Source
const KEY_filledtribulletup = 2792
View Source
const KEY_fiveeighths = 2757
View Source
const KEY_fivesixths = 2743
View Source
const KEY_fivesubscript = 16785541
View Source
const KEY_fivesuperior = 16785525
View Source
const KEY_fourfifths = 2741
View Source
const KEY_foursubscript = 16785540
View Source
const KEY_foursuperior = 16785524
View Source
const KEY_fourthroot = 16785948
View Source
const KEY_function = 2294
View Source
const KEY_g = 103
View Source
const KEY_gabovedot = 757
View Source
const KEY_gbreve = 699
View Source
const KEY_gcaron = 16777703
View Source
const KEY_gcedilla = 955
View Source
const KEY_gcircumflex = 760
View Source
const KEY_grave = 96
View Source
const KEY_greater = 62
View Source
const KEY_greaterthanequal = 2238
View Source
const KEY_guillemotleft = 171
View Source
const KEY_guillemotright = 187
View Source
const KEY_h = 104
View Source
const KEY_hairspace = 2728
View Source
const KEY_hcircumflex = 694
View Source
const KEY_heart = 2798
View Source
const KEY_hebrew_aleph = 3296
View Source
const KEY_hebrew_ayin = 3314
View Source
const KEY_hebrew_bet = 3297
View Source
const KEY_hebrew_beth = 3297
View Source
const KEY_hebrew_chet = 3303
View Source
const KEY_hebrew_dalet = 3299
View Source
const KEY_hebrew_daleth = 3299
View Source
const KEY_hebrew_doublelowline = 3295
View Source
const KEY_hebrew_finalkaph = 3306
View Source
const KEY_hebrew_finalmem = 3309
View Source
const KEY_hebrew_finalnun = 3311
View Source
const KEY_hebrew_finalpe = 3315
View Source
const KEY_hebrew_finalzade = 3317
View Source
const KEY_hebrew_finalzadi = 3317
View Source
const KEY_hebrew_gimel = 3298
View Source
const KEY_hebrew_gimmel = 3298
View Source
const KEY_hebrew_he = 3300
View Source
const KEY_hebrew_het = 3303
View Source
const KEY_hebrew_kaph = 3307
View Source
const KEY_hebrew_kuf = 3319
View Source
const KEY_hebrew_lamed = 3308
View Source
const KEY_hebrew_mem = 3310
View Source
const KEY_hebrew_nun = 3312
View Source
const KEY_hebrew_pe = 3316
View Source
const KEY_hebrew_qoph = 3319
View Source
const KEY_hebrew_resh = 3320
View Source
const KEY_hebrew_samech = 3313
View Source
const KEY_hebrew_samekh = 3313
View Source
const KEY_hebrew_shin = 3321
View Source
const KEY_hebrew_taf = 3322
View Source
const KEY_hebrew_taw = 3322
View Source
const KEY_hebrew_tet = 3304
View Source
const KEY_hebrew_teth = 3304
View Source
const KEY_hebrew_waw = 3301
View Source
const KEY_hebrew_yod = 3305
View Source
const KEY_hebrew_zade = 3318
View Source
const KEY_hebrew_zadi = 3318
View Source
const KEY_hebrew_zain = 3302
View Source
const KEY_hebrew_zayin = 3302
View Source
const KEY_hexagram = 2778
View Source
const KEY_horizconnector = 2211
View Source
const KEY_horizlinescan1 = 2543
View Source
const KEY_horizlinescan3 = 2544
View Source
const KEY_horizlinescan5 = 2545
View Source
const KEY_horizlinescan7 = 2546
View Source
const KEY_horizlinescan9 = 2547
View Source
const KEY_hstroke = 689
View Source
const KEY_ht = 2530
View Source
const KEY_hyphen = 173
View Source
const KEY_i = 105
View Source
const KEY_iTouch = 269025120
View Source
const KEY_iacute = 237
View Source
const KEY_ibelowdot = 16785099
View Source
const KEY_ibreve = 16777517
View Source
const KEY_icircumflex = 238
View Source
const KEY_identical = 2255
View Source
const KEY_idiaeresis = 239
View Source
const KEY_idotless = 697
View Source
const KEY_ifonlyif = 2253
View Source
const KEY_igrave = 236
View Source
const KEY_ihook = 16785097
View Source
const KEY_imacron = 1007
View Source
const KEY_implies = 2254
View Source
const KEY_includedin = 2266
View Source
const KEY_includes = 2267
View Source
const KEY_infinity = 2242
View Source
const KEY_integral = 2239
View Source
const KEY_intersection = 2268
View Source
const KEY_iogonek = 999
View Source
const KEY_itilde = 949
View Source
const KEY_j = 106
View Source
const KEY_jcircumflex = 700
View Source
const KEY_jot = 3018
View Source
const KEY_k = 107
View Source
const KEY_kana_A = 1201
View Source
const KEY_kana_CHI = 1217
View Source
const KEY_kana_E = 1204
View Source
const KEY_kana_FU = 1228
View Source
const KEY_kana_HA = 1226
View Source
const KEY_kana_HE = 1229
View Source
const KEY_kana_HI = 1227
View Source
const KEY_kana_HO = 1230
View Source
const KEY_kana_HU = 1228
View Source
const KEY_kana_I = 1202
View Source
const KEY_kana_KA = 1206
View Source
const KEY_kana_KE = 1209
View Source
const KEY_kana_KI = 1207
View Source
const KEY_kana_KO = 1210
View Source
const KEY_kana_KU = 1208
View Source
const KEY_kana_MA = 1231
View Source
const KEY_kana_ME = 1234
View Source
const KEY_kana_MI = 1232
View Source
const KEY_kana_MO = 1235
View Source
const KEY_kana_MU = 1233
View Source
const KEY_kana_N = 1245
View Source
const KEY_kana_NA = 1221
View Source
const KEY_kana_NE = 1224
View Source
const KEY_kana_NI = 1222
View Source
const KEY_kana_NO = 1225
View Source
const KEY_kana_NU = 1223
View Source
const KEY_kana_O = 1205
View Source
const KEY_kana_RA = 1239
View Source
const KEY_kana_RE = 1242
View Source
const KEY_kana_RI = 1240
View Source
const KEY_kana_RO = 1243
View Source
const KEY_kana_RU = 1241
View Source
const KEY_kana_SA = 1211
View Source
const KEY_kana_SE = 1214
View Source
const KEY_kana_SHI = 1212
View Source
const KEY_kana_SO = 1215
View Source
const KEY_kana_SU = 1213
View Source
const KEY_kana_TA = 1216
View Source
const KEY_kana_TE = 1219
View Source
const KEY_kana_TI = 1217
View Source
const KEY_kana_TO = 1220
View Source
const KEY_kana_TSU = 1218
View Source
const KEY_kana_TU = 1218
View Source
const KEY_kana_U = 1203
View Source
const KEY_kana_WA = 1244
View Source
const KEY_kana_WO = 1190
View Source
const KEY_kana_YA = 1236
View Source
const KEY_kana_YO = 1238
View Source
const KEY_kana_YU = 1237
View Source
const KEY_kana_a = 1191
View Source
const KEY_kana_closingbracket = 1187
View Source
const KEY_kana_comma = 1188
View Source
const KEY_kana_conjunctive = 1189
View Source
const KEY_kana_e = 1194
View Source
const KEY_kana_fullstop = 1185
View Source
const KEY_kana_i = 1192
View Source
const KEY_kana_middledot = 1189
View Source
const KEY_kana_o = 1195
View Source
const KEY_kana_openingbracket = 1186
View Source
const KEY_kana_switch = 65406
View Source
const KEY_kana_tsu = 1199
View Source
const KEY_kana_tu = 1199
View Source
const KEY_kana_u = 1193
View Source
const KEY_kana_ya = 1196
View Source
const KEY_kana_yo = 1198
View Source
const KEY_kana_yu = 1197
View Source
const KEY_kappa = 930
View Source
const KEY_kcedilla = 1011
View Source
const KEY_kra = 930
View Source
const KEY_l = 108
View Source
const KEY_lacute = 485
View Source
const KEY_latincross = 2777
View Source
const KEY_lbelowdot = 16784951
View Source
const KEY_lcaron = 437
View Source
const KEY_lcedilla = 950
View Source
const KEY_leftanglebracket = 2748
View Source
const KEY_leftarrow = 2299
View Source
const KEY_leftcaret = 2979
View Source
const KEY_leftdoublequotemark = 2770
View Source
const KEY_leftmiddlecurlybrace = 2223
View Source
const KEY_leftopentriangle = 2764
View Source
const KEY_leftpointer = 2794
View Source
const KEY_leftradical = 2209
View Source
const KEY_leftshoe = 3034
View Source
const KEY_leftsinglequotemark = 2768
View Source
const KEY_leftt = 2548
View Source
const KEY_lefttack = 3036
View Source
const KEY_less = 60
View Source
const KEY_lessthanequal = 2236
View Source
const KEY_lf = 2533
View Source
const KEY_logicaland = 2270
View Source
const KEY_logicalor = 2271
View Source
const KEY_lowleftcorner = 2541
View Source
const KEY_lowrightcorner = 2538
View Source
const KEY_lstroke = 435
View Source
const KEY_m = 109
View Source
const KEY_mabovedot = 16784961
View Source
const KEY_macron = 175
View Source
const KEY_malesymbol = 2807
View Source
const KEY_maltesecross = 2800
View Source
const KEY_marker = 2751
View Source
const KEY_masculine = 186
View Source
const KEY_minus = 45
View Source
const KEY_minutes = 2774
View Source
const KEY_mu = 181
View Source
const KEY_multiply = 215
View Source
const KEY_musicalflat = 2806
View Source
const KEY_musicalsharp = 2805
View Source
const KEY_n = 110
View Source
const KEY_nabla = 2245
View Source
const KEY_nacute = 497
View Source
const KEY_ncaron = 498
View Source
const KEY_ncedilla = 1009
View Source
const KEY_ninesubscript = 16785545
View Source
const KEY_ninesuperior = 16785529
View Source
const KEY_nl = 2536
View Source
const KEY_nobreakspace = 160
View Source
const KEY_notapproxeq = 16785991
View Source
const KEY_notelementof = 16785929
View Source
const KEY_notequal = 2237
View Source
const KEY_notidentical = 16786018
View Source
const KEY_notsign = 172
View Source
const KEY_ntilde = 241
View Source
const KEY_numbersign = 35
View Source
const KEY_numerosign = 1712
View Source
const KEY_o = 111
View Source
const KEY_oacute = 243
View Source
const KEY_obarred = 16777845
View Source
const KEY_obelowdot = 16785101
View Source
const KEY_ocaron = 16777682
View Source
const KEY_ocircumflex = 244
View Source
const KEY_ocircumflexacute = 16785105
View Source
const KEY_ocircumflexbelowdot = 16785113
View Source
const KEY_ocircumflexgrave = 16785107
View Source
const KEY_ocircumflexhook = 16785109
View Source
const KEY_ocircumflextilde = 16785111
View Source
const KEY_odiaeresis = 246
View Source
const KEY_odoubleacute = 501
View Source
const KEY_oe = 5053
View Source
const KEY_ogonek = 434
View Source
const KEY_ograve = 242
View Source
const KEY_ohook = 16785103
View Source
const KEY_ohorn = 16777633
View Source
const KEY_ohornacute = 16785115
View Source
const KEY_ohornbelowdot = 16785123
View Source
const KEY_ohorngrave = 16785117
View Source
const KEY_ohornhook = 16785119
View Source
const KEY_ohorntilde = 16785121
View Source
const KEY_omacron = 1010
View Source
const KEY_oneeighth = 2755
View Source
const KEY_onefifth = 2738
View Source
const KEY_onehalf = 189
View Source
const KEY_onequarter = 188
View Source
const KEY_onesixth = 2742
View Source
const KEY_onesubscript = 16785537
View Source
const KEY_onesuperior = 185
View Source
const KEY_onethird = 2736
View Source
const KEY_ooblique = 248
View Source
const KEY_openrectbullet = 2786
View Source
const KEY_openstar = 2789
View Source
const KEY_opentribulletdown = 2788
View Source
const KEY_opentribulletup = 2787
View Source
const KEY_ordfeminine = 170
View Source
const KEY_oslash = 248
View Source
const KEY_otilde = 245
View Source
const KEY_overbar = 3008
View Source
const KEY_overline = 1150
View Source
const KEY_p = 112
View Source
const KEY_pabovedot = 16784983
View Source
const KEY_paragraph = 182
View Source
const KEY_parenleft = 40
View Source
const KEY_parenright = 41
View Source
const KEY_partdifferential = 16785922
View Source
const KEY_partialderivative = 2287
View Source
const KEY_percent = 37
View Source
const KEY_period = 46
View Source
const KEY_periodcentered = 183
View Source
const KEY_permille = 2773
View Source
const KEY_phonographcopyright = 2811
View Source
const KEY_plus = 43
View Source
const KEY_plusminus = 177
View Source
const KEY_prescription = 2772
View Source
const KEY_prolongedsound = 1200
View Source
const KEY_punctspace = 2726
View Source
const KEY_q = 113
View Source
const KEY_quad = 3020
View Source
const KEY_question = 63
View Source
const KEY_questiondown = 191
View Source
const KEY_quotedbl = 34
View Source
const KEY_quoteleft = 96
View Source
const KEY_quoteright = 39
View Source
const KEY_r = 114
View Source
const KEY_racute = 480
View Source
const KEY_radical = 2262
View Source
const KEY_rcaron = 504
View Source
const KEY_rcedilla = 947
View Source
const KEY_registered = 174
View Source
const KEY_rightanglebracket = 2750
View Source
const KEY_rightarrow = 2301
View Source
const KEY_rightcaret = 2982
View Source
const KEY_rightdoublequotemark = 2771
View Source
const KEY_rightmiddlecurlybrace = 2224
View Source
const KEY_rightmiddlesummation = 2231
View Source
const KEY_rightopentriangle = 2765
View Source
const KEY_rightpointer = 2795
View Source
const KEY_rightshoe = 3032
View Source
const KEY_rightsinglequotemark = 2769
View Source
const KEY_rightt = 2549
View Source
const KEY_righttack = 3068
View Source
const KEY_s = 115
View Source
const KEY_sabovedot = 16784993
View Source
const KEY_sacute = 438
View Source
const KEY_scaron = 441
View Source
const KEY_scedilla = 442
View Source
const KEY_schwa = 16777817
View Source
const KEY_scircumflex = 766
View Source
const KEY_script_switch = 65406
View Source
const KEY_seconds = 2775
View Source
const KEY_section = 167
View Source
const KEY_semicolon = 59
View Source
const KEY_semivoicedsound = 1247
View Source
const KEY_seveneighths = 2758
View Source
const KEY_sevensubscript = 16785543
View Source
const KEY_sevensuperior = 16785527
View Source
const KEY_signaturemark = 2762
View Source
const KEY_signifblank = 2732
View Source
const KEY_similarequal = 2249
View Source
const KEY_singlelowquotemark = 2813
View Source
const KEY_sixsubscript = 16785542
View Source
const KEY_sixsuperior = 16785526
View Source
const KEY_slash = 47
View Source
const KEY_soliddiamond = 2528
View Source
const KEY_space = 32
View Source
const KEY_squareroot = 16785946
View Source
const KEY_ssharp = 223
View Source
const KEY_sterling = 163
View Source
const KEY_stricteq = 16786019
View Source
const KEY_t = 116
View Source
const KEY_tabovedot = 16785003
View Source
const KEY_tcaron = 443
View Source
const KEY_tcedilla = 510
View Source
const KEY_telephone = 2809
View Source
const KEY_telephonerecorder = 2810
View Source
const KEY_therefore = 2240
View Source
const KEY_thinspace = 2727
View Source
const KEY_thorn = 254
View Source
const KEY_threeeighths = 2756
View Source
const KEY_threefifths = 2740
View Source
const KEY_threequarters = 190
View Source
const KEY_threesubscript = 16785539
View Source
const KEY_threesuperior = 179
View Source
const KEY_tintegral = 16785965
View Source
const KEY_topintegral = 2212
View Source
const KEY_topleftparens = 2219
View Source
const KEY_topleftradical = 2210
View Source
const KEY_topleftsqbracket = 2215
View Source
const KEY_topleftsummation = 2225
View Source
const KEY_toprightparens = 2221
View Source
const KEY_toprightsqbracket = 2217
View Source
const KEY_toprightsummation = 2229
View Source
const KEY_topt = 2551
View Source
const KEY_topvertsummationconnector = 2227
View Source
const KEY_trademark = 2761
View Source
const KEY_trademarkincircle = 2763
View Source
const KEY_tslash = 956
View Source
const KEY_twofifths = 2739
View Source
const KEY_twosubscript = 16785538
View Source
const KEY_twosuperior = 178
View Source
const KEY_twothirds = 2737
View Source
const KEY_u = 117
View Source
const KEY_uacute = 250
View Source
const KEY_ubelowdot = 16785125
View Source
const KEY_ubreve = 765
View Source
const KEY_ucircumflex = 251
View Source
const KEY_udiaeresis = 252
View Source
const KEY_udoubleacute = 507
View Source
const KEY_ugrave = 249
View Source
const KEY_uhook = 16785127
View Source
const KEY_uhorn = 16777648
View Source
const KEY_uhornacute = 16785129
View Source
const KEY_uhornbelowdot = 16785137
View Source
const KEY_uhorngrave = 16785131
View Source
const KEY_uhornhook = 16785133
View Source
const KEY_uhorntilde = 16785135
View Source
const KEY_umacron = 1022
View Source
const KEY_underbar = 3014
View Source
const KEY_underscore = 95
View Source
const KEY_union = 2269
View Source
const KEY_uogonek = 1017
View Source
const KEY_uparrow = 2300
View Source
const KEY_upcaret = 2985
View Source
const KEY_upleftcorner = 2540
View Source
const KEY_uprightcorner = 2539
View Source
const KEY_upshoe = 3011
View Source
const KEY_upstile = 3027
View Source
const KEY_uptack = 3022
View Source
const KEY_uring = 505
View Source
const KEY_utilde = 1021
View Source
const KEY_v = 118
View Source
const KEY_variation = 2241
View Source
const KEY_vertbar = 2552
View Source
const KEY_vertconnector = 2214
View Source
const KEY_voicedsound = 1246
View Source
const KEY_vt = 2537
View Source
const KEY_w = 119
View Source
const KEY_wacute = 16785027
View Source
const KEY_wcircumflex = 16777589
View Source
const KEY_wdiaeresis = 16785029
View Source
const KEY_wgrave = 16785025
View Source
const KEY_x = 120
View Source
const KEY_xabovedot = 16785035
View Source
const KEY_y = 121
View Source
const KEY_yacute = 253
View Source
const KEY_ybelowdot = 16785141
View Source
const KEY_ycircumflex = 16777591
View Source
const KEY_ydiaeresis = 255
View Source
const KEY_yen = 165
View Source
const KEY_ygrave = 16785139
View Source
const KEY_yhook = 16785143
View Source
const KEY_ytilde = 16785145
View Source
const KEY_z = 122
View Source
const KEY_zabovedot = 447
View Source
const KEY_zacute = 444
View Source
const KEY_zcaron = 446
View Source
const KEY_zerosubscript = 16785536
View Source
const KEY_zerosuperior = 16785520
View Source
const KEY_zstroke = 16777654
View Source
const MODIFIER_MASK = 469769999

MODIFIER_MASK: mask covering all entries in GdkModifierType.

View Source
const PRIORITY_REDRAW = 120

PRIORITY_REDRAW: this is the priority that the idle handler processing surface updates is given in the main loop.

Variables

View Source
var (
	GTypeAxisUse               = coreglib.Type(C.gdk_axis_use_get_type())
	GTypeCrossingMode          = coreglib.Type(C.gdk_crossing_mode_get_type())
	GTypeDevicePadFeature      = coreglib.Type(C.gdk_device_pad_feature_get_type())
	GTypeDeviceToolType        = coreglib.Type(C.gdk_device_tool_type_get_type())
	GTypeDragCancelReason      = coreglib.Type(C.gdk_drag_cancel_reason_get_type())
	GTypeEventType             = coreglib.Type(C.gdk_event_type_get_type())
	GTypeFullscreenMode        = coreglib.Type(C.gdk_fullscreen_mode_get_type())
	GTypeGLError               = coreglib.Type(C.gdk_gl_error_get_type())
	GTypeGravity               = coreglib.Type(C.gdk_gravity_get_type())
	GTypeInputSource           = coreglib.Type(C.gdk_input_source_get_type())
	GTypeKeyMatch              = coreglib.Type(C.gdk_key_match_get_type())
	GTypeMemoryFormat          = coreglib.Type(C.gdk_memory_format_get_type())
	GTypeNotifyType            = coreglib.Type(C.gdk_notify_type_get_type())
	GTypeScrollDirection       = coreglib.Type(C.gdk_scroll_direction_get_type())
	GTypeSubpixelLayout        = coreglib.Type(C.gdk_subpixel_layout_get_type())
	GTypeSurfaceEdge           = coreglib.Type(C.gdk_surface_edge_get_type())
	GTypeTouchpadGesturePhase  = coreglib.Type(C.gdk_touchpad_gesture_phase_get_type())
	GTypeVulkanError           = coreglib.Type(C.gdk_vulkan_error_get_type())
	GTypeAnchorHints           = coreglib.Type(C.gdk_anchor_hints_get_type())
	GTypeAxisFlags             = coreglib.Type(C.gdk_axis_flags_get_type())
	GTypeDragAction            = coreglib.Type(C.gdk_drag_action_get_type())
	GTypeFrameClockPhase       = coreglib.Type(C.gdk_frame_clock_phase_get_type())
	GTypeModifierType          = coreglib.Type(C.gdk_modifier_type_get_type())
	GTypePaintableFlags        = coreglib.Type(C.gdk_paintable_flags_get_type())
	GTypeSeatCapabilities      = coreglib.Type(C.gdk_seat_capabilities_get_type())
	GTypeToplevelState         = coreglib.Type(C.gdk_toplevel_state_get_type())
	GTypeDevicePad             = coreglib.Type(C.gdk_device_pad_get_type())
	GTypeDragSurface           = coreglib.Type(C.gdk_drag_surface_get_type())
	GTypePaintable             = coreglib.Type(C.gdk_paintable_get_type())
	GTypePopup                 = coreglib.Type(C.gdk_popup_get_type())
	GTypeToplevel              = coreglib.Type(C.gdk_toplevel_get_type())
	GTypeAppLaunchContext      = coreglib.Type(C.gdk_app_launch_context_get_type())
	GTypeButtonEvent           = coreglib.Type(C.gdk_button_event_get_type())
	GTypeCairoContext          = coreglib.Type(C.gdk_cairo_context_get_type())
	GTypeClipboard             = coreglib.Type(C.gdk_clipboard_get_type())
	GTypeContentDeserializer   = coreglib.Type(C.gdk_content_deserializer_get_type())
	GTypeContentProvider       = coreglib.Type(C.gdk_content_provider_get_type())
	GTypeContentSerializer     = coreglib.Type(C.gdk_content_serializer_get_type())
	GTypeCrossingEvent         = coreglib.Type(C.gdk_crossing_event_get_type())
	GTypeCursor                = coreglib.Type(C.gdk_cursor_get_type())
	GTypeDNDEvent              = coreglib.Type(C.gdk_dnd_event_get_type())
	GTypeDeleteEvent           = coreglib.Type(C.gdk_delete_event_get_type())
	GTypeDevice                = coreglib.Type(C.gdk_device_get_type())
	GTypeDeviceTool            = coreglib.Type(C.gdk_device_tool_get_type())
	GTypeDisplay               = coreglib.Type(C.gdk_display_get_type())
	GTypeDisplayManager        = coreglib.Type(C.gdk_display_manager_get_type())
	GTypeDrag                  = coreglib.Type(C.gdk_drag_get_type())
	GTypeDrawContext           = coreglib.Type(C.gdk_draw_context_get_type())
	GTypeDrop                  = coreglib.Type(C.gdk_drop_get_type())
	GTypeEvent                 = coreglib.Type(C.gdk_event_get_type())
	GTypeFocusEvent            = coreglib.Type(C.gdk_focus_event_get_type())
	GTypeFrameClock            = coreglib.Type(C.gdk_frame_clock_get_type())
	GTypeGLContext             = coreglib.Type(C.gdk_gl_context_get_type())
	GTypeGLTexture             = coreglib.Type(C.gdk_gl_texture_get_type())
	GTypeGrabBrokenEvent       = coreglib.Type(C.gdk_grab_broken_event_get_type())
	GTypeKeyEvent              = coreglib.Type(C.gdk_key_event_get_type())
	GTypeMemoryTexture         = coreglib.Type(C.gdk_memory_texture_get_type())
	GTypeMonitor               = coreglib.Type(C.gdk_monitor_get_type())
	GTypeMotionEvent           = coreglib.Type(C.gdk_motion_event_get_type())
	GTypePadEvent              = coreglib.Type(C.gdk_pad_event_get_type())
	GTypeProximityEvent        = coreglib.Type(C.gdk_proximity_event_get_type())
	GTypeScrollEvent           = coreglib.Type(C.gdk_scroll_event_get_type())
	GTypeSeat                  = coreglib.Type(C.gdk_seat_get_type())
	GTypeSnapshot              = coreglib.Type(C.gdk_snapshot_get_type())
	GTypeSurface               = coreglib.Type(C.gdk_surface_get_type())
	GTypeTexture               = coreglib.Type(C.gdk_texture_get_type())
	GTypeTouchEvent            = coreglib.Type(C.gdk_touch_event_get_type())
	GTypeTouchpadEvent         = coreglib.Type(C.gdk_touchpad_event_get_type())
	GTypeVulkanContext         = coreglib.Type(C.gdk_vulkan_context_get_type())
	GTypeContentFormats        = coreglib.Type(C.gdk_content_formats_get_type())
	GTypeContentFormatsBuilder = coreglib.Type(C.gdk_content_formats_builder_get_type())
	GTypeEventSequence         = coreglib.Type(C.gdk_event_sequence_get_type())
	GTypeFrameTimings          = coreglib.Type(C.gdk_frame_timings_get_type())
	GTypePopupLayout           = coreglib.Type(C.gdk_popup_layout_get_type())
	GTypeRGBA                  = coreglib.Type(C.gdk_rgba_get_type())
	GTypeRectangle             = coreglib.Type(C.gdk_rectangle_get_type())
	GTypeToplevelLayout        = coreglib.Type(C.gdk_toplevel_layout_get_type())
)

GType values.

Functions

func CairoDrawFromGL

func CairoDrawFromGL(cr *cairo.Context, surface Surfacer, source, sourceType, bufferScale, x, y, width, height int)

CairoDrawFromGL: main way to draw GL content in GTK.

It takes a render buffer ID (source_type == RENDERBUFFER) or a texture id (source_type == 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 RENDERBUFFER the code will always fall back to software for buffers with alpha components, so make sure you use TEXTURE if using alpha.

Calling this may change the current GL context.

The function takes the following parameters:

  • cr: cairo context.
  • surface we're rendering for (not necessarily into).
  • source: GL ID of the source buffer.
  • sourceType: type of the source.
  • bufferScale: scale-factor that the source buffer is allocated for.
  • x: source x position in source to start copying from in GL coordinates.
  • y: source y position in source to start copying from in GL coordinates.
  • width of the region to draw.
  • height of the region to draw.

func CairoRectangle

func CairoRectangle(cr *cairo.Context, rectangle *Rectangle)

CairoRectangle adds the given rectangle to the current path of cr.

The function takes the following parameters:

  • cr: cairo context.
  • rectangle: Rectangle.

func CairoRegion

func CairoRegion(cr *cairo.Context, region *cairo.Region)

CairoRegion adds the given region to the current path of cr.

The function takes the following parameters:

  • cr: cairo context.
  • region: #cairo_region_t.

func CairoRegionCreateFromSurface

func CairoRegionCreateFromSurface(surface *cairo.Surface) *cairo.Region

CairoRegionCreateFromSurface 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().

The function takes the following parameters:

  • surface: cairo surface.

The function returns the following values:

  • region: cairo_region_t; must be freed with cairo_region_destroy().

func CairoSetSourcePixbuf

func CairoSetSourcePixbuf(cr *cairo.Context, pixbuf *gdkpixbuf.Pixbuf, pixbufX, pixbufY float64)

CairoSetSourcePixbuf sets the given pixbuf as the source pattern for cr.

The pattern has an extend mode of CAIRO_EXTEND_NONE and is aligned so that the origin of pixbuf is pixbuf_x, pixbuf_y.

The function takes the following parameters:

  • cr: cairo context.
  • pixbuf: Pixbuf.
  • pixbufX: x coordinate of location to place upper left corner of pixbuf.
  • pixbufY: y coordinate of location to place upper left corner of pixbuf.

func CairoSetSourceRGBA

func CairoSetSourceRGBA(cr *cairo.Context, rgba *RGBA)

CairoSetSourceRGBA sets the specified RGBA as the source color of cr.

The function takes the following parameters:

  • cr: cairo context.
  • rgba: RGBA.

func ContentDeserializeAsync

func ContentDeserializeAsync(ctx context.Context, stream gio.InputStreamer, mimeType string, typ coreglib.Type, ioPriority int, callback gio.AsyncReadyCallback)

ContentDeserializeAsync: read 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.

When the operation is finished, callback will be called. You must then call content_deserialize_finish to get the result of the operation.

The function takes the following parameters:

  • ctx (optional): optional GCancellable object.
  • stream: GInputStream to read the serialized content from.
  • mimeType: mime type to deserialize from.
  • typ: GType to deserialize from.
  • ioPriority: i/O priority of the operation.
  • callback (optional) to call when the operation is done.

func ContentDeserializeFinish

func ContentDeserializeFinish(result gio.AsyncResulter, value *coreglib.Value) error

ContentDeserializeFinish finishes a content deserialization operation.

The function takes the following parameters:

  • result: GAsyncResult.
  • value: return location for the result of the operation.

func ContentSerializeAsync

func ContentSerializeAsync(ctx context.Context, stream gio.OutputStreamer, mimeType string, value *coreglib.Value, ioPriority int, callback gio.AsyncReadyCallback)

ContentSerializeAsync: serialize content and write it to the given output stream, asynchronously.

The default I/O priority is G_PRIORITY_DEFAULT (i.e. 0), and lower numbers indicate a higher priority.

When the operation is finished, callback will be called. You must then call content_serialize_finish to get the result of the operation.

The function takes the following parameters:

  • ctx (optional): optional #GCancellable object.
  • stream: GOutputStream to write the serialized content to.
  • mimeType: mime type to serialize to.
  • value: content to serialize.
  • ioPriority: i/O priority of the operation.
  • callback (optional) to call when the operation is done.

func ContentSerializeFinish

func ContentSerializeFinish(result gio.AsyncResulter) error

ContentSerializeFinish finishes a content serialization operation.

The function takes the following parameters:

  • result: GAsyncResult.

func DragActionIsUnique

func DragActionIsUnique(action DragAction) bool

DragActionIsUnique checks if action represents a single action or includes multiple actions.

When action is 0 - ie no action was given, TRUE is returned.

The function takes the following parameters:

  • action: GdkDragAction.

The function returns the following values:

  • ok: TRUE if exactly one action was given.

func EventsGetAngle

func EventsGetAngle(event1, event2 Eventer) (float64, bool)

EventsGetAngle 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.

The function takes the following parameters:

  • event1: first GdkEvent.
  • event2: second GdkEvent.

The function returns the following values:

  • angle: return location for the relative angle between both events.
  • ok: TRUE if the angle could be calculated.

func EventsGetCenter

func EventsGetCenter(event1, event2 Eventer) (x, y float64, ok bool)

EventsGetCenter returns the point halfway between the events' positions.

This assumes that both events have X/Y information. If not, this function returns FALSE.

The function takes the following parameters:

  • event1: first GdkEvent.
  • event2: second GdkEvent.

The function returns the following values:

  • x: return location for the X coordinate of the center.
  • y: return location for the Y coordinate of the center.
  • ok: TRUE if the center could be calculated.

func EventsGetDistance

func EventsGetDistance(event1, event2 Eventer) (float64, bool)

EventsGetDistance returns the distance between the event locations.

This assumes that both events have X/Y information. If not, this function returns FALSE.

The function takes the following parameters:

  • event1: first GdkEvent.
  • event2: second GdkEvent.

The function returns the following values:

  • distance: return location for the distance.
  • ok: TRUE if the distance could be calculated.

func GLContextClearCurrent

func GLContextClearCurrent()

GLContextClearCurrent clears the current GdkGLContext.

Any OpenGL call after this function returns will be ignored until gdk.GLContext.MakeCurrent() is called.

func GLErrorQuark

func GLErrorQuark() glib.Quark

The function returns the following values:

func InternMIMEType

func InternMIMEType(str string) string

InternMIMEType canonicalizes the given mime type and interns the result.

If string is not a valid mime type, NULL is returned instead. See RFC 2048 for the syntax if mime types.

The function takes the following parameters:

  • str: string of a potential mime type.

The function returns the following values:

  • utf8: interned string for the canonicalized mime type or NULL if the string wasn't a valid mime type.

func KeyvalConvertCase

func KeyvalConvertCase(symbol uint) (lower, upper uint)

KeyvalConvertCase obtains the upper- and lower-case versions of the keyval symbol.

Examples of keyvals are K_KEY_a, K_KEY_Enter, K_KEY_F1, etc.

The function takes the following parameters:

  • symbol: keyval.

The function returns the following values:

  • lower: return location for lowercase version of symbol.
  • upper: return location for uppercase version of symbol.

func KeyvalFromName

func KeyvalFromName(keyvalName string) uint

KeyvalFromName 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_”.

The function takes the following parameters:

  • keyvalName: key name.

The function returns the following values:

  • guint: corresponding key value, or GDK_KEY_VoidSymbol if the key name is not a valid key.

func KeyvalIsLower

func KeyvalIsLower(keyval uint) bool

KeyvalIsLower returns TRUE if the given key value is in lower case.

The function takes the following parameters:

  • keyval: key value.

The function returns the following values:

  • ok: TRUE if keyval is in lower case, or if keyval is not subject to case conversion.

func KeyvalIsUpper

func KeyvalIsUpper(keyval uint) bool

KeyvalIsUpper returns TRUE if the given key value is in upper case.

The function takes the following parameters:

  • keyval: key value.

The function returns the following values:

  • ok: TRUE if keyval is in upper case, or if keyval is not subject to case conversion.

func KeyvalName

func KeyvalName(keyval uint) string

KeyvalName 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_”.

The function takes the following parameters:

  • keyval: key value.

The function returns the following values:

  • utf8 (optional): string containing the name of the key, or NULL if keyval is not a valid key. The string should not be modified.

func KeyvalToLower

func KeyvalToLower(keyval uint) uint

KeyvalToLower converts a key value to lower case, if applicable.

The function takes the following parameters:

  • keyval: key value.

The function returns the following values:

  • guint: lower case form of keyval, or keyval itself if it is already in lower case or it is not subject to case conversion.

func KeyvalToUnicode

func KeyvalToUnicode(keyval uint) uint32

KeyvalToUnicode: convert 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.

The function takes the following parameters:

  • keyval: GDK key symbol.

The function returns the following values:

  • guint32: corresponding unicode character, or 0 if there is no corresponding character.

func KeyvalToUpper

func KeyvalToUpper(keyval uint) uint

KeyvalToUpper converts a key value to upper case, if applicable.

The function takes the following parameters:

  • keyval: key value.

The function returns the following values:

  • guint: upper case form of keyval, or keyval itself if it is already in upper case or it is not subject to case conversion.

func PixbufGetFromSurface

func PixbufGetFromSurface(surface *cairo.Surface, srcX, srcY, width, height int) *gdkpixbuf.Pixbuf

PixbufGetFromSurface 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.

The function takes the following parameters:

  • surface to copy from.
  • srcX: source X coordinate within surface.
  • srcY: source Y coordinate within surface.
  • width: width in pixels of region to get.
  • height: height in pixels of region to get.

The function returns the following values:

  • pixbuf (optional): newly-created pixbuf with a reference count of 1, or NULL on error.

func PixbufGetFromTexture

func PixbufGetFromTexture(texture Texturer) *gdkpixbuf.Pixbuf

PixbufGetFromTexture 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.

The function takes the following parameters:

  • texture: GdkTexture.

The function returns the following values:

  • pixbuf (optional): new Pixbuf or NULL in case of an error.

func SetAllowedBackends

func SetAllowedBackends(backends string)

SetAllowedBackends 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:

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 gdk.Display().Open, gtk_init(), or gtk_init_check() in order to take effect.

The function takes the following parameters:

  • backends: comma-separated list of backends.

func ToplevelSizeGetType

func ToplevelSizeGetType() coreglib.Type

The function returns the following values:

func UnicodeToKeyval

func UnicodeToKeyval(wc uint32) uint

UnicodeToKeyval: convert from a Unicode character to a key symbol.

The function takes the following parameters:

  • wc: unicode character.

The function returns the following values:

  • guint: corresponding GDK key symbol, if one exists. or, if there is no corresponding symbol, wc | 0x01000000.

func VulkanErrorQuark

func VulkanErrorQuark() glib.Quark

The function returns the following values:

Types

type AnchorHints

type AnchorHints C.guint

AnchorHints: 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, GDK_ANCHOR_FLIP_X will replace GDK_GRAVITY_NORTH_WEST with GDK_GRAVITY_NORTH_EAST and vice versa if the surface extends beyond the left or right edges of the monitor.

If GDK_ANCHOR_SLIDE_X is set, the surface can be shifted horizontally to fit on-screen. If GDK_ANCHOR_RESIZE_X 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.

const (
	// AnchorFlipX: allow flipping anchors horizontally.
	AnchorFlipX AnchorHints = 0b1
	// AnchorFlipY: allow flipping anchors vertically.
	AnchorFlipY AnchorHints = 0b10
	// AnchorSlideX: allow sliding surface horizontally.
	AnchorSlideX AnchorHints = 0b100
	// AnchorSlideY: allow sliding surface vertically.
	AnchorSlideY AnchorHints = 0b1000
	// AnchorResizeX: allow resizing surface horizontally.
	AnchorResizeX AnchorHints = 0b10000
	// AnchorResizeY: allow resizing surface vertically.
	AnchorResizeY AnchorHints = 0b100000
	// AnchorFlip: allow flipping anchors on both axes.
	AnchorFlip AnchorHints = 0b11
	// AnchorSlide: allow sliding surface on both axes.
	AnchorSlide AnchorHints = 0b1100
	// AnchorResize: allow resizing surface on both axes.
	AnchorResize AnchorHints = 0b110000
)

func (AnchorHints) Has

func (a AnchorHints) Has(other AnchorHints) bool

Has returns true if a contains other.

func (AnchorHints) String

func (a AnchorHints) String() string

String returns the names in string for AnchorHints.

type AppLaunchContext

type AppLaunchContext struct {
	gio.AppLaunchContext
	// contains filtered or unexported fields
}

AppLaunchContext: GdkAppLaunchContext 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 screen or workspace.

Launching an application

GdkAppLaunchContext *context;

context = gdk_display_get_app_launch_context (display);

gdk_app_launch_context_set_display (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);.

func (*AppLaunchContext) Display

func (context *AppLaunchContext) Display() *Display

Display gets the GdkDisplay that context is for.

The function returns the following values:

  • display of context.

func (*AppLaunchContext) SetDesktop

func (context *AppLaunchContext) SetDesktop(desktop int)

SetDesktop 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 (http://www.freedesktop.org/Standards/wm-spec).

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.

The function takes the following parameters:

  • desktop: number of a workspace, or -1.

func (*AppLaunchContext) SetIcon

func (context *AppLaunchContext) SetIcon(icon gio.Iconner)

SetIcon sets the icon for applications that are launched with this context.

Window Managers can use this information when displaying startup notification.

See also gdk.AppLaunchContext.SetIconName().

The function takes the following parameters:

  • icon (optional) or NULL.

func (*AppLaunchContext) SetIconName

func (context *AppLaunchContext) SetIconName(iconName string)

SetIconName sets the icon for applications that are launched with this context.

The icon_name will be interpreted in the same way as the Icon field in desktop files. See also gdk.AppLaunchContext.SetIcon()().

If both icon and icon_name are set, the icon_name takes priority. If neither icon or icon_name 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.

The function takes the following parameters:

  • iconName (optional): icon name, or NULL.

func (*AppLaunchContext) SetTimestamp

func (context *AppLaunchContext) SetTimestamp(timestamp uint32)

SetTimestamp 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'.

The function takes the following parameters:

  • timestamp: timestamp.

type AxisFlags

type AxisFlags C.guint

AxisFlags flags describing the current capabilities of a device/tool.

const (
	// AxisFlagX: x axis is present.
	AxisFlagX AxisFlags = 0b10
	// AxisFlagY: y axis is present.
	AxisFlagY AxisFlags = 0b100
	// AxisFlagDeltaX: scroll X delta axis is present.
	AxisFlagDeltaX AxisFlags = 0b1000
	// AxisFlagDeltaY: scroll Y delta axis is present.
	AxisFlagDeltaY AxisFlags = 0b10000
	// AxisFlagPressure: pressure axis is present.
	AxisFlagPressure AxisFlags = 0b100000
	// AxisFlagXtilt: x tilt axis is present.
	AxisFlagXtilt AxisFlags = 0b1000000
	// AxisFlagYtilt: y tilt axis is present.
	AxisFlagYtilt AxisFlags = 0b10000000
	// AxisFlagWheel: wheel axis is present.
	AxisFlagWheel AxisFlags = 0b100000000
	// AxisFlagDistance: distance axis is present.
	AxisFlagDistance AxisFlags = 0b1000000000
	// AxisFlagRotation z-axis rotation is present.
	AxisFlagRotation AxisFlags = 0b10000000000
	// AxisFlagSlider: slider axis is present.
	AxisFlagSlider AxisFlags = 0b100000000000
)

func (AxisFlags) Has

func (a AxisFlags) Has(other AxisFlags) bool

Has returns true if a contains other.

func (AxisFlags) String

func (a AxisFlags) String() string

String returns the names in string for AxisFlags.

type AxisUse

type AxisUse C.gint

AxisUse 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.

const (
	// AxisIgnore axis is ignored.
	AxisIgnore AxisUse = iota
	// AxisX axis is used as the x axis.
	AxisX
	// AxisY axis is used as the y axis.
	AxisY
	// AxisDeltaX axis is used as the scroll x delta.
	AxisDeltaX
	// AxisDeltaY axis is used as the scroll y delta.
	AxisDeltaY
	// AxisPressure axis is used for pressure information.
	AxisPressure
	// AxisXtilt axis is used for x tilt information.
	AxisXtilt
	// AxisYtilt axis is used for y tilt information.
	AxisYtilt
	// AxisWheel axis is used for wheel information.
	AxisWheel
	// AxisDistance axis is used for pen/tablet distance information.
	AxisDistance
	// AxisRotation axis is used for pen rotation information.
	AxisRotation
	// AxisSlider axis is used for pen slider information.
	AxisSlider
	// AxisLast: constant equal to the numerically highest axis value.
	AxisLast
)

func (AxisUse) String

func (a AxisUse) String() string

String returns the name in string for AxisUse.

type ButtonEvent

type ButtonEvent struct {
	Event
	// contains filtered or unexported fields
}

ButtonEvent: event related to a button on a pointer device.

func (*ButtonEvent) Button

func (event *ButtonEvent) Button() uint

Button: extract the button number from a button event.

The function returns the following values:

  • guint: button of event.

type CairoContext

type CairoContext struct {
	DrawContext
	// contains filtered or unexported fields
}

CairoContext: GdkCairoContext is an object representing the platform-specific draw context.

GdkCairoContexts are created for a surface using gdk.Surface.CreateCairoContext(), and the context can then be used to draw on that surface.

func BaseCairoContext

func BaseCairoContext(obj CairoContexter) *CairoContext

BaseCairoContext returns the underlying base object.

func (*CairoContext) CairoCreate

func (self *CairoContext) CairoCreate() *cairo.Context

CairoCreate retrieves a Cairo context to be used to draw on the GdkSurface of context.

A call to gdk.DrawContext.BeginFrame() with this context must have been done or this function will return NULL.

The returned context is guaranteed to be valid until gdk.DrawContext.EndFrame() is called.

The function returns the following values:

  • context (optional): cairo context to be used to draw the contents of the GdkSurface. NULL is returned when context is not drawing.

type CairoContexter

type CairoContexter interface {
	coreglib.Objector
	// contains filtered or unexported methods
}

CairoContexter describes types inherited from class CairoContext.

To get the original type, the caller must assert this to an interface or another type.

type Clipboard

type Clipboard struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

Clipboard: GdkClipboard object represents data shared between applications or inside an application.

To get a GdkClipboard object, use gdk.Display.GetClipboard() or gdk.Display.GetPrimaryClipboard(). You can find out about the data that is currently available in a clipboard using gdk.Clipboard.GetFormats().

To make text or image data available in a clipboard, use gdk.Clipboard.SetText() or gdk.Clipboard.SetTexture(). For other data, you can use gdk.Clipboard.SetContent(), which takes a gdk.ContentProvider object.

To read textual or image data from a clipboard, use gdk.Clipboard.ReadTextAsync() or gdk.Clipboard.ReadTextureAsync(). For other data, use gdk.Clipboard.ReadAsync(), which provides a GInputStream object.

func (*Clipboard) ConnectChanged

func (clipboard *Clipboard) ConnectChanged(f func()) coreglib.SignalHandle

ConnectChanged is emitted when the clipboard changes ownership.

func (*Clipboard) Content

func (clipboard *Clipboard) Content() *ContentProvider

Content returns the GdkContentProvider currently set on clipboard.

If the clipboard is empty or its contents are not owned by the current process, NULL will be returned.

The function returns the following values:

  • contentProvider (optional): content of a clipboard or NULL if the clipboard does not maintain any content.

func (*Clipboard) Display

func (clipboard *Clipboard) Display() *Display

Display gets the GdkDisplay that the clipboard was created for.

The function returns the following values:

  • display: GdkDisplay.

func (*Clipboard) Formats

func (clipboard *Clipboard) Formats() *ContentFormats

Formats gets the formats that the clipboard can provide its current contents in.

The function returns the following values:

  • contentFormats formats of the clipboard.

func (*Clipboard) IsLocal

func (clipboard *Clipboard) IsLocal() bool

IsLocal returns if the clipboard is local.

A clipboard is considered local if it was last claimed by the running application.

Note that gdk.Clipboard.GetContent() may return NULL even on a local clipboard. In this case the clipboard is empty.

The function returns the following values:

  • ok: TRUE if the clipboard is local.

func (*Clipboard) ReadAsync

func (clipboard *Clipboard) ReadAsync(ctx context.Context, mimeTypes []string, ioPriority int, callback gio.AsyncReadyCallback)

ReadAsync: asynchronously requests an input stream to read the clipboard's contents from.

When the operation is finished callback will be called. You must then call gdk.Clipboard.ReadFinish() to get the result of the operation.

The clipboard will choose the most suitable mime type from the given list to fulfill the request, preferring the ones listed first.

The function takes the following parameters:

  • ctx (optional): optional GCancellable object, NULL to ignore.
  • mimeTypes: NULL-terminated array of mime types to choose from.
  • ioPriority: i/O priority of the request.
  • callback (optional) to call when the request is satisfied.

func (*Clipboard) ReadFinish

func (clipboard *Clipboard) ReadFinish(result gio.AsyncResulter) (string, gio.InputStreamer, error)

ReadFinish finishes an asynchronous clipboard read.

See gdk.Clipboard.ReadAsync().

The function takes the following parameters:

  • result: GAsyncResult.

The function returns the following values:

  • outMimeType (optional): pointer to store the chosen mime type in or NULL.
  • inputStream (optional): GInputStream or NULL on error.

func (*Clipboard) ReadTextAsync

func (clipboard *Clipboard) ReadTextAsync(ctx context.Context, callback gio.AsyncReadyCallback)

ReadTextAsync: asynchronously request the clipboard contents converted to a string.

When the operation is finished callback will be called. You must then call gdk.Clipboard.ReadTextFinish() to get the result.

This is a simple wrapper around gdk.Clipboard.ReadValueAsync(). Use that function or gdk.Clipboard.ReadAsync() directly if you need more control over the operation.

The function takes the following parameters:

  • ctx (optional): optional GCancellable object, NULL to ignore.
  • callback (optional) to call when the request is satisfied.

func (*Clipboard) ReadTextFinish

func (clipboard *Clipboard) ReadTextFinish(result gio.AsyncResulter) (string, error)

ReadTextFinish finishes an asynchronous clipboard read.

See gdk.Clipboard.ReadTextAsync().

The function takes the following parameters:

  • result: GAsyncResult.

The function returns the following values:

  • utf8 (optional): new string or NULL on error.

func (*Clipboard) ReadTextureAsync

func (clipboard *Clipboard) ReadTextureAsync(ctx context.Context, callback gio.AsyncReadyCallback)

ReadTextureAsync: asynchronously request the clipboard contents converted to a GdkPixbuf.

When the operation is finished callback will be called. You must then call gdk.Clipboard.ReadTextureFinish() to get the result.

This is a simple wrapper around gdk.Clipboard.ReadValueAsync(). Use that function or gdk.Clipboard.ReadAsync directly if you need more control over the operation.

The function takes the following parameters:

  • ctx (optional): optional GCancellable object, NULL to ignore.
  • callback (optional) to call when the request is satisfied.

func (*Clipboard) ReadTextureFinish

func (clipboard *Clipboard) ReadTextureFinish(result gio.AsyncResulter) (Texturer, error)

ReadTextureFinish finishes an asynchronous clipboard read.

See gdk.Clipboard.ReadTextureAsync().

The function takes the following parameters:

  • result: GAsyncResult.

The function returns the following values:

  • texture (optional): new GdkTexture or NULL on error.

func (*Clipboard) ReadValueAsync

func (clipboard *Clipboard) ReadValueAsync(ctx context.Context, typ coreglib.Type, ioPriority int, callback gio.AsyncReadyCallback)

ReadValueAsync: asynchronously request the clipboard contents converted to the given type.

When the operation is finished callback will be called. You must then call gdk.Clipboard.ReadValueFinish() to get the resulting GValue.

For local clipboard contents that are available in the given GType, the value will be copied directly. Otherwise, GDK will try to use content_deserialize_async to convert the clipboard's data.

The function takes the following parameters:

  • ctx (optional): optional #GCancellable object, NULL to ignore.
  • typ: GType to read.
  • ioPriority: i/O priority of the request.
  • callback (optional) to call when the request is satisfied.

func (*Clipboard) ReadValueFinish

func (clipboard *Clipboard) ReadValueFinish(result gio.AsyncResulter) (*coreglib.Value, error)

ReadValueFinish finishes an asynchronous clipboard read.

See gdk.Clipboard.ReadValueAsync().

The function takes the following parameters:

  • result: GAsyncResult.

The function returns the following values:

  • value: GValue containing the result.

func (*Clipboard) Set

func (clipboard *Clipboard) Set(value *coreglib.Value)

Set sets the clipboard to contain the given value.

The function takes the following parameters:

  • value: GValue to set.

func (*Clipboard) SetContent

func (clipboard *Clipboard) SetContent(provider *ContentProvider) bool

SetContent 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.

The function takes the following parameters:

  • provider (optional): new contents of clipboard or NULL to clear the clipboard.

The function returns the following values:

  • ok: TRUE if setting the clipboard succeeded.

func (*Clipboard) SetText

func (clipboard *Clipboard) SetText(text string)

SetText puts the given text into the clipboard.

The function takes the following parameters:

  • text: text to put into the clipboard.

func (*Clipboard) SetTexture

func (clipboard *Clipboard) SetTexture(texture Texturer)

SetTexture puts the given texture into the clipboard.

The function takes the following parameters:

  • texture: GdkTexture to put into the clipboard.

func (*Clipboard) StoreAsync

func (clipboard *Clipboard) StoreAsync(ctx context.Context, ioPriority int, callback gio.AsyncReadyCallback)

StoreAsync: asynchronously instructs the clipboard to store its contents remotely.

If the clipboard is not local, this function does nothing but report success.

The callback must call gdk.Clipboard.StoreFinish().

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 gtk.Application is shut down, so you likely don't need to call it.

The function takes the following parameters:

  • ctx (optional): optional GCancellable object, NULL to ignore.
  • ioPriority: i/O priority of the request.
  • callback (optional) to call when the request is satisfied.

func (*Clipboard) StoreFinish

func (clipboard *Clipboard) StoreFinish(result gio.AsyncResulter) error

StoreFinish finishes an asynchronous clipboard store.

See gdk.Clipboard.StoreAsync().

The function takes the following parameters:

  • result: GAsyncResult.

type ContentDeserializer

type ContentDeserializer struct {
	*coreglib.Object

	gio.AsyncResult
	// contains filtered or unexported fields
}

ContentDeserializer: GdkContentDeserializer is used to deserialize 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 content_register_deserializer.

Also see gdk.ContentSerializer.

func (*ContentDeserializer) Cancellable

func (deserializer *ContentDeserializer) Cancellable() *gio.Cancellable

Cancellable gets the cancellable for the current operation.

This is the GCancellable that was passed to content_deserialize_async.

The function returns the following values:

  • cancellable for the current operation.

func (*ContentDeserializer) GType

func (deserializer *ContentDeserializer) GType() coreglib.Type

GType gets the GType to create an instance of.

The function returns the following values:

  • gType: GType for the current operation.

func (*ContentDeserializer) InputStream

func (deserializer *ContentDeserializer) InputStream() gio.InputStreamer

InputStream gets the input stream for the current operation.

This is the stream that was passed to content_deserialize_async.

The function returns the following values:

  • inputStream: input stream for the current operation.

func (*ContentDeserializer) MIMEType

func (deserializer *ContentDeserializer) MIMEType() string

MIMEType gets the mime type to deserialize from.

The function returns the following values:

  • utf8: mime type for the current operation.

func (*ContentDeserializer) Priority

func (deserializer *ContentDeserializer) Priority() int

Priority gets the I/O priority for the current operation.

This is the priority that was passed to [funccontent_deserialize_async].

The function returns the following values:

  • gint: i/O priority for the current operation.

func (*ContentDeserializer) ReturnError

func (deserializer *ContentDeserializer) ReturnError(err error)

ReturnError: indicate that the deserialization has ended with an error.

This function consumes error.

The function takes the following parameters:

  • err: GError.

func (*ContentDeserializer) ReturnSuccess

func (deserializer *ContentDeserializer) ReturnSuccess()

ReturnSuccess: indicate that the deserialization has been successfully completed.

func (*ContentDeserializer) TaskData

func (deserializer *ContentDeserializer) TaskData() unsafe.Pointer

TaskData gets the data that was associated with the current operation.

See gdk.ContentDeserializer.SetTaskData().

The function returns the following values:

  • gpointer (optional): task data for deserializer.

func (*ContentDeserializer) UserData

func (deserializer *ContentDeserializer) UserData() unsafe.Pointer

UserData gets the user data that was passed when the deserializer was registered.

The function returns the following values:

  • gpointer (optional): user data for this deserializer.

func (*ContentDeserializer) Value

func (deserializer *ContentDeserializer) Value() *coreglib.Value

Value gets the GValue to store the deserialized object in.

The function returns the following values:

  • value: GValue for the current operation.

type ContentFormats

type ContentFormats struct {
	// contains filtered or unexported fields
}

ContentFormats: GdkContentFormats structure is 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 gdk.Drag, gdk.Drop, gdk.Clipboard or gdk.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, gdk.ContentSerializer and gdk.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 gdk.ContentFormats.Union(), 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 gdk.ContentFormats.ToString() 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 gdk.ContentFormatsBuilder` structure is meant to help in this endeavor.

An instance of this type is always passed by reference.

func NewContentFormats

func NewContentFormats(mimeTypes []string) *ContentFormats

NewContentFormats constructs a struct ContentFormats.

func NewContentFormatsForGType

func NewContentFormatsForGType(typ coreglib.Type) *ContentFormats

NewContentFormatsForGType constructs a struct ContentFormats.

func (*ContentFormats) ContainGType

func (formats *ContentFormats) ContainGType(typ coreglib.Type) bool

ContainGType checks if a given GType is part of the given formats.

The function takes the following parameters:

  • typ: GType to search for.

The function returns the following values:

  • ok: TRUE if the #GType was found.

func (*ContentFormats) ContainMIMEType

func (formats *ContentFormats) ContainMIMEType(mimeType string) bool

ContainMIMEType checks if a given mime type is part of the given formats.

The function takes the following parameters:

  • mimeType: mime type to search for.

The function returns the following values:

  • ok: TRUE if the mime_type was found.

func (*ContentFormats) GTypes

func (formats *ContentFormats) GTypes() []coreglib.Type

GTypes gets the GTypes included in formats.

Note that formats may not contain any #GTypes, in particular when they are empty. In that case NULL will be returned.

The function returns the following values:

  • gTypes (optional): G_TYPE_INVALID-terminated array of types included in formats or NULL if none.

func (*ContentFormats) MIMETypes

func (formats *ContentFormats) MIMETypes() []string

MIMETypes 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 NULL will be returned.

The function returns the following values:

  • utf8s (optional): NULL-terminated array of interned strings of mime types included in formats or NULL if none.

func (*ContentFormats) Match

func (first *ContentFormats) Match(second *ContentFormats) bool

Match checks if first and second have any matching formats.

The function takes the following parameters:

  • second: GdkContentFormats to intersect with.

The function returns the following values:

  • ok: TRUE if a matching format was found.

func (*ContentFormats) MatchGType

func (first *ContentFormats) MatchGType(second *ContentFormats) coreglib.Type

MatchGType finds the first GType from first that is also contained in second.

If no matching GType is found, G_TYPE_INVALID is returned.

The function takes the following parameters:

  • second: GdkContentFormats to intersect with.

The function returns the following values:

  • gType: first common GType or G_TYPE_INVALID if none.

func (*ContentFormats) MatchMIMEType

func (first *ContentFormats) MatchMIMEType(second *ContentFormats) string

MatchMIMEType finds the first mime type from first that is also contained in second.

If no matching mime type is found, NULL is returned.

The function takes the following parameters:

  • second: GdkContentFormats to intersect with.

The function returns the following values:

  • utf8 (optional): first common mime type or NULL if none.

func (*ContentFormats) String

func (formats *ContentFormats) String() string

String prints the given formats into a human-readable string.

This is a small wrapper around gdk.ContentFormats.Print() to help when debugging.

The function returns the following values:

  • utf8: new string.

func (*ContentFormats) Union

func (first *ContentFormats) Union(second *ContentFormats) *ContentFormats

Union: append all missing types from second to first, in the order they had in second.

The function takes the following parameters:

  • second: GdkContentFormats to merge from.

The function returns the following values:

  • contentFormats: new GdkContentFormats.

func (*ContentFormats) UnionDeserializeGTypes

func (formats *ContentFormats) UnionDeserializeGTypes() *ContentFormats

UnionDeserializeGTypes: add GTypes for mime types in formats for which deserializers are registered.

The function returns the following values:

  • contentFormats: new GdkContentFormats.

func (*ContentFormats) UnionDeserializeMIMETypes

func (formats *ContentFormats) UnionDeserializeMIMETypes() *ContentFormats

UnionDeserializeMIMETypes: add mime types for GTypes in formats for which deserializers are registered.

The function returns the following values:

  • contentFormats: new GdkContentFormats.

func (*ContentFormats) UnionSerializeGTypes

func (formats *ContentFormats) UnionSerializeGTypes() *ContentFormats

UnionSerializeGTypes: add GTypes for the mime types in formats for which serializers are registered.

The function returns the following values:

  • contentFormats: new GdkContentFormats.

func (*ContentFormats) UnionSerializeMIMETypes

func (formats *ContentFormats) UnionSerializeMIMETypes() *ContentFormats

UnionSerializeMIMETypes: add mime types for GTypes in formats for which serializers are registered.

The function returns the following values:

  • contentFormats: new GdkContentFormats.

type ContentFormatsBuilder

type ContentFormatsBuilder struct {
	// contains filtered or unexported fields
}

ContentFormatsBuilder: GdkContentFormatsBuilder is an auxiliary struct used to create new GdkContentFormats, and should not be kept around.

An instance of this type is always passed by reference.

func NewContentFormatsBuilder

func NewContentFormatsBuilder() *ContentFormatsBuilder

NewContentFormatsBuilder constructs a struct ContentFormatsBuilder.

func (*ContentFormatsBuilder) AddFormats

func (builder *ContentFormatsBuilder) AddFormats(formats *ContentFormats)

AddFormats appends all formats from formats to builder, skipping those that already exist.

The function takes the following parameters:

  • formats to add.

func (*ContentFormatsBuilder) AddGType

func (builder *ContentFormatsBuilder) AddGType(typ coreglib.Type)

AddGType appends type to builder if it has not already been added.

The function takes the following parameters:

  • typ: GType.

func (*ContentFormatsBuilder) AddMIMEType

func (builder *ContentFormatsBuilder) AddMIMEType(mimeType string)

AddMIMEType appends mime_type to builder if it has not already been added.

The function takes the following parameters:

  • mimeType: mime type.

func (*ContentFormatsBuilder) ToFormats

func (builder *ContentFormatsBuilder) ToFormats() *ContentFormats

ToFormats 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 gdk.ContentFormatsBuilder.FreeToFormats().

The function returns the following values:

  • contentFormats: newly created GdkContentFormats with all the formats added to builder.

type ContentProvider

type ContentProvider struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

ContentProvider: GdkContentProvider is used to provide content for the clipboard or for drag-and-drop operations in a number of formats.

To create a GdkContentProvider, use gdk.ContentProvider.NewForValue or gdk.ContentProvider.NewForBytes.

GDK knows how to handle common text and image formats out-of-the-box. See gdk.ContentSerializer and gdk.ContentDeserializer if you want to add support for application-specific data formats.

func NewContentProviderForBytes

func NewContentProviderForBytes(mimeType string, bytes *glib.Bytes) *ContentProvider

NewContentProviderForBytes: create a content provider that provides the given bytes as data for the given mime_type.

The function takes the following parameters:

  • mimeType: mime type.
  • bytes: GBytes with the data for mime_type.

The function returns the following values:

  • contentProvider: new GdkContentProvider.

func NewContentProviderForValue

func NewContentProviderForValue(value *coreglib.Value) *ContentProvider

NewContentProviderForValue: create a content provider that provides the given value.

The function takes the following parameters:

  • value: GValue.

The function returns the following values:

  • contentProvider: new GdkContentProvider.

func NewContentProviderUnion

func NewContentProviderUnion(providers []*ContentProvider) *ContentProvider

NewContentProviderUnion 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

gdk_content_provider_new_union ((GdkContentProvider *[2]) {
                                  gdk_content_provider_new_typed (G_TYPE_FILE, file),
                                  gdk_content_provider_new_typed (G_TYPE_TEXTURE, texture)
                                }, 2);.

The function takes the following parameters:

  • providers (optional): The ContentProviders to present the union of.

The function returns the following values:

  • contentProvider: new GdkContentProvider.

func (*ContentProvider) ConnectContentChanged

func (provider *ContentProvider) ConnectContentChanged(f func()) coreglib.SignalHandle

ConnectContentChanged is emitted whenever the content provided by this provider has changed.

func (*ContentProvider) ContentChanged

func (provider *ContentProvider) ContentChanged()

ContentChanged emits the ::content-changed signal.

func (*ContentProvider) RefFormats

func (provider *ContentProvider) RefFormats() *ContentFormats

RefFormats gets the formats that the provider can provide its current contents in.

The function returns the following values:

  • contentFormats formats of the provider.

func (*ContentProvider) RefStorableFormats

func (provider *ContentProvider) RefStorableFormats() *ContentFormats

RefStorableFormats 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 gdk.ContentProvider.RefFormats().

The function returns the following values:

  • contentFormats: storable formats of the provider.

func (*ContentProvider) Value

func (provider *ContentProvider) Value(value *coreglib.Value) error

Value 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 gdk.ContentProvider.RefFormats(). However, if the given GType is not supported, this operation can fail and IO_ERROR_NOT_SUPPORTED will be reported.

The function takes the following parameters:

  • value: GValue to fill.

func (*ContentProvider) WriteMIMETypeAsync

func (provider *ContentProvider) WriteMIMETypeAsync(ctx context.Context, mimeType string, stream gio.OutputStreamer, ioPriority int, callback gio.AsyncReadyCallback)

WriteMIMETypeAsync: asynchronously writes the contents of provider to stream in the given mime_type.

When the operation is finished callback will be called. You must then call gdk.ContentProvider.WriteMIMETypeFinish() to get the result of the operation.

The given mime type does not need to be listed in the formats returned by gdk.ContentProvider.RefFormats(). However, if the given GType is not supported, IO_ERROR_NOT_SUPPORTED will be reported.

The given stream will not be closed.

The function takes the following parameters:

  • ctx (optional): optional GCancellable object, NULL to ignore.
  • mimeType: mime type to provide the data in.
  • stream: GOutputStream to write to.
  • ioPriority: i/O priority of the request.
  • callback (optional) to call when the request is satisfied.

func (*ContentProvider) WriteMIMETypeFinish

func (provider *ContentProvider) WriteMIMETypeFinish(result gio.AsyncResulter) error

WriteMIMETypeFinish finishes an asynchronous write operation.

See gdk.ContentProvider.WriteMIMETypeAsync().

The function takes the following parameters:

  • result: GAsyncResult.

type ContentProviderClass added in v0.0.5

type ContentProviderClass struct {
	// contains filtered or unexported fields
}

ContentProviderClass class structure for ContentProvider.

An instance of this type is always passed by reference.

type ContentProviderOverrides added in v0.0.5

type ContentProviderOverrides struct {
	// The function takes the following parameters:
	//
	AttachClipboard func(clipboard *Clipboard)
	// ContentChanged emits the ::content-changed signal.
	ContentChanged func()
	// The function takes the following parameters:
	//
	DetachClipboard func(clipboard *Clipboard)
	// Value 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 gdk.ContentProvider.RefFormats(). However, if the given GType
	// is not supported, this operation can fail and IO_ERROR_NOT_SUPPORTED will
	// be reported.
	//
	// The function takes the following parameters:
	//
	//   - value: GValue to fill.
	//
	Value func(value *coreglib.Value) error
	// RefFormats gets the formats that the provider can provide its current
	// contents in.
	//
	// The function returns the following values:
	//
	//   - contentFormats formats of the provider.
	//
	RefFormats func() *ContentFormats
	// RefStorableFormats 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 gdk.ContentProvider.RefFormats().
	//
	// The function returns the following values:
	//
	//   - contentFormats: storable formats of the provider.
	//
	RefStorableFormats func() *ContentFormats
	// WriteMIMETypeFinish finishes an asynchronous write operation.
	//
	// See gdk.ContentProvider.WriteMIMETypeAsync().
	//
	// The function takes the following parameters:
	//
	//   - result: GAsyncResult.
	//
	WriteMIMETypeFinish func(result gio.AsyncResulter) error
}

ContentProviderOverrides contains methods that are overridable.

type ContentSerializer

type ContentSerializer struct {
	*coreglib.Object

	gio.AsyncResult
	// contains filtered or unexported fields
}

ContentSerializer: GdkContentSerializer is used to serialize 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 content_register_serializer.

Also see gdk.ContentDeserializer.

func (*ContentSerializer) Cancellable

func (serializer *ContentSerializer) Cancellable() *gio.Cancellable

Cancellable gets the cancellable for the current operation.

This is the GCancellable that was passed to [content_serialize_async].

The function returns the following values:

  • cancellable for the current operation.

func (*ContentSerializer) GType

func (serializer *ContentSerializer) GType() coreglib.Type

GType gets the GType to of the object to serialize.

The function returns the following values:

  • gType: GType for the current operation.

func (*ContentSerializer) MIMEType

func (serializer *ContentSerializer) MIMEType() string

MIMEType gets the mime type to serialize to.

The function returns the following values:

  • utf8: mime type for the current operation.

func (*ContentSerializer) OutputStream

func (serializer *ContentSerializer) OutputStream() gio.OutputStreamer

OutputStream gets the output stream for the current operation.

This is the stream that was passed to content_serialize_async.

The function returns the following values:

  • outputStream: output stream for the current operation.

func (*ContentSerializer) Priority

func (serializer *ContentSerializer) Priority() int

Priority gets the I/O priority for the current operation.

This is the priority that was passed to content_serialize_async.

The function returns the following values:

  • gint: i/O priority for the current operation.

func (*ContentSerializer) ReturnError

func (serializer *ContentSerializer) ReturnError(err error)

ReturnError: indicate that the serialization has ended with an error.

This function consumes error.

The function takes the following parameters:

  • err: GError.

func (*ContentSerializer) ReturnSuccess

func (serializer *ContentSerializer) ReturnSuccess()

ReturnSuccess: indicate that the serialization has been successfully completed.

func (*ContentSerializer) TaskData

func (serializer *ContentSerializer) TaskData() unsafe.Pointer

TaskData gets the data that was associated with the current operation.

See gdk.ContentSerializer.SetTaskData().

The function returns the following values:

  • gpointer (optional): task data for serializer.

func (*ContentSerializer) UserData

func (serializer *ContentSerializer) UserData() unsafe.Pointer

UserData gets the user data that was passed when the serializer was registered.

The function returns the following values:

  • gpointer (optional): user data for this serializer.

func (*ContentSerializer) Value

func (serializer *ContentSerializer) Value() *coreglib.Value

Value gets the GValue to read the object to serialize from.

The function returns the following values:

  • value: GValue for the current operation.

type CrossingEvent

type CrossingEvent struct {
	Event
	// contains filtered or unexported fields
}

CrossingEvent: event caused by a pointing device moving between surfaces.

func (*CrossingEvent) Detail

func (event *CrossingEvent) Detail() NotifyType

Detail extracts the notify detail from a crossing event.

The function returns the following values:

  • notifyType: notify detail of event.

func (*CrossingEvent) Focus

func (event *CrossingEvent) Focus() bool

Focus checks if the event surface is the focus surface.

The function returns the following values:

  • ok: TRUE if the surface is the focus surface.

func (*CrossingEvent) Mode

func (event *CrossingEvent) Mode() CrossingMode

Mode extracts the crossing mode from a crossing event.

The function returns the following values:

  • crossingMode: mode of event.

type CrossingMode

type CrossingMode C.gint

CrossingMode specifies the crossing mode for enter and leave events.

const (
	// CrossingNormal: crossing because of pointer motion.
	CrossingNormal CrossingMode = iota
	// CrossingGrab: crossing because a grab is activated.
	CrossingGrab
	// CrossingUngrab: crossing because a grab is deactivated.
	CrossingUngrab
	// CrossingGTKGrab: crossing because a GTK grab is activated.
	CrossingGTKGrab
	// CrossingGTKUngrab: crossing because a GTK grab is deactivated.
	CrossingGTKUngrab
	// CrossingStateChanged: crossing because a GTK widget changed state (e.g.
	// sensitivity).
	CrossingStateChanged
	// CrossingTouchBegin: crossing because a touch sequence has begun, this
	// event is synthetic as the pointer might have not left the surface.
	CrossingTouchBegin
	// CrossingTouchEnd: crossing because a touch sequence has ended, this event
	// is synthetic as the pointer might have not left the surface.
	CrossingTouchEnd
	// CrossingDeviceSwitch: 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.
	CrossingDeviceSwitch
)

func (CrossingMode) String

func (c CrossingMode) String() string

String returns the name in string for CrossingMode.

type Cursor

type Cursor struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

Cursor: GdkCursor is 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 gdk.Surface.SetCursor() or gdk.Surface.SetDeviceCursor(). Applications will typically use higher-level GTK functions such as gtk.Widget.SetCursor()` instead.

Cursors are not bound to a given gdk.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 gdk.Cursor.NewFromName. 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 gdk.Cursor.NewFromTexture and provide an image to use for the cursor.

To ease work with unsupported cursors, a fallback cursor can be provided. If a gdk.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.

func NewCursorFromName

func NewCursorFromName(name string, fallback *Cursor) *Cursor

NewCursorFromName 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" | ! (default_cursor.png) "default" | ! (help_cursor.png) "help" | ! (pointer_cursor.png) "pointer" | | ! (context_menu_cursor.png) "context-menu" | ! (progress_cursor.png) "progress" | ! (wait_cursor.png) "wait" | ! (cell_cursor.png) "cell" | | ! (crosshair_cursor.png) "crosshair" | ! (text_cursor.png) "text" | ! (vertical_text_cursor.png) "vertical-text" | ! (alias_cursor.png) "alias" | | ! (copy_cursor.png) "copy" | ! (no_drop_cursor.png) "no-drop" | ! (move_cursor.png) "move" | ! (not_allowed_cursor.png) "not-allowed" | | ! (grab_cursor.png) "grab" | ! (grabbing_cursor.png) "grabbing" | ! (all_scroll_cursor.png) "all-scroll" | ! (col_resize_cursor.png) "col-resize" | | ! (row_resize_cursor.png) "row-resize" | ! (n_resize_cursor.png) "n-resize" | ! (e_resize_cursor.png) "e-resize" | ! (s_resize_cursor.png) "s-resize" | | ! (w_resize_cursor.png) "w-resize" | ! (ne_resize_cursor.png) "ne-resize" | ! (nw_resize_cursor.png) "nw-resize" | ! (sw_resize_cursor.png) "sw-resize" | | ! (se_resize_cursor.png) "se-resize" | ! (ew_resize_cursor.png) "ew-resize" | ! (ns_resize_cursor.png) "ns-resize" | ! (nesw_resize_cursor.png) "nesw-resize" | | ! (nwse_resize_cursor.png) "nwse-resize" | ! (zoom_in_cursor.png) "zoom-in" | ! (zoom_out_cursor.png) "zoom-out" | |.

The function takes the following parameters:

  • name of the cursor.
  • fallback (optional): NULL or the GdkCursor to fall back to when this one cannot be supported.

The function returns the following values:

  • cursor (optional): new GdkCursor, or NULL if there is no cursor with the given name.

func NewCursorFromTexture

func NewCursorFromTexture(texture Texturer, hotspotX, hotspotY int, fallback *Cursor) *Cursor

NewCursorFromTexture creates a new cursor from a GdkTexture.

The function takes the following parameters:

  • texture providing the pixel data.
  • hotspotX: horizontal offset of the “hotspot” of the cursor.
  • hotspotY: vertical offset of the “hotspot” of the cursor.
  • fallback (optional): NULL or the GdkCursor to fall back to when this one cannot be supported.

The function returns the following values:

  • cursor: new GdkCursor.

func (*Cursor) Fallback

func (cursor *Cursor) Fallback() *Cursor

Fallback 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.

The function returns the following values:

  • ret (optional): fallback of the cursor or NULL to use the default cursor as fallback.

func (*Cursor) HotspotX

func (cursor *Cursor) HotspotX() int

HotspotX 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 gdk.Cursor.NewFromTexture.

The function returns the following values:

  • gint: horizontal offset of the hotspot or 0 for named cursors.

func (*Cursor) HotspotY

func (cursor *Cursor) HotspotY() int

HotspotY 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 gdk.Cursor.NewFromTexture.

The function returns the following values:

  • gint: vertical offset of the hotspot or 0 for named cursors.

func (*Cursor) Name

func (cursor *Cursor) Name() string

Name returns the name of the cursor.

If the cursor is not a named cursor, NULL will be returned.

The function returns the following values:

  • utf8 (optional): name of the cursor or NULL if it is not a named cursor.

func (*Cursor) Texture

func (cursor *Cursor) Texture() Texturer

Texture returns the texture for the cursor.

If the cursor is a named cursor, NULL will be returned.

The function returns the following values:

  • texture (optional) for cursor or NULL if it is a named cursor.

type DNDEvent

type DNDEvent struct {
	Event
	// contains filtered or unexported fields
}

DNDEvent: event related to drag and drop operations.

func (*DNDEvent) Drop

func (event *DNDEvent) Drop() Dropper

Drop gets the GdkDrop object from a DND event.

The function returns the following values:

  • drop (optional): drop.

type DeleteEvent

type DeleteEvent struct {
	Event
	// contains filtered or unexported fields
}

DeleteEvent: event related to closing a top-level surface.

type Device

type Device struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

Device: GdkDevice object represents an input device, such as a keyboard, a mouse, or a touchpad.

See the gdk.Seat documentation for more information about the various kinds of devices, and their relationships.

func BaseDevice

func BaseDevice(obj Devicer) *Device

BaseDevice returns the underlying base object.

func (*Device) CapsLockState

func (device *Device) CapsLockState() bool

CapsLockState retrieves whether the Caps Lock modifier of the keyboard is locked.

This is only relevant for keyboard devices.

The function returns the following values:

  • ok: TRUE if Caps Lock is on for device.

func (*Device) ConnectChanged

func (device *Device) ConnectChanged(f func()) coreglib.SignalHandle

ConnectChanged is emitted either when the 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.

func (*Device) ConnectToolChanged

func (device *Device) ConnectToolChanged(f func(tool *DeviceTool)) coreglib.SignalHandle

ConnectToolChanged is emitted on pen/eraser devices whenever tools enter or leave proximity.

func (*Device) DeviceTool

func (device *Device) DeviceTool() *DeviceTool

DeviceTool retrieves the current tool for device.

The function returns the following values:

  • deviceTool: GdkDeviceTool, or NULL.

func (*Device) Direction

func (device *Device) Direction() pango.Direction

Direction 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 pango.UnicharDirection().

The function returns the following values:

  • direction: PANGO_DIRECTION_LTR or PANGO_DIRECTION_RTL if it can determine the direction. PANGO_DIRECTION_NEUTRAL otherwise.

func (*Device) Display

func (device *Device) Display() *Display

Display returns the GdkDisplay to which device pertains.

The function returns the following values:

  • display: GdkDisplay.

func (*Device) HasBidiLayouts

func (device *Device) HasBidiLayouts() bool

HasBidiLayouts 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.

The function returns the following values:

  • ok: TRUE if there are layouts with both directions, FALSE otherwise.

func (*Device) HasCursor

func (device *Device) HasCursor() bool

HasCursor determines whether the pointer follows device motion.

This is not meaningful for keyboard devices, which don't have a pointer.

The function returns the following values:

  • ok: TRUE if the pointer follows device motion.

func (*Device) ModifierState

func (device *Device) ModifierState() ModifierType

ModifierState retrieves the current modifier state of the keyboard.

This is only relevant for keyboard devices.

The function returns the following values:

  • modifierType: current modifier state.

func (*Device) Name

func (device *Device) Name() string

Name: name of the device, suitable for showing in a user interface.

The function returns the following values:

  • utf8: name.

func (*Device) NumLockState

func (device *Device) NumLockState() bool

NumLockState retrieves whether the Num Lock modifier of the keyboard is locked.

This is only relevant for keyboard devices.

The function returns the following values:

  • ok: TRUE if Num Lock is on for device.

func (*Device) NumTouches

func (device *Device) NumTouches() uint

NumTouches retrieves the number of touch points associated to device.

The function returns the following values:

  • guint: number of touch points.

func (*Device) ProductID

func (device *Device) ProductID() string

ProductID returns the product ID of this device.

This ID is retrieved from the device, and does not change. See gdk.Device.GetVendorID() for more information.

The function returns the following values:

  • utf8 (optional): product ID, or NULL.

func (*Device) ScrollLockState

func (device *Device) ScrollLockState() bool

ScrollLockState retrieves whether the Scroll Lock modifier of the keyboard is locked.

This is only relevant for keyboard devices.

The function returns the following values:

  • ok: TRUE if Scroll Lock is on for device.

func (*Device) Seat

func (device *Device) Seat() Seater

Seat returns the GdkSeat the device belongs to.

The function returns the following values:

  • seat: GdkSeat.

func (*Device) Source

func (device *Device) Source() InputSource

Source determines the type of the device.

The function returns the following values:

  • inputSource: GdkInputSource.

func (*Device) SurfaceAtPosition

func (device *Device) SurfaceAtPosition() (winX, winY float64, surface Surfacer)

SurfaceAtPosition obtains the surface underneath device, returning the location of the device in win_x and win_y

Returns NULL if the surface tree under device is not known to GDK (for example, belongs to another application).

The function returns the following values:

  • winX (optional): return location for the X coordinate of the device location, relative to the surface origin, or NULL.
  • winY (optional): return location for the Y coordinate of the device location, relative to the surface origin, or NULL.
  • surface (optional): GdkSurface under the device position, or NULL.

func (*Device) Timestamp

func (device *Device) Timestamp() uint32

Timestamp 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).

The function returns the following values:

  • guint32: timestamp of the last activity for this device.

func (*Device) VendorID

func (device *Device) VendorID() string

VendorID returns the vendor ID of this device.

This ID is retrieved from the device, and does not change.

This function, together with gdk.Device.GetProductID(), can be used to eg. compose GSettings paths to store settings for this device.

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;
}.

The function returns the following values:

  • utf8 (optional): vendor ID, or NULL.

type DevicePad

type DevicePad struct {
	Device
	// contains filtered or unexported fields
}

DevicePad: GdkDevicePad is an interface implemented by devices of type GDK_SOURCE_TABLET_PAD

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. gdk.DevicePad.GetNGroups() can be used to obtain the number of groups, gdk.DevicePad.GetNFeatures() and gdk.DevicePad.GetFeatureGroup() 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 gdk.DevicePad.GetGroupNModes(), and the current mode for a given group will be notified through events of type K_PAD_GROUP_MODE.

DevicePad wraps an interface. This means the user can get the underlying type by calling Cast().

func (*DevicePad) FeatureGroup

func (pad *DevicePad) FeatureGroup(feature DevicePadFeature, featureIdx int) int

FeatureGroup returns the group the given feature and idx belong to.

f the feature or index do not exist in pad, -1 is returned.

The function takes the following parameters:

  • feature type to get the group from.
  • featureIdx: index of the feature to get the group from.

The function returns the following values:

  • gint: group number of the queried pad feature.

func (*DevicePad) GroupNModes

func (pad *DevicePad) GroupNModes(groupIdx int) int

GroupNModes returns the number of modes that group may have.

The function takes the following parameters:

  • groupIdx: group to get the number of available modes from.

The function returns the following values:

  • gint: number of modes available in group.

func (*DevicePad) NFeatures

func (pad *DevicePad) NFeatures(feature DevicePadFeature) int

NFeatures returns the number of features a tablet pad has.

The function takes the following parameters:

  • feature: pad feature.

The function returns the following values:

  • gint: amount of elements of type feature that this pad has.

func (*DevicePad) NGroups

func (pad *DevicePad) NGroups() int

NGroups 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.

The function returns the following values:

  • gint: number of button/ring/strip groups in the pad.

type DevicePadFeature

type DevicePadFeature C.gint

DevicePadFeature: pad feature.

const (
	// DevicePadFeatureButton: button.
	DevicePadFeatureButton DevicePadFeature = iota
	// DevicePadFeatureRing: ring-shaped interactive area.
	DevicePadFeatureRing
	// DevicePadFeatureStrip: straight interactive area.
	DevicePadFeatureStrip
)

func (DevicePadFeature) String

func (d DevicePadFeature) String() string

String returns the name in string for DevicePadFeature.

type DevicePadder

type DevicePadder interface {
	coreglib.Objector

	// FeatureGroup returns the group the given feature and idx belong to.
	FeatureGroup(feature DevicePadFeature, featureIdx int) int
	// GroupNModes returns the number of modes that group may have.
	GroupNModes(groupIdx int) int
	// NFeatures returns the number of features a tablet pad has.
	NFeatures(feature DevicePadFeature) int
	// NGroups returns the number of groups this pad device has.
	NGroups() int
}

DevicePadder describes DevicePad's interface methods.

type DeviceTool

type DeviceTool struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

DeviceTool: physical tool associated to a GdkDevice.

func (*DeviceTool) Axes

func (tool *DeviceTool) Axes() AxisFlags

Axes gets the axes of the tool.

The function returns the following values:

  • axisFlags axes of tool.

func (*DeviceTool) HardwareID

func (tool *DeviceTool) HardwareID() uint64

HardwareID gets the hardware ID of this tool, or 0 if it's not known.

When non-zero, the identificator is unique for the given tool model, meaning that two identical tools will share the same hardware_id, but will have different serial numbers (see gdk.DeviceTool.GetSerial()).

This is a more concrete (and device specific) method to identify a GdkDeviceTool than gdk.DeviceTool.GetToolType(), as a tablet may support multiple devices with the same GdkDeviceToolType, but different hardware identificators.

The function returns the following values:

  • guint64: hardware identificator of this tool.

func (*DeviceTool) Serial

func (tool *DeviceTool) Serial() uint64

Serial gets the serial number of this tool.

This value can be used to identify a physical tool (eg. a tablet pen) across program executions.

The function returns the following values:

  • guint64: serial ID for this tool.

func (*DeviceTool) ToolType

func (tool *DeviceTool) ToolType() DeviceToolType

ToolType gets the GdkDeviceToolType of the tool.

The function returns the following values:

  • deviceToolType: physical type for this tool. This can be used to figure out what sort of pen is being used, such as an airbrush or a pencil.

type DeviceToolType

type DeviceToolType C.gint

DeviceToolType indicates the specific type of tool being used being a tablet. Such as an airbrush, pencil, etc.

const (
	// DeviceToolTypeUnknown: tool is of an unknown type.
	DeviceToolTypeUnknown DeviceToolType = iota
	// DeviceToolTypePen: tool is a standard tablet stylus.
	DeviceToolTypePen
	// DeviceToolTypeEraser: tool is standard tablet eraser.
	DeviceToolTypeEraser
	// DeviceToolTypeBrush: tool is a brush stylus.
	DeviceToolTypeBrush
	// DeviceToolTypePencil: tool is a pencil stylus.
	DeviceToolTypePencil
	// DeviceToolTypeAirbrush: tool is an airbrush stylus.
	DeviceToolTypeAirbrush
	// DeviceToolTypeMouse: tool is a mouse.
	DeviceToolTypeMouse
	// DeviceToolTypeLens: tool is a lens cursor.
	DeviceToolTypeLens
)

func (DeviceToolType) String

func (d DeviceToolType) String() string

String returns the name in string for DeviceToolType.

type Devicer

type Devicer interface {
	coreglib.Objector
	// contains filtered or unexported methods
}

Devicer describes types inherited from class Device.

To get the original type, the caller must assert this to an interface or another type.

type Display

type Display struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

Display: GdkDisplay objects are the GDK 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 gdk.Seat objects. Every display has a one or more seats, which can be accessed with gdk.Display.GetDefaultSeat() and gdk.Display.ListSeats().

Output devices are represented by gdk.Monitor objects, which can be accessed with gdk.Display.GetMonitorAtSurface() and similar APIs.

func DisplayGetDefault

func DisplayGetDefault() *Display

DisplayGetDefault gets the default GdkDisplay.

This is a convenience function for: gdk_display_manager_get_default_display (gdk_display_manager_get ()).

The function returns the following values:

  • display (optional): GdkDisplay, or NULL if there is no default display.

func DisplayOpen

func DisplayOpen(displayName string) *Display

DisplayOpen opens a display.

The function takes the following parameters:

  • displayName: name of the display to open.

The function returns the following values:

  • display (optional): GdkDisplay, or NULL if the display could not be opened.

func (*Display) AppLaunchContext

func (display *Display) AppLaunchContext() *AppLaunchContext

AppLaunchContext returns a GdkAppLaunchContext suitable for launching applications on the given display.

The function returns the following values:

  • appLaunchContext: new GdkAppLaunchContext for display. Free with g_object_unref() when done.

func (*Display) Beep

func (display *Display) Beep()

Beep emits a short beep on display.

func (*Display) Clipboard

func (display *Display) Clipboard() *Clipboard

Clipboard gets the clipboard used for copy/paste operations.

The function returns the following values:

  • clipboard display's clipboard.

func (*Display) Close

func (display *Display) Close()

Close closes the connection to the windowing system for the given display.

This cleans up associated resources.

func (*Display) ConnectClosed

func (display *Display) ConnectClosed(f func(isError bool)) coreglib.SignalHandle

ConnectClosed is emitted when the connection to the windowing system for display is closed.

func (*Display) ConnectOpened

func (display *Display) ConnectOpened(f func()) coreglib.SignalHandle

ConnectOpened is emitted when the connection to the windowing system for display is opened.

func (*Display) ConnectSeatAdded

func (display *Display) ConnectSeatAdded(f func(seat Seater)) coreglib.SignalHandle

ConnectSeatAdded is emitted whenever a new seat is made known to the windowing system.

func (*Display) ConnectSeatRemoved

func (display *Display) ConnectSeatRemoved(f func(seat Seater)) coreglib.SignalHandle

ConnectSeatRemoved is emitted whenever a seat is removed by the windowing system.

func (*Display) ConnectSettingChanged

func (display *Display) ConnectSettingChanged(f func(setting string)) coreglib.SignalHandle

ConnectSettingChanged is emitted whenever a setting changes its value.

func (*Display) DefaultSeat

func (display *Display) DefaultSeat() Seater

DefaultSeat returns the default GdkSeat for this display.

Note that a display may not have a seat. In this case, this function will return NULL.

The function returns the following values:

  • seat (optional): default seat.

func (*Display) DeviceIsGrabbed

func (display *Display) DeviceIsGrabbed(device Devicer) bool

DeviceIsGrabbed returns TRUE if there is an ongoing grab on device for display.

The function takes the following parameters:

  • device: GdkDevice.

The function returns the following values:

  • ok: TRUE if there is a grab in effect for device.

func (*Display) Flush

func (display *Display) Flush()

Flush 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.

func (*Display) IsClosed

func (display *Display) IsClosed() bool

IsClosed finds out if the display has been closed.

The function returns the following values:

  • ok: TRUE if the display is closed.

func (*Display) IsComposited

func (display *Display) IsComposited() bool

IsComposited returns whether surfaces can reasonably be expected to have their alpha channel drawn correctly on the screen.

Check gdk.Display.IsRGBA() 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.

The function returns the following values:

  • ok: whether surfaces with RGBA visuals can reasonably be expected to have their alpha channels drawn correctly on the screen.

func (*Display) IsRGBA

func (display *Display) IsRGBA() bool

IsRGBA 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 gdk.Display.IsComposited() to check if that is the case.

On modern displays, this value is always TRUE.

The function returns the following values:

  • ok: TRUE if surfaces are created with an alpha channel or FALSE if the display does not support this functionality.

func (*Display) ListSeats

func (display *Display) ListSeats() []Seater

ListSeats returns the list of seats known to display.

The function returns the following values:

  • list: the list of seats known to the GdkDisplay.

func (*Display) MapKeycode

func (display *Display) MapKeycode(keycode uint) ([]KeymapKey, []uint, bool)

MapKeycode 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 g_free().

The function takes the following parameters:

  • keycode: keycode.

The function returns the following values:

  • keys (optional): return location for array of GdkKeymapKey, or NULL.
  • keyvals (optional): return location for array of keyvals, or NULL.
  • ok: TRUE if there were any entries.

func (*Display) MapKeyval

func (display *Display) MapKeyval(keyval uint) ([]KeymapKey, bool)

MapKeyval 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 g_free().

The function takes the following parameters:

  • keyval: keyval, such as GDK_KEY_a, GDK_KEY_Up, GDK_KEY_Return, etc.

The function returns the following values:

  • keys: return location for an array of GdkKeymapKey.
  • ok: TRUE if keys were found and returned.

func (*Display) MonitorAtSurface

func (display *Display) MonitorAtSurface(surface Surfacer) *Monitor

MonitorAtSurface gets the monitor in which the largest area of surface resides.

Returns a monitor close to surface if it is outside of all monitors.

The function takes the following parameters:

  • surface: GdkSurface.

The function returns the following values:

  • monitor with the largest overlap with surface.

func (*Display) Monitors

func (self *Display) Monitors() *gio.ListModel

Monitors 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 GListModel::items-changed signal on this list to monitor changes to the monitor of this display.

The function returns the following values:

  • listModel of GdkMonitor.

func (*Display) Name

func (display *Display) Name() string

Name gets the name of the display.

The function returns the following values:

  • utf8: string representing the display name. This string is owned by GDK and should not be modified or freed.

func (*Display) NotifyStartupComplete

func (display *Display) NotifyStartupComplete(startupId string)

NotifyStartupComplete indicates to the GUI environment that the application has finished loading, using a given identifier.

GTK will call this function automatically for gtk.Window with custom startup-notification identifier unless gtk.Window.SetAutoStartupNotification() is called to disable that feature.

The function takes the following parameters:

  • startupId: startup-notification identifier, for which notification process should be completed.

func (*Display) PrimaryClipboard

func (display *Display) PrimaryClipboard() *Clipboard

PrimaryClipboard gets the clipboard used for the primary selection.

On backends where the primary clipboard is not supported natively, GDK emulates this clipboard locally.

The function returns the following values:

  • clipboard: primary clipboard.

func (*Display) PutEvent

func (display *Display) PutEvent(event Eventer)

PutEvent appends the given event onto the front of the event queue for display.

This function is only useful in very special situations and should not be used by applications.

The function takes the following parameters:

  • event: GdkEvent.

func (*Display) Setting

func (display *Display) Setting(name string, value *coreglib.Value) bool

Setting retrieves a desktop-wide setting such as double-click time for the display.

The function takes the following parameters:

  • name of the setting.
  • value: location to store the value of the setting.

The function returns the following values:

  • ok: TRUE if the setting existed and a value was stored in value, FALSE otherwise.

func (*Display) StartupNotificationID

func (display *Display) StartupNotificationID() string

StartupNotificationID gets the startup notification ID for a Wayland display, or NULL if no ID has been defined.

The function returns the following values:

  • utf8 (optional): startup notification ID for display, or NULL.

func (*Display) SupportsInputShapes

func (display *Display) SupportsInputShapes() bool

SupportsInputShapes returns TRUE if the display supports input shapes.

This means that gdk.Surface.SetInputRegion() can be used to modify the input shape of surfaces on display.

On modern displays, this value is always TRUE.

The function returns the following values:

  • ok: TRUE if surfaces with modified input shape are supported.

func (*Display) Sync

func (display *Display) Sync()

Sync 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 gdk.Display.Sync() before gdkx11.Display.ErrorTrapPop() 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.

func (*Display) TranslateKey

func (display *Display) TranslateKey(keycode uint, state ModifierType, group int) (keyval uint, effectiveGroup, level int, consumed ModifierType, ok bool)

TranslateKey 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 consumed_modifiers.

The effective_group 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.

consumed_modifiers 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.

The function takes the following parameters:

  • keycode: keycode.
  • state: modifier state.
  • group: active keyboard group.

The function returns the following values:

  • keyval (optional): return location for keyval, or NULL.
  • effectiveGroup (optional): return location for effective group, or NULL.
  • level (optional): return location for level, or NULL.
  • consumed (optional): return location for modifiers that were used to determine the group or level, or NULL.
  • ok: TRUE if there was a keyval bound to keycode/state/group.

type DisplayManager

type DisplayManager struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

DisplayManager: singleton object that offers notification when displays appear or disappear.

You can use gdk.DisplayManager().Get 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 gdk.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 K_WINDOWING_X11, K_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:

#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");.

func DisplayManagerGet

func DisplayManagerGet() *DisplayManager

DisplayManagerGet 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 set_allowed_backends to limit what backends wil be used.

The function returns the following values:

  • displayManager: global GdkDisplayManager singleton.

func (*DisplayManager) ConnectDisplayOpened

func (manager *DisplayManager) ConnectDisplayOpened(f func(display *Display)) coreglib.SignalHandle

ConnectDisplayOpened is emitted when a display is opened.

func (*DisplayManager) DefaultDisplay

func (manager *DisplayManager) DefaultDisplay() *Display

DefaultDisplay gets the default GdkDisplay.

The function returns the following values:

  • display (optional): GdkDisplay, or NULL if there is no default display.

func (*DisplayManager) ListDisplays

func (manager *DisplayManager) ListDisplays() []*Display

ListDisplays: list all currently open displays.

The function returns the following values:

  • sList: newly allocated GSList of GdkDisplay objects. Free with g_slist_free() when you are done with it.

func (*DisplayManager) OpenDisplay

func (manager *DisplayManager) OpenDisplay(name string) *Display

OpenDisplay opens a display.

The function takes the following parameters:

  • name of the display to open.

The function returns the following values:

  • display (optional): GdkDisplay, or NULL if the display could not be opened.

func (*DisplayManager) SetDefaultDisplay

func (manager *DisplayManager) SetDefaultDisplay(display *Display)

SetDefaultDisplay sets display as the default display.

The function takes the following parameters:

  • display: GdkDisplay.

type Drag

type Drag struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

Drag: GdkDrag object 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 gdk.Drag().Begin, 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.

func BaseDrag

func BaseDrag(obj Dragger) *Drag

BaseDrag returns the underlying base object.

func (*Drag) Actions

func (drag *Drag) Actions() DragAction

Actions determines the bitmask of possible actions proposed by the source.

The function returns the following values:

  • dragAction: GdkDragAction flags.

func (*Drag) ConnectCancel

func (drag *Drag) ConnectCancel(f func(reason DragCancelReason)) coreglib.SignalHandle

ConnectCancel is emitted when the drag operation is cancelled.

func (*Drag) ConnectDNDFinished

func (drag *Drag) ConnectDNDFinished(f func()) coreglib.SignalHandle

ConnectDNDFinished is emitted when the destination side has finished reading all data.

The drag object can now free all miscellaneous data.

func (*Drag) ConnectDropPerformed

func (drag *Drag) ConnectDropPerformed(f func()) coreglib.SignalHandle

ConnectDropPerformed is emitted when the drop operation is performed on an accepting client.

func (*Drag) Content

func (drag *Drag) Content() *ContentProvider

Content returns the GdkContentProvider associated to the GdkDrag object.

The function returns the following values:

  • contentProvider: GdkContentProvider associated to drag.

func (*Drag) Device

func (drag *Drag) Device() Devicer

Device returns the GdkDevice associated to the GdkDrag object.

The function returns the following values:

  • device: GdkDevice associated to drag.

func (*Drag) Display

func (drag *Drag) Display() *Display

Display gets the GdkDisplay that the drag object was created for.

The function returns the following values:

  • display: GdkDisplay.

func (*Drag) DragSurface

func (drag *Drag) DragSurface() Surfacer

DragSurface 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.

The function returns the following values:

  • surface (optional): drag surface, or NULL.

func (*Drag) DropDone

func (drag *Drag) DropDone(success bool)

DropDone 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 gdk.Drag.DropDone() call as effective, if this function is called multiple times, all subsequent calls will be ignored.

The function takes the following parameters:

  • success: whether the drag was ultimatively successful.

func (*Drag) Formats

func (drag *Drag) Formats() *ContentFormats

Formats retrieves the formats supported by this GdkDrag object.

The function returns the following values:

  • contentFormats: GdkContentFormats.

func (*Drag) SelectedAction

func (drag *Drag) SelectedAction() DragAction

SelectedAction determines the action chosen by the drag destination.

The function returns the following values:

  • dragAction: GdkDragAction value.

func (*Drag) SetHotspot

func (drag *Drag) SetHotspot(hotX, hotY int)

SetHotspot 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.

The function takes the following parameters:

  • hotX: x coordinate of the drag surface hotspot.
  • hotY: y coordinate of the drag surface hotspot.

func (*Drag) Surface

func (drag *Drag) Surface() Surfacer

Surface returns the GdkSurface where the drag originates.

The function returns the following values:

  • surface: GdkSurface where the drag originates.

type DragAction

type DragAction C.guint

DragAction: used in GdkDrop and GdkDrag to indicate the actions that the destination can and should do with the dropped data.

const (
	// ActionCopy: copy the data.
	ActionCopy DragAction = 0b1
	// ActionMove: move the data, i.e. first copy it, then delete it from the
	// source using the DELETE target of the X selection protocol.
	ActionMove DragAction = 0b10
	// ActionLink: 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.
	ActionLink DragAction = 0b100
	// ActionAsk: ask the user what to do with the data.
	ActionAsk DragAction = 0b1000
)

func (DragAction) Has

func (d DragAction) Has(other DragAction) bool

Has returns true if d contains other.

func (DragAction) String

func (d DragAction) String() string

String returns the names in string for DragAction.

type DragCancelReason

type DragCancelReason C.gint

DragCancelReason: used in GdkDrag to the reason of a cancelled DND operation.

const (
	// DragCancelNoTarget: there is no suitable drop target.
	DragCancelNoTarget DragCancelReason = iota
	// DragCancelUserCancelled: drag cancelled by the user.
	DragCancelUserCancelled
	// DragCancelError: unspecified error.
	DragCancelError
)

func (DragCancelReason) String

func (d DragCancelReason) String() string

String returns the name in string for DragCancelReason.

type DragSurface

type DragSurface struct {
	Surface
	// contains filtered or unexported fields
}

DragSurface is an interface for surfaces used during DND.

DragSurface wraps an interface. This means the user can get the underlying type by calling Cast().

func (*DragSurface) Present

func (dragSurface *DragSurface) Present(width, height int) bool

Present drag_surface.

The function takes the following parameters:

  • width: unconstrained drag_surface width to layout.
  • height: unconstrained drag_surface height to layout.

The function returns the following values:

  • ok: FALSE if it failed to be presented, otherwise TRUE.

type DragSurfacer

type DragSurfacer interface {
	coreglib.Objector

	// Present drag_surface.
	Present(width, height int) bool
}

DragSurfacer describes DragSurface's interface methods.

type Dragger

type Dragger interface {
	coreglib.Objector
	// contains filtered or unexported methods
}

Dragger describes types inherited from class Drag.

To get the original type, the caller must assert this to an interface or another type.

func DragBegin

func DragBegin(surface Surfacer, device Devicer, content *ContentProvider, actions DragAction, dx, dy float64) Dragger

DragBegin 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 gdk.Drag.GetDragSurface().

This function returns a reference to the gdk.Drag object, but GTK keeps its own reference as well, as long as the DND operation is going on.

Note: if actions include GDK_ACTION_MOVE, you need to listen for the gdk.Drag::dnd-finished signal and delete the data at the source if gdk.Drag.GetSelectedAction() returns GDK_ACTION_MOVE.

The function takes the following parameters:

  • surface: source surface for this drag.
  • device that controls this drag.
  • content: offered content.
  • actions supported by this drag.
  • dx: x offset to device's position where the drag nominally started.
  • dy: y offset to device's position where the drag nominally started.

The function returns the following values:

  • drag (optional): newly created gdk.Drag or NULL on error.

type DrawContext

type DrawContext struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

DrawContext: base class for objects implementing different rendering methods.

GdkDrawContext is the base object used by contexts implementing different rendering methods, such as gdk.CairoContext or gdk.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.

func BaseDrawContext

func BaseDrawContext(obj DrawContexter) *DrawContext

BaseDrawContext returns the underlying base object.

func (*DrawContext) BeginFrame

func (context *DrawContext) BeginFrame(region *cairo.Region)

BeginFrame 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 gdk.CairoContext and a gdk.GLContext need to be treated differently.

A call to this function is a requirement for drawing and must be followed by a call to gdk.DrawContext.EndFrame(), 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 [methodGdk.DrawContext.get_frame_region() to query the region that must be drawn.

When using GTK, the widget system automatically places calls to gdk_draw_context_begin_frame() and gdk_draw_context_end_frame() via the use of gsk.Renderers, so application code does not need to call these functions explicitly.

The function takes the following parameters:

  • region: minimum region that should be drawn.

func (*DrawContext) Display

func (context *DrawContext) Display() *Display

Display retrieves the GdkDisplay the context is created for.

The function returns the following values:

  • display (optional): GdkDisplay or NULL.

func (*DrawContext) EndFrame

func (context *DrawContext) EndFrame()

EndFrame ends a drawing operation started with gdk_draw_context_begin_frame().

This makes the drawing available on screen. See gdk.DrawContext.BeginFrame() for more details about drawing.

When using a gdk.GLContext, this function may call glFlush() implicitly before returning; it is not recommended to call glFlush() explicitly before calling this function.

func (*DrawContext) FrameRegion

func (context *DrawContext) FrameRegion() *cairo.Region

FrameRegion retrieves the region that is currently being repainted.

After a call to gdk.DrawContext.BeginFrame() 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 gdk.DrawContext.BeginFrame() and gdk.DrawContext.EndFrame(), NULL will be returned.

The function returns the following values:

  • region (optional): cairo region or NULL if not drawing a frame.

func (*DrawContext) IsInFrame

func (context *DrawContext) IsInFrame() bool

IsInFrame returns TRUE if context is in the process of drawing to its surface.

This is the case between calls to gdk.DrawContext.BeginFrame() and gdk.DrawContext.EndFrame(). In this situation, drawing commands may be effecting the contents of the context's surface.

The function returns the following values:

  • ok: TRUE if the context is between gdk.DrawContext.BeginFrame() and gdk.DrawContext.EndFrame() calls.

func (*DrawContext) Surface

func (context *DrawContext) Surface() Surfacer

Surface retrieves the surface that context is bound to.

The function returns the following values:

  • surface (optional) or NULL.

type DrawContexter

type DrawContexter interface {
	coreglib.Objector
	// contains filtered or unexported methods
}

DrawContexter describes types inherited from class DrawContext.

To get the original type, the caller must assert this to an interface or another type.

type Drop

type Drop struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

Drop: GdkDrop object 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 gdk.Event types using gdk.DNDEvent.GetDrop().

The actual data transfer is initiated from the target side via an async read, using one of the GdkDrop methods for this purpose: gdk.Drop.ReadAsync() or gdk.Drop.ReadValueAsync().

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.

func BaseDrop

func BaseDrop(obj Dropper) *Drop

BaseDrop returns the underlying base object.

func (*Drop) Actions

func (self *Drop) Actions() DragAction

Actions returns the possible actions for this GdkDrop.

If this value contains multiple actions - i.e. gdk.DragAction().IsUnique returns FALSE for the result - gdk.Drop.Finish() 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 gdk.Drop.Status(). GDK_ACTION_ASK itself will not be included in the actions returned by this function.

This value may change over the lifetime of the gdk.Drop both as a response to source side actions as well as to calls to gdk.Drop.Status() or gdk.Drop.Finish(). The source side will not change this value anymore once a drop has started.

The function returns the following values:

  • dragAction: possible GdkDragActions.

func (*Drop) Device

func (self *Drop) Device() Devicer

Device returns the GdkDevice performing the drop.

The function returns the following values:

  • device: GdkDevice performing the drop.

func (*Drop) Display

func (self *Drop) Display() *Display

Display gets the GdkDisplay that self was created for.

The function returns the following values:

  • display: GdkDisplay.

func (*Drop) Drag

func (self *Drop) Drag() Dragger

Drag: 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.

The function returns the following values:

  • drag (optional): corresponding GdkDrag.

func (*Drop) Finish

func (self *Drop) Finish(action DragAction)

Finish ends the drag operation after a drop.

The action must be a single action selected from the actions available via gdk.Drop.GetActions().

The function takes the following parameters:

  • action performed by the destination or 0 if the drop failed.

func (*Drop) Formats

func (self *Drop) Formats() *ContentFormats

Formats returns the GdkContentFormats that the drop offers the data to be read in.

The function returns the following values:

  • contentFormats: possible GdkContentFormats.

func (*Drop) ReadAsync

func (self *Drop) ReadAsync(ctx context.Context, mimeTypes []string, ioPriority int, callback gio.AsyncReadyCallback)

ReadAsync: asynchronously read the dropped data from a GdkDrop in a format that complies with one of the mime types.

The function takes the following parameters:

  • ctx (optional): optional GCancellable object, NULL to ignore.
  • mimeTypes: pointer to an array of mime types.
  • ioPriority: i/O priority for the read operation.
  • callback (optional): GAsyncReadyCallback to call when the request is satisfied.

func (*Drop) ReadFinish

func (self *Drop) ReadFinish(result gio.AsyncResulter) (string, gio.InputStreamer, error)

ReadFinish 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 g_input_stream_read_bytes_async().

See gdk.Drop.ReadAsync().

The function takes the following parameters:

  • result: GAsyncResult.

The function returns the following values:

  • outMimeType: return location for the used mime type.
  • inputStream (optional): GInputStream, or NULL.

func (*Drop) ReadValueAsync

func (self *Drop) ReadValueAsync(ctx context.Context, typ coreglib.Type, ioPriority int, callback gio.AsyncReadyCallback)

ReadValueAsync: asynchronously request the drag operation's contents converted to the given type.

When the operation is finished callback will be called. You must then call gdk.Drop.ReadValueFinish() to get the resulting GValue.

For local drag'n'drop operations that are available in the given GType, the value will be copied directly. Otherwise, GDK will try to use gdk.ContentDeserializeAsync() to convert the data.

The function takes the following parameters:

  • ctx (optional): optional GCancellable object, NULL to ignore.
  • typ: GType to read.
  • ioPriority: i/O priority of the request.
  • callback (optional) to call when the request is satisfied.

func (*Drop) ReadValueFinish

func (self *Drop) ReadValueFinish(result gio.AsyncResulter) (*coreglib.Value, error)

ReadValueFinish finishes an async drop read.

See gdk.Drop.ReadValueAsync().

The function takes the following parameters:

  • result: GAsyncResult.

The function returns the following values:

  • value: GValue containing the result.

func (*Drop) Status

func (self *Drop) Status(actions, preferred DragAction)

Status 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 gdk.Drop.GetActions(). Those actions may change in the future, even depending on the actions you provide here.

The preferred action is a hint to the drag'n'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.

The function takes the following parameters:

  • actions: supported actions of the destination, or 0 to indicate that a drop will not be accepted.
  • preferred: unique action that's a member of actions indicating the preferred action.

func (*Drop) Surface

func (self *Drop) Surface() Surfacer

Surface returns the GdkSurface performing the drop.

The function returns the following values:

  • surface: GdkSurface performing the drop.

type Dropper

type Dropper interface {
	coreglib.Objector
	// contains filtered or unexported methods
}

Dropper describes types inherited from class Drop.

To get the original type, the caller must assert this to an interface or another type.

type Event

type Event struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

Event GdkEvents are immutable data structures, created by GDK to represent 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.

func BaseEvent

func BaseEvent(obj Eventer) *Event

BaseEvent returns the underlying base object.

func (*Event) Axes

func (event *Event) Axes() ([]float64, bool)

Axes extracts all axis values from an event.

The function returns the following values:

  • axes: array of values for all axes.
  • ok: TRUE on success, otherwise FALSE.

func (*Event) Axis

func (event *Event) Axis(axisUse AxisUse) (float64, bool)

Axis: extract the axis value for a particular axis use from an event structure.

The function takes the following parameters:

  • axisUse axis use to look for.

The function returns the following values:

  • value: location to store the value found.
  • ok: TRUE if the specified axis was found, otherwise FALSE.

func (*Event) Device

func (event *Event) Device() Devicer

Device returns the device of an event.

The function returns the following values:

  • device (optional): Device.

func (*Event) DeviceTool

func (event *Event) DeviceTool() *DeviceTool

DeviceTool 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 NULL.

Note: the GdkDeviceTool will be constant during the application lifetime, if settings must be stored persistently across runs, see gdk.DeviceTool.GetSerial().

The function returns the following values:

  • deviceTool (optional): current device tool, or NULL.

func (*Event) Display

func (event *Event) Display() *Display

Display retrieves the display associated to the event.

The function returns the following values:

  • display (optional): Display.

func (*Event) EventSequence

func (event *Event) EventSequence() *EventSequence

EventSequence retuns 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.

The function returns the following values:

  • eventSequence: event sequence that the event belongs to.

func (*Event) EventType

func (event *Event) EventType() EventType

EventType retrieves the type of the event.

The function returns the following values:

  • eventType: GdkEventType.

func (*Event) History

func (event *Event) History() []TimeCoord

History 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.

The function returns the following values:

  • timeCoords (optional): an array of time and coordinates.

func (*Event) ModifierState

func (event *Event) ModifierState() ModifierType

ModifierState returns the modifier state field of an event.

The function returns the following values:

  • modifierType: modifier state of event.

func (*Event) PointerEmulated

func (event *Event) PointerEmulated() bool

PointerEmulated returns whether this event is an 'emulated' pointer event.

Emulated pointer events typically originate from a touch events.

The function returns the following values:

  • ok: TRUE if this event is emulated.

func (*Event) Position

func (event *Event) Position() (x, y float64, ok bool)

Position: extract the event surface relative x/y coordinates from an event.

The function returns the following values:

  • x: location to put event surface x coordinate.
  • y: location to put event surface y coordinate.
  • ok

func (*Event) Seat

func (event *Event) Seat() Seater

Seat returns the seat that originated the event.

The function returns the following values:

  • seat (optional): Seat.

func (*Event) Surface

func (event *Event) Surface() Surfacer

Surface extracts the surface associated with an event.

The function returns the following values:

  • surface associated with the event.

func (*Event) Time

func (event *Event) Time() uint32

Time returns the timestamp of event.

Not all events have timestamps. In that case, this function returns GDK_CURRENT_TIME.

The function returns the following values:

  • guint32: timestamp field from event.

func (*Event) TriggersContextMenu

func (event *Event) TriggersContextMenu() bool

TriggersContextMenu returns whether a GdkEvent should trigger a context menu, according to platform conventions.

The right mouse button typically triggers context menus.

This function should always be used instead of simply checking for event->button == GDK_BUTTON_SECONDARY.

The function returns the following values:

  • ok: TRUE if the event should trigger a context menu.

type EventSequence

type EventSequence struct {
	// contains filtered or unexported fields
}

EventSequence: GdkEventSequence is an opaque type representing a sequence of related touch events.

An instance of this type is always passed by reference.

type EventType

type EventType C.gint

EventType specifies the type of the event.

const (
	// Delete: 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.
	Delete EventType = iota
	// MotionNotify: pointer (usually a mouse) has moved.
	MotionNotify
	// ButtonPress: mouse button has been pressed.
	ButtonPress
	// ButtonRelease: mouse button has been released.
	ButtonRelease
	// KeyPress: key has been pressed.
	KeyPress
	// KeyRelease: key has been released.
	KeyRelease
	// EnterNotify: pointer has entered the surface.
	EnterNotify
	// LeaveNotify: pointer has left the surface.
	LeaveNotify
	// FocusChange: keyboard focus has entered or left the surface.
	FocusChange
	// ProximityIn: input device has moved into contact with a sensing surface
	// (e.g. a touchscreen or graphics tablet).
	ProximityIn
	// ProximityOut: input device has moved out of contact with a sensing
	// surface.
	ProximityOut
	// DragEnter: mouse has entered the surface while a drag is in progress.
	DragEnter
	// DragLeave: mouse has left the surface while a drag is in progress.
	DragLeave
	// DragMotion: mouse has moved in the surface while a drag is in progress.
	DragMotion
	// DropStart: drop operation onto the surface has started.
	DropStart
	// Scroll: scroll wheel was turned.
	Scroll
	// GrabBroken: pointer or keyboard grab was broken.
	GrabBroken
	// TouchBegin: new touch event sequence has just started.
	TouchBegin
	// TouchUpdate: touch event sequence has been updated.
	TouchUpdate
	// TouchEnd: touch event sequence has finished.
	TouchEnd
	// TouchCancel: touch event sequence has been canceled.
	TouchCancel
	// TouchpadSwipe: touchpad swipe gesture event, the current state is
	// determined by its phase field.
	TouchpadSwipe
	// TouchpadPinch: touchpad pinch gesture event, the current state is
	// determined by its phase field.
	TouchpadPinch
	// PadButtonPress: tablet pad button press event.
	PadButtonPress
	// PadButtonRelease: tablet pad button release event.
	PadButtonRelease
	// PadRing: tablet pad axis event from a "ring".
	PadRing
	// PadStrip: tablet pad axis event from a "strip".
	PadStrip
	// PadGroupMode: tablet pad group mode change.
	PadGroupMode
	// EventLast marks the end of the GdkEventType enumeration.
	EventLast
)

func (EventType) String

func (e EventType) String() string

String returns the name in string for EventType.

type Eventer

type Eventer interface {
	coreglib.Objector
	// contains filtered or unexported methods
}

Eventer describes types inherited from class Event.

To get the original type, the caller must assert this to an interface or another type.

type FocusEvent

type FocusEvent struct {
	Event
	// contains filtered or unexported fields
}

FocusEvent: event related to a keyboard focus change.

func (*FocusEvent) In

func (event *FocusEvent) In() bool

In extracts whether this event is about focus entering or leaving the surface.

The function returns the following values:

  • ok: TRUE of the focus is entering.

type FrameClock

type FrameClock struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

FrameClock: GdkFrameClock 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 gdk.FrameClock.RequestPhase(). 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. GDK_FRAME_CLOCK_PHASE_UPDATE and the gdkframeclock::update signal are most interesting for application writers, and are used to update the animations, using the frame time given by gdk.FrameClock.GetFrameTime.

The frame time is reported in microseconds and generally in the same timescale as g_get_monotonic_time(), however, it is not the same as g_get_monotonic_time(). 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 gdk.FrameClock.GetFrameTime() 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 gdk.FrameClock.GetFrameTime() and the value inside the gdkframeclock::update signal of the clock, they will stay exactly synchronized.

func BaseFrameClock

func BaseFrameClock(obj FrameClocker) *FrameClock

BaseFrameClock returns the underlying base object.

func (*FrameClock) BeginUpdating

func (frameClock *FrameClock) BeginUpdating()

BeginUpdating starts updates for an animation.

Until a matching call to gdk.FrameClock.EndUpdating() is made, the frame clock will continually request a new frame with the GDK_FRAME_CLOCK_PHASE_UPDATE phase. This function may be called multiple times and frames will be requested until gdk_frame_clock_end_updating() is called the same number of times.

func (*FrameClock) ConnectAfterPaint

func (frameClock *FrameClock) ConnectAfterPaint(f func()) coreglib.SignalHandle

ConnectAfterPaint: this signal ends processing of the frame.

Applications should generally not handle this signal.

func (*FrameClock) ConnectBeforePaint

func (frameClock *FrameClock) ConnectBeforePaint(f func()) coreglib.SignalHandle

ConnectBeforePaint begins processing of the frame.

Applications should generally not handle this signal.

func (*FrameClock) ConnectFlushEvents

func (frameClock *FrameClock) ConnectFlushEvents(f func()) coreglib.SignalHandle

ConnectFlushEvents: used to flush pending motion events that are being batched up and compressed together.

Applications should not handle this signal.

func (*FrameClock) ConnectLayout

func (frameClock *FrameClock) ConnectLayout(f func()) coreglib.SignalHandle

ConnectLayout is 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.

func (*FrameClock) ConnectPaint

func (frameClock *FrameClock) ConnectPaint(f func()) coreglib.SignalHandle

ConnectPaint is emitted as the third step of toolkit and application processing of the frame.

The frame is repainted. GDK normally handles this internally and emits gdk.Surface::render signals which are turned into gtk.Widget::snapshot signals by GTK.

func (*FrameClock) ConnectResumeEvents

func (frameClock *FrameClock) ConnectResumeEvents(f func()) coreglib.SignalHandle

ConnectResumeEvents is 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.

func (*FrameClock) ConnectUpdate

func (frameClock *FrameClock) ConnectUpdate(f func()) coreglib.SignalHandle

ConnectUpdate is emitted as the first step of toolkit and application processing of the frame.

Animations should be updated using gdk.FrameClock.GetFrameTime(). Applications can connect directly to this signal, or use gtk.Widget.AddTickCallback() as a more convenient interface.

func (*FrameClock) CurrentTimings

func (frameClock *FrameClock) CurrentTimings() *FrameTimings

CurrentTimings gets the frame timings for the current frame.

The function returns the following values:

  • frameTimings (optional): GdkFrameTimings for the frame currently being processed, or even no frame is being processed, for the previous frame. Before any frames have been processed, returns NULL.

func (*FrameClock) EndUpdating

func (frameClock *FrameClock) EndUpdating()

EndUpdating stops updates for an animation.

See the documentation for gdk.FrameClock.BeginUpdating().

func (*FrameClock) FPS

func (frameClock *FrameClock) FPS() float64

FPS calculates the current frames-per-second, based on the frame timings of frame_clock.

The function returns the following values:

  • gdouble: current fps, as a double.

func (*FrameClock) FrameCounter

func (frameClock *FrameClock) FrameCounter() int64

FrameCounter: GdkFrameClock maintains a 64-bit counter that increments for each frame drawn.

The function returns the following values:

  • gint64: inside frame processing, the value of the frame counter for the current frame. Outside of frame processing, the frame counter for the last frame.

func (*FrameClock) FrameTime

func (frameClock *FrameClock) FrameTime() int64

FrameTime 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.

The function returns the following values:

  • gint64: timestamp in microseconds, in the timescale of of g_get_monotonic_time().

func (*FrameClock) HistoryStart

func (frameClock *FrameClock) HistoryStart() int64

HistoryStart 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 gdk.FrameClock.GetTimings(). The set of stored frames is the set from the counter values given by gdk.FrameClock.GetHistoryStart() and gdk.FrameClock.GetFrameCounter(), inclusive.

The function returns the following values:

  • gint64: frame counter value for the oldest frame that is available in the internal frame history of the GdkFrameClock.

func (*FrameClock) RefreshInfo

func (frameClock *FrameClock) RefreshInfo(baseTime int64) (refreshIntervalReturn, presentationTimeReturn int64)

RefreshInfo 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 base_time.

The function takes the following parameters:

  • baseTime: base time for determining a presentaton time.

The function returns the following values:

  • refreshIntervalReturn (optional): location to store the determined refresh interval, or NULL. A default refresh interval of 1/60th of a second will be stored if no history is present.
  • presentationTimeReturn: location to store the next candidate presentation time after the given base time. 0 will be will be stored if no history is present.

func (*FrameClock) RequestPhase

func (frameClock *FrameClock) RequestPhase(phase FrameClockPhase)

RequestPhase 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 gdk_frame_clock_request_phase() will be combined together and only one frame processed. If you are displaying animated content and want to continually request the GDK_FRAME_CLOCK_PHASE_UPDATE phase for a period of time, you should use gdk.FrameClock.BeginUpdating() instead, since this allows GTK to adjust system parameters to get maximally smooth animations.

The function takes the following parameters:

  • phase that is requested.

func (*FrameClock) Timings

func (frameClock *FrameClock) Timings(frameCounter int64) *FrameTimings

Timings retrieves a GdkFrameTimings object holding timing information for the current frame or a recent frame.

The GdkFrameTimings object may not yet be complete: see gdk.FrameTimings.GetComplete().

The function takes the following parameters:

  • frameCounter: frame counter value identifying the frame to be received.

The function returns the following values:

  • frameTimings (optional): GdkFrameTimings object for the specified frame, or NULL if it is not available. See gdk.FrameClock.GetHistoryStart().

type FrameClockPhase

type FrameClockPhase C.guint

FrameClockPhase: used to represent the different paint clock phases that can be requested.

The elements of the enumeration correspond to the signals of GdkFrameClock.

const (
	// FrameClockPhaseNone: no phase.
	FrameClockPhaseNone FrameClockPhase = 0b0
	// FrameClockPhaseFlushEvents corresponds to GdkFrameClock::flush-events.
	// Should not be handled by applications.
	FrameClockPhaseFlushEvents FrameClockPhase = 0b1
	// FrameClockPhaseBeforePaint corresponds to GdkFrameClock::before-paint.
	// Should not be handled by applications.
	FrameClockPhaseBeforePaint FrameClockPhase = 0b10
	// FrameClockPhaseUpdate corresponds to GdkFrameClock::update.
	FrameClockPhaseUpdate FrameClockPhase = 0b100
	// FrameClockPhaseLayout corresponds to GdkFrameClock::layout. Should not be
	// handled by applicatiosn.
	FrameClockPhaseLayout FrameClockPhase = 0b1000
	// FrameClockPhasePaint corresponds to GdkFrameClock::paint.
	FrameClockPhasePaint FrameClockPhase = 0b10000
	// FrameClockPhaseResumeEvents corresponds to GdkFrameClock::resume-events.
	// Should not be handled by applications.
	FrameClockPhaseResumeEvents FrameClockPhase = 0b100000
	// FrameClockPhaseAfterPaint corresponds to GdkFrameClock::after-paint.
	// Should not be handled by applications.
	FrameClockPhaseAfterPaint FrameClockPhase = 0b1000000
)

func (FrameClockPhase) Has

func (f FrameClockPhase) Has(other FrameClockPhase) bool

Has returns true if f contains other.

func (FrameClockPhase) String

func (f FrameClockPhase) String() string

String returns the names in string for FrameClockPhase.

type FrameClocker

type FrameClocker interface {
	coreglib.Objector
	// contains filtered or unexported methods
}

FrameClocker describes types inherited from class FrameClock.

To get the original type, the caller must assert this to an interface or another type.

type FrameTimings

type FrameTimings struct {
	// contains filtered or unexported fields
}

FrameTimings: GdkFrameTimings object holds timing information for a single frame of the application’s displays.

To retrieve GdkFrameTimings objects, use gdk.FrameClock.GetTimings() or gdk.FrameClock.GetCurrentTimings(). 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.

An instance of this type is always passed by reference.

func (*FrameTimings) Complete

func (timings *FrameTimings) Complete() bool

Complete 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.

The function returns the following values:

  • ok: TRUE if all information that will be available for the frame has been filled in.

func (*FrameTimings) FrameCounter

func (timings *FrameTimings) FrameCounter() int64

FrameCounter gets the frame counter value of the GdkFrameClock when this frame was drawn.

The function returns the following values:

  • gint64: frame counter value for this frame.

func (*FrameTimings) FrameTime

func (timings *FrameTimings) FrameTime() int64

FrameTime returns the frame time for the frame.

This is the time value that is typically used to time animations for the frame. See gdk.FrameClock.GetFrameTime().

The function returns the following values:

  • gint64: frame time for the frame, in the timescale of g_get_monotonic_time().

func (*FrameTimings) PredictedPresentationTime

func (timings *FrameTimings) PredictedPresentationTime() int64

PredictedPresentationTime 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 gdk.FrameTimings.GetPresentationTime(), which is only available after the frame has been presented.

In general, if you are simply animating, you should use gdk.FrameClock.GetFrameTime() 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.

The function returns the following values:

  • gint64: predicted time at which the frame will be presented, in the timescale of g_get_monotonic_time(), or 0 if no predicted presentation time is available.

func (*FrameTimings) PresentationTime

func (timings *FrameTimings) PresentationTime() int64

PresentationTime reurns the presentation time.

This is the time at which the frame became visible to the user.

The function returns the following values:

  • gint64: time the frame was displayed to the user, in the timescale of g_get_monotonic_time(), or 0 if no presentation time is available. See gdk.FrameTimings.GetComplete().

func (*FrameTimings) RefreshInterval

func (timings *FrameTimings) RefreshInterval() int64

RefreshInterval 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”.

The function returns the following values:

  • gint64: refresh interval of the display, in microseconds, or 0 if the refresh interval is not available. See gdk.FrameTimings.GetComplete().

type FullscreenMode

type FullscreenMode C.gint

FullscreenMode indicates which monitor a surface should span over when in fullscreen mode.

const (
	// FullscreenOnCurrentMonitor: fullscreen on current monitor only.
	FullscreenOnCurrentMonitor FullscreenMode = iota
	// FullscreenOnAllMonitors: span across all monitors when fullscreen.
	FullscreenOnAllMonitors
)

func (FullscreenMode) String

func (f FullscreenMode) String() string

String returns the name in string for FullscreenMode.

type GLContext

type GLContext struct {
	DrawContext
	// contains filtered or unexported fields
}

GLContext: GdkGLContext is an object representing a platform-specific OpenGL draw context.

GdkGLContexts are created for a surface using gdk.Surface.CreateGLContext(), and the context will match the 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 cairo_draw_from_gl 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 NULL 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 gdk.GLContext.MakeCurrent() or gdk.GLContext.Realize() 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 gdk.Surface.CreateGLContext() by calling gdk.GLContext.Realize(). 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:

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 gdk.GLContext().GetCurrent; you can also unset any GdkGLContext that is currently set by calling gdk.GLContext().ClearCurrent.

func BaseGLContext

func BaseGLContext(obj GLContexter) *GLContext

BaseGLContext returns the underlying base object.

func (*GLContext) DebugEnabled

func (context *GLContext) DebugEnabled() bool

DebugEnabled retrieves whether the context is doing extra validations and runtime checking.

See gdk.GLContext.SetDebugEnabled().

The function returns the following values:

  • ok: TRUE if debugging is enabled.

func (*GLContext) Display

func (context *GLContext) Display() *Display

Display retrieves the display the context is created for.

The function returns the following values:

  • display (optional): GdkDisplay or NULL.

func (*GLContext) ForwardCompatible

func (context *GLContext) ForwardCompatible() bool

ForwardCompatible retrieves whether the context is forward-compatible.

See gdk.GLContext.SetForwardCompatible().

The function returns the following values:

  • ok: TRUE if the context should be forward-compatible.

func (*GLContext) IsLegacy

func (context *GLContext) IsLegacy() bool

IsLegacy: 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.

The function returns the following values:

  • ok: TRUE if the GL context is in legacy mode.

func (*GLContext) MakeCurrent

func (context *GLContext) MakeCurrent()

MakeCurrent makes the context the current one.

func (*GLContext) Realize

func (context *GLContext) Realize() error

Realize realizes the given GdkGLContext.

It is safe to call this function on a realized GdkGLContext.

func (*GLContext) RequiredVersion

func (context *GLContext) RequiredVersion() (major, minor int)

RequiredVersion retrieves required OpenGL version.

See gdk.GLContext.SetRequiredVersion().

The function returns the following values:

  • major (optional): return location for the major version to request.
  • minor (optional): return location for the minor version to request.

func (*GLContext) SetDebugEnabled

func (context *GLContext) SetDebugEnabled(enabled bool)

SetDebugEnabled 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.

The function takes the following parameters:

  • enabled: whether to enable debugging in the context.

func (*GLContext) SetForwardCompatible

func (context *GLContext) SetForwardCompatible(compatible bool)

SetForwardCompatible 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.

The function takes the following parameters:

  • compatible: whether the context should be forward-compatible.

func (*GLContext) SetRequiredVersion

func (context *GLContext) SetRequiredVersion(major, minor int)

SetRequiredVersion sets the major and minor version of OpenGL to request.

Setting major and minor to zero will use the default values.

The GdkGLContext must not be realized or made current prior to calling this function.

The function takes the following parameters:

  • major version to request.
  • minor version to request.

func (*GLContext) SetUseES

func (context *GLContext) SetUseES(useEs int)

SetUseES 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 gdk.GLContext.GetUseES() after calling gdk.GLContext.Realize() to decide whether to use the OpenGL or OpenGL ES API, extensions, or shaders.

The function takes the following parameters:

  • useEs: whether the context should use OpenGL ES instead of OpenGL, or -1 to allow auto-detection.

func (*GLContext) SharedContext

func (context *GLContext) SharedContext() GLContexter

SharedContext retrieves the GdkGLContext that this context share data with.

The function returns the following values:

  • glContext (optional): GdkGLContext or NULL.

func (*GLContext) Surface

func (context *GLContext) Surface() Surfacer

Surface retrieves the surface used by the context.

The function returns the following values:

  • surface (optional): GdkSurface or NULL.

func (*GLContext) UseES

func (context *GLContext) UseES() bool

UseES checks whether the context is using an OpenGL or OpenGL ES profile.

The function returns the following values:

  • ok: TRUE if the GdkGLContext is using an OpenGL ES profile.

func (*GLContext) Version

func (context *GLContext) Version() (major, minor int)

Version retrieves the OpenGL version of the context.

The context must be realized prior to calling this function.

The function returns the following values:

  • major: return location for the major version.
  • minor: return location for the minor version.

type GLContexter

type GLContexter interface {
	coreglib.Objector
	// contains filtered or unexported methods
}

GLContexter describes types inherited from class GLContext.

To get the original type, the caller must assert this to an interface or another type.

func GLContextGetCurrent

func GLContextGetCurrent() GLContexter

GLContextGetCurrent retrieves the current GdkGLContext.

The function returns the following values:

  • glContext (optional): current GdkGLContext, or NULL.

type GLError

type GLError C.gint

GLError: error enumeration for GdkGLContext.

const (
	// GLErrorNotAvailable: openGL support is not available.
	GLErrorNotAvailable GLError = iota
	// GLErrorUnsupportedFormat: requested visual format is not supported.
	GLErrorUnsupportedFormat
	// GLErrorUnsupportedProfile: requested profile is not supported.
	GLErrorUnsupportedProfile
	// GLErrorCompilationFailed: shader compilation failed.
	GLErrorCompilationFailed
	// GLErrorLinkFailed: shader linking failed.
	GLErrorLinkFailed
)

func (GLError) String

func (g GLError) String() string

String returns the name in string for GLError.

type GLTexture

type GLTexture struct {
	Texture
	// contains filtered or unexported fields
}

GLTexture: gdkTexture representing a GL texture object.

func (*GLTexture) Release

func (self *GLTexture) Release()

Release releases the GL resources held by a GdkGLTexture.

The texture contents are still available via the gdk.Texture.Download() function, after this function has been called.

type GrabBrokenEvent

type GrabBrokenEvent struct {
	Event
	// contains filtered or unexported fields
}

GrabBrokenEvent: event related to a broken windowing system grab.

func (*GrabBrokenEvent) GrabSurface

func (event *GrabBrokenEvent) GrabSurface() Surfacer

GrabSurface extracts the grab surface from a grab broken event.

The function returns the following values:

  • surface: grab surface of event.

func (*GrabBrokenEvent) Implicit

func (event *GrabBrokenEvent) Implicit() bool

Implicit checks whether the grab broken event is for an implicit grab.

The function returns the following values:

  • ok: TRUE if the an implicit grab was broken.

type Gravity

type Gravity C.gint

Gravity defines the reference point of a surface and is used in PopupLayout.

const (
	// GravityNorthWest: reference point is at the top left corner.
	GravityNorthWest Gravity = 1
	// GravityNorth: reference point is in the middle of the top edge.
	GravityNorth Gravity = 2
	// GravityNorthEast: reference point is at the top right corner.
	GravityNorthEast Gravity = 3
	// GravityWest: reference point is at the middle of the left edge.
	GravityWest Gravity = 4
	// GravityCenter: reference point is at the center of the surface.
	GravityCenter Gravity = 5
	// GravityEast: reference point is at the middle of the right edge.
	GravityEast Gravity = 6
	// GravitySouthWest: reference point is at the lower left corner.
	GravitySouthWest Gravity = 7
	// GravitySouth: reference point is at the middle of the lower edge.
	GravitySouth Gravity = 8
	// GravitySouthEast: reference point is at the lower right corner.
	GravitySouthEast Gravity = 9
	// GravityStatic: reference point is at the top left corner of the surface
	// itself, ignoring window manager decorations.
	GravityStatic Gravity = 10
)

func (Gravity) String

func (g Gravity) String() string

String returns the name in string for Gravity.

type InputSource

type InputSource C.gint

InputSource: enumeration describing the type of an input device in general terms.

const (
	// SourceMouse: device is a mouse. (This will be reported for the core
	// pointer, even if it is something else, such as a trackball.).
	SourceMouse InputSource = iota
	// SourcePen: device is a stylus of a graphics tablet or similar device.
	SourcePen
	// SourceKeyboard: device is a keyboard.
	SourceKeyboard
	// SourceTouchscreen: device is a direct-input touch device, such as a
	// touchscreen or tablet.
	SourceTouchscreen
	// SourceTouchpad: device is an indirect touch device, such as a touchpad.
	SourceTouchpad
	// SourceTrackpoint: device is a trackpoint.
	SourceTrackpoint
	// SourceTabletPad: device is a "pad", a collection of buttons, rings and
	// strips found in drawing tablets.
	SourceTabletPad
)

func (InputSource) String

func (i InputSource) String() string

String returns the name in string for InputSource.

type KeyEvent

type KeyEvent struct {
	Event
	// contains filtered or unexported fields
}

KeyEvent: event related to a key-based device.

func (*KeyEvent) ConsumedModifiers

func (event *KeyEvent) ConsumedModifiers() ModifierType

ConsumedModifiers extracts the consumed modifiers from a key event.

The function returns the following values:

  • modifierType: consumed modifiers or event.

func (*KeyEvent) IsModifier

func (event *KeyEvent) IsModifier() bool

IsModifier extracts whether the key event is for a modifier key.

The function returns the following values:

  • ok: TRUE if the event is for a modifier key.

func (*KeyEvent) Keycode

func (event *KeyEvent) Keycode() uint

Keycode extracts the keycode from a key event.

The function returns the following values:

  • guint: keycode of event.

func (*KeyEvent) Keyval

func (event *KeyEvent) Keyval() uint

Keyval extracts the keyval from a key event.

The function returns the following values:

  • guint: keyval of event.

func (*KeyEvent) Layout

func (event *KeyEvent) Layout() uint

Layout extracts the layout from a key event.

The function returns the following values:

  • guint: layout of event.

func (*KeyEvent) Level

func (event *KeyEvent) Level() uint

Level extracts the shift level from a key event.

The function returns the following values:

  • guint: shift level of event.

func (*KeyEvent) Match

func (event *KeyEvent) Match() (uint, ModifierType, bool)

Match gets a keyval and modifier combination that will match the event.

See gdk.KeyEvent.Matches().

The function returns the following values:

  • keyval: return location for a keyval.
  • modifiers: return location for modifiers.
  • ok: TRUE on success.

func (*KeyEvent) Matches

func (event *KeyEvent) Matches(keyval uint, modifiers ModifierType) KeyMatch

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.

The function takes the following parameters:

  • keyval to match.
  • modifiers to match.

The function returns the following values:

  • keyMatch: GdkKeyMatch value describing whether event matches.

type KeyMatch

type KeyMatch C.gint

KeyMatch describes how well an event matches a given keyval and modifiers.

GdkKeyMatch values are returned by gdk.KeyEvent.Matches().

const (
	// KeyMatchNone: key event does not match.
	KeyMatchNone KeyMatch = iota
	// KeyMatchPartial: key event matches if keyboard state (specifically,
	// the currently active group) is ignored.
	KeyMatchPartial
	// KeyMatchExact: key event matches.
	KeyMatchExact
)

func (KeyMatch) String

func (k KeyMatch) String() string

String returns the name in string for KeyMatch.

type KeymapKey

type KeymapKey struct {
	// contains filtered or unexported fields
}

KeymapKey: GdkKeymapKey is a hardware key that can be mapped to a keyval.

An instance of this type is always passed by reference.

func NewKeymapKey

func NewKeymapKey(keycode uint, group, level int) KeymapKey

NewKeymapKey creates a new KeymapKey instance from the given fields. Beware that this function allocates on the Go heap; be careful when using it!

func (*KeymapKey) Group

func (k *KeymapKey) Group() int

Group indicates movement in a horizontal direction. Usually groups are used for two different languages. In group 0, a key might have two English characters, and in group 1 it might have two Hebrew characters. The Hebrew characters will be printed on the key next to the English characters.

func (*KeymapKey) Keycode

func (k *KeymapKey) Keycode() uint

Keycode: hardware keycode. This is an identifying number for a physical key.

func (*KeymapKey) Level

func (k *KeymapKey) Level() int

Level indicates which symbol on the key will be used, in a vertical direction. So on a standard US keyboard, the key with the number “1” on it also has the exclamation point ("!") character on it. The level indicates whether to use the “1” or the “!” symbol. The letter keys are considered to have a lowercase letter at level 0, and an uppercase letter at level 1, though only the uppercase letter is printed.

func (*KeymapKey) SetGroup

func (k *KeymapKey) SetGroup(group int)

Group indicates movement in a horizontal direction. Usually groups are used for two different languages. In group 0, a key might have two English characters, and in group 1 it might have two Hebrew characters. The Hebrew characters will be printed on the key next to the English characters.

func (*KeymapKey) SetKeycode

func (k *KeymapKey) SetKeycode(keycode uint)

Keycode: hardware keycode. This is an identifying number for a physical key.

func (*KeymapKey) SetLevel

func (k *KeymapKey) SetLevel(level int)

Level indicates which symbol on the key will be used, in a vertical direction. So on a standard US keyboard, the key with the number “1” on it also has the exclamation point ("!") character on it. The level indicates whether to use the “1” or the “!” symbol. The letter keys are considered to have a lowercase letter at level 0, and an uppercase letter at level 1, though only the uppercase letter is printed.

type MemoryFormat

type MemoryFormat C.gint

MemoryFormat: GdkMemoryFormat describes a format that bytes 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 (see https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.htmlFormat for details).

const (
	// MemoryB8G8R8A8Premultiplied: 4 bytes; for blue, green, red, alpha.
	// The color values are premultiplied with the alpha value.
	MemoryB8G8R8A8Premultiplied MemoryFormat = iota
	// MemoryA8R8G8B8Premultiplied: 4 bytes; for alpha, red, green, blue.
	// The color values are premultiplied with the alpha value.
	MemoryA8R8G8B8Premultiplied
	// MemoryR8G8B8A8Premultiplied: 4 bytes; for red, green, blue, alpha The
	// color values are premultiplied with the alpha value.
	MemoryR8G8B8A8Premultiplied
	// MemoryB8G8R8A8: 4 bytes; for blue, green, red, alpha.
	MemoryB8G8R8A8
	// MemoryA8R8G8B8: 4 bytes; for alpha, red, green, blue.
	MemoryA8R8G8B8
	// MemoryR8G8B8A8: 4 bytes; for red, green, blue, alpha.
	MemoryR8G8B8A8
	// MemoryA8B8G8R8: 4 bytes; for alpha, blue, green, red.
	MemoryA8B8G8R8
	// MemoryR8G8B8: 3 bytes; for red, green, blue. The data is opaque.
	MemoryR8G8B8
	// MemoryB8G8R8: 3 bytes; for blue, green, red. The data is opaque.
	MemoryB8G8R8
	// MemoryNFormats: number of formats. This value will change as more formats
	// get added, so do not rely on its concrete integer.
	MemoryNFormats
)

func (MemoryFormat) String

func (m MemoryFormat) String() string

String returns the name in string for MemoryFormat.

type MemoryTexture

type MemoryTexture struct {
	Texture
	// contains filtered or unexported fields
}

MemoryTexture: GdkTexture representing image data in memory.

func NewMemoryTexture

func NewMemoryTexture(width, height int, format MemoryFormat, bytes *glib.Bytes, stride uint) *MemoryTexture

NewMemoryTexture creates a new texture for a blob of image data.

The GBytes must contain stride x height pixels in the given format.

The function takes the following parameters:

  • width of the texture.
  • height of the texture.
  • format of the data.
  • bytes: GBytes containing the pixel data.
  • stride for the data.

The function returns the following values:

  • memoryTexture: newly-created GdkTexture.

type ModifierType

type ModifierType C.guint

ModifierType 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 GDK_MODIFIER_MASK to remove all private values.

const (
	// ShiftMask: shift key.
	ShiftMask ModifierType = 0b1
	// LockMask: lock key (depending on the modifier mapping of the X server
	// this may either be CapsLock or ShiftLock).
	LockMask ModifierType = 0b10
	// ControlMask: control key.
	ControlMask ModifierType = 0b100
	// AltMask: fourth modifier key (it depends on the modifier mapping of the X
	// server which key is interpreted as this modifier, but normally it is the
	// Alt key).
	AltMask ModifierType = 0b1000
	// Button1Mask: first mouse button.
	Button1Mask ModifierType = 0b100000000
	// Button2Mask: second mouse button.
	Button2Mask ModifierType = 0b1000000000
	// Button3Mask: third mouse button.
	Button3Mask ModifierType = 0b10000000000
	// Button4Mask: fourth mouse button.
	Button4Mask ModifierType = 0b100000000000
	// Button5Mask: fifth mouse button.
	Button5Mask ModifierType = 0b1000000000000
	// SuperMask: super modifier.
	SuperMask ModifierType = 0b100000000000000000000000000
	// HyperMask: hyper modifier.
	HyperMask ModifierType = 0b1000000000000000000000000000
	// MetaMask: meta modifier.
	MetaMask ModifierType = 0b10000000000000000000000000000
)

func (ModifierType) Has

func (m ModifierType) Has(other ModifierType) bool

Has returns true if m contains other.

func (ModifierType) String

func (m ModifierType) String() string

String returns the names in string for ModifierType.

type Monitor

type Monitor struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

Monitor: GdkMonitor objects represent the individual outputs that are associated with a GdkDisplay.

GdkDisplay keeps a GListModel to enumerate and monitor monitors with gdk.Display.GetMonitors(). You can use gdk.Display.GetMonitorAtSurface() to find a particular monitor.

func (*Monitor) ConnectInvalidate

func (monitor *Monitor) ConnectInvalidate(f func()) coreglib.SignalHandle

ConnectInvalidate is emitted when the output represented by monitor gets disconnected.

func (*Monitor) Connector

func (monitor *Monitor) Connector() string

Connector gets the name of the monitor's connector, if available.

The function returns the following values:

  • utf8 (optional): name of the connector.

func (*Monitor) Display

func (monitor *Monitor) Display() *Display

Display gets the display that this monitor belongs to.

The function returns the following values:

  • display: display.

func (*Monitor) Geometry

func (monitor *Monitor) Geometry() *Rectangle

Geometry 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 gdk.Monitor.GetScaleFactor()).

The function returns the following values:

  • geometry: GdkRectangle to be filled with the monitor geometry.

func (*Monitor) HeightMm

func (monitor *Monitor) HeightMm() int

HeightMm gets the height in millimeters of the monitor.

The function returns the following values:

  • gint: physical height of the monitor.

func (*Monitor) IsValid

func (monitor *Monitor) IsValid() bool

IsValid returns TRUE if the monitor object corresponds to a physical monitor.

The monitor becomes invalid when the physical monitor is unplugged or removed.

The function returns the following values:

  • ok: TRUE if the object corresponds to a physical monitor.

func (*Monitor) Manufacturer

func (monitor *Monitor) Manufacturer() string

Manufacturer 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 (https://uefi.org/pnp_id_list).

The function returns the following values:

  • utf8 (optional): name of the manufacturer, or NULL.

func (*Monitor) Model

func (monitor *Monitor) Model() string

Model gets the string identifying the monitor model, if available.

The function returns the following values:

  • utf8 (optional): monitor model, or NULL.

func (*Monitor) RefreshRate

func (monitor *Monitor) RefreshRate() int

RefreshRate 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.

The function returns the following values:

  • gint: refresh rate in milli-Hertz, or 0.

func (*Monitor) ScaleFactor

func (monitor *Monitor) ScaleFactor() int

ScaleFactor 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 gdk.Surface.GetScaleFactor() instead.

The function returns the following values:

  • gint: scale factor.

func (*Monitor) SubpixelLayout

func (monitor *Monitor) SubpixelLayout() SubpixelLayout

SubpixelLayout gets information about the layout of red, green and blue primaries for pixels.

The function returns the following values:

  • subpixelLayout: subpixel layout.

func (*Monitor) WidthMm

func (monitor *Monitor) WidthMm() int

WidthMm gets the width in millimeters of the monitor.

The function returns the following values:

  • gint: physical width of the monitor.

type MotionEvent

type MotionEvent struct {
	Event
	// contains filtered or unexported fields
}

MotionEvent: event related to a pointer or touch device motion.

type NotifyType

type NotifyType C.gint

NotifyType specifies the kind of crossing for enter and leave events.

See the X11 protocol specification of LeaveNotify for full details of crossing event generation.

const (
	// NotifyAncestor: surface is entered from an ancestor or left towards an
	// ancestor.
	NotifyAncestor NotifyType = iota
	// NotifyVirtual: pointer moves between an ancestor and an inferior of the
	// surface.
	NotifyVirtual
	// NotifyInferior: surface is entered from an inferior or left towards an
	// inferior.
	NotifyInferior
	// NotifyNonlinear: surface is entered from or left towards a surface which
	// is neither an ancestor nor an inferior.
	NotifyNonlinear
	// NotifyNonlinearVirtual: 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.
	NotifyNonlinearVirtual
	// NotifyUnknown: unknown type of enter/leave event occurred.
	NotifyUnknown
)

func (NotifyType) String

func (n NotifyType) String() string

String returns the name in string for NotifyType.

type PadEvent

type PadEvent struct {
	Event
	// contains filtered or unexported fields
}

PadEvent: event related to a pad-based device.

func (*PadEvent) AxisValue

func (event *PadEvent) AxisValue() (uint, float64)

AxisValue extracts the information from a pad strip or ring event.

The function returns the following values:

  • index: return location for the axis index.
  • value: return location for the axis value.

func (*PadEvent) Button

func (event *PadEvent) Button() uint

Button extracts information about the pressed button from a pad event.

The function returns the following values:

  • guint: button of event.

func (*PadEvent) GroupMode

func (event *PadEvent) GroupMode() (group, mode uint)

GroupMode extracts group and mode information from a pad event.

The function returns the following values:

  • group: return location for the group.
  • mode: return location for the mode.

type Paintable

type Paintable struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

Paintable: GdkPaintable is a simple interface used by GTK to represent 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 (https://developer.gnome.org/clutter/stable/ClutterContent.html), HTML/CSS Paint Sources (https://www.w3.org/TR/css-images-4/#paint-source), or SVG Paint Servers (https://www.w3.org/TR/SVG2/pservers.html).

A GdkPaintable can be snapshot at any time and size using gdk.Paintable.Snapshot(). 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 gdksnapshot 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 gdk.Paintable.InvalidateContents() which will emit the gdkpaintable::invalidate-contents signal. If a paintable is known to never change its contents, it will set the GDK_PAINTABLE_STATIC_CONTENTS flag. If a consumer cannot deal with changing contents, it may call gdk.Paintable.GetCurrentImage() 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 gdk.Paintable.InvalidateSize() which will emit the gdkpaintable::invalidate-size signal. And just like for contents, if a paintable is known to never change its size, it will set the GDK_PAINTABLE_STATIC_SIZE flag.

Besides API for applications, there are some functions that are only useful for implementing subclasses and should not be used by applications: gdk.Paintable.InvalidateContents(), gdk.Paintable.InvalidateSize(), gdk.Paintable().NewEmpty.

Paintable wraps an interface. This means the user can get the underlying type by calling Cast().

func NewPaintableEmpty

func NewPaintableEmpty(intrinsicWidth, intrinsicHeight int) *Paintable

NewPaintableEmpty returns a paintable that has the given intrinsic size and draws nothing.

This is often useful for implementing the PaintableInterface.get_current_image() virtual function when the paintable is in an incomplete state (like a gtk.MediaStream before receiving the first frame).

The function takes the following parameters:

  • intrinsicWidth: intrinsic width to report. Can be 0 for no width.
  • intrinsicHeight: intrinsic height to report. Can be 0 for no height.

The function returns the following values:

  • paintable: GdkPaintable.

func (*Paintable) ComputeConcreteSize

func (paintable *Paintable) ComputeConcreteSize(specifiedWidth, specifiedHeight, defaultWidth, defaultHeight float64) (concreteWidth, concreteHeight float64)

ComputeConcreteSize: compute a concrete size for the GdkPaintable.

Applies the sizing algorithm outlined in the CSS Image spec (https://drafts.csswg.org/css-images-3/#default-sizing) to the given paintable. See that link for more details.

It is not necessary to call this function when both specified_width and specified_height 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.

The function takes the following parameters:

  • specifiedWidth: width paintable could be drawn into or 0.0 if unknown.
  • specifiedHeight: height paintable could be drawn into or 0.0 if unknown.
  • defaultWidth: width paintable would be drawn into if no other constraints were given.
  • defaultHeight: height paintable would be drawn into if no other constraints were given.

The function returns the following values:

  • concreteWidth will be set to the concrete width computed.
  • concreteHeight will be set to the concrete height computed.

func (*Paintable) ConnectInvalidateContents

func (paintable *Paintable) ConnectInvalidateContents(f func()) coreglib.SignalHandle

ConnectInvalidateContents is 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.

func (*Paintable) ConnectInvalidateSize

func (paintable *Paintable) ConnectInvalidateSize(f func()) coreglib.SignalHandle

ConnectInvalidateSize is emitted when the intrinsic size of the paintable changes.

This means the values reported by at least one of gdk.Paintable.GetIntrinsicWidth(), gdk.Paintable.GetIntrinsicHeight() or gdk.Paintable.GetIntrinsicAspectRatio() has changed.

Examples for such an event would be a paintable displaying the contents of a toplevel surface being resized.

func (*Paintable) CurrentImage

func (paintable *Paintable) CurrentImage() *Paintable

CurrentImage 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.

The function returns the following values:

  • ret: immutable paintable for the current contents of paintable.

func (*Paintable) Flags

func (paintable *Paintable) Flags() PaintableFlags

Flags: get flags for the paintable.

This is oftentimes useful for optimizations.

See gdk.PaintableFlags for the flags and what they mean.

The function returns the following values:

  • paintableFlags: GdkPaintableFlags for this paintable.

func (*Paintable) IntrinsicAspectRatio

func (paintable *Paintable) IntrinsicAspectRatio() float64

IntrinsicAspectRatio 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 gdk.Paintable.Snapshot().

Usually when a paintable returns nonzero values from gdk.Paintable.GetIntrinsicWidth() and gdk.Paintable.GetIntrinsicHeight() 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.

The function returns the following values:

  • gdouble: intrinsic aspect ratio of paintable or 0 if none.

func (*Paintable) IntrinsicHeight

func (paintable *Paintable) IntrinsicHeight() int

IntrinsicHeight 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 gdk.Paintable.Snapshot().

If the paintable does not have a preferred height, it returns 0. Negative values are never returned.

The function returns the following values:

  • gint: intrinsic height of paintable or 0 if none.

func (*Paintable) IntrinsicWidth

func (paintable *Paintable) IntrinsicWidth() int

IntrinsicWidth 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 gdk.Paintable.Snapshot().

If the paintable does not have a preferred width, it returns 0. Negative values are never returned.

The function returns the following values:

  • gint: intrinsic width of paintable or 0 if none.

func (*Paintable) InvalidateContents

func (paintable *Paintable) InvalidateContents()

InvalidateContents: called by implementations of GdkPaintable to invalidate their contents.

Unless the contents are invalidated, implementations must guarantee that multiple calls of gdk.Paintable.Snapshot() produce the same output.

This function will emit the gdk.Paintable::invalidate-contents signal.

If a paintable reports the GDK_PAINTABLE_STATIC_CONTENTS flag, it must not call this function.

func (*Paintable) InvalidateSize

func (paintable *Paintable) InvalidateSize()

InvalidateSize: 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 gdk.Paintable::invalidate-size signal.

If a paintable reports the GDK_PAINTABLE_STATIC_SIZE flag, it must not call this function.

func (*Paintable) Snapshot

func (paintable *Paintable) Snapshot(snapshot Snapshotter, width, height float64)

Snapshot 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.

The function takes the following parameters:

  • snapshot: GdkSnapshot to snapshot to.
  • width to snapshot in.
  • height to snapshot in.

type PaintableFlags

type PaintableFlags C.guint

PaintableFlags flags about a paintable object.

Implementations use these for optimizations such as caching.

const (
	// PaintableStaticSize: size is immutable. The gdkpaintable::invalidate-size
	// signal will never be emitted.
	PaintableStaticSize PaintableFlags = 0b1
	// PaintableStaticContents: content is immutable. The
	// gdkpaintable::invalidate-contents signal will never be emitted.
	PaintableStaticContents PaintableFlags = 0b10
)

func (PaintableFlags) Has

func (p PaintableFlags) Has(other PaintableFlags) bool

Has returns true if p contains other.

func (PaintableFlags) String

func (p PaintableFlags) String() string

String returns the names in string for PaintableFlags.

type PaintableInterface added in v0.0.5

type PaintableInterface struct {
	// contains filtered or unexported fields
}

PaintableInterface: list of functions that can be implemented for the GdkPaintable interface.

Note that apart from the PaintableInterface.snapshot() function, no virtual function of this interface is mandatory to implement, though it is a good idea to implement PaintableInterface.get_current_image() for non-static paintables and PaintableInterface.get_flags() if the image is not dynamic as the default implementation returns no flags and that will make the implementation likely quite slow.

An instance of this type is always passed by reference.

type Paintabler

type Paintabler interface {
	coreglib.Objector

	// ComputeConcreteSize: compute a concrete size for the GdkPaintable.
	ComputeConcreteSize(specifiedWidth, specifiedHeight, defaultWidth, defaultHeight float64) (concreteWidth, concreteHeight float64)
	// CurrentImage gets an immutable paintable for the current contents
	// displayed by paintable.
	CurrentImage() *Paintable
	// Flags: get flags for the paintable.
	Flags() PaintableFlags
	// IntrinsicAspectRatio gets the preferred aspect ratio the paintable would
	// like to be displayed at.
	IntrinsicAspectRatio() float64
	// IntrinsicHeight gets the preferred height the paintable would like to be
	// displayed at.
	IntrinsicHeight() int
	// IntrinsicWidth gets the preferred width the paintable would like to be
	// displayed at.
	IntrinsicWidth() int
	// InvalidateContents: called by implementations of GdkPaintable to
	// invalidate their contents.
	InvalidateContents()
	// InvalidateSize: called by implementations of GdkPaintable to invalidate
	// their size.
	InvalidateSize()
	// Snapshot snapshots the given paintable with the given width and height.
	Snapshot(snapshot Snapshotter, width, height float64)

	// Invalidate-contents is emitted when the contents of the paintable change.
	ConnectInvalidateContents(func()) coreglib.SignalHandle
	// Invalidate-size is emitted when the intrinsic size of the paintable
	// changes.
	ConnectInvalidateSize(func()) coreglib.SignalHandle
}

Paintabler describes Paintable's interface methods.

type Popup struct {
	Surface
	// contains filtered or unexported fields
}

Popup: GdkPopup is 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 gdkpopup:autohide property.

Popup wraps an interface. This means the user can get the underlying type by calling Cast().

func (*Popup) Autohide

func (popup *Popup) Autohide() bool

Autohide returns whether this popup is set to hide on outside clicks.

The function returns the following values:

  • ok: TRUE if popup will autohide.

func (*Popup) Parent

func (popup *Popup) Parent() Surfacer

Parent returns the parent surface of a popup.

The function returns the following values:

  • surface: parent surface.

func (*Popup) PositionX

func (popup *Popup) PositionX() int

PositionX obtains the position of the popup relative to its parent.

The function returns the following values:

  • gint: x coordinate of popup position.

func (*Popup) PositionY

func (popup *Popup) PositionY() int

PositionY obtains the position of the popup relative to its parent.

The function returns the following values:

  • gint: y coordinate of popup position.

func (*Popup) Present

func (popup *Popup) Present(width, height int, layout *PopupLayout) bool

Present popup after having processed the PopupLayout rules.

If the popup was previously now showing, it will be showed, otherwise it will change position according to layout.

After calling this function, the result should be handled in response to the gdksurface::layout signal being emitted. The resulting popup position can be queried using gdk.Popup.GetPositionX(), gdk.Popup.GetPositionY(), and the resulting size will be sent as parameters in the layout signal. Use gdk.Popup.GetRectAnchor() and gdk.Popup.GetSurfaceAnchor() 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 gdk.Surface::layout signal will not me emitted.

The function takes the following parameters:

  • width: unconstrained popup width to layout.
  • height: unconstrained popup height to layout.
  • layout: GdkPopupLayout object used to layout.

The function returns the following values:

  • ok: FALSE if it failed to be presented, otherwise TRUE.

func (*Popup) RectAnchor

func (popup *Popup) RectAnchor() Gravity

RectAnchor gets the current popup rectangle anchor.

The value returned may change after calling gdk.Popup.Present(), or after the gdk.Surface::layout signal is emitted.

The function returns the following values:

  • gravity: current rectangle anchor value of popup.

func (*Popup) SurfaceAnchor

func (popup *Popup) SurfaceAnchor() Gravity

SurfaceAnchor gets the current popup surface anchor.

The value returned may change after calling gdk.Popup.Present(), or after the gdk.Surface::layout signal is emitted.

The function returns the following values:

  • gravity: current surface anchor value of popup.

type PopupLayout

type PopupLayout struct {
	// contains filtered or unexported fields
}

PopupLayout: GdkPopupLayout struct contains information that is necessary position a gdk.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.

!Popup anchors (popup-anchors.png)

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.

!Flipping popups (popup-flip.png)

!Sliding popups (popup-slide.png)

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 gdk.Popup.GetPositionX(), gdk.Popup.GetPositionY(), gdk.Popup.GetRectAnchor() and gdk.Popup.GetSurfaceAnchor() after the popup has been presented. This can be used to adjust the rendering. For example, gtk.Popover 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.

An instance of this type is always passed by reference.

func NewPopupLayout

func NewPopupLayout(anchorRect *Rectangle, rectAnchor Gravity, surfaceAnchor Gravity) *PopupLayout

NewPopupLayout constructs a struct PopupLayout.

func (*PopupLayout) AnchorHints

func (layout *PopupLayout) AnchorHints() AnchorHints

AnchorHints: get the GdkAnchorHints.

The function returns the following values:

  • anchorHints: GdkAnchorHints.

func (*PopupLayout) AnchorRect

func (layout *PopupLayout) AnchorRect() *Rectangle

AnchorRect: get the anchor rectangle.

The function returns the following values:

  • rectangle: anchor rectangle.

func (*PopupLayout) Copy

func (layout *PopupLayout) Copy() *PopupLayout

Copy makes a copy of layout.

The function returns the following values:

  • popupLayout: copy of layout.

func (*PopupLayout) Equal

func (layout *PopupLayout) Equal(other *PopupLayout) bool

Equal: check whether layout and other has identical layout properties.

The function takes the following parameters:

  • other GdkPopupLayout.

The function returns the following values:

  • ok: TRUE if layout and other have identical layout properties, otherwise FALSE.

func (*PopupLayout) Offset

func (layout *PopupLayout) Offset() (dx int, dy int)

Offset retrieves the offset for the anchor rectangle.

The function returns the following values:

  • dx: return location for the delta X coordinate.
  • dy: return location for the delta Y coordinate.

func (*PopupLayout) RectAnchor

func (layout *PopupLayout) RectAnchor() Gravity

RectAnchor returns the anchor position on the anchor rectangle.

The function returns the following values:

  • gravity: anchor on the anchor rectangle.

func (*PopupLayout) SetAnchorHints

func (layout *PopupLayout) SetAnchorHints(anchorHints AnchorHints)

SetAnchorHints: set new anchor hints.

The set anchor_hints 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.

The function takes the following parameters:

  • anchorHints: new GdkAnchorHints.

func (*PopupLayout) SetAnchorRect

func (layout *PopupLayout) SetAnchorRect(anchorRect *Rectangle)

SetAnchorRect: set the anchor rectangle.

The function takes the following parameters:

  • anchorRect: new anchor rectangle.

func (*PopupLayout) SetOffset

func (layout *PopupLayout) SetOffset(dx int, dy int)

SetOffset: offset the position of the anchor rectangle with the given delta.

The function takes the following parameters:

  • dx: x delta to offset the anchor rectangle with.
  • dy: y delta to offset the anchor rectangle with.

func (*PopupLayout) SetRectAnchor

func (layout *PopupLayout) SetRectAnchor(anchor Gravity)

SetRectAnchor: set the anchor on the anchor rectangle.

The function takes the following parameters:

  • anchor: new rect anchor.

func (*PopupLayout) SetShadowWidth

func (layout *PopupLayout) SetShadowWidth(left int, right int, top int, bottom int)

SetShadowWidth 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.

The function takes the following parameters:

  • left: width of the left part of the shadow.
  • right: width of the right part of the shadow.
  • top: height of the top part of the shadow.
  • bottom: height of the bottom part of the shadow.

func (*PopupLayout) SetSurfaceAnchor

func (layout *PopupLayout) SetSurfaceAnchor(anchor Gravity)

SetSurfaceAnchor: set the anchor on the popup surface.

The function takes the following parameters:

  • anchor: new popup surface anchor.

func (*PopupLayout) ShadowWidth

func (layout *PopupLayout) ShadowWidth() (left int, right int, top int, bottom int)

ShadowWidth obtains the shadow widths of this layout.

The function returns the following values:

  • left: return location for the left shadow width.
  • right: return location for the right shadow width.
  • top: return location for the top shadow width.
  • bottom: return location for the bottom shadow width.

func (*PopupLayout) SurfaceAnchor

func (layout *PopupLayout) SurfaceAnchor() Gravity

SurfaceAnchor returns the anchor position on the popup surface.

The function returns the following values:

  • gravity: anchor on the popup surface.

type Popupper

type Popupper interface {
	coreglib.Objector

	// Autohide returns whether this popup is set to hide on outside clicks.
	Autohide() bool
	// Parent returns the parent surface of a popup.
	Parent() Surfacer
	// PositionX obtains the position of the popup relative to its parent.
	PositionX() int
	// PositionY obtains the position of the popup relative to its parent.
	PositionY() int
	// RectAnchor gets the current popup rectangle anchor.
	RectAnchor() Gravity
	// SurfaceAnchor gets the current popup surface anchor.
	SurfaceAnchor() Gravity
	// Present popup after having processed the PopupLayout rules.
	Present(width, height int, layout *PopupLayout) bool
}

Popupper describes Popup's interface methods.

type ProximityEvent

type ProximityEvent struct {
	Event
	// contains filtered or unexported fields
}

ProximityEvent: event related to the proximity of a tool to a device.

type RGBA

type RGBA struct {
	// contains filtered or unexported fields
}

RGBA: GdkRGBA is used to represent 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.

An instance of this type is always passed by reference.

func NewRGBA

func NewRGBA(red, green, blue, alpha float32) RGBA

NewRGBA creates a new RGBA instance from the given fields. Beware that this function allocates on the Go heap; be careful when using it!

func (*RGBA) Alpha

func (r *RGBA) Alpha() float32

Alpha: opacity of the color from 0.0 for completely translucent to 1.0 for opaque.

func (*RGBA) Blue

func (r *RGBA) Blue() float32

Blue: intensity of the blue channel from 0.0 to 1.0 inclusive.

func (*RGBA) Copy

func (rgba *RGBA) Copy() *RGBA

Copy makes a copy of a GdkRGBA.

The result must be freed through gdk.RGBA.Free().

The function returns the following values:

  • rgbA: newly allocated GdkRGBA, with the same contents as rgba.

func (*RGBA) Equal

func (p1 *RGBA) Equal(p2 *RGBA) bool

Equal compares two GdkRGBA colors.

The function takes the following parameters:

  • p2: another GdkRGBA.

The function returns the following values:

  • ok: TRUE if the two colors compare equal.

func (*RGBA) Green

func (r *RGBA) Green() float32

Green: intensity of the green channel from 0.0 to 1.0 inclusive.

func (*RGBA) Hash

func (p *RGBA) Hash() uint

Hash: hash function suitable for using for a hash table that stores GdkRGBAs.

The function returns the following values:

  • guint: hash value for p.

func (*RGBA) IsClear

func (rgba *RGBA) IsClear() bool

IsClear checks if an rgba value is transparent.

That is, drawing with the value would not produce any change.

The function returns the following values:

  • ok: TRUE if the rgba is clear.

func (*RGBA) IsOpaque

func (rgba *RGBA) IsOpaque() bool

IsOpaque checks if an rgba value is opaque.

That is, drawing with the value will not retain any results from previous contents.

The function returns the following values:

  • ok: TRUE if the rgba is opaque.

func (*RGBA) Parse

func (rgba *RGBA) Parse(spec string) bool

Parse parses a textual representation of a color.

The string can be either one of:

- A standard name (Taken from the X11 rgb.txt file).

- 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)”

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 function takes the following parameters:

  • spec: string specifying the color.

The function returns the following values:

  • ok: TRUE if the parsing succeeded.

func (*RGBA) Red

func (r *RGBA) Red() float32

Red: intensity of the red channel from 0.0 to 1.0 inclusive.

func (*RGBA) SetAlpha

func (r *RGBA) SetAlpha(alpha float32)

Alpha: opacity of the color from 0.0 for completely translucent to 1.0 for opaque.

func (*RGBA) SetBlue

func (r *RGBA) SetBlue(blue float32)

Blue: intensity of the blue channel from 0.0 to 1.0 inclusive.

func (*RGBA) SetGreen

func (r *RGBA) SetGreen(green float32)

Green: intensity of the green channel from 0.0 to 1.0 inclusive.

func (*RGBA) SetRed

func (r *RGBA) SetRed(red float32)

Red: intensity of the red channel from 0.0 to 1.0 inclusive.

func (*RGBA) String

func (rgba *RGBA) String() string

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 gdk.RGBA.Parse().

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.

The function returns the following values:

  • utf8: newly allocated text string.

type Rectangle

type Rectangle struct {
	// contains filtered or unexported fields
}

Rectangle: GdkRectangle data type for representing rectangles.

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 gdk.Rectangle.Intersect(); to find the union of two rectangles use gdk.Rectangle.Union().

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.

An instance of this type is always passed by reference.

func NewRectangle

func NewRectangle(x, y, width, height int) Rectangle

NewRectangle creates a new Rectangle instance from the given fields. Beware that this function allocates on the Go heap; be careful when using it!

func (*Rectangle) ContainsPoint

func (rect *Rectangle) ContainsPoint(x int, y int) bool

ContainsPoint returns UE if rect contains the point described by x and y.

The function takes the following parameters:

  • x: x coordinate.
  • y: y coordinate.

The function returns the following values:

  • ok if rect contains the point.

func (*Rectangle) Equal

func (rect1 *Rectangle) Equal(rect2 *Rectangle) bool

Equal checks if the two given rectangles are equal.

The function takes the following parameters:

  • rect2: GdkRectangle.

The function returns the following values:

  • ok: TRUE if the rectangles are equal.

func (*Rectangle) Height

func (r *Rectangle) Height() int

Height: height of the rectangle.

func (*Rectangle) Intersect

func (src1 *Rectangle) Intersect(src2 *Rectangle) (*Rectangle, bool)

Intersect 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 NULL for dest.

The function takes the following parameters:

  • src2: GdkRectangle.

The function returns the following values:

  • dest (optional): return location for the intersection of src1 and src2, or NULL.
  • ok: TRUE if the rectangles intersect.

func (*Rectangle) SetHeight

func (r *Rectangle) SetHeight(height int)

Height: height of the rectangle.

func (*Rectangle) SetWidth

func (r *Rectangle) SetWidth(width int)

Width: width of the rectangle.

func (*Rectangle) SetX

func (r *Rectangle) SetX(x int)

X: x coordinate of the top left corner.

func (*Rectangle) SetY

func (r *Rectangle) SetY(y int)

Y: y coordinate of the top left corner.

func (*Rectangle) Union

func (src1 *Rectangle) Union(src2 *Rectangle) *Rectangle

Union 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).

The function takes the following parameters:

  • src2: GdkRectangle.

The function returns the following values:

  • dest: return location for the union of src1 and src2.

func (*Rectangle) Width

func (r *Rectangle) Width() int

Width: width of the rectangle.

func (*Rectangle) X

func (r *Rectangle) X() int

X: x coordinate of the top left corner.

func (*Rectangle) Y

func (r *Rectangle) Y() int

Y: y coordinate of the top left corner.

type ScrollDirection

type ScrollDirection C.gint

ScrollDirection specifies the direction for scroll events.

const (
	// ScrollUp: surface is scrolled up.
	ScrollUp ScrollDirection = iota
	// ScrollDown: surface is scrolled down.
	ScrollDown
	// ScrollLeft: surface is scrolled to the left.
	ScrollLeft
	// ScrollRight: surface is scrolled to the right.
	ScrollRight
	// ScrollSmooth: scrolling is determined by the delta values in scroll
	// events. See gdk_scroll_event_get_deltas().
	ScrollSmooth
)

func (ScrollDirection) String

func (s ScrollDirection) String() string

String returns the name in string for ScrollDirection.

type ScrollEvent

type ScrollEvent struct {
	Event
	// contains filtered or unexported fields
}

ScrollEvent: event related to a scrolling motion.

func (*ScrollEvent) Deltas

func (event *ScrollEvent) Deltas() (deltaX, deltaY float64)

Deltas extracts the scroll deltas of a scroll event.

The deltas will be zero unless the scroll direction is GDK_SCROLL_SMOOTH.

The function returns the following values:

  • deltaX: return location for x scroll delta.
  • deltaY: return location for y scroll delta.

func (*ScrollEvent) Direction

func (event *ScrollEvent) Direction() ScrollDirection

Direction extracts the direction of a scroll event.

The function returns the following values:

  • scrollDirection: scroll direction of event.

func (*ScrollEvent) IsStop

func (event *ScrollEvent) IsStop() bool

IsStop: 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.

The function returns the following values:

  • ok: TRUE if the event is a scroll stop event.

type Seat

type Seat struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

Seat: GdkSeat object represents a collection of input devices that belong to a user.

func BaseSeat

func BaseSeat(obj Seater) *Seat

BaseSeat returns the underlying base object.

func (*Seat) Capabilities

func (seat *Seat) Capabilities() SeatCapabilities

Capabilities returns the capabilities this GdkSeat currently has.

The function returns the following values:

  • seatCapabilities: seat capabilities.

func (*Seat) ConnectDeviceAdded

func (seat *Seat) ConnectDeviceAdded(f func(device Devicer)) coreglib.SignalHandle

ConnectDeviceAdded is emitted when a new input device is related to this seat.

func (*Seat) ConnectDeviceRemoved

func (seat *Seat) ConnectDeviceRemoved(f func(device Devicer)) coreglib.SignalHandle

ConnectDeviceRemoved is emitted when an input device is removed (e.g. unplugged).

func (*Seat) ConnectToolAdded

func (seat *Seat) ConnectToolAdded(f func(tool *DeviceTool)) coreglib.SignalHandle

ConnectToolAdded is 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 [signalGdkDevice::tool-changed] signal accordingly.

A same tool may be used by several devices.

func (*Seat) ConnectToolRemoved

func (seat *Seat) ConnectToolRemoved(f func(tool *DeviceTool)) coreglib.SignalHandle

ConnectToolRemoved is emitted whenever a tool is no longer known to this seat.

func (*Seat) Devices

func (seat *Seat) Devices(capabilities SeatCapabilities) []Devicer

Devices returns the devices that match the given capabilities.

The function takes the following parameters:

  • capabilities to get devices for.

The function returns the following values:

  • list: list of GdkDevices. The list must be freed with g_list_free(), the elements are owned by GTK and must not be freed.

func (*Seat) Display

func (seat *Seat) Display() *Display

Display returns the GdkDisplay this seat belongs to.

The function returns the following values:

  • display: GdkDisplay. This object is owned by GTK and must not be freed.

func (*Seat) Keyboard

func (seat *Seat) Keyboard() Devicer

Keyboard returns the device that routes keyboard events.

The function returns the following values:

  • device (optional): GdkDevice with keyboard capabilities. This object is owned by GTK and must not be freed.

func (*Seat) Pointer

func (seat *Seat) Pointer() Devicer

Pointer returns the device that routes pointer events.

The function returns the following values:

  • device (optional): GdkDevice with pointer capabilities. This object is owned by GTK and must not be freed.

func (*Seat) Tools

func (seat *Seat) Tools() []*DeviceTool

Tools returns all GdkDeviceTools that are known to the application.

The function returns the following values:

  • list: A list of tools. Free with g_list_free().

type SeatCapabilities

type SeatCapabilities C.guint

SeatCapabilities flags describing the seat capabilities.

const (
	// SeatCapabilityNone: no input capabilities.
	SeatCapabilityNone SeatCapabilities = 0b0
	// SeatCapabilityPointer: seat has a pointer (e.g. mouse).
	SeatCapabilityPointer SeatCapabilities = 0b1
	// SeatCapabilityTouch: seat has touchscreen(s) attached.
	SeatCapabilityTouch SeatCapabilities = 0b10
	// SeatCapabilityTabletStylus: seat has drawing tablet(s) attached.
	SeatCapabilityTabletStylus SeatCapabilities = 0b100
	// SeatCapabilityKeyboard: seat has keyboard(s) attached.
	SeatCapabilityKeyboard SeatCapabilities = 0b1000
	// SeatCapabilityTabletPad: seat has drawing tablet pad(s) attached.
	SeatCapabilityTabletPad SeatCapabilities = 0b10000
	// SeatCapabilityAllPointing: union of all pointing capabilities.
	SeatCapabilityAllPointing SeatCapabilities = 0b111
	// SeatCapabilityAll: union of all capabilities.
	SeatCapabilityAll SeatCapabilities = 0b1111
)

func (SeatCapabilities) Has

func (s SeatCapabilities) Has(other SeatCapabilities) bool

Has returns true if s contains other.

func (SeatCapabilities) String

func (s SeatCapabilities) String() string

String returns the names in string for SeatCapabilities.

type Seater

type Seater interface {
	coreglib.Objector
	// contains filtered or unexported methods
}

Seater describes types inherited from class Seat.

To get the original type, the caller must assert this to an interface or another type.

type Snapshot

type Snapshot struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

Snapshot: base type for snapshot operations.

The subclass of GdkSnapshot used by GTK is gtk.Snapshot.

func BaseSnapshot

func BaseSnapshot(obj Snapshotter) *Snapshot

BaseSnapshot returns the underlying base object.

type Snapshotter

type Snapshotter interface {
	coreglib.Objector
	// contains filtered or unexported methods
}

Snapshotter describes types inherited from class Snapshot.

To get the original type, the caller must assert this to an interface or another type.

type SubpixelLayout

type SubpixelLayout C.gint

SubpixelLayout: this enumeration describes how the red, green and blue components of physical pixels on an output device are laid out.

const (
	// SubpixelLayoutUnknown: layout is not known.
	SubpixelLayoutUnknown SubpixelLayout = iota
	// SubpixelLayoutNone: not organized in this way.
	SubpixelLayoutNone
	// SubpixelLayoutHorizontalRGB: layout is horizontal, the order is RGB.
	SubpixelLayoutHorizontalRGB
	// SubpixelLayoutHorizontalBGR: layout is horizontal, the order is BGR.
	SubpixelLayoutHorizontalBGR
	// SubpixelLayoutVerticalRGB: layout is vertical, the order is RGB.
	SubpixelLayoutVerticalRGB
	// SubpixelLayoutVerticalBGR: layout is vertical, the order is BGR.
	SubpixelLayoutVerticalBGR
)

func (SubpixelLayout) String

func (s SubpixelLayout) String() string

String returns the name in string for SubpixelLayout.

type Surface

type Surface struct {
	*coreglib.Object
	// contains filtered or unexported fields
}

Surface: GdkSurface is a rectangular region on the screen.

It’s a low-level object, used to implement high-level objects such as gtk.Window or gtk.Dialog in GTK.

The surfaces you see in practice are either gdk.Toplevel or gdk.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.

func BaseSurface

func BaseSurface(obj Surfacer) *Surface

BaseSurface returns the underlying base object.

func NewSurfacePopup

func NewSurfacePopup(parent Surfacer, autohide bool) *Surface

NewSurfacePopup: create a new popup surface.

The surface will be attached to parent and can be positioned relative to it using gdk.Popup.Present().

The function takes the following parameters:

  • parent surface to attach the surface to.
  • autohide: whether to hide the surface on outside clicks.

The function returns the following values:

  • surface: new GdkSurface.

func NewSurfaceToplevel

func NewSurfaceToplevel(display *Display) *Surface

NewSurfaceToplevel creates a new toplevel surface.

The function takes the following parameters:

  • display to create the surface on.

The function returns the following values:

  • surface: new GdkSurface.

func (*Surface) Beep

func (surface *Surface) Beep()

Beep 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 gdk.Display.Beep().

func (*Surface) ConnectEnterMonitor

func (surface *Surface) ConnectEnterMonitor(f func(monitor *Monitor)) coreglib.SignalHandle

ConnectEnterMonitor is emitted when surface starts being present on the monitor.

func (*Surface) ConnectEvent

func (surface *Surface) ConnectEvent(f func(event Eventer) (ok bool)) coreglib.SignalHandle

ConnectEvent is emitted when GDK receives an input event for surface.

func (*Surface) ConnectLayout

func (surface *Surface) ConnectLayout(f func(width, height int)) coreglib.SignalHandle

ConnectLayout is 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 gdk_surface_get_scale_factor()).

func (*Surface) ConnectLeaveMonitor

func (surface *Surface) ConnectLeaveMonitor(f func(monitor *Monitor)) coreglib.SignalHandle

ConnectLeaveMonitor is emitted when surface stops being present on the monitor.

func (*Surface) ConnectRender

func (surface *Surface) ConnectRender(f func(region *cairo.Region) (ok bool)) coreglib.SignalHandle

ConnectRender is emitted when part of the surface needs to be redrawn.

func (*Surface) CreateCairoContext

func (surface *Surface) CreateCairoContext() CairoContexter

CreateCairoContext creates a new GdkCairoContext for rendering on surface.

The function returns the following values:

  • cairoContext: newly created GdkCairoContext.

func (*Surface) CreateGLContext

func (surface *Surface) CreateGLContext() (GLContexter, error)

CreateGLContext 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 gdk.GLContext.MakeCurrent() or gdk.GLContext.Realize().

The function returns the following values:

  • glContext: newly created GdkGLContext, or NULL on error.

func (*Surface) CreateSimilarSurface

func (surface *Surface) CreateSimilarSurface(content cairo.Content, width, height int) *cairo.Surface

CreateSimilarSurface: 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.

The function takes the following parameters:

  • content for the new surface.
  • width of the new surface.
  • height of the new surface.

The function returns the following values:

  • ret: pointer to the newly allocated surface. The caller owns the surface and should call cairo_surface_destroy() when done with it.

func (*Surface) CreateVulkanContext

func (surface *Surface) CreateVulkanContext() (VulkanContexter, error)

CreateVulkanContext creates a new GdkVulkanContext for rendering on surface.

If the creation of the GdkVulkanContext failed, error will be set.

The function returns the following values:

  • vulkanContext: newly created GdkVulkanContext, or NULL on error.

func (*Surface) Cursor

func (surface *Surface) Cursor() *Cursor

Cursor retrieves a GdkCursor pointer for the cursor currently set on the GdkSurface.

If the return value is NULL then there is no custom cursor set on the surface, and it is using the cursor for its parent surface.

The function returns the following values:

  • cursor (optional): GdkCursor, or NULL. The returned object is owned by the GdkSurface and should not be unreferenced directly. Use gdk.Surface.SetCursor() to unset the cursor of the surface.

func (*Surface) Destroy

func (surface *Surface) Destroy()

Destroy 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.

func (*Surface) DeviceCursor

func (surface *Surface) DeviceCursor(device Devicer) *Cursor

DeviceCursor retrieves a GdkCursor pointer for the device currently set on the specified GdkSurface.

If the return value is NULL then there is no custom cursor set on the specified surface, and it is using the cursor for its parent surface.

The function takes the following parameters:

  • device: pointer GdkDevice.

The function returns the following values:

  • cursor (optional): GdkCursor, or NULL. The returned object is owned by the GdkSurface and should not be unreferenced directly. Use gdk.Surface.SetCursor() to unset the cursor of the surface.

func (*Surface) DevicePosition

func (surface *Surface) DevicePosition(device Devicer) (x, y float64, mask ModifierType, ok bool)

DevicePosition obtains the current device position and modifier state.

The position is given in coordinates relative to the upper left corner of surface.

The function takes the following parameters:

  • device: pointer GdkDevice to query to.

The function returns the following values:

  • x (optional): return locatio for the X coordinate of device, or NULL.
  • y (optional): return location for the Y coordinate of device, or NULL.
  • mask (optional): return location for the modifier mask, or NULL.
  • ok: TRUE if the device is over the surface.

func (*Surface) Display

func (surface *Surface) Display() *Display

Display gets the GdkDisplay associated with a GdkSurface.

The function returns the following values:

  • display: GdkDisplay associated with surface.

func (*Surface) FrameClock

func (surface *Surface) FrameClock() FrameClocker

FrameClock 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.

The function returns the following values:

  • frameClock: frame clock.

func (*Surface) Height

func (surface *Surface) Height() int

Height returns the height of the given surface.

Surface size is reported in ”application pixels”, not ”device pixels” (see gdk.Surface.GetScaleFactor()).

The function returns the following values:

  • gint: height of surface.

func (*Surface) Hide

func (surface *Surface) Hide()

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().

func (*Surface) IsDestroyed

func (surface *Surface) IsDestroyed() bool

IsDestroyed: check to see if a surface is destroyed.

The function returns the following values:

  • ok: TRUE if the surface is destroyed.

func (*Surface) Mapped

func (surface *Surface) Mapped() bool

Mapped checks whether the surface has been mapped.

A surface is mapped with gdk.Toplevel.Present() or gdk.Popup.Present().

The function returns the following values:

  • ok: TRUE if the surface is mapped.

func (*Surface) QueueRender

func (surface *Surface) QueueRender()

QueueRender forces a gdk.Surface::render signal emission for surface to be scheduled.

This function is useful for implementations that track invalid regions on their own.

func (*Surface) RequestLayout

func (surface *Surface) RequestLayout()

RequestLayout: request a layout phase from the surface's frame clock.

See gdk.FrameClock.RequestPhase().

func (*Surface) ScaleFactor

func (surface *Surface) ScaleFactor() int

ScaleFactor 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 of a surface may change during runtime.

The function returns the following values:

  • gint: scale factor.

func (*Surface) SetCursor

func (surface *Surface) SetCursor(cursor *Cursor)

SetCursor sets the default mouse pointer for a GdkSurface.

Passing NULL 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 gdk.Cursor.NewFromName or gdk.Cursor.NewFromTexture to create the cursor. To make the cursor invisible, use GDK_BLANK_CURSOR.

The function takes the following parameters:

  • cursor (optional): GdkCursor.

func (*Surface) SetDeviceCursor

func (surface *Surface) SetDeviceCursor(device Devicer, cursor *Cursor)

SetDeviceCursor sets a specific GdkCursor for a given device when it gets inside surface.

Passing NULL for the cursor argument means that surface will use the cursor of its parent surface. Most surfaces should use this default.

Use gdk.Cursor.NewFromName or gdk.Cursor.NewFromTexture to create the cursor. To make the cursor invisible, use GDK_BLANK_CURSOR.

The function takes the following parameters:

  • device: pointer GdkDevice.
  • cursor: GdkCursor.

func (*Surface) SetInputRegion

func (surface *Surface) SetInputRegion(region *cairo.Region)

SetInputRegion: 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 gdk.Display.SupportsInputShapes() to find out if a particular backend supports input regions.

The function takes the following parameters:

  • region of surface to be reactive.

func (*Surface) SetOpaqueRegion

func (surface *Surface) SetOpaqueRegion(region *cairo.Region)

SetOpaqueRegion 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 WidgetClass.css_changed() handler.

The function takes the following parameters:

  • region (optional): region, or NULL.

func (*Surface) Width

func (surface *Surface) Width() int

Width returns the width of the given surface.

Surface size is reported in ”application pixels”, not ”device pixels” (see gdk.Surface.GetScaleFactor()).

The function returns the following values:

  • gint: width of surface.

type SurfaceEdge

type SurfaceEdge C.gint

SurfaceEdge determines a surface edge or corner.

const (
	// SurfaceEdgeNorthWest: top left corner.
	SurfaceEdgeNorthWest SurfaceEdge = iota
	// SurfaceEdgeNorth: top edge.
	SurfaceEdgeNorth
	// SurfaceEdgeNorthEast: top right corner.
	SurfaceEdgeNorthEast
	// SurfaceEdgeWest: left edge.
	SurfaceEdgeWest
	// SurfaceEdgeEast: right edge.
	SurfaceEdgeEast
	// SurfaceEdgeSouthWest: lower left corner.
	SurfaceEdgeSouthWest
	// SurfaceEdgeSouth: lower edge.
	SurfaceEdgeSouth
	// SurfaceEdgeSouthEast: lower right corner.
	SurfaceEdgeSouthEast
)

func (SurfaceEdge) String

func (s SurfaceEdge) String() string

String returns the name in string for SurfaceEdge.

type Surfacer

type Surfacer interface {
	coreglib.Objector
	// contains filtered or unexported methods
}

Surfacer describes types inherited from class Surface.

To get the original type, the caller must assert this to an interface or another type.

type Texture

type Texture struct {
	*coreglib.Object

	Paintable
	// contains filtered or unexported fields
}

Texture: GdkTexture is the basic element used to refer to pixel data.

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 GdkPixbuf, or a Cairo surface, or other pixel data.

The ownership of the pixel data is transferred to the GdkTexture instance; you can only make a copy of it, via gdk.Texture.Download().

GdkTexture is an immutable object: That means you cannot change anything about it other than increasing the reference count via g_object_ref().

func BaseTexture

func BaseTexture(obj Texturer) *Texture

BaseTexture returns the underlying base object.

func NewTextureForPixbuf

func NewTextureForPixbuf(pixbuf *gdkpixbuf.Pixbuf) *Texture

NewTextureForPixbuf creates a new texture object representing the GdkPixbuf.

The function takes the following parameters:

  • pixbuf: GdkPixbuf.

The function returns the following values:

  • texture: new GdkTexture.

func NewTextureFromFile

func NewTextureFromFile(file gio.Filer) (*Texture, error)

NewTextureFromFile creates a new texture by loading an image from a file.

The file format is detected automatically. The supported formats are PNG and JPEG, though more formats might be available.

If NULL is returned, then error will be set.

The function takes the following parameters:

  • file: GFile to load.

The function returns the following values:

  • texture: newly-created GdkTexture or NULL if an error occurred.

func NewTextureFromResource

func NewTextureFromResource(resourcePath string) *Texture

NewTextureFromResource creates a new texture by loading an image from a resource.

The file format is detected automatically. The supported formats are PNG and JPEG, though more formats might be available.

It is a fatal error if resource_path 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 gdk.Texture.NewFromFile to load it.

The function takes the following parameters:

  • resourcePath: path of the resource file.

The function returns the following values:

  • texture: newly-created GdkTexture.

func (*Texture) Height

func (texture *Texture) Height() int

Height returns the height of the texture, in pixels.

The function returns the following values:

  • gint: height of the GdkTexture.

func (*Texture) SaveToPNG

func (texture *Texture) SaveToPNG(filename string) bool

SaveToPNG: 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 GFile or other location, you might want to look into using the gdk-pixbuf library.

The function takes the following parameters:

  • filename to store to.

The function returns the following values:

  • ok: TRUE if saving succeeded, FALSE on failure.

func (*Texture) Width

func (texture *Texture) Width() int

Width returns the width of texture, in pixels.

The function returns the following values:

  • gint: width of the GdkTexture.

type Texturer

type Texturer interface {
	coreglib.Objector
	// contains filtered or unexported methods
}

Texturer describes types inherited from class Texture.

To get the original type, the caller must assert this to an interface or another type.

type TimeCoord

type TimeCoord struct {
	// contains filtered or unexported fields
}

TimeCoord stores a single event in a motion history.

An instance of this type is always passed by reference.

func (*TimeCoord) Axes

func (t *TimeCoord) Axes() [12]float64

Axes axis values.

func (*TimeCoord) Flags

func (t *TimeCoord) Flags() AxisFlags

Flags indicating what axes are present.

func (*TimeCoord) SetTime

func (t *TimeCoord) SetTime(time uint32)

Time: timestamp for this event.

func (*TimeCoord) Time

func (t *TimeCoord) Time() uint32

Time: timestamp for this event.

type Toplevel

type Toplevel struct {
	Surface
	// contains filtered or unexported fields
}

Toplevel: GdkToplevel is 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.

Toplevel wraps an interface. This means the user can get the underlying type by calling Cast().

func (*Toplevel) BeginMove

func (toplevel *Toplevel) BeginMove(device Devicer, button int, x, y float64, timestamp uint32)

BeginMove begins an interactive move operation.

You might use this function to implement draggable titlebars.

The function takes the following parameters:

  • device used for the operation.
  • button being used to drag, or 0 for a keyboard-initiated drag.
  • x: surface X coordinate of mouse click that began the drag.
  • y: surface Y coordinate of mouse click that began the drag.
  • timestamp of mouse click that began the drag (use gdk.Event.GetTime()).

func (*Toplevel) BeginResize

func (toplevel *Toplevel) BeginResize(edge SurfaceEdge, device Devicer, button int, x, y float64, timestamp uint32)

BeginResize begins an interactive resize operation.

You might use this function to implement a “window resize grip.”.

The function takes the following parameters:

  • edge or corner from which the drag is started.
  • device (optional) used for the operation.
  • button being used to drag, or 0 for a keyboard-initiated drag.
  • x: surface X coordinate of mouse click that began the drag.
  • y: surface Y coordinate of mouse click that began the drag.
  • timestamp of mouse click that began the drag (use gdk.Event.GetTime()).

func (*Toplevel) Focus

func (toplevel *Toplevel) Focus(timestamp uint32)

Focus sets keyboard focus to surface.

In most cases, gtk.Window.PresentWithTime() should be used on a gtk.Window, rather than calling this function.

The function takes the following parameters:

  • timestamp of the event triggering the surface focus.

func (*Toplevel) InhibitSystemShortcuts

func (toplevel *Toplevel) InhibitSystemShortcuts(event Eventer)

InhibitSystemShortcuts 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 gdk.Toplevel.RestoreSystemShortcuts(), 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 gdk.Toplevel:shortcuts-inhibited property.

The function takes the following parameters:

  • event (optional): GdkEvent that is triggering the inhibit request, or NULL if none is available.

func (*Toplevel) Lower

func (toplevel *Toplevel) Lower() bool

Lower asks to lower the toplevel below other windows.

The windowing system may choose to ignore the request.

The function returns the following values:

  • ok: TRUE if the surface was lowered.

func (*Toplevel) Minimize

func (toplevel *Toplevel) Minimize() bool

Minimize asks to minimize the toplevel.

The windowing system may choose to ignore the request.

The function returns the following values:

  • ok: TRUE if the surface was minimized.

func (*Toplevel) Present

func (toplevel *Toplevel) Present(layout *ToplevelLayout)

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 gdk.Toplevel::compute-size 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.

The function takes the following parameters:

  • layout: GdkToplevelLayout object used to layout.

func (*Toplevel) RestoreSystemShortcuts

func (toplevel *Toplevel) RestoreSystemShortcuts()

RestoreSystemShortcuts: restore default system keyboard shortcuts which were previously inhibited.

This undoes the effect of gdk.Toplevel.InhibitSystemShortcuts().

func (*Toplevel) SetDecorated

func (toplevel *Toplevel) SetDecorated(decorated bool)

SetDecorated 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.

The function takes the following parameters:

  • decorated: TRUE to request decorations.

func (*Toplevel) SetDeletable

func (toplevel *Toplevel) SetDeletable(deletable bool)

SetDeletable 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.

The function takes the following parameters:

  • deletable: TRUE to request a delete button.

func (*Toplevel) SetIconList

func (toplevel *Toplevel) SetIconList(surfaces []Texturer)

SetIconList 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.

The function takes the following parameters:

  • surfaces: A list of textures to use as icon, of different sizes.

func (*Toplevel) SetModal

func (toplevel *Toplevel) SetModal(modal bool)

SetModal 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 gdk.Toplevel.SetTransientFor().

The function takes the following parameters:

  • modal: TRUE if the surface is modal, FALSE otherwise.

func (*Toplevel) SetStartupID

func (toplevel *Toplevel) SetStartupID(startupId string)

SetStartupID sets the startup notification ID.

When using GTK, typically you should use gtk.Window.SetStartupID() instead of this low-level function.

The function takes the following parameters:

  • startupId: string with startup-notification identifier.

func (*Toplevel) SetTitle

func (toplevel *Toplevel) SetTitle(title string)

SetTitle sets the title of a toplevel surface.

The title maybe be displayed in the titlebar, in lists of windows, etc.

The function takes the following parameters:

  • title of surface.

func (*Toplevel) SetTransientFor

func (toplevel *Toplevel) SetTransientFor(parent Surfacer)

SetTransientFor 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.SetTransientFor() if you’re using gtk.Window or gtk.Dialog.

The function takes the following parameters:

  • parent: another toplevel GdkSurface.

func (*Toplevel) ShowWindowMenu

func (toplevel *Toplevel) ShowWindowMenu(event Eventer) bool

ShowWindowMenu 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.

The function takes the following parameters:

  • event: GdkEvent to show the menu for.

The function returns the following values:

  • ok: TRUE if the window menu was shown and FALSE otherwise.

func (*Toplevel) State

func (toplevel *Toplevel) State() ToplevelState

State gets the bitwise or of the currently active surface state flags, from the GdkToplevelState enumeration.

The function returns the following values:

  • toplevelState: surface state bitfield.

func (*Toplevel) SupportsEdgeConstraints

func (toplevel *Toplevel) SupportsEdgeConstraints() bool

SupportsEdgeConstraints returns whether the desktop environment supports tiled window states.

The function returns the following values:

  • ok: TRUE if the desktop environment supports tiled window states.

type ToplevelLayout

type ToplevelLayout struct {
	// contains filtered or unexported fields
}

ToplevelLayout: GdkToplevelLayout struct contains information that is necessary to present a sovereign window on screen.

The GdkToplevelLayout struct is necessary for using gdk.Toplevel.Present().

Toplevel surfaces are sovereign windows that can be presented to the user in various states (maximized, on all workspaces, etc).

An instance of this type is always passed by reference.

func NewToplevelLayout

func NewToplevelLayout() *ToplevelLayout

NewToplevelLayout constructs a struct ToplevelLayout.

func (*ToplevelLayout) Copy

func (layout *ToplevelLayout) Copy() *ToplevelLayout

Copy: create a new ToplevelLayout and copy the contents of layout into it.

The function returns the following values:

  • toplevelLayout: copy of layout.

func (*ToplevelLayout) Equal

func (layout *ToplevelLayout) Equal(other *ToplevelLayout) bool

Equal: check whether layout and other has identical layout properties.

The function takes the following parameters:

  • other ToplevelLayout.

The function returns the following values:

  • ok: TRUE if layout and other have identical layout properties, otherwise FALSE.

func (*ToplevelLayout) Fullscreen

func (layout *ToplevelLayout) Fullscreen() (fullscreen bool, ok bool)

Fullscreen: 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.

The function returns the following values:

  • fullscreen: location to store whether the toplevel should be fullscreen.
  • ok: whether the layout specifies the fullscreen state for the toplevel.

func (*ToplevelLayout) FullscreenMonitor

func (layout *ToplevelLayout) FullscreenMonitor() *Monitor

FullscreenMonitor returns the monitor that the layout is fullscreening the surface on.

The function returns the following values:

  • monitor (optional) on which layout fullscreens.

func (*ToplevelLayout) Maximized

func (layout *ToplevelLayout) Maximized() (maximized bool, ok bool)

Maximized: 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 fullscreen, or FALSE, if it should go unmaximized.

The function returns the following values:

  • maximized: set to TRUE if the toplevel should be maximized.
  • ok: whether the layout specifies the maximized state for the toplevel.

func (*ToplevelLayout) Resizable

func (layout *ToplevelLayout) Resizable() bool

Resizable returns whether the layout should allow the user to resize the surface.

The function returns the following values:

  • ok: TRUE if the layout is resizable.

func (*ToplevelLayout) SetFullscreen

func (layout *ToplevelLayout) SetFullscreen(fullscreen bool, monitor *Monitor)

SetFullscreen sets whether the layout should cause the surface to be fullscreen when presented.

The function takes the following parameters:

  • fullscreen: TRUE to fullscreen the surface.
  • monitor (optional) to fullscreen on.

func (*ToplevelLayout) SetMaximized

func (layout *ToplevelLayout) SetMaximized(maximized bool)

SetMaximized sets whether the layout should cause the surface to be maximized when presented.

The function takes the following parameters:

  • maximized: TRUE to maximize.

func (*ToplevelLayout) SetResizable

func (layout *ToplevelLayout) SetResizable(resizable bool)

SetResizable sets whether the layout should allow the user to resize the surface after it has been presented.

The function takes the following parameters:

  • resizable: TRUE to allow resizing.

type ToplevelState

type ToplevelState C.guint

ToplevelState specifies the state of a toplevel surface.

On platforms that support information about individual edges, the GDK_TOPLEVEL_STATE_TILED 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.

const (
	// ToplevelStateMinimized: surface is minimized.
	ToplevelStateMinimized ToplevelState = 0b1
	// ToplevelStateMaximized: surface is maximized.
	ToplevelStateMaximized ToplevelState = 0b10
	// ToplevelStateSticky: surface is sticky.
	ToplevelStateSticky ToplevelState = 0b100
	// ToplevelStateFullscreen: surface is maximized without decorations.
	ToplevelStateFullscreen ToplevelState = 0b1000
	// ToplevelStateAbove: surface is kept above other surfaces.
	ToplevelStateAbove ToplevelState = 0b10000
	// ToplevelStateBelow: surface is kept below other surfaces.
	ToplevelStateBelow ToplevelState = 0b100000
	// ToplevelStateFocused: surface is presented as focused (with active
	// decorations).
	ToplevelStateFocused ToplevelState = 0b1000000
	// ToplevelStateTiled: surface is in a tiled state.
	ToplevelStateTiled ToplevelState = 0b10000000
	// ToplevelStateTopTiled: whether the top edge is tiled.
	ToplevelStateTopTiled ToplevelState = 0b100000000
	// ToplevelStateTopResizable: whether the top edge is resizable.
	ToplevelStateTopResizable ToplevelState = 0b1000000000
	// ToplevelStateRightTiled: whether the right edge is tiled.
	ToplevelStateRightTiled ToplevelState = 0b10000000000
	// ToplevelStateRightResizable: whether the right edge is resizable.
	ToplevelStateRightResizable ToplevelState = 0b100000000000
	// ToplevelStateBottomTiled: whether the bottom edge is tiled.
	ToplevelStateBottomTiled ToplevelState = 0b1000000000000
	// ToplevelStateBottomResizable: whether the bottom edge is resizable.
	ToplevelStateBottomResizable ToplevelState = 0b10000000000000
	// ToplevelStateLeftTiled: whether the left edge is tiled.
	ToplevelStateLeftTiled ToplevelState = 0b100000000000000
	// ToplevelStateLeftResizable: whether the left edge is resizable.
	ToplevelStateLeftResizable ToplevelState = 0b1000000000000000
)

func (ToplevelState) Has

func (t ToplevelState) Has(other ToplevelState) bool

Has returns true if t contains other.

func (ToplevelState) String

func (t ToplevelState) String() string

String returns the names in string for ToplevelState.

type Topleveller

type Topleveller interface {
	coreglib.Objector

	// BeginMove begins an interactive move operation.
	BeginMove(device Devicer, button int, x, y float64, timestamp uint32)
	// BeginResize begins an interactive resize operation.
	BeginResize(edge SurfaceEdge, device Devicer, button int, x, y float64, timestamp uint32)
	// Focus sets keyboard focus to surface.
	Focus(timestamp uint32)
	// State gets the bitwise or of the currently active surface state flags,
	// from the GdkToplevelState enumeration.
	State() ToplevelState
	// InhibitSystemShortcuts requests that the toplevel inhibit the system
	// shortcuts.
	InhibitSystemShortcuts(event Eventer)
	// Lower asks to lower the toplevel below other windows.
	Lower() bool
	// Minimize asks to minimize the toplevel.
	Minimize() bool
	// Present toplevel after having processed the GdkToplevelLayout rules.
	Present(layout *ToplevelLayout)
	// RestoreSystemShortcuts: restore default system keyboard shortcuts which
	// were previously inhibited.
	RestoreSystemShortcuts()
	// SetDecorated sets the toplevel to be decorated.
	SetDecorated(decorated bool)
	// SetDeletable sets the toplevel to be deletable.
	SetDeletable(deletable bool)
	// SetIconList sets a list of icons for the surface.
	SetIconList(surfaces []Texturer)
	// SetModal sets the toplevel to be modal.
	SetModal(modal bool)
	// SetStartupID sets the startup notification ID.
	SetStartupID(startupId string)
	// SetTitle sets the title of a toplevel surface.
	SetTitle(title string)
	// SetTransientFor sets a transient-for parent.
	SetTransientFor(parent Surfacer)
	// ShowWindowMenu asks the windowing system to show the window menu.
	ShowWindowMenu(event Eventer) bool
	// SupportsEdgeConstraints returns whether the desktop environment supports
	// tiled window states.
	SupportsEdgeConstraints() bool
}

Topleveller describes Toplevel's interface methods.

type TouchEvent

type TouchEvent struct {
	Event
	// contains filtered or unexported fields
}

TouchEvent: event related to a touch-based device.

func (*TouchEvent) EmulatingPointer

func (event *TouchEvent) EmulatingPointer() bool

EmulatingPointer extracts whether a touch event is emulating a pointer event.

The function returns the following values:

  • ok: TRUE if event is emulating.

type TouchpadEvent

type TouchpadEvent struct {
	Event
	// contains filtered or unexported fields
}

TouchpadEvent: 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.

func (*TouchpadEvent) Deltas

func (event *TouchpadEvent) Deltas() (dx, dy float64)

Deltas extracts delta information from a touchpad event.

The function returns the following values:

  • dx: return location for x.
  • dy: return location for y.

func (*TouchpadEvent) GesturePhase

func (event *TouchpadEvent) GesturePhase() TouchpadGesturePhase

GesturePhase extracts the touchpad gesture phase from a touchpad event.

The function returns the following values:

  • touchpadGesturePhase: gesture phase of event.

func (*TouchpadEvent) NFingers

func (event *TouchpadEvent) NFingers() uint

NFingers extracts the number of fingers from a touchpad event.

The function returns the following values:

  • guint: number of fingers for event.

func (*TouchpadEvent) PinchAngleDelta

func (event *TouchpadEvent) PinchAngleDelta() float64

PinchAngleDelta extracts the angle delta from a touchpad pinch event.

The function returns the following values:

  • gdouble: angle delta of event.

func (*TouchpadEvent) PinchScale

func (event *TouchpadEvent) PinchScale() float64

PinchScale extracts the scale from a touchpad pinch event.

The function returns the following values:

  • gdouble: scale of event.

type TouchpadGesturePhase

type TouchpadGesturePhase C.gint

TouchpadGesturePhase specifies the current state of a touchpad gesture.

All gestures are guaranteed to begin with an event with phase GDK_TOUCHPAD_GESTURE_PHASE_BEGIN, followed by 0 or several events with phase GDK_TOUCHPAD_GESTURE_PHASE_UPDATE.

A finished gesture may have 2 possible outcomes, an event with phase GDK_TOUCHPAD_GESTURE_PHASE_END 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 GDK_TOUCHPAD_GESTURE_PHASE_CANCEL, this should be used as a hint to undo any visible/permanent changes that were done throughout the progress of the gesture.

const (
	// TouchpadGesturePhaseBegin: gesture has begun.
	TouchpadGesturePhaseBegin TouchpadGesturePhase = iota
	// TouchpadGesturePhaseUpdate: gesture has been updated.
	TouchpadGesturePhaseUpdate
	// TouchpadGesturePhaseEnd: gesture was finished, changes should be
	// permanently applied.
	TouchpadGesturePhaseEnd
	// TouchpadGesturePhaseCancel: gesture was cancelled, all changes should be
	// undone.
	TouchpadGesturePhaseCancel
)

func (TouchpadGesturePhase) String

func (t TouchpadGesturePhase) String() string

String returns the name in string for TouchpadGesturePhase.

type VulkanContext

type VulkanContext struct {
	DrawContext

	*coreglib.Object
	gio.Initable
	// contains filtered or unexported fields
}

VulkanContext: GdkVulkanContext is an object representing the platform-specific Vulkan draw context.

GdkVulkanContexts are created for a surface using gdk.Surface.CreateVulkanContext(), and the context will match the the characteristics of the surface.

Support for GdkVulkanContext is platform-specific and context creation can fail, returning NULL context.

func BaseVulkanContext

func BaseVulkanContext(obj VulkanContexter) *VulkanContext

BaseVulkanContext returns the underlying base object.

func (*VulkanContext) ConnectImagesUpdated

func (v *VulkanContext) ConnectImagesUpdated(f func()) coreglib.SignalHandle

ConnectImagesUpdated is 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 VulkanContexter

type VulkanContexter interface {
	coreglib.Objector
	// contains filtered or unexported methods
}

VulkanContexter describes types inherited from class VulkanContext.

To get the original type, the caller must assert this to an interface or another type.

type VulkanError

type VulkanError C.gint

VulkanError: error enumeration for VulkanContext.

const (
	// VulkanErrorUnsupported: vulkan is not supported on this backend or has
	// not been compiled in.
	VulkanErrorUnsupported VulkanError = iota
	// VulkanErrorNotAvailable: vulkan support is not available on this Surface.
	VulkanErrorNotAvailable
)

func (VulkanError) String

func (v VulkanError) String() string

String returns the name in string for VulkanError.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL