win-ffi 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/lib/win-ffi/enums/comdlg32/find_replace.rb +27 -27
  3. data/lib/win-ffi/enums/comdlg32/font.rb +32 -32
  4. data/lib/win-ffi/enums/system_info.rb +53 -53
  5. data/lib/win-ffi/enums/user32/pointer_flags.rb +81 -81
  6. data/lib/win-ffi/functions/advapi32/process.rb +32 -32
  7. data/lib/win-ffi/functions/advapi32/system_info.rb +16 -16
  8. data/lib/win-ffi/functions/comdlg32.rb +6 -6
  9. data/lib/win-ffi/functions/comdlg32/error.rb +5 -5
  10. data/lib/win-ffi/functions/comdlg32/find_replace.rb +9 -9
  11. data/lib/win-ffi/functions/msvcrt/handle.rb +12 -12
  12. data/lib/win-ffi/functions/ntdll/system_info.rb +13 -13
  13. data/lib/win-ffi/functions/secur32/system_info.rb +29 -29
  14. data/lib/win-ffi/functions/thread.rb +229 -229
  15. data/lib/win-ffi/functions/user32/cursor.rb +2 -0
  16. data/lib/win-ffi/functions/user32/mouse.rb +1 -1
  17. data/lib/win-ffi/functions/user32/window/window.rb +12 -11
  18. data/lib/win-ffi/functions/winmm.rb +546 -546
  19. data/lib/win-ffi/functions/wtsapi32/process.rb +11 -11
  20. data/lib/win-ffi/struct.rb +15 -15
  21. data/lib/win-ffi/structs/comdlg32/choose_color.rb +22 -22
  22. data/lib/win-ffi/structs/comdlg32/choose_font.rb +27 -27
  23. data/lib/win-ffi/structs/comdlg32/find_replace.rb +23 -23
  24. data/lib/win-ffi/structs/gdi32/abc.rb +8 -8
  25. data/lib/win-ffi/structs/gdi32/abcfloat.rb +10 -10
  26. data/lib/win-ffi/structs/gdi32/bitmap.rb +12 -12
  27. data/lib/win-ffi/structs/gdi32/bitmap_info.rb +10 -10
  28. data/lib/win-ffi/structs/gdi32/bitmap_info_header.rb +16 -16
  29. data/lib/win-ffi/structs/gdi32/blend_function.rb +9 -9
  30. data/lib/win-ffi/structs/gdi32/display_device.rb +11 -11
  31. data/lib/win-ffi/structs/gdi32/handle_table.rb +6 -6
  32. data/lib/win-ffi/structs/gdi32/kerning_pair.rb +8 -8
  33. data/lib/win-ffi/structs/gdi32/log_brush.rb +10 -10
  34. data/lib/win-ffi/structs/gdi32/meta_file_pict.rb +9 -9
  35. data/lib/win-ffi/structs/gdi32/palette_entry.rb +9 -9
  36. data/lib/win-ffi/structs/gdi32/pixel_format_descriptor.rb +56 -56
  37. data/lib/win-ffi/structs/gdi32/rgb_quad.rb +9 -9
  38. data/lib/win-ffi/structs/os_version_info.rb +9 -9
  39. data/lib/win-ffi/structs/point.rb +9 -9
  40. data/lib/win-ffi/structs/rect.rb +41 -27
  41. data/lib/win-ffi/structs/size.rb +5 -5
  42. data/lib/win-ffi/structs/user32/controls/combobox_info.rb +14 -12
  43. data/lib/win-ffi/structs/user32/controls/scroll_info.rb +12 -12
  44. data/lib/win-ffi/structs/user32/controls/scrollbar_info.rb +14 -12
  45. data/lib/win-ffi/structs/user32/cursor_info.rb +11 -9
  46. data/lib/win-ffi/structs/user32/display_device.rb +11 -11
  47. data/lib/win-ffi/structs/user32/draw_text_params.rb +10 -10
  48. data/lib/win-ffi/structs/user32/icon_info.rb +10 -10
  49. data/lib/win-ffi/structs/user32/icon_info_ex.rb +14 -14
  50. data/lib/win-ffi/structs/user32/last_input_info.rb +7 -7
  51. data/lib/win-ffi/structs/user32/mouse_move_point.rb +9 -9
  52. data/lib/win-ffi/structs/user32/msg.rb +18 -16
  53. data/lib/win-ffi/structs/user32/pointer_info.rb +24 -24
  54. data/lib/win-ffi/structs/user32/pointer_pen_info.rb +18 -18
  55. data/lib/win-ffi/structs/user32/pointer_touch_info.rb +18 -17
  56. data/lib/win-ffi/structs/user32/raw_input_device_list.rb +9 -9
  57. data/lib/win-ffi/structs/user32/raw_input_header.rb +9 -9
  58. data/lib/win-ffi/structs/user32/touch_hit_testing_input.rb +13 -10
  59. data/lib/win-ffi/structs/user32/touch_hit_testing_proximity_evaluation.rb +9 -7
  60. data/lib/win-ffi/structs/user32/track_mouse_event.rb +9 -9
  61. data/lib/win-ffi/structs/user32/window/alt_tab_info.rb +17 -17
  62. data/lib/win-ffi/structs/user32/window/bs_info.rb +11 -11
  63. data/lib/win-ffi/structs/user32/window/dlg_template.rb +13 -13
  64. data/lib/win-ffi/structs/user32/window/flashw_info.rb +1 -1
  65. data/lib/win-ffi/structs/user32/window/gui_thread_info.rb +17 -17
  66. data/lib/win-ffi/structs/user32/window/luid.rb +7 -7
  67. data/lib/win-ffi/structs/user32/window/menu_info.rb +12 -12
  68. data/lib/win-ffi/structs/user32/window/menu_item_info.rb +17 -17
  69. data/lib/win-ffi/structs/user32/window/menu_item_template.rb +8 -8
  70. data/lib/win-ffi/structs/user32/window/menubar_info.rb +13 -11
  71. data/lib/win-ffi/structs/user32/window/msgbox_params.rb +15 -15
  72. data/lib/win-ffi/structs/user32/window/title_bar_info.rb +3 -1
  73. data/lib/win-ffi/structs/user32/window/tpm_params.rb +9 -7
  74. data/lib/win-ffi/structs/user32/window/update_layered_window_info.rb +21 -21
  75. data/lib/win-ffi/structs/user32/window/window_placement.rb +32 -32
  76. data/lib/win-ffi/structs/user32/window/window_pos.rb +46 -46
  77. data/lib/win-ffi/version.rb +1 -1
  78. metadata +5 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ac1c5edfc5214eda5fb86318237fbbba6df4152
4
- data.tar.gz: 9198f9fb7855eb3e7e2d65d77c176cf8a87dce06
3
+ metadata.gz: 1d523de89e3efb9b3695f9e14dc9eb24e48d235b
4
+ data.tar.gz: ceb5aba9b74d5457dcdc3a6ef6c22ba991589092
5
5
  SHA512:
6
- metadata.gz: 8a84625b2dd370777eba28db2c53c8838fdf10a8efcc1a8f3c8071d6e894ac522a1e19a25803770566ee2393f85a59214bffb37927e1c86a4e412422f5968954
7
- data.tar.gz: 8fd99055c3385f9259e1934e388310b3006ab6746101149cc9da43bfb0354a6ec57babee3305bea28af8a2c9c446a03b93fecc9cf1e29de824291cca7fc0f903
6
+ metadata.gz: 1554f489fa95f9bb3e28cc39583980b74671dd451738fdbf7e357c962f4a43cab1aea5bdd23feec1dd35db690e27279fd1f5a28387c1c1a0d526aeef7eaec20f
7
+ data.tar.gz: cf882400614ed1a12562ce83153bf057d844c2b2a1b29a4ee41853fb5213bd8b8a6633c55eecb29efca37a285cf7a1114f5aad04ee33f0a49fda7478abf81317
@@ -1,28 +1,28 @@
1
- module WinFFI
2
- module Comdlg32
3
- FRERR_FINDREPLACECODES = 0x4000
4
- FRERR_BUFFERLENGTHZERO = 0x4001
5
-
6
- FR_DOWN = 0x00000001
7
- FR_WHOLEWORD = 0x00000002
8
- FR_MATCHCASE = 0x00000004
9
- FR_FINDNEXT = 0x00000008
10
- FR_REPLACE = 0x00000010
11
- FR_REPLACEALL = 0x00000020
12
- FR_DIALOGTERM = 0x00000040
13
- FR_SHOWHELP = 0x00000080
14
- FR_ENABLEHOOK = 0x00000100
15
- FR_ENABLETEMPLATE = 0x00000200
16
- FR_NOUPDOWN = 0x00000400
17
- FR_NOMATCHCASE = 0x00000800
18
- FR_NOWHOLEWORD = 0x00001000
19
- FR_ENABLETEMPLATEHANDLE = 0x00002000
20
- FR_HIDEUPDOWN = 0x00004000
21
- FR_HIDEMATCHCASE = 0x00008000
22
- FR_HIDEWHOLEWORD = 0x00010000
23
- FR_RAW = 0x00020000
24
- FR_MATCHDIAC = 0x20000000
25
- FR_MATCHKASHIDA = 0x40000000
26
- FR_MATCHALEFHAMZA = 0x80000000
27
- end
1
+ module WinFFI
2
+ module Comdlg32
3
+ FRERR_FINDREPLACECODES = 0x4000
4
+ FRERR_BUFFERLENGTHZERO = 0x4001
5
+
6
+ FR_DOWN = 0x00000001
7
+ FR_WHOLEWORD = 0x00000002
8
+ FR_MATCHCASE = 0x00000004
9
+ FR_FINDNEXT = 0x00000008
10
+ FR_REPLACE = 0x00000010
11
+ FR_REPLACEALL = 0x00000020
12
+ FR_DIALOGTERM = 0x00000040
13
+ FR_SHOWHELP = 0x00000080
14
+ FR_ENABLEHOOK = 0x00000100
15
+ FR_ENABLETEMPLATE = 0x00000200
16
+ FR_NOUPDOWN = 0x00000400
17
+ FR_NOMATCHCASE = 0x00000800
18
+ FR_NOWHOLEWORD = 0x00001000
19
+ FR_ENABLETEMPLATEHANDLE = 0x00002000
20
+ FR_HIDEUPDOWN = 0x00004000
21
+ FR_HIDEMATCHCASE = 0x00008000
22
+ FR_HIDEWHOLEWORD = 0x00010000
23
+ FR_RAW = 0x00020000
24
+ FR_MATCHDIAC = 0x20000000
25
+ FR_MATCHKASHIDA = 0x40000000
26
+ FR_MATCHALEFHAMZA = 0x80000000
27
+ end
28
28
  end
@@ -1,33 +1,33 @@
1
- module WinFFI
2
- module Comdlg32
3
- CF_SCREENFONTS = 0x00000001
4
- CF_PRINTERFONTS = 0x00000002
5
- CF_BOTH = 0x00000003
6
- CF_SHOWHELP = 0x00000004
7
- CF_ENABLEHOOK = 0x00000008
8
- CF_ENABLETEMPLATE = 0x00000010
9
- CF_ENABLETEMPLATEHANDLE = 0x00000020
10
- CF_INITTOLOGFONTSTRUCT = 0x00000040
11
- CF_USESTYLE = 0x00000080
12
- CF_EFFECTS = 0x00000100
13
- CF_APPLY = 0x00000200
14
- CF_ANSIONLY = 0x00000400
15
- CF_SCRIPTSONLY = CF_ANSIONLY
16
- CF_NOVECTORFONTS = 0x00000800
17
- CF_NOOEMFONTS = CF_NOVECTORFONTS
18
- CF_NOSIMULATIONS = 0x00001000
19
- CF_LIMITSIZE = 0x00002000
20
- CF_FIXEDPITCHONLY = 0x00004000
21
- CF_WYSIWYG = 0x00008000
22
- CF_FORCEFONTEXIST = 0x00010000
23
- CF_SCALABLEONLY = 0x00020000
24
- CF_TTONLY = 0x00040000
25
- CF_NOFACESEL = 0x00080000
26
- CF_NOSTYLESEL = 0x00100000
27
- CF_NOSIZESEL = 0x00200000
28
- CF_SELECTSCRIPT = 0x00400000
29
- CF_NOSCRIPTSEL = 0x00800000
30
- CF_NOVERTFONTS = 0x01000000
31
- CF_INACTIVEFONTS = 0x02000000
32
- end
1
+ module WinFFI
2
+ module Comdlg32
3
+ CF_SCREENFONTS = 0x00000001
4
+ CF_PRINTERFONTS = 0x00000002
5
+ CF_BOTH = 0x00000003
6
+ CF_SHOWHELP = 0x00000004
7
+ CF_ENABLEHOOK = 0x00000008
8
+ CF_ENABLETEMPLATE = 0x00000010
9
+ CF_ENABLETEMPLATEHANDLE = 0x00000020
10
+ CF_INITTOLOGFONTSTRUCT = 0x00000040
11
+ CF_USESTYLE = 0x00000080
12
+ CF_EFFECTS = 0x00000100
13
+ CF_APPLY = 0x00000200
14
+ CF_ANSIONLY = 0x00000400
15
+ CF_SCRIPTSONLY = CF_ANSIONLY
16
+ CF_NOVECTORFONTS = 0x00000800
17
+ CF_NOOEMFONTS = CF_NOVECTORFONTS
18
+ CF_NOSIMULATIONS = 0x00001000
19
+ CF_LIMITSIZE = 0x00002000
20
+ CF_FIXEDPITCHONLY = 0x00004000
21
+ CF_WYSIWYG = 0x00008000
22
+ CF_FORCEFONTEXIST = 0x00010000
23
+ CF_SCALABLEONLY = 0x00020000
24
+ CF_TTONLY = 0x00040000
25
+ CF_NOFACESEL = 0x00080000
26
+ CF_NOSTYLESEL = 0x00100000
27
+ CF_NOSIZESEL = 0x00200000
28
+ CF_SELECTSCRIPT = 0x00400000
29
+ CF_NOSCRIPTSEL = 0x00800000
30
+ CF_NOVERTFONTS = 0x01000000
31
+ CF_INACTIVEFONTS = 0x02000000
32
+ end
33
33
  end
@@ -1,54 +1,54 @@
1
- module WinFII
2
- # Obsolete processor info constants
3
-
4
- PROCESSOR_INTEL_386 = 386
5
- PROCESSOR_INTEL_486 = 486
6
- PROCESSOR_INTEL_PENTIUM = 586
7
- PROCESSOR_INTEL_IA64 = 2200
8
- PROCESSOR_AMD_X8664 = 8664
9
-
10
- # Suite mask constants
11
- #VersionSuitMask = enum :version_suit_mask, [
12
- #
13
- #]
14
- VER_SERVER_NT = 0x80000000
15
- VER_WORKSTATION_NT = 0x40000000
16
- VER_SUITE_SMALLBUSINESS = 0x00000001
17
- VER_SUITE_ENTERPRISE = 0x00000002
18
- VER_SUITE_BACKOFFICE = 0x00000004
19
- VER_SUITE_COMMUNICATIONS = 0x00000008
20
- VER_SUITE_TERMINAL = 0x00000010
21
- VER_SUITE_SMALLBUSINESS_RESTRICTED = 0x00000020
22
- VER_SUITE_EMBEDDEDNT = 0x00000040
23
- VER_SUITE_DATACENTER = 0x00000080
24
- VER_SUITE_SINGLEUSERTS = 0x00000100
25
- VER_SUITE_PERSONAL = 0x00000200
26
- VER_SUITE_BLADE = 0x00000400
27
- VER_SUITE_EMBEDDED_RESTRICTED = 0x00000800
28
- VER_SUITE_SECURITY_APPLIANCE = 0x00001000
29
- VER_SUITE_STORAGE_SERVER = 0x00002000
30
- VER_SUITE_COMPUTE_SERVER = 0x00004000
31
-
32
- # Product mask constants
33
-
34
- VER_NT_WORKSTATION = 0x0000001
35
- VER_NT_DOMAIN_CONTROLLER = 0x0000002
36
- VER_NT_SERVER = 0x0000003
37
-
38
- # Platform definitions
39
-
40
- VER_PLATFORM_WIN32s = 0
41
- VER_PLATFORM_WIN32_WINDOWS = 1
42
- VER_PLATFORM_WIN32_NT = 2
43
-
44
- # Version info type constants
45
-
46
- VER_MINORVERSION = 0x0000001
47
- VER_MAJORVERSION = 0x0000002
48
- VER_BUILDNUMBER = 0x0000004
49
- VER_PLATFORMID = 0x0000008
50
- VER_SERVICEPACKMINOR = 0x0000010
51
- VER_SERVICEPACKMAJOR = 0x0000020
52
- VER_SUITENAME = 0x0000040
53
- VER_PRODUCT_TYPE = 0x0000080
1
+ module WinFII
2
+ # Obsolete processor info constants
3
+
4
+ PROCESSOR_INTEL_386 = 386
5
+ PROCESSOR_INTEL_486 = 486
6
+ PROCESSOR_INTEL_PENTIUM = 586
7
+ PROCESSOR_INTEL_IA64 = 2200
8
+ PROCESSOR_AMD_X8664 = 8664
9
+
10
+ # Suite mask constants
11
+ #VersionSuitMask = enum :version_suit_mask, [
12
+ #
13
+ #]
14
+ VER_SERVER_NT = 0x80000000
15
+ VER_WORKSTATION_NT = 0x40000000
16
+ VER_SUITE_SMALLBUSINESS = 0x00000001
17
+ VER_SUITE_ENTERPRISE = 0x00000002
18
+ VER_SUITE_BACKOFFICE = 0x00000004
19
+ VER_SUITE_COMMUNICATIONS = 0x00000008
20
+ VER_SUITE_TERMINAL = 0x00000010
21
+ VER_SUITE_SMALLBUSINESS_RESTRICTED = 0x00000020
22
+ VER_SUITE_EMBEDDEDNT = 0x00000040
23
+ VER_SUITE_DATACENTER = 0x00000080
24
+ VER_SUITE_SINGLEUSERTS = 0x00000100
25
+ VER_SUITE_PERSONAL = 0x00000200
26
+ VER_SUITE_BLADE = 0x00000400
27
+ VER_SUITE_EMBEDDED_RESTRICTED = 0x00000800
28
+ VER_SUITE_SECURITY_APPLIANCE = 0x00001000
29
+ VER_SUITE_STORAGE_SERVER = 0x00002000
30
+ VER_SUITE_COMPUTE_SERVER = 0x00004000
31
+
32
+ # Product mask constants
33
+
34
+ VER_NT_WORKSTATION = 0x0000001
35
+ VER_NT_DOMAIN_CONTROLLER = 0x0000002
36
+ VER_NT_SERVER = 0x0000003
37
+
38
+ # Platform definitions
39
+
40
+ VER_PLATFORM_WIN32s = 0
41
+ VER_PLATFORM_WIN32_WINDOWS = 1
42
+ VER_PLATFORM_WIN32_NT = 2
43
+
44
+ # Version info type constants
45
+
46
+ VER_MINORVERSION = 0x0000001
47
+ VER_MAJORVERSION = 0x0000002
48
+ VER_BUILDNUMBER = 0x0000004
49
+ VER_PLATFORMID = 0x0000008
50
+ VER_SERVICEPACKMINOR = 0x0000010
51
+ VER_SERVICEPACKMAJOR = 0x0000020
52
+ VER_SUITENAME = 0x0000040
53
+ VER_PRODUCT_TYPE = 0x0000080
54
54
  end
@@ -1,82 +1,82 @@
1
- require 'win-ffi/enums/user32'
2
-
3
- module WinFFI
4
- module User32
5
- PointerFlags = enum :pointer_flags,
6
- [
7
- :NONE, 0x00000000, # Default
8
-
9
- :NEW, 0x00000001, # Indicates the arrival of a new pointer.
10
-
11
- :INRANGE, 0x00000002, # Indicates that this pointer continues to exist. When this flag is not set,
12
- # it indicates the pointer has left detection range. This flag is typically not set only when a hovering pointer
13
- # leaves detection range (POINTER_FLAG_UPDATE is set) or when a pointer in contact with a window surface leaves
14
- # detection range (POINTER_FLAG_UP is set).
15
-
16
- :INCONTACT, 0x00000004, #Indicates that this pointer is in contact with the digitizer surface.
17
- # When this flag is not set, it indicates a hovering pointer.
18
-
19
- :FIRSTBUTTON, 0x00000010, # Indicates a primary action, analogous to a left mouse button down.
20
- #A touch pointer has this flag set when it is in contact with the digitizer surface.
21
- #A pen pointer has this flag set when it is in contact with the digitizer surface with no buttons pressed.
22
- #A mouse pointer has this flag set when the left mouse button is down.
23
-
24
- :SECONDBUTTON, 0x00000020, # Indicates a secondary action, analogous to a right mouse button down.
25
- #A touch pointer does not use this flag. A pen pointer has this flag set when it is in contact with the
26
- # digitizer surface with the pen barrel button pressed.A mouse pointer has this flag set when the right mouse
27
- # button is down.
28
-
29
- :THIRDBUTTON, 0x00000040, # Analogous to a mouse wheel button down. A touch pointer does not use
30
- # this flag. A pen pointer does not use this flag. A mouse pointer has this flag set when the mouse wheel button
31
- # is down.
32
-
33
- :FOURTHBUTTON, 0x00000080, # Analogous to a first extended mouse (XButton1) button down.
34
- # A touch pointer does not use this flag.
35
- # A pen pointer does not use this flag.
36
- # A mouse pointer has this flag set when the first extended mouse (XBUTTON1) button is down.
37
-
38
- :FIFTHBUTTON, 0x00000100, # Analogous to a second extended mouse (XButton2) button down.
39
- # A touch pointer does not use this flag.
40
- # A pen pointer does not use this flag.
41
- # A mouse pointer has this flag set when the second extended mouse (XBUTTON2) button is down.
42
-
43
- :PRIMARY, 0x00002000, # Indicates that this pointer has been designated as the primary pointer.
44
- # A primary pointer is a single pointer that can perform actions beyond those available to non-primary pointers.
45
- # For example, when a primary pointer makes contact with a window’s surface, it may provide the window an
46
- # opportunity to activate by sending it a WM_POINTERACTIVATE message. The primary pointer is identified from all
47
- # current user interactions on the system (mouse, touch, pen, and so on). As such, the primary pointer might not
48
- # be associated with your app. The first contact in a multi-touch interaction is set as the primary pointer.
49
- # Once a primary pointer is identified, all contacts must be lifted before a new contact can be identified as a
50
- # primary pointer. For apps that don't process pointer input, only the primary pointer's events are promoted to
51
- # mouse events.
52
-
53
- :CONFIDENCE, 0x000004000, # Confidence is a suggestion from the source device about whether the
54
- # pointer represents an intended or accidental interaction, which is especially relevant for PT_TOUCH pointers
55
- # where an accidental interaction (such as with the palm of the hand) can trigger input. The presence of this
56
- # flag indicates that the source device has high confidence that this input is part of an intended interaction.
57
-
58
- :POINTER_FLAG_CANCELED, 0x000008000, #Indicates that the pointer is departing in an abnormal manner, such as
59
- # when the system receives invalid input for the pointer or when a device with active pointers departs abruptly.
60
- # If the application receiving the input is in a position to do so, it should treat the interaction as not
61
- # completed and reverse any effects of the concerned pointer.
62
-
63
- :POINTER_FLAG_DOWN, 0x00010000, # Indicates that this pointer transitioned to a down state; that is, it made
64
- # contact with the digitizer surface.
65
-
66
- :POINTER_FLAG_UPDATE, 0x00020000, # Indicates that this is a simple update that does not include pointer state
67
- # changes.
68
-
69
- :POINTER_FLAG_UP, 0x00040000, # Indicates that this pointer transitioned to an up state; that is, it broke
70
- # contact with the digitizer surface.
71
-
72
- :POINTER_FLAG_WHEEL, 0x00080000, # Indicates input associated with a pointer wheel. For mouse pointers, this is
73
- # equivalent to the action of the mouse scroll wheel (WM_MOUSEWHEEL).
74
-
75
- :POINTER_FLAG_HWHEEL, 0x00100000, # Indicates input associated with a pointer h-wheel. For mouse pointers, this
76
- # is equivalent to the action of the mouse horizontal scroll wheel (WM_MOUSEHWHEEL).
77
-
78
- :POINTER_FLAG_CAPTURECHANGED, 0x00200000, # Indicates that this pointer was captured by (associated with)
79
- # another element and the original element has lost capture (see WM_POINTERCAPTURECHANGED)
80
- ]
81
- end
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ PointerFlags = enum :pointer_flags,
6
+ [
7
+ :NONE, 0x00000000, # Default
8
+
9
+ :NEW, 0x00000001, # Indicates the arrival of a new pointer.
10
+
11
+ :INRANGE, 0x00000002, # Indicates that this pointer continues to exist. When this flag is not set,
12
+ # it indicates the pointer has left detection range. This flag is typically not set only when a hovering pointer
13
+ # leaves detection range (POINTER_FLAG_UPDATE is set) or when a pointer in contact with a window surface leaves
14
+ # detection range (POINTER_FLAG_UP is set).
15
+
16
+ :INCONTACT, 0x00000004, #Indicates that this pointer is in contact with the digitizer surface.
17
+ # When this flag is not set, it indicates a hovering pointer.
18
+
19
+ :FIRSTBUTTON, 0x00000010, # Indicates a primary action, analogous to a left mouse button down.
20
+ #A touch pointer has this flag set when it is in contact with the digitizer surface.
21
+ #A pen pointer has this flag set when it is in contact with the digitizer surface with no buttons pressed.
22
+ #A mouse pointer has this flag set when the left mouse button is down.
23
+
24
+ :SECONDBUTTON, 0x00000020, # Indicates a secondary action, analogous to a right mouse button down.
25
+ #A touch pointer does not use this flag. A pen pointer has this flag set when it is in contact with the
26
+ # digitizer surface with the pen barrel button pressed.A mouse pointer has this flag set when the right mouse
27
+ # button is down.
28
+
29
+ :THIRDBUTTON, 0x00000040, # Analogous to a mouse wheel button down. A touch pointer does not use
30
+ # this flag. A pen pointer does not use this flag. A mouse pointer has this flag set when the mouse wheel button
31
+ # is down.
32
+
33
+ :FOURTHBUTTON, 0x00000080, # Analogous to a first extended mouse (XButton1) button down.
34
+ # A touch pointer does not use this flag.
35
+ # A pen pointer does not use this flag.
36
+ # A mouse pointer has this flag set when the first extended mouse (XBUTTON1) button is down.
37
+
38
+ :FIFTHBUTTON, 0x00000100, # Analogous to a second extended mouse (XButton2) button down.
39
+ # A touch pointer does not use this flag.
40
+ # A pen pointer does not use this flag.
41
+ # A mouse pointer has this flag set when the second extended mouse (XBUTTON2) button is down.
42
+
43
+ :PRIMARY, 0x00002000, # Indicates that this pointer has been designated as the primary pointer.
44
+ # A primary pointer is a single pointer that can perform actions beyond those available to non-primary pointers.
45
+ # For example, when a primary pointer makes contact with a window’s surface, it may provide the window an
46
+ # opportunity to activate by sending it a WM_POINTERACTIVATE message. The primary pointer is identified from all
47
+ # current user interactions on the system (mouse, touch, pen, and so on). As such, the primary pointer might not
48
+ # be associated with your app. The first contact in a multi-touch interaction is set as the primary pointer.
49
+ # Once a primary pointer is identified, all contacts must be lifted before a new contact can be identified as a
50
+ # primary pointer. For apps that don't process pointer input, only the primary pointer's events are promoted to
51
+ # mouse events.
52
+
53
+ :CONFIDENCE, 0x000004000, # Confidence is a suggestion from the source device about whether the
54
+ # pointer represents an intended or accidental interaction, which is especially relevant for PT_TOUCH pointers
55
+ # where an accidental interaction (such as with the palm of the hand) can trigger input. The presence of this
56
+ # flag indicates that the source device has high confidence that this input is part of an intended interaction.
57
+
58
+ :POINTER_FLAG_CANCELED, 0x000008000, #Indicates that the pointer is departing in an abnormal manner, such as
59
+ # when the system receives invalid input for the pointer or when a device with active pointers departs abruptly.
60
+ # If the application receiving the input is in a position to do so, it should treat the interaction as not
61
+ # completed and reverse any effects of the concerned pointer.
62
+
63
+ :POINTER_FLAG_DOWN, 0x00010000, # Indicates that this pointer transitioned to a down state; that is, it made
64
+ # contact with the digitizer surface.
65
+
66
+ :POINTER_FLAG_UPDATE, 0x00020000, # Indicates that this is a simple update that does not include pointer state
67
+ # changes.
68
+
69
+ :POINTER_FLAG_UP, 0x00040000, # Indicates that this pointer transitioned to an up state; that is, it broke
70
+ # contact with the digitizer surface.
71
+
72
+ :POINTER_FLAG_WHEEL, 0x00080000, # Indicates input associated with a pointer wheel. For mouse pointers, this is
73
+ # equivalent to the action of the mouse scroll wheel (WM_MOUSEWHEEL).
74
+
75
+ :POINTER_FLAG_HWHEEL, 0x00100000, # Indicates input associated with a pointer h-wheel. For mouse pointers, this
76
+ # is equivalent to the action of the mouse horizontal scroll wheel (WM_MOUSEHWHEEL).
77
+
78
+ :POINTER_FLAG_CAPTURECHANGED, 0x00200000, # Indicates that this pointer was captured by (associated with)
79
+ # another element and the original element has lost capture (see WM_POINTERCAPTURECHANGED)
80
+ ]
81
+ end
82
82
  end
@@ -1,33 +1,33 @@
1
- module WinFFI
2
- module Advapi32
3
- #BOOL WINAPI CreateProcessAsUser(
4
- # _In_opt_ HANDLE hToken,
5
- # _In_opt_ LPCTSTR lpApplicationName,
6
- # _Inout_opt_ LPTSTR lpCommandLine,
7
- # _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,
8
- # _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
9
- # _In_ BOOL bInheritHandles,
10
- # _In_ DWORD dwCreationFlags,
11
- # _In_opt_ LPVOID lpEnvironment,
12
- # _In_opt_ LPCTSTR lpCurrentDirectory,
13
- # _In_ LPSTARTUPINFO lpStartupInfo,
14
- # _Out_ LPPROCESS_INFORMATION lpProcessInformation )
15
- attach_function 'CreateProcessAsUserA', [:handle, :string, :string, :pointer, :pointer, :bool, :dword, :pointer, :string, :pointer, :pointer], :bool
16
- attach_function 'CreateProcessAsUserW', [:handle, :string, :string, :pointer, :pointer, :bool, :dword, :pointer, :string, :pointer, :pointer], :bool
17
-
18
- #TODO
19
- #BOOL WINAPI CreateProcessWithLogonW(
20
- # _In_ LPCWSTR lpUsername,
21
- # _In_opt_ LPCWSTR lpDomain,
22
- # _In_ LPCWSTR lpPassword,
23
- # _In_ DWORD dwLogonFlags,
24
- # _In_opt_ LPCWSTR lpApplicationName,
25
- # _Inout_opt_ LPWSTR lpCommandLine,
26
- # _In_ DWORD dwCreationFlags,
27
- # _In_opt_ LPVOID lpEnvironment,
28
- # _In_opt_ LPCWSTR lpCurrentDirectory,
29
- # _In_ LPSTARTUPINFOW lpStartupInfo,
30
- # _Out_ LPPROCESS_INFORMATION lpProcessInfo )
31
- attach_function 'CreateProcessWithLogonW', [:string, :string, :string, :dword, :string, :pointer, :dword, :pointer, :string, :pointer, :pointer], :bool
32
- end
1
+ module WinFFI
2
+ module Advapi32
3
+ #BOOL WINAPI CreateProcessAsUser(
4
+ # _In_opt_ HANDLE hToken,
5
+ # _In_opt_ LPCTSTR lpApplicationName,
6
+ # _Inout_opt_ LPTSTR lpCommandLine,
7
+ # _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,
8
+ # _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
9
+ # _In_ BOOL bInheritHandles,
10
+ # _In_ DWORD dwCreationFlags,
11
+ # _In_opt_ LPVOID lpEnvironment,
12
+ # _In_opt_ LPCTSTR lpCurrentDirectory,
13
+ # _In_ LPSTARTUPINFO lpStartupInfo,
14
+ # _Out_ LPPROCESS_INFORMATION lpProcessInformation )
15
+ attach_function 'CreateProcessAsUserA', [:handle, :string, :string, :pointer, :pointer, :bool, :dword, :pointer, :string, :pointer, :pointer], :bool
16
+ attach_function 'CreateProcessAsUserW', [:handle, :string, :string, :pointer, :pointer, :bool, :dword, :pointer, :string, :pointer, :pointer], :bool
17
+
18
+ #TODO
19
+ #BOOL WINAPI CreateProcessWithLogonW(
20
+ # _In_ LPCWSTR lpUsername,
21
+ # _In_opt_ LPCWSTR lpDomain,
22
+ # _In_ LPCWSTR lpPassword,
23
+ # _In_ DWORD dwLogonFlags,
24
+ # _In_opt_ LPCWSTR lpApplicationName,
25
+ # _Inout_opt_ LPWSTR lpCommandLine,
26
+ # _In_ DWORD dwCreationFlags,
27
+ # _In_opt_ LPVOID lpEnvironment,
28
+ # _In_opt_ LPCWSTR lpCurrentDirectory,
29
+ # _In_ LPSTARTUPINFOW lpStartupInfo,
30
+ # _Out_ LPPROCESS_INFORMATION lpProcessInfo )
31
+ attach_function 'CreateProcessWithLogonW', [:string, :string, :string, :dword, :string, :pointer, :dword, :pointer, :string, :pointer, :pointer], :bool
32
+ end
33
33
  end