vips 8.10.5 → 8.12.2

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.
data/lib/vips/gvalue.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # Author:: John Cupitt (mailto:jcupitt@gmail.com)
4
4
  # License:: MIT
5
5
 
6
- require 'ffi'
6
+ require "ffi"
7
7
 
8
8
  module GObject
9
9
  # Represent a GValue. Example use:
@@ -22,7 +22,7 @@ module GObject
22
22
 
23
23
  class GValue < FFI::ManagedStruct
24
24
  layout :gtype, :GType,
25
- :data, [:ulong_long, 2]
25
+ :data, [:ulong_long, 2]
26
26
 
27
27
  # convert an enum value (str/symb/int) into an int ready for libvips
28
28
  def self.from_nick(gtype, value)
@@ -31,7 +31,7 @@ module GObject
31
31
  if value.is_a? String
32
32
  # libvips expects "-" as a separator in enum names, but "_" is more
33
33
  # convenient for ruby, eg. :b_w
34
- value = Vips::vips_enum_from_nick "ruby-vips", gtype, value.tr("_", "-")
34
+ value = Vips.vips_enum_from_nick "ruby-vips", gtype, value.tr("_", "-")
35
35
  if value == -1
36
36
  raise Vips::Error
37
37
  end
@@ -42,8 +42,8 @@ module GObject
42
42
 
43
43
  # convert an int enum back into a symbol
44
44
  def self.to_nick(gtype, enum_value)
45
- enum_name = Vips::vips_enum_nick gtype, enum_value
46
- if enum_name == nil
45
+ enum_name = Vips.vips_enum_nick gtype, enum_value
46
+ if enum_name.nil?
47
47
  raise Vips::Error
48
48
  end
49
49
 
@@ -52,7 +52,7 @@ module GObject
52
52
 
53
53
  def self.release ptr
54
54
  # GLib::logger.debug("GObject::GValue::release") {"ptr = #{ptr}"}
55
- ::GObject::g_value_unset ptr
55
+ ::GObject.g_value_unset ptr
56
56
  end
57
57
 
58
58
  # Allocate memory for a GValue and return a class wrapper. Memory will
@@ -70,14 +70,14 @@ module GObject
70
70
  pointer = FFI::Pointer.new GValue, memory
71
71
 
72
72
  # ... and wrap in a GValue
73
- return GValue.new pointer
73
+ GValue.new pointer
74
74
  end
75
75
 
76
76
  # Set the type of thing a gvalue can hold.
77
77
  #
78
78
  # @param gtype [GType] the type of thing this GValue can hold.
79
79
  def init gtype
80
- ::GObject::g_value_init self, gtype
80
+ ::GObject.g_value_init self, gtype
81
81
  end
82
82
 
83
83
  # Set the value of a GValue. The value is converted to the type of the
@@ -90,76 +90,76 @@ module GObject
90
90
  # }
91
91
 
92
92
  gtype = self[:gtype]
93
- fundamental = ::GObject::g_type_fundamental gtype
93
+ fundamental = ::GObject.g_type_fundamental gtype
94
94
 
95
95
  case gtype
96
96
  when GBOOL_TYPE
97
- ::GObject::g_value_set_boolean self, (value ? 1 : 0)
97
+ ::GObject.g_value_set_boolean self, (value ? 1 : 0)
98
98
 
99
99
  when GINT_TYPE
100
- ::GObject::g_value_set_int self, value
100
+ ::GObject.g_value_set_int self, value
101
101
 
102
102
  when GUINT64_TYPE
103
- ::GObject::g_value_set_uint64 self, value
103
+ ::GObject.g_value_set_uint64 self, value
104
104
 
105
105
  when GDOUBLE_TYPE
106
- ::GObject::g_value_set_double self, value
106
+ ::GObject.g_value_set_double self, value
107
107
 
108
108
  when GSTR_TYPE
109
- ::GObject::g_value_set_string self, value
109
+ ::GObject.g_value_set_string self, value
110
110
 
111
111
  when Vips::REFSTR_TYPE
112
- ::Vips::vips_value_set_ref_string self, value
112
+ ::Vips.vips_value_set_ref_string self, value
113
113
 
114
114
  when Vips::ARRAY_INT_TYPE
115
115
  value = [value] unless value.is_a? Array
116
116
 
117
- Vips::vips_value_set_array_int self, nil, value.length
118
- ptr = Vips::vips_value_get_array_int self, nil
117
+ Vips.vips_value_set_array_int self, nil, value.length
118
+ ptr = Vips.vips_value_get_array_int self, nil
119
119
  ptr.write_array_of_int32 value
120
120
 
121
121
  when Vips::ARRAY_DOUBLE_TYPE
122
122
  value = [value] unless value.is_a? Array
123
123
 
124
124
  # this will allocate an array in the gvalue
125
- Vips::vips_value_set_array_double self, nil, value.length
125
+ Vips.vips_value_set_array_double self, nil, value.length
126
126
 
127
127
  # pull the array out and fill it
128
- ptr = Vips::vips_value_get_array_double self, nil
128
+ ptr = Vips.vips_value_get_array_double self, nil
129
129
 
130
130
  ptr.write_array_of_double value
131
131
 
132
132
  when Vips::ARRAY_IMAGE_TYPE
133
133
  value = [value] unless value.is_a? Array
134
134
 
135
- Vips::vips_value_set_array_image self, value.length
136
- ptr = Vips::vips_value_get_array_image self, nil
135
+ Vips.vips_value_set_array_image self, value.length
136
+ ptr = Vips.vips_value_get_array_image self, nil
137
137
  ptr.write_array_of_pointer value
138
138
 
139
139
  # the gvalue needs a ref on each of the images
140
- value.each { |image| ::GObject::g_object_ref image }
140
+ value.each { |image| ::GObject.g_object_ref image }
141
141
 
142
142
  when Vips::BLOB_TYPE
143
143
  len = value.bytesize
144
- ptr = GLib::g_malloc len
145
- Vips::vips_value_set_blob self, GLib::G_FREE, ptr, len
144
+ ptr = GLib.g_malloc len
145
+ Vips.vips_value_set_blob self, GLib::G_FREE, ptr, len
146
146
  ptr.write_bytes value
147
147
 
148
148
  else
149
149
  case fundamental
150
150
  when GFLAGS_TYPE
151
- ::GObject::g_value_set_flags self, value
151
+ ::GObject.g_value_set_flags self, value
152
152
 
153
153
  when GENUM_TYPE
154
154
  enum_value = GValue.from_nick(self[:gtype], value)
155
- ::GObject::g_value_set_enum self, enum_value
155
+ ::GObject.g_value_set_enum self, enum_value
156
156
 
157
157
  when GOBJECT_TYPE
158
- ::GObject::g_value_set_object self, value
158
+ ::GObject.g_value_set_object self, value
159
159
 
160
160
  else
161
- raise Vips::Error, "unimplemented gtype for set: " +
162
- "#{::GObject::g_type_name gtype} (#{gtype})"
161
+ raise Vips::Error, "unimplemented gtype for set: " \
162
+ "#{::GObject.g_type_name gtype} (#{gtype})"
163
163
  end
164
164
  end
165
165
  end
@@ -170,72 +170,72 @@ module GObject
170
170
  # @return [Any] the value held by the GValue
171
171
  def get
172
172
  gtype = self[:gtype]
173
- fundamental = ::GObject::g_type_fundamental gtype
173
+ fundamental = ::GObject.g_type_fundamental gtype
174
174
  result = nil
175
175
 
176
176
  case gtype
177
177
  when GBOOL_TYPE
178
- result = ::GObject::g_value_get_boolean(self) != 0 ? true : false
178
+ result = ::GObject.g_value_get_boolean(self) != 0
179
179
 
180
180
  when GINT_TYPE
181
- result = ::GObject::g_value_get_int self
181
+ result = ::GObject.g_value_get_int self
182
182
 
183
183
  when GUINT64_TYPE
184
- result = ::GObject::g_value_get_uint64 self
184
+ result = ::GObject.g_value_get_uint64 self
185
185
 
186
186
  when GDOUBLE_TYPE
187
- result = ::GObject::g_value_get_double self
187
+ result = ::GObject.g_value_get_double self
188
188
 
189
189
  when GSTR_TYPE
190
- result = ::GObject::g_value_get_string self
190
+ result = ::GObject.g_value_get_string self
191
191
 
192
192
  when Vips::REFSTR_TYPE
193
193
  len = Vips::SizeStruct.new
194
- result = ::Vips::vips_value_get_ref_string self, len
194
+ result = ::Vips.vips_value_get_ref_string self, len
195
195
 
196
196
  when Vips::ARRAY_INT_TYPE
197
197
  len = Vips::IntStruct.new
198
- array = Vips::vips_value_get_array_int self, len
198
+ array = Vips.vips_value_get_array_int self, len
199
199
  result = array.get_array_of_int32 0, len[:value]
200
200
 
201
201
  when Vips::ARRAY_DOUBLE_TYPE
202
202
  len = Vips::IntStruct.new
203
- array = Vips::vips_value_get_array_double self, len
203
+ array = Vips.vips_value_get_array_double self, len
204
204
  result = array.get_array_of_double 0, len[:value]
205
205
 
206
206
  when Vips::ARRAY_IMAGE_TYPE
207
207
  len = Vips::IntStruct.new
208
- array = Vips::vips_value_get_array_image self, len
208
+ array = Vips.vips_value_get_array_image self, len
209
209
  result = array.get_array_of_pointer 0, len[:value]
210
210
  result.map! do |pointer|
211
- ::GObject::g_object_ref pointer
211
+ ::GObject.g_object_ref pointer
212
212
  Vips::Image.new pointer
213
213
  end
214
214
 
215
215
  when Vips::BLOB_TYPE
216
216
  len = Vips::SizeStruct.new
217
- array = Vips::vips_value_get_blob self, len
217
+ array = Vips.vips_value_get_blob self, len
218
218
  result = array.get_bytes 0, len[:value]
219
219
 
220
220
  else
221
221
  case fundamental
222
222
  when GFLAGS_TYPE
223
- result = ::GObject::g_value_get_flags self
223
+ result = ::GObject.g_value_get_flags self
224
224
 
225
225
  when GENUM_TYPE
226
- enum_value = ::GObject::g_value_get_enum(self)
226
+ enum_value = ::GObject.g_value_get_enum(self)
227
227
  result = GValue.to_nick self[:gtype], enum_value
228
228
 
229
229
  when GOBJECT_TYPE
230
- obj = ::GObject::g_value_get_object self
230
+ obj = ::GObject.g_value_get_object self
231
231
  # g_value_get_object() does not add a ref ... we need to add
232
232
  # one to match the unref in gobject release
233
- ::GObject::g_object_ref obj
233
+ ::GObject.g_object_ref obj
234
234
  result = Vips::Image.new obj
235
235
 
236
236
  else
237
- raise Vips::Error, "unimplemented gtype for get: " +
238
- "#{::GObject::g_type_name gtype} (#{gtype})"
237
+ raise Vips::Error, "unimplemented gtype for get: " \
238
+ "#{::GObject.g_type_name gtype} (#{gtype})"
239
239
  end
240
240
  end
241
241
 
@@ -243,15 +243,15 @@ module GObject
243
243
  # "result = #{result.inspect[0..50]}"
244
244
  # }
245
245
 
246
- return result
246
+ result
247
247
  end
248
248
 
249
- # Clear the thing held by a GValue.
249
+ # Clear the thing held by a GValue.
250
250
  #
251
- # This happens automatically when a GValue is GCed, but this method can be
251
+ # This happens automatically when a GValue is GCed, but this method can be
252
252
  # handy if you need to drop a reference explicitly for some reason.
253
- def unset
254
- ::GObject::g_value_unset self
253
+ def unset
254
+ ::GObject.g_value_unset self
255
255
  end
256
256
  end
257
257
 
@@ -281,7 +281,7 @@ module GObject
281
281
 
282
282
  # use :pointer rather than GObject.ptr to avoid casting later
283
283
  attach_function :g_object_set_property,
284
- [:pointer, :string, GValue.ptr], :void
284
+ [:pointer, :string, GValue.ptr], :void
285
285
  attach_function :g_object_get_property,
286
- [:pointer, :string, GValue.ptr], :void
286
+ [:pointer, :string, GValue.ptr], :void
287
287
  end