Class: LibLouis::BrailleCharacter
- Inherits:
-
Object
- Object
- LibLouis::BrailleCharacter
- Defined in:
- ext/liblouis/braille_character.c
Instance Method Summary collapse
- #==(other) ⇒ Object
- #dot1? ⇒ Boolean
- #dot2? ⇒ Boolean
- #dot3? ⇒ Boolean
- #dot4? ⇒ Boolean
- #dot5? ⇒ Boolean
- #dot6? ⇒ Boolean
- #dot7? ⇒ Boolean
- #dot8? ⇒ Boolean
- #dots ⇒ Object
- #eql?(other) ⇒ Boolean
- #hash ⇒ Object
- #initialize(*args) ⇒ Object constructor
- #initialize_copy(source) ⇒ Object
- #inspect ⇒ Object
- #mask ⇒ Object (also: #to_i)
- #unicode_character ⇒ Object (also: #to_s)
Constructor Details
#initialize(*args) ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'ext/liblouis/braille_character.c', line 64 static VALUE ll_character_initialize(int argc, VALUE *argv, VALUE self) { VALUE value = INT2FIX(0); uint8_t mask; ll_character_t *character; rb_check_frozen(self); rb_scan_args(argc, argv, "01", &value); TypedData_Get_Struct(self, ll_character_t, &ll_character_type, character); mask = ll_mask_from_value(value); rb_check_frozen(self); character->mask = mask; rb_obj_freeze(self); return self; } |
Instance Method Details
#==(other) ⇒ Object
140 141 142 143 144 145 146 |
# File 'ext/liblouis/braille_character.c', line 140 static VALUE ll_character_equal(VALUE self, VALUE other) { if (!rb_typeddata_is_kind_of(other, &ll_character_type)) return Qfalse; return ll_character_mask(self) == ll_character_mask(other) ? Qtrue : Qfalse; } |
#dot1? ⇒ Boolean
#dot2? ⇒ Boolean
#dot3? ⇒ Boolean
#dot4? ⇒ Boolean
#dot5? ⇒ Boolean
#dot6? ⇒ Boolean
#dot7? ⇒ Boolean
#dot8? ⇒ Boolean
#dots ⇒ Object
115 116 117 118 119 120 121 122 123 124 125 126 |
# File 'ext/liblouis/braille_character.c', line 115 static VALUE ll_character_dots(VALUE self) { uint8_t mask = ll_character_mask(self); VALUE dots = rb_ary_new_capa(8); int dot; for (dot = 1; dot <= 8; dot++) if (mask & (1u << (dot - 1))) rb_ary_push(dots, INT2FIX(dot)); return dots; } |
#eql?(other) ⇒ Boolean
140 141 142 143 144 145 146 |
# File 'ext/liblouis/braille_character.c', line 140 static VALUE ll_character_equal(VALUE self, VALUE other) { if (!rb_typeddata_is_kind_of(other, &ll_character_type)) return Qfalse; return ll_character_mask(self) == ll_character_mask(other) ? Qtrue : Qfalse; } |
#hash ⇒ Object
148 149 150 151 152 |
# File 'ext/liblouis/braille_character.c', line 148 static VALUE ll_character_hash(VALUE self) { return rb_hash(UINT2NUM(ll_character_mask(self))); } |
#initialize_copy(source) ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'ext/liblouis/braille_character.c', line 81 static VALUE ll_character_initialize_copy(VALUE self, VALUE source) { ll_character_t *character; if (self == source) return self; rb_obj_init_copy(self, source); rb_check_frozen(self); TypedData_Get_Struct(self, ll_character_t, &ll_character_type, character); character->mask = ll_character_mask(source); return self; } |
#inspect ⇒ Object
154 155 156 157 158 159 |
# File 'ext/liblouis/braille_character.c', line 154 static VALUE ll_character_inspect(VALUE self) { return rb_sprintf("#<LibLouis::BrailleCharacter dots=%+"PRIsVALUE" mask=%u>", ll_character_dots(self), (unsigned int)ll_character_mask(self)); } |
#mask ⇒ Object Also known as: to_i
128 129 130 131 132 |
# File 'ext/liblouis/braille_character.c', line 128 static VALUE ll_character_mask_value(VALUE self) { return UINT2NUM(ll_character_mask(self)); } |
#unicode_character ⇒ Object Also known as: to_s
134 135 136 137 138 |
# File 'ext/liblouis/braille_character.c', line 134 static VALUE ll_character_unicode(VALUE self) { return rb_enc_uint_chr(0x2800u + ll_character_mask(self), rb_utf8_encoding()); } |