Module: Win32::CaptureIE::FFI::CStruct
- Included in:
- GDI32
- Defined in:
- lib/win32/capture_ie/ffi/struct.rb
Overview
:nodoc:
Defined Under Namespace
Classes: DSL
Constant Summary collapse
- TYPES =
PrimitiveType::BASE_TYPES.inject({}){|h,t| h[t[0]] = PrimitiveType.new(t[0]) h }
Class Method Summary collapse
- .c_type(type) ⇒ Object
- .define_c_struct_under(ns, name, size = nil, &block) ⇒ Object
- .define_c_type(type, decl) ⇒ Object
- .sizeof(type) ⇒ Object
Instance Method Summary collapse
Class Method Details
.c_type(type) ⇒ Object
222 223 224 |
# File 'lib/win32/capture_ie/ffi/struct.rb', line 222 def c_type(type) TYPES[type] end |
.define_c_struct_under(ns, name, size = nil, &block) ⇒ Object
210 211 212 213 214 215 216 |
# File 'lib/win32/capture_ie/ffi/struct.rb', line 210 def define_c_struct_under(ns, name, size=nil, &block) dsl = DSL.new(name, size) dsl.instance_eval(&block) dsl.struct.define!(ns) TYPES[name] = dsl.struct dsl.struct end |
.define_c_type(type, decl) ⇒ Object
226 227 228 |
# File 'lib/win32/capture_ie/ffi/struct.rb', line 226 def define_c_type(type, decl) TYPES[decl] = TYPES[type] end |
.sizeof(type) ⇒ Object
218 219 220 |
# File 'lib/win32/capture_ie/ffi/struct.rb', line 218 def sizeof(type) c_type(type).size end |
Instance Method Details
#define_c_struct(name, size = nil, &block) ⇒ Object
204 205 206 |
# File 'lib/win32/capture_ie/ffi/struct.rb', line 204 def define_c_struct(name, size=nil, &block) define_c_struct_under(self, name, size, &block) end |