Sha256: efaf1f61e7d15b838b141270e25f095fcc4e12868b45b1bc3bd938478f51a0f8

Contents?: true

Size: 917 Bytes

Versions: 4

Compression:

Stored size: 917 Bytes

Contents

# frozen_string_literal: true
class Shoes
  module Swt
    module Font
      class << self
        def add_font(path)
          if File.exist? path
            ::Shoes::Font.add_font_to_fonts(path) if load_font(path)
          end
        end

        def setup_fonts
          # If we've already loaded fonts previously, bail
          return if ::Shoes::FONTS.any?

          load_shoes_fonts
          load_system_fonts
          ::Shoes::FONTS.uniq!
        end

        private

        def load_font(path)
          ::Swt.display.load_font path
        end

        def load_shoes_fonts
          ::Shoes::Font.font_paths_from_dir(::Shoes::FONT_DIR).each do |font_path|
            add_font font_path
          end
        end

        def load_system_fonts
          ::Swt.display.get_font_list(nil, true).each do |font|
            ::Shoes::FONTS << font
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
shoes-swt-4.0.0.pre12 lib/shoes/swt/font.rb
shoes-swt-4.0.0.pre11 lib/shoes/swt/font.rb
shoes-swt-4.0.0.pre10 lib/shoes/swt/font.rb
shoes-swt-4.0.0.pre9 lib/shoes/swt/font.rb