Class: Rixmap::ImageIO::ImageIOInfo
- Inherits:
-
Object
- Object
- Rixmap::ImageIO::ImageIOInfo
- Defined in:
- src/rixmapio.cxx,
src/rixmapio.cxx
Overview
IOクラス実装情報クラス. Rixmap::ImageIOモジュールの内部で使用しています.
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#initialize(klass, extensions = [])
constructor
private
画像入出力情報クラスを初期化します.
-
#match?(argFileName) ⇒ Boolean
指定したファイル名の拡張子をこの情報クラスの拡張子リストと比較して、 マッチしたものが見つかった場合はtrueを返します.
Constructor Details
#initialize(klass, extensions = []) (private)
画像入出力情報クラスを初期化します.
253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 |
# File 'src/rixmapio.cxx', line 253
static VALUE ImageIOInfo_initialize(int argc, VALUE* argv, VALUE self) {
VALUE argKlass, argExtensions;
rb_scan_args(argc, argv, "11", &argKlass, &argExtensions);
VALUE objIOClass = argKlass;
VALUE objExtensions = Qnil;
if (NIL_P(argExtensions)) {
objExtensions = rb_ary_new();
} else {
objExtensions = rb_Array(argExtensions);
}
rb_iv_set(self, "@imageio", objIOClass);
rb_iv_set(self, "@extensions", objExtensions);
return self;
}
|
Instance Attribute Details
#extensions ⇒ Object
#imageio ⇒ Object
Instance Method Details
#match?(argFileName) ⇒ Boolean
指定したファイル名の拡張子をこの情報クラスの拡張子リストと比較して、 マッチしたものが見つかった場合はtrueを返します.
278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 |
# File 'src/rixmapio.cxx', line 278
static VALUE ImageIOInfo_isMatchFileName(VALUE self, VALUE argFileName) {
// 型チェック
VALUE objExtensions = rb_iv_get(self, "@extensions");
if (NIL_P(objExtensions)) {
rb_warning("extensions is null");
return Qfalse;
}
if (!RB_TYPE_P(objExtensions, T_ARRAY)) {
rb_warning("extensions is not array");
return Qfalse;
}
// ファイル名
VALUE objFileName = rb_funcall(rb_String(argFileName), rb_intern("downcase"), 0);
// マッチをとる
long next = RARRAY_LEN(objExtensions);
for (long i = 0; i < next; i++) {
VALUE objExt = rb_funcall(rb_String(rb_ary_entry(objExtensions, i)), rb_intern("downcase"), 0);
if (RTEST(rb_funcall(objFileName, rb_intern("end_with?"), 1, objExt))) {
return Qtrue;
}
}
return Qfalse;
}
|