gdk3 2.2.5 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7d14fbe7b96598a676f55af7a4c2c22111da8678
4
- data.tar.gz: 0e644582adab5a8918b34f4e37f35ac7ec330930
3
+ metadata.gz: e637fb4de621dbbcf765d42bc33d0432ca4c4223
4
+ data.tar.gz: f0bde85fcbcf41c97723228bf2f2f078b38475a8
5
5
  SHA512:
6
- metadata.gz: da5878aec7e6c70dc5e4d86270b75c11c39dbc260739f0bd7fbe5226d45e315c8bbf3626ec75d8be4e7bde07e5e2e86ca81a898025e0fc00a1bd0596c0b0acee
7
- data.tar.gz: 9c009b4b8833627aad90faae4ebe5975f076743f6e5e1b59d576425a9b77b2e5d613f814b2d96c2d773236ecebbfb9c6b8ddd1a36a8cfa885079cc26764781f1
6
+ metadata.gz: 96600db4fe2b6b16909f578b00266a985496839b239595c6b17e040b4d2b826e1102c302e13b1f9d055cb05cd5c8745eae2a4fdb178897bfe256d30b9994aada
7
+ data.tar.gz: 9011966501e20081e4be7dc9a48df120a85a50e22deb2f5ef0b79f6229c541c306f50bb07150d66d3abc2b709fb3918a52bd4fe5634d193dbb770df797e14da0
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  # -*- ruby -*-
2
2
  #
3
- # Copyright (C) 2011-2013 Ruby-GNOME2 Project Team
3
+ # Copyright (C) 2011-2015 Ruby-GNOME2 Project Team
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the GNU Lesser General Public
@@ -43,17 +43,32 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
43
43
  "gdk_pixbuf2",
44
44
  ]
45
45
  package.external_packages = [
46
+ {
47
+ :name => "libepoxy",
48
+ :download_base_url => "https://github.com/anholt/libepoxy/releases/download/v1.3.1",
49
+ :label => "Epoxy",
50
+ :version => "1.3.1",
51
+ :compression_method => "bz2",
52
+ :windows => {
53
+ :configure_args => [
54
+ ],
55
+ :built_file => "bin/libepoxy-0.dll",
56
+ },
57
+ },
46
58
  {
47
59
  :name => "gtk+",
48
60
  :download_site => :gnome,
49
61
  :label => "GTK+",
50
- :version => "3.14.6",
62
+ :version => "3.16.6",
51
63
  :compression_method => "xz",
52
64
  :windows => {
53
65
  :configure_args => [
54
66
  "--enable-introspection",
55
67
  "--with-included-immodules",
56
68
  ],
69
+ :patches => [
70
+ "gtk+-3.16.6-add-missing-exeext.diff",
71
+ ],
57
72
  :need_autoreconf => true,
58
73
  :build_concurrently => false,
59
74
  :built_file => "bin/libgdk-3-0.dll",
@@ -63,7 +78,7 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
63
78
  :name => "adwaita-icon-theme",
64
79
  :download_site => :gnome,
65
80
  :label => "adwaita-icon-theme",
66
- :version => "3.14.1",
81
+ :version => "3.16.2",
67
82
  :compression_method => "xz",
68
83
  :windows => {
69
84
  :configure_args => [],
@@ -53,6 +53,9 @@ module Gdk
53
53
  end
54
54
  loader = Loader.new(self)
55
55
  loader.load("Gdk")
56
+ if Object.const_defined?(:Gtk) and Gtk.respond_to?(:init)
57
+ Gtk.init
58
+ end
56
59
  end
57
60
 
58
61
  def cairo_available?
@@ -0,0 +1,31 @@
1
+ # Copyright (C) 2015 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ module Gdk
18
+ class Cursor
19
+ alias_method :initialize_raw, :initialize
20
+ def initialize(*args)
21
+ if args.last.is_a?(Hash)
22
+ options = args.pop
23
+ else
24
+ options = {}
25
+ end
26
+ display = options[:display] || Display.default
27
+
28
+ initialize_raw(display, *args)
29
+ end
30
+ end
31
+ end
@@ -9,7 +9,7 @@ module Gdk
9
9
 
10
10
  class Cursor
11
11
  extend GLib::Deprecatable
12
- define_deprecated_enums :Type
12
+ define_deprecated_enums :CursorType
13
13
  define_deprecated_method :pixmap?, :warn => "Don't use this method." do |_self|
14
14
  false
15
15
  end
@@ -21,7 +21,14 @@ module Gdk
21
21
  class Device
22
22
  extend GLib::Deprecatable
23
23
  define_deprecated_enums :AxisUse, 'AXIS'
24
- define_deprecated_enums :ExtensionMode, 'EXTENSION_EVENTS'
24
+ define_deprecated_const "EXTENSION_EVENTS_NONE",
25
+ :raise => "No longer available in GDK3."
26
+ define_deprecated_const "EXTENSION_EVENTS_ALL",
27
+ :raise => "No longer available in GDK3."
28
+ define_deprecated_const "EXTENSION_EVENTS_CURSOR",
29
+ :raise => "No longer available in GDK3."
30
+ define_deprecated_const "ExtensionMode",
31
+ :raise => "No longer available in GDK3."
25
32
  define_deprecated_enums :InputMode, 'MODE'
26
33
  define_deprecated_enums :InputSource, 'SOURCE'
27
34
  end
@@ -39,8 +46,10 @@ module Gdk
39
46
 
40
47
  class DragContext
41
48
  extend GLib::Deprecatable
42
- define_deprecated_flags :Action, 'ACTION'
43
- define_deprecated_enums :Protocol, 'PROTO'
49
+ define_deprecated_flags :DragAction, 'ACTION'
50
+ define_deprecated_const :Action, "Gdk::DragAction"
51
+ define_deprecated_enums :DragProtocol, 'PROTO'
52
+ define_deprecated_const :Protocol, "Gdk::DragProtocol"
44
53
  define_deprecated_singleton_method :drag_begin, :warn => "Use 'Gdk::Window#drag_begin'." do |_self, window, targets|
45
54
  window.drag_begin(targets)
46
55
  end
@@ -53,13 +62,19 @@ module Gdk
53
62
 
54
63
  class Event
55
64
  extend GLib::Deprecatable
65
+
66
+ define_deprecated_const :CURRENT_TIME, "Gdk::CURRENT_TIME"
67
+
56
68
  define_deprecated_const :Mask, "Gdk::EventMask"
69
+ define_deprecated_enums "Gdk::EventMask"
70
+
57
71
  define_deprecated_const :Type, "Gdk::EventType"
72
+ define_deprecated_enums "Gdk::EventType"
58
73
  end
59
74
 
60
75
  class EventCrossing
61
76
  extend GLib::Deprecatable
62
- define_deprecated_enums :Mode
77
+ define_deprecated_enums :CrossingMode
63
78
  define_deprecated_enums :NotifyType, 'NOTIFY'
64
79
  end
65
80
 
@@ -70,22 +85,23 @@ module Gdk
70
85
 
71
86
  class EventProperty
72
87
  extend GLib::Deprecatable
73
- define_deprecated_enums :State, 'PROPERTY'
88
+ define_deprecated_enums :PropertyState, 'PROPERTY'
74
89
  end
75
90
 
76
91
  class EventScroll
77
92
  extend GLib::Deprecatable
78
- define_deprecated_enums :Direction
93
+ define_deprecated_enums :ScrollDirection
79
94
  end
80
95
 
81
96
  class EventSetting
82
97
  extend GLib::Deprecatable
83
- define_deprecated_enums :Action, 'ACTION'
98
+ define_deprecated_enums :SettingAction, 'ACTION'
84
99
  end
85
100
 
86
101
  class EventVisibility
87
102
  extend GLib::Deprecatable
88
- define_deprecated_enums :State
103
+ define_deprecated_enums :VisibilityState
104
+ define_deprecated_const :State, "Gdk::VisibilityState"
89
105
  end
90
106
 
91
107
  class EventWindowState
@@ -126,24 +142,35 @@ module Gdk
126
142
  class Visual
127
143
  extend GLib::Deprecatable
128
144
  define_deprecated_enums :ByteOrder
129
- define_deprecated_enums :Type
145
+ define_deprecated_enums :VisualType
146
+ define_deprecated_const :Type, "Gdk::VisualType"
130
147
  end
131
148
 
132
149
  class Window
133
150
  extend GLib::Deprecatable
134
151
 
135
152
  define_deprecated_const :Gravity, "Gdk::Gravity"
153
+ define_deprecated_enums "Gdk::Gravity"
136
154
  define_deprecated_const :AttributesType, "Gdk::WindowAttributesType"
155
+ define_deprecated_enums "Gdk::WindowAttributesType"
137
156
  define_deprecated_const :Edge, "Gdk::WindowEdge"
157
+ define_deprecated_enums "Gdk::WindowEdge"
138
158
  define_deprecated_const :FilterReturn, "Gdk::FilterReturn"
159
+ define_deprecated_enums "Gdk::FilterReturn"
139
160
  define_deprecated_const :Hints, "Gdk::WindowHints"
161
+ define_deprecated_enums "Gdk::WindowHints"
140
162
  define_deprecated_const :ModifierType, "Gdk::ModifierType"
163
+ define_deprecated_enums "Gdk::ModifierType"
141
164
  define_deprecated_const :Type, "Gdk::WindowType"
165
+ define_deprecated_enums "Gdk::WindowType"
142
166
  define_deprecated_const :TypeHint, "Gdk::WindowTypeHint"
143
- define_deprecated_const :WindowClass, "Gdk::WindowWindowClass"
167
+ define_deprecated_enums "Gdk::WindowTypeHint"
144
168
  define_deprecated_const :Class, "Gdk::WindowWindowClass"
169
+ define_deprecated_enums "Gdk::WindowWindowClass"
145
170
  define_deprecated_const :WMDecoration, "Gdk::WMDecoration"
171
+ define_deprecated_enums "Gdk::WMDecoration"
146
172
  define_deprecated_const :WMFunction, "Gdk::WMFunction"
173
+ define_deprecated_enums "Gdk::WMFunction"
147
174
  define_deprecated_const :PARENT_RELATIVE, "Gdk::PARENT_RELATIVE"
148
175
  define_deprecated_method :clear, :warn => "Don't use this method."
149
176
  define_deprecated_method :clear_area, :warn => "Don't use this method."
@@ -151,6 +178,9 @@ module Gdk
151
178
  define_deprecated_method :shape_combine_mask, :warn => "Don't use this method."
152
179
  define_deprecated_method :input_shape_combine_mask, :warn => "Don't use this method."
153
180
  define_deprecated_method :set_back_pixmap, :warn => "Don't use this method."
181
+ define_deprecated_method :size, :warn => "Use #width and #height instead." do |_self|
182
+ [_self.width, _self.height]
183
+ end
154
184
  end
155
185
 
156
186
  class WindowAttr
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2013-2014 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2013-2015 Ruby-GNOME2 Project Team
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -29,12 +29,9 @@ module Gdk
29
29
  @event_motion_class ||= @base_module.const_get(:EventMotion)
30
30
  end
31
31
 
32
- def rectangle_class
33
- @rectangle_class ||= @base_module.const_get(:Rectangle)
34
- end
35
-
36
32
  def pre_load(repository, namespace)
37
33
  setup_pending_constants
34
+ setup_pending_rectangle_functions
38
35
  define_keyval_module
39
36
  define_selection_module
40
37
  load_cairo_rectangle_int
@@ -56,6 +53,7 @@ module Gdk
56
53
  "Rectangle",
57
54
  @base_module,
58
55
  :size => info.size)
56
+ @rectangle_class = klass
59
57
  load_fields(info, klass)
60
58
  load_methods(info, klass)
61
59
  end
@@ -72,11 +70,18 @@ module Gdk
72
70
 
73
71
  def post_load(repository, namespace)
74
72
  apply_pending_constants
73
+ apply_pending_rectangle_functions
75
74
  require_libraries
76
75
  convert_event_classes
77
76
  define_selection_constants
78
77
  end
79
78
 
79
+ def initialize_post(object)
80
+ super
81
+ return unless object.is_a?(GLib::Object)
82
+ self.class.reference_gobject(object, :sink => true)
83
+ end
84
+
80
85
  def setup_pending_constants
81
86
  @pending_constants = []
82
87
  end
@@ -90,12 +95,32 @@ module Gdk
90
95
  end
91
96
  end
92
97
 
98
+ def setup_pending_rectangle_functions
99
+ @pending_rectangle_get_type_function = nil
100
+ @pending_rectangle_functions = []
101
+ end
102
+
103
+ def apply_pending_rectangle_functions
104
+ get_type_info = @pending_rectangle_get_type_function
105
+ gtype = get_type_info.invoke({:arguments => []})
106
+ self.class.register_boxed_class_converter(gtype) do |rectangle|
107
+ @rectangle_class
108
+ end
109
+
110
+ @pending_rectangle_functions.each do |info|
111
+ name = info.name
112
+ define_method(info, @rectangle_class, name.gsub(/\Arectangle_/, ""))
113
+ end
114
+ end
115
+
93
116
  def require_libraries
94
117
  require "gdk3/atom"
95
118
  require "gdk3/color"
119
+ require "gdk3/cursor"
96
120
  require "gdk3/event"
97
121
  require "gdk3/rectangle"
98
122
  require "gdk3/rgba"
123
+ require "gdk3/screen"
99
124
  require "gdk3/window"
100
125
  require "gdk3/window-attr"
101
126
 
@@ -167,18 +192,19 @@ module Gdk
167
192
  "TYPE_STRING" => "STRING",
168
193
  }
169
194
  selections.each do |key, value|
170
- # TODO: Gdk::Atom.intern is not working yet.
171
- #@selection_module.const_set(key, Gdk::Atom.intern(value))
195
+ @selection_module.const_set(key, Gdk::Atom.intern(value))
172
196
  end
173
197
  end
174
198
 
175
199
  def load_function_info(info)
176
200
  name = info.name
177
201
  case name
202
+ when "rectangle_get_type"
203
+ @pending_rectangle_get_type_function = info
204
+ when /\Arectangle_/
205
+ @pending_rectangle_functions << info
178
206
  when "init", /_get_type\z/
179
207
  # ignore
180
- when /\Arectangle_/
181
- define_method(info, rectangle_class, $POSTMATCH)
182
208
  when /\Apixbuf_/
183
209
  target_class = nil
184
210
  case $POSTMATCH
@@ -220,6 +246,10 @@ module Gdk
220
246
  end
221
247
  when /\Akeyval_/
222
248
  name = rubyish_method_name(info, :prefix => "keyval_")
249
+ case name
250
+ when "name"
251
+ name = "to_name"
252
+ end
223
253
  define_module_function(@keyval_module, name, info)
224
254
  else
225
255
  super
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2014 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2014-2015 Ruby-GNOME2 Project Team
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -34,5 +34,21 @@ module Gdk
34
34
  nil
35
35
  end
36
36
  end
37
+
38
+ def inspect
39
+ super.gsub(/>\z/) do
40
+ " x=#{x.inspect} y=#{y.inspect} " +
41
+ "width=#{width.inspect} height=#{height.inspect}>"
42
+ end
43
+ end
44
+
45
+ def to_a
46
+ [x, y, width, height]
47
+ end
48
+
49
+ def ==(other)
50
+ other.is_a?(self.class) and
51
+ self.to_a == other.to_a
52
+ end
37
53
  end
38
54
  end
@@ -16,13 +16,34 @@
16
16
 
17
17
  module Gdk
18
18
  class RGBA
19
+ class << self
20
+ def parse(spec)
21
+ rgba = new
22
+ unless rgba.parse(spec)
23
+ available_formats = [
24
+ "COLOR_NAME",
25
+ "\#RGB",
26
+ "\#RRGGBB",
27
+ "\#RRRGGGBBB",
28
+ "\#RRRRGGGGBBBB",
29
+ "rgb(R, G, B)",
30
+ "rgba(R, G, B, A)",
31
+ ]
32
+ message = "invalid RGBA format: #{spec.inspect} "
33
+ message << "(available formats: #{available_formats.join(', ')})"
34
+ raise ArgumentError, message
35
+ end
36
+ rgba
37
+ end
38
+ end
39
+
19
40
  alias_method :initialize_raw, :initialize
20
- def initialize(red, green, blue, alpha)
41
+ def initialize(red=nil, green=nil, blue=nil, alpha=nil)
21
42
  initialize_raw
22
- self.red = red
23
- self.green = green
24
- self.blue = blue
25
- self.alpha = alpha
43
+ self.red = red if red
44
+ self.green = green if green
45
+ self.blue = blue if blue
46
+ self.alpha = alpha || 1.0
26
47
  end
27
48
 
28
49
  def to_a
@@ -0,0 +1,40 @@
1
+ # Copyright (C) 2015 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ module Gdk
18
+ class Screen
19
+ alias_method :get_setting_raw, :get_setting
20
+ def get_setting(key, type=nil)
21
+ value = GLib::Value.new(type || GLib::Type::STRING)
22
+ found = get_setting_raw(key, value)
23
+ if found
24
+ value
25
+ else
26
+ nil
27
+ end
28
+ end
29
+
30
+ def get_monitor(window_or_x, y=nil)
31
+ if window_or_x.is_a?(Window)
32
+ window = window_or_x
33
+ get_monitor_at_window(window)
34
+ else
35
+ x = window_or_x
36
+ get_monitor_at_point(x, y)
37
+ end
38
+ end
39
+ end
40
+ end
@@ -18,4 +18,17 @@ require "test-unit"
18
18
  require "test/unit/notify"
19
19
 
20
20
  module GdkTestUtils
21
+ private
22
+ def only_gdk_version(major, minor, micro=nil)
23
+ micro ||= 0
24
+ gdk_version_raw = `pkg-config --modversion gdk-3.0`.chomp
25
+ gdk_version = gdk_version_raw.split(".").collect(&:to_i)
26
+ unless (gdk_version <=> [major, minor, micro]) >= 0
27
+ omit("Require GDK >= #{major}.#{minor}.#{micro}")
28
+ end
29
+ end
30
+
31
+ def fixture_path(*components)
32
+ File.join(File.dirname(__FILE__), "fixture", *components)
33
+ end
21
34
  end
@@ -0,0 +1,24 @@
1
+ # Copyright (C) 2014 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ class TestGdkAtom < Test::Unit::TestCase
18
+ sub_test_case ".intern" do
19
+ def test_only_name
20
+ atom = Gdk::Atom.intern("CLIPBOARD")
21
+ assert_equal("CLIPBOARD", atom.name)
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,44 @@
1
+ # Copyright (C) 2015 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ class TestGdkCursor < Test::Unit::TestCase
18
+ include GdkTestUtils
19
+
20
+ sub_test_case ".new" do
21
+ test "type" do
22
+ cursor = Gdk::Cursor.new(:arrow)
23
+ assert_equal(Gdk::CursorType::ARROW, cursor.cursor_type)
24
+ end
25
+
26
+ test "pixbuf" do
27
+ pixbuf = Gdk::Pixbuf.new(:file => fixture_path("ruby-gnome2-logo.png"))
28
+ cursor = Gdk::Cursor.new(pixbuf, 0, 0)
29
+ assert_equal(Gdk::CursorType::CURSOR_IS_PIXMAP, cursor.cursor_type)
30
+ end
31
+
32
+ test "surface" do
33
+ only_gdk_version(3, 10, 0)
34
+ surface = Cairo::ImageSurface.new(100, 100)
35
+ cursor = Gdk::Cursor.new(surface, 0, 0)
36
+ assert_equal(Gdk::CursorType::CURSOR_IS_PIXMAP, cursor.cursor_type)
37
+ end
38
+
39
+ test "name" do
40
+ cursor = Gdk::Cursor.new("cross")
41
+ assert_equal(Gdk::CursorType::CURSOR_IS_PIXMAP, cursor.cursor_type)
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,21 @@
1
+ # Copyright (C) 2015 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ class TestGdkEventMask < Test::Unit::TestCase
18
+ def test_button_press_mask
19
+ assert_equal("button-press-mask", Gdk::EventMask::BUTTON_PRESS_MASK.nick)
20
+ end
21
+ end
@@ -19,6 +19,14 @@ class TestGdkKeyval < Test::Unit::TestCase
19
19
  assert_equal("a".unpack("c")[0], Gdk::Keyval::KEY_a)
20
20
  end
21
21
 
22
+ def test_to_name
23
+ assert_equal("A", Gdk::Keyval.to_name(Gdk::Keyval::KEY_A))
24
+ end
25
+
26
+ def test_from_name
27
+ assert_equal("A".unpack("c")[0], Gdk::Keyval.from_name("A"))
28
+ end
29
+
22
30
  sub_test_case "#lower?" do
23
31
  def test_lower
24
32
  assert_true(Gdk::Keyval.lower?(Gdk::Keyval::KEY_a))
@@ -39,10 +47,6 @@ class TestGdkKeyval < Test::Unit::TestCase
39
47
  end
40
48
  end
41
49
 
42
- def test_name
43
- assert_equal("A", Gdk::Keyval.name(Gdk::Keyval::KEY_A))
44
- end
45
-
46
50
  sub_test_case "#to_lower" do
47
51
  def test_lower
48
52
  assert_equal(Gdk::Keyval::KEY_a,
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2013-2014 Ruby-GNOME2 Project Team
3
+ # Copyright (C) 2013-2015 Ruby-GNOME2 Project Team
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the GNU Lesser General Public
@@ -52,4 +52,23 @@ class TestGdkRectangle < Test::Unit::TestCase
52
52
  unioned_rectangle.height,
53
53
  ])
54
54
  end
55
+
56
+ def test_to_a
57
+ rectangle = Gdk::Rectangle.new(0, 10, 20, 30)
58
+ assert_equal([
59
+ 0,
60
+ 10,
61
+ 20,
62
+ 30,
63
+ ],
64
+ rectangle.to_a)
65
+ end
66
+
67
+ test "#==" do
68
+ rectangle1 = Gdk::Rectangle.new(0, 10, 20, 30)
69
+ rectangle2 = Gdk::Rectangle.new(0, 10, 20, 30)
70
+ assert do
71
+ rectangle1 == rectangle2
72
+ end
73
+ end
55
74
  end
@@ -26,4 +26,69 @@ class TestGdkRGBA < Test::Unit::TestCase
26
26
  rgba = Gdk::RGBA.new(0.2, 0.4, 0.6, 0.5)
27
27
  assert_equal([0.2, 0.4, 0.6, 0.5], rgba.to_a)
28
28
  end
29
+
30
+ sub_test_case("new") do
31
+ def test_empty
32
+ rgba = Gdk::RGBA.new
33
+ assert_equal([0.0, 0.0, 0.0, 1.0], rgba.to_a)
34
+ end
35
+
36
+ def test_rgb
37
+ rgba = Gdk::RGBA.new(0.2, 0.4, 0.6)
38
+ assert_equal([0.2, 0.4, 0.6, 1.0], rgba.to_a)
39
+ end
40
+ end
41
+
42
+ sub_test_case("parse") do
43
+ def test_name
44
+ rgba = Gdk::RGBA.parse("red")
45
+ assert_equal([1.0, 0.0, 0.0, 1.0], rgba.to_a)
46
+ end
47
+
48
+ def test_hash_rgb
49
+ rgba = Gdk::RGBA.parse("#f0f")
50
+ assert_equal([1.0, 0.0, 1.0, 1.0], rgba.to_a)
51
+ end
52
+
53
+ def test_hash_rrggbb
54
+ rgba = Gdk::RGBA.parse("#ff00ff")
55
+ assert_equal([1.0, 0.0, 1.0, 1.0], rgba.to_a)
56
+ end
57
+
58
+ def test_hash_rrrgggbbb
59
+ rgba = Gdk::RGBA.parse("#fff000fff")
60
+ assert_equal([1.0, 0.0, 1.0, 1.0], rgba.to_a)
61
+ end
62
+
63
+ def test_hash_rrrrggggbbbb
64
+ rgba = Gdk::RGBA.parse("#ffff0000ffff")
65
+ assert_equal([1.0, 0.0, 1.0, 1.0], rgba.to_a)
66
+ end
67
+
68
+ def test_rgb
69
+ rgba = Gdk::RGBA.parse("rgb(255, 0, 255)")
70
+ assert_equal([1.0, 0.0, 1.0, 1.0], rgba.to_a)
71
+ end
72
+
73
+ def test_rgba
74
+ rgba = Gdk::RGBA.parse("rgba(255, 0, 255, 0.5)")
75
+ assert_equal([1.0, 0.0, 1.0, 0.5], rgba.to_a)
76
+ end
77
+
78
+ def test_invalid
79
+ message = "invalid RGBA format: \"invalid\" "
80
+ message << "(available formats: "
81
+ message << "COLOR_NAME, "
82
+ message << "\#RGB, "
83
+ message << "\#RRGGBB, "
84
+ message << "\#RRRGGGBBB, "
85
+ message << "\#RRRRGGGGBBBB, "
86
+ message << "rgb(R, G, B), "
87
+ message << "rgba(R, G, B, A)"
88
+ message << ")"
89
+ assert_raise(ArgumentError.new(message)) do
90
+ Gdk::RGBA.parse("invalid")
91
+ end
92
+ end
93
+ end
29
94
  end
@@ -0,0 +1,29 @@
1
+ # Copyright (C) 2014 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ class TestGdkSelection < Test::Unit::TestCase
18
+ class TestConstant < self
19
+ def test_primary
20
+ atom = Gdk::Selection::PRIMARY
21
+ assert_equal("PRIMARY", atom.name)
22
+ end
23
+
24
+ def test_clipboard
25
+ atom = Gdk::Selection::CLIPBOARD
26
+ assert_equal("CLIPBOARD", atom.name)
27
+ end
28
+ end
29
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gdk3
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.5
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Ruby-GNOME2 Project Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-24 00:00:00.000000000 Z
11
+ date: 2015-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pango
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 2.2.5
19
+ version: 3.0.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 2.2.5
26
+ version: 3.0.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: gdk_pixbuf2
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 2.2.5
33
+ version: 3.0.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 2.2.5
40
+ version: 3.0.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cairo-gobject
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 2.2.5
47
+ version: 3.0.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 2.2.5
54
+ version: 3.0.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: gobject-introspection
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 2.2.5
61
+ version: 3.0.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 2.2.5
68
+ version: 3.0.1
69
69
  description: Ruby/GDK3 is a Ruby binding of GDK-3.x.
70
70
  email: ruby-gnome2-devel-en@lists.sourceforge.net
71
71
  executables: []
@@ -77,17 +77,23 @@ files:
77
77
  - lib/gdk3/atom.rb
78
78
  - lib/gdk3/cairo.rb
79
79
  - lib/gdk3/color.rb
80
+ - lib/gdk3/cursor.rb
80
81
  - lib/gdk3/deprecated.rb
81
82
  - lib/gdk3/event.rb
82
83
  - lib/gdk3/loader.rb
83
84
  - lib/gdk3/rectangle.rb
84
85
  - lib/gdk3/rgba.rb
86
+ - lib/gdk3/screen.rb
85
87
  - lib/gdk3/window-attr.rb
86
88
  - lib/gdk3/window.rb
89
+ - test/fixture/ruby-gnome2-logo.png
87
90
  - test/gdk-test-utils.rb
88
91
  - test/run-test.rb
92
+ - test/test-gdk-atom.rb
89
93
  - test/test-gdk-cairo.rb
90
94
  - test/test-gdk-color.rb
95
+ - test/test-gdk-cursor.rb
96
+ - test/test-gdk-event-mask.rb
91
97
  - test/test-gdk-event-type.rb
92
98
  - test/test-gdk-event.rb
93
99
  - test/test-gdk-geometry.rb
@@ -95,6 +101,7 @@ files:
95
101
  - test/test-gdk-pixbuf.rb
96
102
  - test/test-gdk-rectangle.rb
97
103
  - test/test-gdk-rgba.rb
104
+ - test/test-gdk-selection.rb
98
105
  - test/test-gdk-window-attr.rb
99
106
  homepage: http://ruby-gnome2.sourceforge.jp/
100
107
  licenses: