Module: FreeType::API

Included in:
FreeTypeApiTest
Defined in:
lib/freetype/api.rb

Overview

high level API for freetype wrapping by FFI

Defined Under Namespace

Modules: IOInterface Classes: BBox, Font, Glyph, Outline, Point, Vector

Class Method Summary collapse

Class Method Details

.library_versionObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/freetype/api.rb', line 7

def library_version
  library = ::FFI::MemoryPointer.new(:pointer)
  err = FreeType::C::FT_Init_FreeType(library)
  raise FreeType::Error.find(err) unless err == 0

  amajor = ::FFI::MemoryPointer.new(:int)
  aminor = ::FFI::MemoryPointer.new(:int)
  apatch = ::FFI::MemoryPointer.new(:int)
  FreeType::C::FT_Library_Version(library.get_pointer(0), amajor, aminor, apatch)
  "#{amajor.get_int(0)}.#{aminor.get_int(0)}.#{apatch.get_int(0)}"
ensure
  err = FreeType::C::FT_Done_Library(library.get_pointer(0))
  raise FreeType::Error.find(err) unless err == 0
end