gtk4 4.2.1 → 4.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee3cc60156eca6c427677ae1510a7c9f09f9eaaccedc335e3ecd1d7c0d65f2ac
4
- data.tar.gz: d6884900e2efae9edf179ccca61c067bade58ba008e8e566cde03224f7355b60
3
+ metadata.gz: b44c383d951922d27333f4abb97520db54fafde2004d86a681f40240afdb8a81
4
+ data.tar.gz: 8663c23ee7bf011e85e316a3204f69384476dd904fdde0ef9356915d8e061dfa
5
5
  SHA512:
6
- metadata.gz: 5081feb21a29911f714a3fbed55830ecc3bbdbe1a27210d0106ac4ae2b8d62522371ab276ae3c5212ba7073d4db6d9999b36e6cdb6e60235136e7892fd61137a
7
- data.tar.gz: d78d34de8d259e1c565a037fdd5363cfd56f4782f4d8dc72c2f046e851c63c309813bffd0c078561a9e3170220d6a030b4549bd8256ae9894b0faaef540fcd14
6
+ metadata.gz: c578b5ba238a3f50a6849d6c621f80792acd2a16e11862e6c49a2e83d48d5ba09dfe67ab5dd5b27463726fd931d73ea47be4dfbd2f82acc684a30a675b669635
7
+ data.tar.gz: 1f011b7a9039b9f0bd4a060624636d7f57f39f8a3c147b4f9e8d6babacc60d9dc22b908e206c341a42cd4bfa9e11b909703c6166d8c27042ea532cd476e3cec6
data/README.md CHANGED
@@ -1,14 +1,14 @@
1
1
  # Ruby/GTK4
2
2
 
3
- Ruby/GTK4 is a Ruby binding of GTK+ 4.
3
+ Ruby/GTK4 is a Ruby binding of GTK 4.
4
4
 
5
5
  ## Requirements
6
6
 
7
7
  * Ruby/GLib2, Ruby/ATK, Ruby/Pango, Ruby/GdkPixbuf2, Ruby/GIO2,
8
8
  Ruby/GDK4, Ruby/GObjectIntrospection and Ruby/GTK4 in
9
- [Ruby-GNOME2](https://ruby-gnome2.osdn.jp/)
9
+ [Ruby-GNOME2](https://ruby-gnome.github.io/)
10
10
  * [rcairo](https://github.com/rcairo/rcairo)
11
- * [GTK+](http://www.gtk.org/)
11
+ * [GTK](https://www.gtk.org/)
12
12
 
13
13
  ## Install
14
14
 
@@ -20,7 +20,7 @@ Ruby/GTK4 is a Ruby binding of GTK+ 4.
20
20
 
21
21
  ## License
22
22
 
23
- Copyright (c) 2002-2018 Ruby-GNOME2 Project Team
23
+ Copyright (C) 2002-2024 Ruby-GNOME Project Team
24
24
 
25
25
  This program is free software. You can distribute/modify this program
26
26
  under the terms of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1.
@@ -28,4 +28,4 @@ under the terms of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1.
28
28
  ## Project Websites
29
29
 
30
30
  * https://github.com/ruby-gnome/ruby-gnome
31
- * https://ruby-gnome2.osdn.jp/
31
+ * https://ruby-gnome.github.io/
data/gtk4.gemspec CHANGED
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.description = "Ruby/GTK4 is a Ruby binding of GTK+-4.x."
25
25
  s.author = "The Ruby-GNOME Project Team"
26
26
  s.email = "ruby-gnome2-devel-en@lists.sourceforge.net"
27
- s.homepage = "https://ruby-gnome2.osdn.jp/"
27
+ s.homepage = "https://ruby-gnome.github.io/"
28
28
  s.licenses = ["LGPL-2.1+"]
29
29
  s.version = ruby_glib2_version
30
30
  s.extensions = ["ext/#{s.name}/extconf.rb"]
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2014-2023 Ruby-GNOME Project Team
1
+ # Copyright (C) 2014-2024 Ruby-GNOME 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
@@ -17,12 +17,30 @@
17
17
  module Gtk
18
18
  class CssProvider
19
19
  def load(options)
20
+ string = options[:string]
21
+ bytes = options[:bytes]
20
22
  data = options[:data]
21
23
  file = options[:file]
22
24
  path = options[:path]
23
25
  resource_path = options[:resource_path]
24
- if data
25
- load_from_data(data)
26
+ if string
27
+ if Version.or_later?(4, 12, 0)
28
+ load_from_string(string)
29
+ else
30
+ load_from_data(string)
31
+ end
32
+ elsif bytes
33
+ if Version.or_later?(4, 12, 0)
34
+ load_from_bytes(bytes)
35
+ else
36
+ load_from_data(bytes)
37
+ end
38
+ elsif data
39
+ if Version.or_later?(4, 12, 0)
40
+ load_from_bytes(data)
41
+ else
42
+ load_from_data(data)
43
+ end
26
44
  elsif file
27
45
  load_from_file(file)
28
46
  elsif path
@@ -30,7 +48,8 @@ module Gtk
30
48
  elsif resource_path
31
49
  load_from_resource(resource_path)
32
50
  else
33
- message = "Must specify one of :data, :file, :path or :resource_path"
51
+ message = "Must specify one of " +
52
+ ":string, :bytes, :data, :file, :path or :resource_path"
34
53
  raise ArgumentError, "#{message}: #{options.inspect}"
35
54
  end
36
55
  end
data/lib/gtk4/loader.rb CHANGED
@@ -16,6 +16,8 @@
16
16
 
17
17
  module Gtk
18
18
  class Loader < GObjectIntrospection::Loader
19
+ register_constant_rename_map("0BSD", "BSD_0")
20
+
19
21
  def load
20
22
  self.version = "4.0"
21
23
  super("Gtk")
@@ -217,6 +217,17 @@ module Gtk
217
217
  end
218
218
  end
219
219
 
220
+ alias_method :begin_irreversible_action_raw, :begin_irreversible_action
221
+ def begin_irreversible_action
222
+ begin_irreversible_action_raw
223
+ return unless block_given?
224
+ begin
225
+ yield
226
+ ensure
227
+ end_irreversible_action
228
+ end
229
+ end
230
+
220
231
  private
221
232
  alias_method :insert_interactive_raw, :insert_interactive
222
233
  def insert_interactive(iter, text, default_ediatable)
@@ -0,0 +1,3 @@
1
+ # gtk-demo for Ruby/GTK4
2
+
3
+ This is Ruby/GTK4 version of https://gitlab.gnome.org/GNOME/gtk/-/tree/main/demos/gtk-demo .
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128" version="1.0"><defs><linearGradient id="f"><stop offset="0" stop-color="#ff7800"/><stop offset="1" stop-color="#ed333b"/></linearGradient><linearGradient id="e"><stop offset="0" stop-color="#f5c211"/><stop offset="1" stop-color="#33d17a" stop-opacity=".899"/></linearGradient><linearGradient id="d"><stop offset="0" stop-color="#c0bfbc"/><stop offset=".036" stop-color="#fafaf9"/><stop offset=".088" stop-color="#c0bfbc"/><stop offset=".399" stop-color="#d5d5d3"/><stop offset=".491" stop-color="#eaeae9"/><stop offset=".569" stop-color="#a7a5a1"/><stop offset=".966" stop-color="#a9a7a3"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="a"><stop offset="0" stop-color="#d5d3cf"/><stop offset="1" stop-color="#f6f5f4"/></linearGradient><linearGradient id="b"><stop offset="0" stop-color="#d5d3cf"/><stop offset="1" stop-color="#949390"/></linearGradient><linearGradient id="c"><stop offset="0" stop-color="#9a9996"/><stop offset="1" stop-color="#77767b"/></linearGradient><linearGradient xlink:href="#d" id="g" x1="-142.049" y1="236.001" x2="-9.951" y2="236.001" gradientUnits="userSpaceOnUse"/><radialGradient xlink:href="#e" id="h" cx="90.974" cy="263.479" fx="90.974" fy="263.479" r="22.703" gradientTransform="matrix(1.90297 -.05506 .0501 1.73133 -89.25 -176.863)" gradientUnits="userSpaceOnUse"/><radialGradient xlink:href="#f" id="i" cx="61.718" cy="270.719" fx="61.718" fy="270.719" r="22.703" gradientTransform="matrix(2.49049 0 0 2.92132 -91.99 -503.52)" gradientUnits="userSpaceOnUse"/></defs><path transform="translate(123.265 -118.118) scale(.7798)" d="M-75.74 161.438a10.997 10.997 0 0 0-5.758 1.468l-55.053 31.785a10.997 10.997 0 0 0-5.498 9.524v63.57a10.997 10.997 0 0 0 5.498 9.524l55.053 31.785a10.997 10.997 0 0 0 10.996 0l55.053-31.785a10.997 10.997 0 0 0 5.498-9.524v-63.57a10.997 10.997 0 0 0-5.498-9.524l-55.053-31.785a10.997 10.997 0 0 0-5.238-1.469z" style="marker:none" fill="url(#g)"/><path style="marker:none" d="M64.203 3.77a8.575 8.575 0 0 0-4.49 1.146l-42.93 24.786a8.575 8.575 0 0 0-4.288 7.427V86.7a8.575 8.575 0 0 0 4.287 7.426l42.93 24.786a8.575 8.575 0 0 0 8.575 0l42.93-24.786a8.575 8.575 0 0 0 4.288-7.426V37.129a8.575 8.575 0 0 0-4.287-7.427L68.288 4.916a8.575 8.575 0 0 0-4.085-1.145z" fill="#fff"/><path style="marker:none" d="M109.869 33.297L64 59.779 18.131 33.297 64 6.814z" fill="#98c1f1"/><path style="marker:none" d="M66.263 287.505l45.35-25.884.056-52.762-45.406 26.215z" fill="url(#h)" transform="translate(0 -172)"/><path d="M61.718 287.34l-45.35-25.885-.056-52.761 45.406 26.215z" style="marker:none" fill="url(#i)" transform="translate(0 -172)"/></svg>
@@ -0,0 +1,114 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
6
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
7
+ xmlns:cc="http://creativecommons.org/ns#"
8
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9
+ xmlns:svg="http://www.w3.org/2000/svg"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ sodipodi:docname="org.gtk.Demo4-symbolic.svg"
14
+ height="16.03125"
15
+ id="svg7384"
16
+ inkscape:version="0.92.4 5da689c313, 2019-01-14"
17
+ version="1.1"
18
+ width="16">
19
+ <metadata
20
+ id="metadata90">
21
+ <rdf:RDF>
22
+ <cc:Work
23
+ rdf:about="">
24
+ <dc:format>image/svg+xml</dc:format>
25
+ <dc:type
26
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
27
+ <dc:title>Gnome Symbolic Icon Theme</dc:title>
28
+ </cc:Work>
29
+ </rdf:RDF>
30
+ </metadata>
31
+ <sodipodi:namedview
32
+ inkscape:bbox-paths="true"
33
+ bordercolor="#666666"
34
+ borderopacity="1"
35
+ inkscape:current-layer="layer9"
36
+ inkscape:cx="0.53203442"
37
+ inkscape:cy="9.1822592"
38
+ gridtolerance="10"
39
+ inkscape:guide-bbox="true"
40
+ guidetolerance="10"
41
+ id="namedview88"
42
+ inkscape:object-nodes="false"
43
+ inkscape:object-paths="false"
44
+ objecttolerance="10"
45
+ pagecolor="#555753"
46
+ inkscape:pageopacity="1"
47
+ inkscape:pageshadow="2"
48
+ showborder="true"
49
+ showgrid="false"
50
+ showguides="true"
51
+ inkscape:snap-bbox="true"
52
+ inkscape:snap-bbox-midpoints="false"
53
+ inkscape:snap-global="true"
54
+ inkscape:snap-grids="true"
55
+ inkscape:snap-nodes="true"
56
+ inkscape:snap-others="false"
57
+ inkscape:snap-to-guides="true"
58
+ inkscape:window-height="1375"
59
+ inkscape:window-maximized="1"
60
+ inkscape:window-width="2560"
61
+ inkscape:window-x="0"
62
+ inkscape:window-y="27"
63
+ inkscape:zoom="1">
64
+ <inkscape:grid
65
+ empspacing="2"
66
+ enabled="true"
67
+ id="grid4866"
68
+ originx="-203"
69
+ originy="-251.96875"
70
+ snapvisiblegridlinesonly="true"
71
+ spacingx="1"
72
+ spacingy="1"
73
+ type="xygrid"
74
+ visible="true" />
75
+ </sodipodi:namedview>
76
+ <title
77
+ id="title9167">Gnome Symbolic Icon Theme</title>
78
+ <defs
79
+ id="defs7386">
80
+ <linearGradient
81
+ id="linearGradient7212"
82
+ osb:paint="solid">
83
+ <stop
84
+ id="stop7214"
85
+ offset="0"
86
+ style="stop-color:#000000;stop-opacity:1;" />
87
+ </linearGradient>
88
+ </defs>
89
+ <g
90
+ inkscape:groupmode="layer"
91
+ id="layer9"
92
+ inkscape:label="apps"
93
+ style="display:inline"
94
+ transform="translate(-444.0002,35)">
95
+ <path
96
+ style="display:inline;opacity:0.3;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
97
+ d="m 457.97232,-31.569556 -5.96212,3.44224 -5.96215,-3.44224 v 0 l 5.96215,-3.44226 z"
98
+ id="path870-6"
99
+ inkscape:connector-curvature="0"
100
+ sodipodi:nodetypes="cccccc" />
101
+ <path
102
+ sodipodi:nodetypes="cccccc"
103
+ inkscape:connector-curvature="0"
104
+ id="path886-9"
105
+ d="m 450.98519,-19.648086 -5.99273,-3.42041 -0.007,-6.97219 v 0 l 6.00018,3.4642 z"
106
+ style="display:inline;opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" />
107
+ <path
108
+ style="display:inline;opacity:0.60100002;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
109
+ d="m 452.98577,-19.648086 5.99273,-3.42041 0.007,-6.97219 v 0 l -6.00018,3.4642 z"
110
+ id="path931"
111
+ inkscape:connector-curvature="0"
112
+ sodipodi:nodetypes="cccccc" />
113
+ </g>
114
+ </svg>