Module: ASEPalette::PaletteBinary

Defined in:
lib/ase-palette/palette_binary.rb

Defined Under Namespace

Classes: ASEBinData

Constant Summary collapse

DEFAULT_VERSION_MAJOR =
1
DEFAULT_VERSION_MINOR =
0
BLOCK_TYPE_COLOR =
0x1
BLOCK_TYPE_GROUP_START =
0xC001
BLOCK_TYPE_GROUP_END =
0xC002
COLOR_TYPE_GLOBAL =
0
COLOR_TYPE_SPOT =
1
COLOR_TYPE_NORMAL =
2
COLOR_TYPE_DEFAULT =
COLOR_TYPE_NORMAL
COLOR_MODEL_RGB =
"RGB "
COLOR_MODEL_CMYK =
"CMYK"
COLOR_MODEL_LAB =
"LAB "
COLOR_MODEL_GRAY =
"GRAY"
COLOR_MODEL_DEFAULT =
COLOR_MODEL_RGB

Class Method Summary collapse

Class Method Details

.build_binary_hash_from_file(path) ⇒ Object



163
164
165
166
167
# File 'lib/ase-palette/palette_binary.rb', line 163

def self.build_binary_hash_from_file(path)
  file = File.open(path)
  binary = ASEBinData.read(file)
  binary_to_hash(binary)
end

.build_binary_palette(colors, groups, version_major = DEFAULT_VERSION_MAJOR, version_minor = DEFAULT_VERSION_MINOR) ⇒ Object



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# File 'lib/ase-palette/palette_binary.rb', line 129

def self.build_binary_palette(
  colors,
  groups,
  version_major = DEFAULT_VERSION_MAJOR,
  version_minor = DEFAULT_VERSION_MINOR
)
  palette = ASEBinData.new
  palette.version_major = version_major
  palette.version_minor = version_minor
  colors.each do |color|
    binary_add_color(
      palette,
      color[:name],
      color[:model],
      color[:type],
      color[:data],
    )
  end
  groups.each do |group|
    binary_begin_group(palette, group[:name])
    group[:colors].each do |color|
      binary_add_color(
        palette,
        color[:name],
        color[:model],
        color[:type],
        color[:data],
      )
    end
    binary_end_group(palette)
  end
  palette
end