xlib 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/x.rb +11 -0
- data/lib/x/constants.rb +614 -0
- data/lib/x/extensions.rb +10 -0
- data/lib/x/extensions/randr.rb +10 -0
- data/lib/x/extensions/randr/constants.rb +160 -0
- data/lib/x/extensions/randr/types.rb +18 -0
- data/lib/x/extensions/render.rb +10 -0
- data/lib/x/extensions/render/constants.rb +155 -0
- data/lib/x/extensions/render/types.rb +15 -0
- data/lib/x/types.rb +24 -0
- data/lib/xlib.rb +29 -0
- data/lib/xlib/constants.rb +119 -0
- data/lib/xlib/extensions.rb +10 -0
- data/lib/xlib/extensions/xrandr.rb +25 -0
- data/lib/xlib/extensions/xrandr/functions.rb +101 -0
- data/lib/xlib/extensions/xrandr/struct/crtc_change_notify_event.rb +24 -0
- data/lib/xlib/extensions/xrandr/struct/crtc_gamma.rb +16 -0
- data/lib/xlib/extensions/xrandr/struct/crtc_info.rb +24 -0
- data/lib/xlib/extensions/xrandr/struct/crtc_transform_attributes.rb +20 -0
- data/lib/xlib/extensions/xrandr/struct/mode_info.rb +26 -0
- data/lib/xlib/extensions/xrandr/struct/notify_event.rb +17 -0
- data/lib/xlib/extensions/xrandr/struct/output_change_notify_event.rb +24 -0
- data/lib/xlib/extensions/xrandr/struct/output_info.rb +27 -0
- data/lib/xlib/extensions/xrandr/struct/output_property_notify_event.rb +21 -0
- data/lib/xlib/extensions/xrandr/struct/panning.rb +25 -0
- data/lib/xlib/extensions/xrandr/struct/property_info.rb +17 -0
- data/lib/xlib/extensions/xrandr/struct/provider_change_notify_event.rb +20 -0
- data/lib/xlib/extensions/xrandr/struct/provider_info.rb +21 -0
- data/lib/xlib/extensions/xrandr/struct/provider_property_notify_event.rb +21 -0
- data/lib/xlib/extensions/xrandr/struct/provider_resources.rb +14 -0
- data/lib/xlib/extensions/xrandr/struct/resource_change_notify_event.rb +18 -0
- data/lib/xlib/extensions/xrandr/struct/screen_change_notify_event.rb +26 -0
- data/lib/xlib/extensions/xrandr/struct/screen_resources.rb +20 -0
- data/lib/xlib/extensions/xrandr/struct/screen_size.rb +16 -0
- data/lib/xlib/extensions/xrandr/types.rb +36 -0
- data/lib/xlib/extensions/xrender.rb +24 -0
- data/lib/xlib/extensions/xrender/constants.rb +28 -0
- data/lib/xlib/extensions/xrender/functions.rb +29 -0
- data/lib/xlib/extensions/xrender/struct/anim_cursor.rb +14 -0
- data/lib/xlib/extensions/xrender/struct/circle.rb +15 -0
- data/lib/xlib/extensions/xrender/struct/conical_gradient.rb +14 -0
- data/lib/xlib/extensions/xrender/struct/filters.rb +16 -0
- data/lib/xlib/extensions/xrender/struct/glyph_elt16.rb +17 -0
- data/lib/xlib/extensions/xrender/struct/glyph_elt32.rb +17 -0
- data/lib/xlib/extensions/xrender/struct/glyph_elt8.rb +17 -0
- data/lib/xlib/extensions/xrender/struct/glyph_info.rb +18 -0
- data/lib/xlib/extensions/xrender/struct/index_value.rb +17 -0
- data/lib/xlib/extensions/xrender/struct/line_fixed.rb +14 -0
- data/lib/xlib/extensions/xrender/struct/linear_gradient.rb +14 -0
- data/lib/xlib/extensions/xrender/struct/point_double.rb +14 -0
- data/lib/xlib/extensions/xrender/struct/point_fixed.rb +14 -0
- data/lib/xlib/extensions/xrender/struct/radial_gradient.rb +14 -0
- data/lib/xlib/extensions/xrender/struct/render_color.rb +16 -0
- data/lib/xlib/extensions/xrender/struct/render_direct_format.rb +20 -0
- data/lib/xlib/extensions/xrender/struct/render_pict_format.rb +17 -0
- data/lib/xlib/extensions/xrender/struct/render_picture_attributes.rb +25 -0
- data/lib/xlib/extensions/xrender/struct/span_fix.rb +15 -0
- data/lib/xlib/extensions/xrender/struct/transform.rb +13 -0
- data/lib/xlib/extensions/xrender/struct/trap.rb +14 -0
- data/lib/xlib/extensions/xrender/struct/trapezoid.rb +16 -0
- data/lib/xlib/extensions/xrender/struct/triangle.rb +15 -0
- data/lib/xlib/extensions/xrender/types.rb +37 -0
- data/lib/xlib/functions.rb +396 -0
- data/lib/xlib/struct/any_event.rb +17 -0
- data/lib/xlib/struct/button_event.rb +27 -0
- data/lib/xlib/struct/circulate_event.rb +19 -0
- data/lib/xlib/struct/circulate_request_event.rb +19 -0
- data/lib/xlib/struct/client_message_event.rb +27 -0
- data/lib/xlib/struct/colormap_event.rb +20 -0
- data/lib/xlib/struct/configure_event.rb +25 -0
- data/lib/xlib/struct/configure_request_event.rb +26 -0
- data/lib/xlib/struct/create_window_event.rb +24 -0
- data/lib/xlib/struct/crossing_event.rb +29 -0
- data/lib/xlib/struct/destroy_window_event.rb +18 -0
- data/lib/xlib/struct/display.rb +56 -0
- data/lib/xlib/struct/error_event.rb +19 -0
- data/lib/xlib/struct/event.rb +48 -0
- data/lib/xlib/struct/expose_event.rb +22 -0
- data/lib/xlib/struct/focus_change_event.rb +19 -0
- data/lib/xlib/struct/gc.rb +14 -0
- data/lib/xlib/struct/gc_values.rb +35 -0
- data/lib/xlib/struct/generic_event.rb +18 -0
- data/lib/xlib/struct/generic_event_cookie.rb +20 -0
- data/lib/xlib/struct/graphics_expose_event.rb +25 -0
- data/lib/xlib/struct/gravity_event.rb +20 -0
- data/lib/xlib/struct/image.rb +37 -0
- data/lib/xlib/struct/key_event.rb +27 -0
- data/lib/xlib/struct/key_sym.rb +28 -0
- data/lib/xlib/struct/keymap_event.rb +18 -0
- data/lib/xlib/struct/map_event.rb +19 -0
- data/lib/xlib/struct/map_request_event.rb +22 -0
- data/lib/xlib/struct/mapping_event.rb +20 -0
- data/lib/xlib/struct/motion_event.rb +27 -0
- data/lib/xlib/struct/no_expose_event.rb +19 -0
- data/lib/xlib/struct/point.rb +14 -0
- data/lib/xlib/struct/property_event.rb +20 -0
- data/lib/xlib/struct/reparent_event.rb +22 -0
- data/lib/xlib/struct/resize_request_event.rb +19 -0
- data/lib/xlib/struct/screen.rb +31 -0
- data/lib/xlib/struct/selection_clear_event.rb +19 -0
- data/lib/xlib/struct/selection_event.rb +21 -0
- data/lib/xlib/struct/selection_request_event.rb +22 -0
- data/lib/xlib/struct/unmap_event.rb +19 -0
- data/lib/xlib/struct/visibility_event.rb +18 -0
- data/lib/xlib/struct/visual.rb +20 -0
- data/lib/xlib/struct/window_attributes.rb +35 -0
- data/lib/xlib/types.rb +73 -0
- metadata +164 -0
data/lib/x/extensions.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2014, Christopher Aue <mail@christopheraue.net>
|
3
|
+
#
|
4
|
+
# This file is part of the ruby xlib gem. It is subject to the license terms in
|
5
|
+
# the LICENSE file found in the top-level directory of this distribution and at
|
6
|
+
# http://github.com/christopheraue/ruby-xlib.
|
7
|
+
#
|
8
|
+
|
9
|
+
require_relative 'extensions/render'
|
10
|
+
require_relative 'extensions/randr'
|
@@ -0,0 +1,10 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2014, Christopher Aue <mail@christopheraue.net>
|
3
|
+
#
|
4
|
+
# This file is part of the ruby xlib gem. It is subject to the license terms in
|
5
|
+
# the LICENSE file found in the top-level directory of this distribution and at
|
6
|
+
# http://github.com/christopheraue/ruby-xlib.
|
7
|
+
#
|
8
|
+
|
9
|
+
require_relative 'randr/types'
|
10
|
+
require_relative 'randr/constants'
|
@@ -0,0 +1,160 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2014, Christopher Aue <mail@christopheraue.net>
|
3
|
+
#
|
4
|
+
# This file is part of the ruby xlib gem. It is subject to the license terms in
|
5
|
+
# the LICENSE file found in the top-level directory of this distribution and at
|
6
|
+
# http://github.com/christopheraue/ruby-xlib.
|
7
|
+
#
|
8
|
+
|
9
|
+
module Xlib
|
10
|
+
RANDR_NAME = 'RANDR'
|
11
|
+
RANDR_MAJOR = 1
|
12
|
+
RANDR_MINOR = 4
|
13
|
+
|
14
|
+
RRNumberErrors = 4
|
15
|
+
RRNumberEvents = 2
|
16
|
+
RRNumberRequests = 42
|
17
|
+
|
18
|
+
X_RRQueryVersion = 0
|
19
|
+
# we skip 1 to make old clients fail pretty immediately
|
20
|
+
X_RROldGetScreenInfo = 1
|
21
|
+
X_RR1_0SetScreenConfig = 2
|
22
|
+
# V1.0 apps share the same set screen config request id
|
23
|
+
X_RRSetScreenConfig = 2
|
24
|
+
X_RROldScreenChangeSelectInput = 3
|
25
|
+
# 3 used to be ScreenChangeSelectInput; deprecated
|
26
|
+
X_RRSelectInput = 4
|
27
|
+
X_RRGetScreenInfo = 5
|
28
|
+
|
29
|
+
# V1.2 additions
|
30
|
+
X_RRGetScreenSizeRange = 6
|
31
|
+
X_RRSetScreenSize = 7
|
32
|
+
X_RRGetScreenResources = 8
|
33
|
+
X_RRGetOutputInfo = 9
|
34
|
+
X_RRListOutputProperties = 10
|
35
|
+
X_RRQueryOutputProperty = 11
|
36
|
+
X_RRConfigureOutputProperty = 12
|
37
|
+
X_RRChangeOutputProperty = 13
|
38
|
+
X_RRDeleteOutputProperty = 14
|
39
|
+
X_RRGetOutputProperty = 15
|
40
|
+
X_RRCreateMode = 16
|
41
|
+
X_RRDestroyMode = 17
|
42
|
+
X_RRAddOutputMode = 18
|
43
|
+
X_RRDeleteOutputMode = 19
|
44
|
+
X_RRGetCrtcInfo = 20
|
45
|
+
X_RRSetCrtcConfig = 21
|
46
|
+
X_RRGetCrtcGammaSize = 22
|
47
|
+
X_RRGetCrtcGamma = 23
|
48
|
+
X_RRSetCrtcGamma = 24
|
49
|
+
|
50
|
+
# V1.3 additions
|
51
|
+
X_RRGetScreenResourcesCurrent = 25
|
52
|
+
X_RRSetCrtcTransform = 26
|
53
|
+
X_RRGetCrtcTransform = 27
|
54
|
+
X_RRGetPanning = 28
|
55
|
+
X_RRSetPanning = 29
|
56
|
+
X_RRSetOutputPrimary = 30
|
57
|
+
X_RRGetOutputPrimary = 31
|
58
|
+
|
59
|
+
RRTransformUnit = 2**0
|
60
|
+
RRTransformScaleUp = 2**1
|
61
|
+
RRTransformScaleDown = 2**2
|
62
|
+
RRTransformProjective = 2**3
|
63
|
+
|
64
|
+
# v1.4
|
65
|
+
X_RRGetProviders = 32
|
66
|
+
X_RRGetProviderInfo = 33
|
67
|
+
X_RRSetProviderOffloadSink = 34
|
68
|
+
X_RRSetProviderOutputSource = 35
|
69
|
+
X_RRListProviderProperties = 36
|
70
|
+
X_RRQueryProviderProperty = 37
|
71
|
+
X_RRConfigureProviderProperty = 38
|
72
|
+
X_RRChangeProviderProperty = 39
|
73
|
+
X_RRDeleteProviderProperty = 40
|
74
|
+
X_RRGetProviderProperty = 41
|
75
|
+
|
76
|
+
# Event selection bits
|
77
|
+
RRScreenChangeNotifyMask = 2**0
|
78
|
+
# V1.2 additions
|
79
|
+
RRCrtcChangeNotifyMask = 2**1
|
80
|
+
RROutputChangeNotifyMask = 2**2
|
81
|
+
RROutputPropertyNotifyMask = 2**3
|
82
|
+
# V1.4 additions
|
83
|
+
RRProviderChangeNotifyMask = 2**4
|
84
|
+
RRProviderPropertyNotifyMask = 2**5
|
85
|
+
RRResourceChangeNotifyMask = 2**6
|
86
|
+
|
87
|
+
# Event codes
|
88
|
+
RRScreenChangeNotify = 0
|
89
|
+
# V1.2 additions
|
90
|
+
RRNotify = 1
|
91
|
+
# RRNotify Subcodes
|
92
|
+
RRNotify_CrtcChange = 0
|
93
|
+
RRNotify_OutputChange = 1
|
94
|
+
RRNotify_OutputProperty = 2
|
95
|
+
RRNotify_ProviderChange = 3
|
96
|
+
RRNotify_ProviderProperty = 4
|
97
|
+
RRNotify_ResourceChange = 5
|
98
|
+
# used in the rotation field; rotation and reflection in 0.1 proto.
|
99
|
+
RR_Rotate_0 = 1
|
100
|
+
RR_Rotate_90 = 2
|
101
|
+
RR_Rotate_180 = 4
|
102
|
+
RR_Rotate_270 = 8
|
103
|
+
|
104
|
+
# new in 1.0 protocol, to allow reflection of screen
|
105
|
+
|
106
|
+
RR_Reflect_X = 16
|
107
|
+
RR_Reflect_Y = 32
|
108
|
+
|
109
|
+
RRSetConfigSuccess = 0
|
110
|
+
RRSetConfigInvalidConfigTime = 1
|
111
|
+
RRSetConfigInvalidTime = 2
|
112
|
+
RRSetConfigFailed = 3
|
113
|
+
|
114
|
+
# new in 1.2 protocol
|
115
|
+
|
116
|
+
RR_HSyncPositive = 0x00000001
|
117
|
+
RR_HSyncNegative = 0x00000002
|
118
|
+
RR_VSyncPositive = 0x00000004
|
119
|
+
RR_VSyncNegative = 0x00000008
|
120
|
+
RR_Interlace = 0x00000010
|
121
|
+
RR_DoubleScan = 0x00000020
|
122
|
+
RR_CSync = 0x00000040
|
123
|
+
RR_CSyncPositive = 0x00000080
|
124
|
+
RR_CSyncNegative = 0x00000100
|
125
|
+
RR_HSkewPresent = 0x00000200
|
126
|
+
RR_BCast = 0x00000400
|
127
|
+
RR_PixelMultiplex = 0x00000800
|
128
|
+
RR_DoubleClock = 0x00001000
|
129
|
+
RR_ClockDivideBy2 = 0x00002000
|
130
|
+
|
131
|
+
RR_Connected = 0
|
132
|
+
RR_Disconnected = 1
|
133
|
+
RR_UnknownConnection = 2
|
134
|
+
|
135
|
+
BadRROutput = 0
|
136
|
+
BadRRCrtc = 1
|
137
|
+
BadRRMode = 2
|
138
|
+
BadRRProvider = 3
|
139
|
+
|
140
|
+
# Conventional RandR output properties
|
141
|
+
|
142
|
+
RR_PROPERTY_BACKLIGHT = 'Backlight'
|
143
|
+
RR_PROPERTY_RANDR_EDID = 'EDID'
|
144
|
+
RR_PROPERTY_SIGNAL_FORMAT = 'SignalFormat'
|
145
|
+
RR_PROPERTY_SIGNAL_PROPERTIES = 'SignalProperties'
|
146
|
+
RR_PROPERTY_CONNECTOR_TYPE = 'ConnectorType'
|
147
|
+
RR_PROPERTY_CONNECTOR_NUMBER = 'ConnectorNumber'
|
148
|
+
RR_PROPERTY_COMPATIBILITY_LIST = 'CompatibilityList'
|
149
|
+
RR_PROPERTY_CLONE_LIST = 'CloneList'
|
150
|
+
RR_PROPERTY_BORDER = 'Border'
|
151
|
+
RR_PROPERTY_BORDER_DIMENSIONS = 'BorderDimensions'
|
152
|
+
|
153
|
+
# roles this device can carry out
|
154
|
+
RR_Capability_None = 0
|
155
|
+
RR_Capability_SourceOutput = 1
|
156
|
+
RR_Capability_SinkOutput = 2
|
157
|
+
RR_Capability_SourceOffload = 4
|
158
|
+
RR_Capability_SinkOffload = 8
|
159
|
+
|
160
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2014, Christopher Aue <mail@christopheraue.net>
|
3
|
+
#
|
4
|
+
# This file is part of the ruby xlib gem. It is subject to the license terms in
|
5
|
+
# the LICENSE file found in the top-level directory of this distribution and at
|
6
|
+
# http://github.com/christopheraue/ruby-xlib.
|
7
|
+
#
|
8
|
+
|
9
|
+
module FFI
|
10
|
+
typedef :ushort, :Rotation
|
11
|
+
typedef :ushort, :SizeID
|
12
|
+
typedef :ushort, :SubpixelOrder
|
13
|
+
typedef :ushort, :Connection
|
14
|
+
typedef :ushort, :XRandrRotation
|
15
|
+
typedef :ushort, :XRandrSizeID
|
16
|
+
typedef :ushort, :XRandrSubpixelOrder
|
17
|
+
typedef :ulong, :XRandrModeFlags
|
18
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2014, Christopher Aue <mail@christopheraue.net>
|
3
|
+
#
|
4
|
+
# This file is part of the ruby xlib gem. It is subject to the license terms in
|
5
|
+
# the LICENSE file found in the top-level directory of this distribution and at
|
6
|
+
# http://github.com/christopheraue/ruby-xlib.
|
7
|
+
#
|
8
|
+
|
9
|
+
require_relative 'render/types'
|
10
|
+
require_relative 'render/constants'
|
@@ -0,0 +1,155 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2014, Christopher Aue <mail@christopheraue.net>
|
3
|
+
#
|
4
|
+
# This file is part of the ruby xlib gem. It is subject to the license terms in
|
5
|
+
# the LICENSE file found in the top-level directory of this distribution and at
|
6
|
+
# http://github.com/christopheraue/ruby-xlib.
|
7
|
+
#
|
8
|
+
|
9
|
+
module Xlib
|
10
|
+
RENDER_NAME = 'RENDER'
|
11
|
+
RENDER_MAJOR = 0
|
12
|
+
RENDER_MINOR = 11
|
13
|
+
X_RenderQueryVersion = 0
|
14
|
+
X_RenderQueryPictFormats = 1
|
15
|
+
X_RenderQueryPictIndexValues = 2 # 0.7
|
16
|
+
X_RenderQueryDithers = 3
|
17
|
+
X_RenderCreatePicture = 4
|
18
|
+
X_RenderChangePicture = 5
|
19
|
+
X_RenderSetPictureClipRectangles = 6
|
20
|
+
X_RenderFreePicture = 7
|
21
|
+
X_RenderComposite = 8
|
22
|
+
X_RenderScale = 9
|
23
|
+
X_RenderTrapezoids = 10
|
24
|
+
X_RenderTriangles = 11
|
25
|
+
X_RenderTriStrip = 12
|
26
|
+
X_RenderTriFan = 13
|
27
|
+
X_RenderColorTrapezoids = 14
|
28
|
+
X_RenderColorTriangles = 15
|
29
|
+
# X_RenderTransform = 16
|
30
|
+
X_RenderCreateGlyphSet = 17
|
31
|
+
X_RenderReferenceGlyphSet = 18
|
32
|
+
X_RenderFreeGlyphSet = 19
|
33
|
+
X_RenderAddGlyphs = 20
|
34
|
+
X_RenderAddGlyphsFromPicture = 21
|
35
|
+
X_RenderFreeGlyphs = 22
|
36
|
+
X_RenderCompositeGlyphs8 = 23
|
37
|
+
X_RenderCompositeGlyphs16 = 24
|
38
|
+
X_RenderCompositeGlyphs32 = 25
|
39
|
+
X_RenderFillRectangles = 26
|
40
|
+
X_RenderCreateCursor = 27
|
41
|
+
X_RenderSetPictureTransform = 28
|
42
|
+
X_RenderQueryFilters = 29
|
43
|
+
X_RenderSetPictureFilter = 30
|
44
|
+
X_RenderCreateAnimCursor = 31
|
45
|
+
X_RenderAddTraps = 32
|
46
|
+
X_RenderCreateSolidFill = 33
|
47
|
+
X_RenderCreateLinearGradient = 34
|
48
|
+
X_RenderCreateRadialGradient = 35
|
49
|
+
X_RenderCreateConicalGradient = 36
|
50
|
+
RenderNumberRequests = (X_RenderCreateConicalGradient+1)
|
51
|
+
BadPictFormat = 0
|
52
|
+
BadPicture = 1
|
53
|
+
BadPictOp = 2
|
54
|
+
BadGlyphSet = 3
|
55
|
+
BadGlyph = 4
|
56
|
+
RenderNumberErrors = (BadGlyph+1)
|
57
|
+
PictTypeIndexed = 0
|
58
|
+
PictTypeDirect = 1
|
59
|
+
PictOpMinimum = 0
|
60
|
+
PictOpClear = 0
|
61
|
+
PictOpSrc = 1
|
62
|
+
PictOpDst = 2
|
63
|
+
PictOpOver = 3
|
64
|
+
PictOpOverReverse = 4
|
65
|
+
PictOpIn = 5
|
66
|
+
PictOpInReverse = 6
|
67
|
+
PictOpOut = 7
|
68
|
+
PictOpOutReverse = 8
|
69
|
+
PictOpAtop = 9
|
70
|
+
PictOpAtopReverse = 10
|
71
|
+
PictOpXor = 11
|
72
|
+
PictOpAdd = 12
|
73
|
+
PictOpSaturate = 13
|
74
|
+
PictOpMaximum = 13
|
75
|
+
PictOpDisjointMinimum = 0x10
|
76
|
+
PictOpDisjointClear = 0x10
|
77
|
+
PictOpDisjointSrc = 0x11
|
78
|
+
PictOpDisjointDst = 0x12
|
79
|
+
PictOpDisjointOver = 0x13
|
80
|
+
PictOpDisjointOverReverse = 0x14
|
81
|
+
PictOpDisjointIn = 0x15
|
82
|
+
PictOpDisjointInReverse = 0x16
|
83
|
+
PictOpDisjointOut = 0x17
|
84
|
+
PictOpDisjointOutReverse = 0x18
|
85
|
+
PictOpDisjointAtop = 0x19
|
86
|
+
PictOpDisjointAtopReverse = 0x1a
|
87
|
+
PictOpDisjointXor = 0x1b
|
88
|
+
PictOpDisjointMaximum = 0x1b
|
89
|
+
PictOpConjointMinimum = 0x20
|
90
|
+
PictOpConjointClear = 0x20
|
91
|
+
PictOpConjointSrc = 0x21
|
92
|
+
PictOpConjointDst = 0x22
|
93
|
+
PictOpConjointOver = 0x23
|
94
|
+
PictOpConjointOverReverse = 0x24
|
95
|
+
PictOpConjointIn = 0x25
|
96
|
+
PictOpConjointInReverse = 0x26
|
97
|
+
PictOpConjointOut = 0x27
|
98
|
+
PictOpConjointOutReverse = 0x28
|
99
|
+
PictOpConjointAtop = 0x29
|
100
|
+
PictOpConjointAtopReverse = 0x2a
|
101
|
+
PictOpConjointXor = 0x2b
|
102
|
+
PictOpConjointMaximum = 0x2b
|
103
|
+
PictOpBlendMinimum = 0x30
|
104
|
+
PictOpMultiply = 0x30
|
105
|
+
PictOpScreen = 0x31
|
106
|
+
PictOpOverlay = 0x32
|
107
|
+
PictOpDarken = 0x33
|
108
|
+
PictOpLighten = 0x34
|
109
|
+
PictOpColorDodge = 0x35
|
110
|
+
PictOpColorBurn = 0x36
|
111
|
+
PictOpHardLight = 0x37
|
112
|
+
PictOpSoftLight = 0x38
|
113
|
+
PictOpDifference = 0x39
|
114
|
+
PictOpExclusion = 0x3a
|
115
|
+
PictOpHSLHue = 0x3b
|
116
|
+
PictOpHSLSaturation = 0x3c
|
117
|
+
PictOpHSLColor = 0x3d
|
118
|
+
PictOpHSLLuminosity = 0x3e
|
119
|
+
PictOpBlendMaximum = 0x3e
|
120
|
+
PolyEdgeSharp = 0
|
121
|
+
PolyEdgeSmooth = 1
|
122
|
+
PolyModePrecise = 0
|
123
|
+
PolyModeImprecise = 1
|
124
|
+
CPRepeat = (1 << 0)
|
125
|
+
CPAlphaMap = (1 << 1)
|
126
|
+
CPAlphaXOrigin = (1 << 2)
|
127
|
+
CPAlphaYOrigin = (1 << 3)
|
128
|
+
CPClipXOrigin = (1 << 4)
|
129
|
+
CPClipYOrigin = (1 << 5)
|
130
|
+
CPClipMask = (1 << 6)
|
131
|
+
CPGraphicsExposure = (1 << 7)
|
132
|
+
CPSubwindowMode = (1 << 8)
|
133
|
+
CPPolyEdge = (1 << 9)
|
134
|
+
CPPolyMode = (1 << 10)
|
135
|
+
CPDither = (1 << 11)
|
136
|
+
CPComponentAlpha = (1 << 12)
|
137
|
+
CPLastBit = 12
|
138
|
+
FilterNearest = 'nearest'
|
139
|
+
FilterBilinear = 'bilinear'
|
140
|
+
FilterConvolution = 'convolution'
|
141
|
+
FilterFast = 'fast'
|
142
|
+
FilterGood = 'good'
|
143
|
+
FilterBest = 'best'
|
144
|
+
FilterAliasNone = -1
|
145
|
+
SubPixelUnknown = 0
|
146
|
+
SubPixelHorizontalRGB = 1
|
147
|
+
SubPixelHorizontalBGR = 2
|
148
|
+
SubPixelVerticalRGB = 3
|
149
|
+
SubPixelVerticalBGR = 4
|
150
|
+
SubPixelNone = 5
|
151
|
+
RepeatNone = 0
|
152
|
+
RepeatNormal = 1
|
153
|
+
RepeatPad = 2
|
154
|
+
RepeatReflect = 3
|
155
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
#
|
2
|
+
# Copyleft meh. [http://meh.paranoid.pk | meh@paranoici.org]
|
3
|
+
# Copyright (c) 2014, Christopher Aue <mail@christopheraue.net>
|
4
|
+
#
|
5
|
+
# This file is part of the ruby xlib gem. It is subject to the license terms in
|
6
|
+
# the LICENSE file found in the top-level directory of this distribution and at
|
7
|
+
# http://github.com/christopheraue/ruby-xlib.
|
8
|
+
#
|
9
|
+
|
10
|
+
module FFI
|
11
|
+
typedef :XID, :Glyph
|
12
|
+
typedef :XID, :GlyphSet
|
13
|
+
typedef :XID, :Picture
|
14
|
+
typedef :XID, :PictFormat
|
15
|
+
end
|
data/lib/x/types.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2014, Christopher Aue <mail@christopheraue.net>
|
3
|
+
#
|
4
|
+
# This file is part of the ruby xlib gem. It is subject to the license terms in
|
5
|
+
# the LICENSE file found in the top-level directory of this distribution and at
|
6
|
+
# http://github.com/christopheraue/ruby-xlib.
|
7
|
+
#
|
8
|
+
|
9
|
+
module FFI
|
10
|
+
typedef :ulong, :XID
|
11
|
+
typedef :ulong, :Mask
|
12
|
+
typedef :ulong, :Atom
|
13
|
+
typedef :ulong, :VisualID
|
14
|
+
typedef :ulong, :Time
|
15
|
+
typedef :XID, :Window
|
16
|
+
typedef :XID, :Drawable
|
17
|
+
typedef :XID, :Font
|
18
|
+
typedef :XID, :Pixmap
|
19
|
+
typedef :XID, :Cursor
|
20
|
+
typedef :XID, :Colormap
|
21
|
+
typedef :XID, :GContext
|
22
|
+
typedef :XID, :KeySym
|
23
|
+
typedef :uchar, :KeyCode
|
24
|
+
end
|
data/lib/xlib.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2014, Christopher Aue <mail@christopheraue.net>
|
3
|
+
#
|
4
|
+
# This file is part of the ruby xlib gem. It is subject to the license terms in
|
5
|
+
# the LICENSE file found in the top-level directory of this distribution and at
|
6
|
+
# http://github.com/christopheraue/ruby-xlib.
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'ffi'
|
10
|
+
|
11
|
+
module Xlib
|
12
|
+
extend FFI::Library
|
13
|
+
|
14
|
+
begin
|
15
|
+
ffi_lib 'X11'
|
16
|
+
def self.available?; true end
|
17
|
+
rescue LoadError => e
|
18
|
+
def self.available?; false end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
require_relative 'x'
|
23
|
+
require_relative 'xlib/constants'
|
24
|
+
require_relative 'xlib/types'
|
25
|
+
require_relative 'xlib/extensions'
|
26
|
+
|
27
|
+
if Xlib.available?
|
28
|
+
require_relative 'xlib/functions'
|
29
|
+
end
|
@@ -0,0 +1,119 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2014, Christopher Aue <mail@christopheraue.net>
|
3
|
+
#
|
4
|
+
# This file is part of the ruby xlib gem. It is subject to the license terms in
|
5
|
+
# the LICENSE file found in the top-level directory of this distribution and at
|
6
|
+
# http://github.com/christopheraue/ruby-xlib.
|
7
|
+
#
|
8
|
+
|
9
|
+
module Xlib
|
10
|
+
QueuedAlready = 0
|
11
|
+
QueuedAfterReading = 1
|
12
|
+
QueuedAfterFlush = 2
|
13
|
+
|
14
|
+
XNRequiredCharSet = 'requiredCharSet'
|
15
|
+
XNQueryOrientation = 'queryOrientation'
|
16
|
+
XNBaseFontName = 'baseFontName'
|
17
|
+
XNOMAutomatic = 'omAutomatic'
|
18
|
+
XNMissingCharSet = 'missingCharSet'
|
19
|
+
XNDefaultString = 'defaultString'
|
20
|
+
XNOrientation = 'orientation'
|
21
|
+
XNDirectionalDependentDrawing = 'directionalDependentDrawing'
|
22
|
+
XNContextualDrawing = 'contextualDrawing'
|
23
|
+
XNFontInfo = 'fontInfo'
|
24
|
+
|
25
|
+
XIMPreeditArea = 0x0001
|
26
|
+
XIMPreeditCallbacks = 0x0002
|
27
|
+
XIMPreeditPosition = 0x0004
|
28
|
+
XIMPreeditNothing = 0x0008
|
29
|
+
XIMPreeditNone = 0x0010
|
30
|
+
XIMStatusArea = 0x0100
|
31
|
+
XIMStatusCallbacks = 0x0200
|
32
|
+
XIMStatusNothing = 0x0400
|
33
|
+
XIMStatusNone = 0x0800
|
34
|
+
|
35
|
+
XNVaNestedList = 'XNVaNestedList'
|
36
|
+
XNQueryInputStyle = 'queryInputStyle'
|
37
|
+
XNClientWindow = 'clientWindow'
|
38
|
+
XNInputStyle = 'inputStyle'
|
39
|
+
XNFocusWindow = 'focusWindow'
|
40
|
+
XNResourceName = 'resourceName'
|
41
|
+
XNResourceClass = 'resourceClass'
|
42
|
+
XNGeometryCallback = 'geometryCallback'
|
43
|
+
XNDestroyCallback = 'destroyCallback'
|
44
|
+
XNFilterEvents = 'filterEvents'
|
45
|
+
XNPreeditStartCallback = 'preeditStartCallback'
|
46
|
+
XNPreeditDoneCallback = 'preeditDoneCallback'
|
47
|
+
XNPreeditDrawCallback = 'preeditDrawCallback'
|
48
|
+
XNPreeditCaretCallback = 'preeditCaretCallback'
|
49
|
+
XNPreeditStateNotifyCallback = 'preeditStateNotifyCallback'
|
50
|
+
XNPreeditAttributes = 'preeditAttributes'
|
51
|
+
XNStatusStartCallback = 'statusStartCallback'
|
52
|
+
XNStatusDoneCallback = 'statusDoneCallback'
|
53
|
+
XNStatusDrawCallback = 'statusDrawCallback'
|
54
|
+
XNStatusAttributes = 'statusAttributes'
|
55
|
+
XNArea = 'area'
|
56
|
+
XNAreaNeeded = 'areaNeeded'
|
57
|
+
XNSpotLocation = 'spotLocation'
|
58
|
+
XNColormap = 'colorMap'
|
59
|
+
XNStdColormap = 'stdColorMap'
|
60
|
+
XNForeground = 'foreground'
|
61
|
+
XNBackground = 'background'
|
62
|
+
XNBackgroundPixmap = 'backgroundPixmap'
|
63
|
+
XNFontSet = 'fontSet'
|
64
|
+
XNLineSpace = 'lineSpace'
|
65
|
+
XNCursor = 'cursor'
|
66
|
+
XNQueryIMValuesList = 'queryIMValuesList'
|
67
|
+
XNQueryICValuesList = 'queryICValuesList'
|
68
|
+
XNVisiblePosition = 'visiblePosition'
|
69
|
+
XNR6PreeditCallback = 'r6PreeditCallback'
|
70
|
+
XNStringConversionCallback = 'stringConversionCallback'
|
71
|
+
XNStringConversion = 'stringConversion'
|
72
|
+
XNResetState = 'resetState'
|
73
|
+
XNHotKey = 'hotKey'
|
74
|
+
XNHotKeyState = 'hotKeyState'
|
75
|
+
XNPreeditState = 'preeditState'
|
76
|
+
XNSeparatorofNestedList = 'separatorofNestedList'
|
77
|
+
|
78
|
+
XBufferOverflow = -1
|
79
|
+
|
80
|
+
XLookupNone = 1
|
81
|
+
XLookupChars = 2
|
82
|
+
XLookupKeySym = 3
|
83
|
+
XLookupBoth = 4
|
84
|
+
|
85
|
+
XIMReverse = 1
|
86
|
+
XIMUnderline = (1<<1)
|
87
|
+
XIMHighlight = (1<<2)
|
88
|
+
XIMPrimary = (1<<5)
|
89
|
+
XIMSecondary = (1<<6)
|
90
|
+
XIMTertiary = (1<<7)
|
91
|
+
XIMVisibleToForward = (1<<8)
|
92
|
+
XIMVisibleToBackword = (1<<9)
|
93
|
+
XIMVisibleToCenter = (1<<10)
|
94
|
+
|
95
|
+
XIMPreeditUnKnown = 0
|
96
|
+
XIMPreeditEnable = 1
|
97
|
+
XIMPreeditDisable = (1<<1)
|
98
|
+
|
99
|
+
XIMInitialState = 1
|
100
|
+
XIMPreserveState = (1<<1)
|
101
|
+
|
102
|
+
XIMStringConversionLeftEdge = (0x00000001)
|
103
|
+
XIMStringConversionRightEdge = (0x00000002)
|
104
|
+
XIMStringConversionTopEdge = (0x00000004)
|
105
|
+
XIMStringConversionBottomEdge = (0x00000008)
|
106
|
+
XIMStringConversionConcealed = (0x00000010)
|
107
|
+
XIMStringConversionWrapped = (0x00000020)
|
108
|
+
|
109
|
+
XIMStringConversionBuffer = (0x0001)
|
110
|
+
XIMStringConversionLine = (0x0002)
|
111
|
+
XIMStringConversionWord = (0x0003)
|
112
|
+
XIMStringConversionChar = (0x0004)
|
113
|
+
|
114
|
+
XIMStringConversionSubstitution = (0x0001)
|
115
|
+
XIMStringConversionRetrieval = (0x0002)
|
116
|
+
|
117
|
+
XIMHotKeyStateON = (0x0001)
|
118
|
+
XIMHotKeyStateOFF = (0x0002)
|
119
|
+
end
|