vips 8.10.5 → 8.12.2

Sign up to get free protection for your applications and to get access to all the features.
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