icc

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2024 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Class

type Class Signature
const (
	ClassInput      Class = 0x73636e72 // 'scnr'
	ClassDisplay    Class = 0x6d6e7472 // 'mntr'
	ClassOutput     Class = 0x70727472 // 'prtr'
	ClassLink       Class = 0x6c696e6b // 'link'
	ClassAbstract   Class = 0x61627374 // 'abst'
	ClassColorSpace Class = 0x73706163 // 'spac'
	ClassNamedColor Class = 0x6e6d636c // 'nmcl'
)

func (Class) String

func (class Class) String() string

type ColorSpace

type ColorSpace Signature
const (
	ColorSpaceXYZ   ColorSpace = 0x58595a20 // 'XYZ '
	ColorSpaceLab   ColorSpace = 0x4c616220 // 'Lab '
	ColorSpaceLuv   ColorSpace = 0x4c757620 // 'Luv '
	ColorSpaceYCbCr ColorSpace = 0x59436272 // 'YCbr'
	ColorSpaceYxy   ColorSpace = 0x59787920 // 'Yxy '
	ColorSpaceRGB   ColorSpace = 0x52474220 // 'RGB '
	ColorSpaceGray  ColorSpace = 0x47524159 // 'GRAY'
	ColorSpaceHSV   ColorSpace = 0x48535620 // 'HSV '
	ColorSpaceHLS   ColorSpace = 0x484c5320 // 'HLS '
	ColorSpaceCMYK  ColorSpace = 0x434d594b // 'CMYK'
	ColorSpaceCMY   ColorSpace = 0x434d5920 // 'CMY '
	ColorSpace2CLR  ColorSpace = 0x32434c52 // '2CLR'
	ColorSpace3CLR  ColorSpace = 0x33434c52 // '3CLR'
	ColorSpace4CLR  ColorSpace = 0x34434c52 // '4CLR'
	ColorSpace5CLR  ColorSpace = 0x35434c52 // '5CLR'
	ColorSpace6CLR  ColorSpace = 0x36434c52 // '6CLR'
	ColorSpace7CLR  ColorSpace = 0x37434c52 // '7CLR'
	ColorSpace8CLR  ColorSpace = 0x38434c52 // '8CLR'
	ColorSpace9CLR  ColorSpace = 0x39434c52 // '9CLR'
	ColorSpace10CLR ColorSpace = 0x41434c52 // 'ACLR'
	ColorSpace11CLR ColorSpace = 0x42434c52 // 'BCLR'
	ColorSpace12CLR ColorSpace = 0x43434c52 // 'CCLR'
	ColorSpace13CLR ColorSpace = 0x44434c52 // 'DCLR'
	ColorSpace14CLR ColorSpace = 0x45434c52 // 'ECLR'
	ColorSpace15CLR ColorSpace = 0x46434c52 // 'FCLR'
)

func (ColorSpace) String

func (cs ColorSpace) String() string

type Curve

type Curve interface {
	EncodeTone(x float64) float64
	DecodeTone(x float64) float64
}

Curve is a tone reproduction curve.

type DateTimeNumber

type DateTimeNumber struct {
	Year   uint16
	Month  uint16
	Day    uint16
	Hour   uint16
	Minute uint16
	Second uint16
}

func (DateTimeNumber) Time

func (dt DateTimeNumber) Time() time.Time

type Platform

type Platform Signature
const (
	PlatformApple     Platform = 0x4150504c // 'APPL'
	PlatformMicrosoft Platform = 0x4d534654 // 'MSFT'
	PlatformSGI       Platform = 0x53474920 // 'SGI '
	PlatformSun       Platform = 0x53554e57 // 'SUNW'
)

func (Platform) String

func (p Platform) String() string

type Profile

type Profile struct {
	ProfileHeader
	Tags []TagEntry
}

func Decode

func Decode(r io.Reader) (*Profile, error)

func (*Profile) DecodeTone

func (p *Profile) DecodeTone(img image.Image) *fp16.NRGBAh

func (*Profile) Encode

func (p *Profile) Encode(w io.Writer) error

func (*Profile) EncodeTone

func (p *Profile) EncodeTone(img *fp16.NRGBAh) *image.NRGBA

func (*Profile) EncodeTone16

func (p *Profile) EncodeTone16(img *fp16.NRGBAh) *image.NRGBA64

func (*Profile) Get

func (p *Profile) Get(tag Tag) TagContent

type ProfileHeader

type ProfileHeader struct {
	Size                   uint32
	CMMType                Signature
	Version                Version
	Class                  Class
	ColorSpace             ColorSpace
	ProfileConnectionSpace ColorSpace
	DateTime               DateTimeNumber
	Magic                  Signature
	Platform               Platform
	Flags                  uint32
	Manufacturer           Signature
	DeviceModel            Signature
	DeviceAttributes       uint64
	RenderingIntent        uint32
	XYZ                    XYZNumber
	ProfileCreator         uint32
	ProfileID              [16]uint8
	SpectralPCS            uint32
	SpectralPCSRange       [6]byte
	BiSpectralPCSRange     [6]byte
	MCSSignature           uint32
	SubClass               uint32
	Reserved               uint32
}

ProfileHeader is the header of ICC profile.

type S15Fixed16Number

type S15Fixed16Number int32

S15Fixed16Number is a 16-bit signed integer with a 16-bit fraction.

func S15Fixed16NumberFromFloat64

func S15Fixed16NumberFromFloat64(f float64) S15Fixed16Number

func (S15Fixed16Number) Float64

func (n S15Fixed16Number) Float64() float64

func (S15Fixed16Number) String

func (n S15Fixed16Number) String() string

type Signature

type Signature uint32
const ICCMagicNumber Signature = 0x61637370 // 'acsp'

func (Signature) String

func (s Signature) String() string

type Tag

type Tag uint32
const (
	TagAToB0                          Tag = 0x41324230 // 'A2B0'
	TagAToB1                          Tag = 0x41324231 // 'A2B1'
	TagAToB2                          Tag = 0x41324232 // 'A2B2'
	TagAToB3                          Tag = 0x41324233 // 'A2B3'
	TagAToM0                          Tag = 0x41324d30 // 'A2M0'
	TagBRDFColormetricParameter0      Tag = 0x62637030 // 'bcp0'
	TagBRDFColormetricParameter1      Tag = 0x62637031 // 'bcp1'
	TagBRDFColormetricParameter2      Tag = 0x62637032 // 'bcp2'
	TagBRDFColormetricParameter3      Tag = 0x62637033 // 'bcp3'
	TagBRDFSpectralParameter0         Tag = 0x62737030 // 'bsp0'
	TagBRDFSpectralParameter1         Tag = 0x62737031 // 'bsp1'
	TagBRDFSpectralParameter2         Tag = 0x62737032 // 'bsp2'
	TagBRDFSpectralParameter3         Tag = 0x62737033 // 'bsp3'
	TagBRDFAToB0                      Tag = 0x62414230 // 'bAB0'
	TagBRDFAToB1                      Tag = 0x62414231 // 'bAB1'
	TagBRDFAToB2                      Tag = 0x62414232 // 'bAB2'
	TagBRDFAToB3                      Tag = 0x62414233 // 'bAB3'
	TagBRDFBToA0                      Tag = 0x62424130 // 'bBA0'
	TagBRDFBToA1                      Tag = 0x62424131 // 'bBA1'
	TagBRDFBToA2                      Tag = 0x62424132 // 'bBA2'
	TagBRDFBToA3                      Tag = 0x62424133 // 'bBA3'
	TagBRDFBToD0                      Tag = 0x62424430 // 'bBD0'
	TagBRDFBToD1                      Tag = 0x62424431 // 'bBD1'
	TagBRDFBToD2                      Tag = 0x62424432 // 'bBD2'
	TagBRDFBToD3                      Tag = 0x62424433 // 'bBD3'
	TagBRDFDToB0                      Tag = 0x62444230 // 'bDB0'
	TagBRDFDToB1                      Tag = 0x62444231 // 'bDB1'
	TagBRDFDToB2                      Tag = 0x62444232 // 'bDB2'
	TagBRDFDToB3                      Tag = 0x62444233 // 'bDB3'
	TagBRDFMToB0                      Tag = 0x624d4230 // 'bMB0'
	TagBRDFMToB1                      Tag = 0x624d4231 // 'bMB1'
	TagBRDFMToB2                      Tag = 0x624d4232 // 'bMB2'
	TagBRDFMToB3                      Tag = 0x624d4233 // 'bMB3'
	TagBRDFMToS0                      Tag = 0x624d5330 // 'bMS0'
	TagBRDFMToS1                      Tag = 0x624d5331 // 'bMS1'
	TagBRDFMToS2                      Tag = 0x624d5332 // 'bMS2'
	TagBRDFMToS3                      Tag = 0x624d5333 // 'bMS3'
	TagBToA0                          Tag = 0x42324130 // 'B2A0'
	TagBToA1                          Tag = 0x42324131 // 'B2A1'
	TagBToA2                          Tag = 0x42324132 // 'B2A2'
	TagBToA3                          Tag = 0x42324133 // 'B2A3'
	TagBToD0                          Tag = 0x42324430 // 'B2D0'
	TagBToD1                          Tag = 0x42324431 // 'B2D1'
	TagBToD2                          Tag = 0x42324432 // 'B2D2'
	TagBToD3                          Tag = 0x42324433 // 'B2D3'
	TagCalibrationDateTime            Tag = 0x63616c74 // 'calt'
	TagCharTarget                     Tag = 0x74617267 // 'targ'
	TagColorEncodingParams            Tag = 0x63657074 // 'cept'
	TagColorSpaceName                 Tag = 0x63736e6d // 'csnm'
	TagColorantOrder                  Tag = 0x636c726f // 'clro'
	TagColorantOrderOut               Tag = 0x636c6f6f // 'cloo'
	TagColorantInfo                   Tag = 0x636c696e // 'clin'
	TagColorantInfoOut                Tag = 0x636c696f // 'clio'
	TagColorimetricIntentImageState   Tag = 0x63696973 // 'ciis'
	TagCopyright                      Tag = 0x63707274 // 'cprt'
	TagCustomToStandardPcc            Tag = 0x63327370 // 'c2sp'
	TagCXF                            Tag = 0x43784620 // 'CxF '
	TagDeviceMfgDesc                  Tag = 0x646d6e64 // 'dmnd'
	TagDeviceModelDesc                Tag = 0x646d6464 // 'dmdd'
	TagDirectionalAToB0               Tag = 0x64414230 // 'dAB0'
	TagDirectionalAToB1               Tag = 0x64414231 // 'dAB1'
	TagDirectionalAToB2               Tag = 0x64414232 // 'dAB2'
	TagDirectionalAToB3               Tag = 0x64414233 // 'dAB3'
	TagDirectionalBToA0               Tag = 0x64424130 // 'dBA0'
	TagDirectionalBToA1               Tag = 0x64424131 // 'dBA1'
	TagDirectionalBToA2               Tag = 0x64424132 // 'dBA2'
	TagDirectionalBToA3               Tag = 0x64424133 // 'dBA3'
	TagDirectionalBToD0               Tag = 0x64424430 // 'dBD0'
	TagDirectionalBToD1               Tag = 0x64424431 // 'dBD1'
	TagDirectionalBToD2               Tag = 0x64424432 // 'dBD2'
	TagDirectionalBToD3               Tag = 0x64424433 // 'dBD3'
	TagDirectionalDToB0               Tag = 0x64444230 // 'dDB0'
	TagDirectionalDToB1               Tag = 0x64444231 // 'dDB1'
	TagDirectionalDToB2               Tag = 0x64444232 // 'dDB2'
	TagDirectionalDToB3               Tag = 0x64444233 // 'dDB3'
	TagDToB0                          Tag = 0x44324230 // 'D2B0'
	TagDToB1                          Tag = 0x44324231 // 'D2B1'
	TagDToB2                          Tag = 0x44324232 // 'D2B2'
	TagDToB3                          Tag = 0x44324233 // 'D2B3'
	TagGamutBoundaryDescription0      Tag = 0x67626430 // 'gbd0'
	TagGamutBoundaryDescription1      Tag = 0x67626431 // 'gbd1'
	TagGamutBoundaryDescription2      Tag = 0x67626432 // 'gbd2'
	TagGamutBoundaryDescription3      Tag = 0x67626433 // 'gbd3'
	TagMultiplexDefaultValues         Tag = 0x6d647620 // 'mdv '
	TagMultiplexTypeArray             Tag = 0x6d637461 // 'mcta'
	TagMeasurementInfo                Tag = 0x6d696e66 // 'minf'
	TagMeasurementInputInfo           Tag = 0x6d69696e // 'miin'
	TagMediaWhitePoint                Tag = 0x77747074 // 'wtpt'
	TagMetadata                       Tag = 0x6d657461 // 'meta'
	TagMToA0                          Tag = 0x4d546130 // 'M2A0'
	TagMToB0                          Tag = 0x4d546230 // 'M2B0'
	TagMToB1                          Tag = 0x4d324231 // 'M2B1'
	TagMToB2                          Tag = 0x4d324232 // 'M2B2'
	TagMToB3                          Tag = 0x4d324233 // 'M2B3'
	TagMToS0                          Tag = 0x4d546130 // 'M2S0'
	TagMToS1                          Tag = 0x4d546131 // 'M2S1'
	TagMToS2                          Tag = 0x4d546132 // 'M2S2'
	TagMToS3                          Tag = 0x4d546133 // 'M2S3'
	TagNamedColor                     Tag = 0x6e6d636c // 'nmcl'
	TagPerceptualRenderingIntentGamut Tag = 0x72696730 // 'rig0'
	TagProfileDescription             Tag = 0x64657363 // 'desc'
	TagProfileSequenceInformation     Tag = 0x7073696e // 'psin'
	TagReferenceName                  Tag = 0x72666e6d // 'rfnm'
	TagSaturationRenderingIntentGamut Tag = 0x72696732 // 'rig2'
	TagSpectralViewingConditions      Tag = 0x7376636e // 'svcn'
	TagSpectralWhitePoint             Tag = 0x73777074 // 'swpt'
	TagStandardToCustomPcc            Tag = 0x73326370 // 's2cp'
	TagSurfaceMap                     Tag = 0x736d6170 // 'smap'
	TagTechnology                     Tag = 0x74656368 // 'tech'
)

ICC.2 tags https://www.color.org/specification/ICC.2-2019.pdf

const (
	TagCeptBluePrimaryXYZMbr                Tag = 0x6258595a // 'bXYZ'
	TagCeptGreenPrimaryXYZMbr               Tag = 0x6758595a // 'gXYZ'
	TagCeptRedPrimaryXYZMbr                 Tag = 0x7258595a // 'rXYZ'
	TagCeptTransferFunctionMbr              Tag = 0x66756e63 // 'func'
	TagCeptLumaChromaMatrixMbr              Tag = 0x6c6d6174 // 'lmat'
	TagCeptWhitePointLuminanceMbr           Tag = 0x776c756d // 'wlum'
	TagCeptWhitePointChromaticityMbr        Tag = 0x7758595a // 'wXYZ'
	TagCeptEncodingRangeMbr                 Tag = 0x65526e67 // 'eRng'
	TagCeptBitDepthMbr                      Tag = 0x62697473 // 'bits'
	TagCeptImageStateMbr                    Tag = 0x696d7374 // 'imst'
	TagCeptImageBackgroundMbr               Tag = 0x69626b67 // 'ibkg'
	TagCeptViewingSurroundMbr               Tag = 0x73726e64 // 'srnd'
	TagCeptAmbientIlluminanceMbr            Tag = 0x61696c6d // 'ailm'
	TagCeptAmbientWhitePointLuminanceMbr    Tag = 0x61776c6d // 'awlm'
	TagCeptAmbientWhitePointChromaticityMbr Tag = 0x61777063 // 'awpc'
	TagCeptViewingFlareMbr                  Tag = 0x666c6172 // 'flar'
	TagCeptValidRelativeLuminanceRangeMbr   Tag = 0x6c726e67 // 'lrng'
	TagCeptMediumWhitePointLuminanceMbr     Tag = 0x6d77706c // 'mwpl'
	TagCeptMediumWhitePointChromaticityMbr  Tag = 0x6d777063 // 'mwpc'
	TagCeptMediumBlackPointLuminanceMbr     Tag = 0x6d62706c // 'mbpl'
	TagCeptMediumBlackPointChromaticityMbr  Tag = 0x6d627063 // 'mbpc'
)

ICC.2 colorEncodingParamsStructure element sub-tags

const (
	// TagAToB0               Tag = 0x41324230 // 'A2B0'
	// TagAToB1               Tag = 0x41324231 // 'A2B1'
	// TagAToB2               Tag = 0x41324232 // 'A2B2'
	TagBlueMatrixColumn Tag = 0x6258595a // 'bXYZ'
	TagBlueTRC          Tag = 0x62545243 // 'bTRC'
	// TagBToA0            Tag = 0x42324130 // 'B2A0'
	// TagBToA1               Tag = 0x42324131 // 'B2A1'
	// TagBToA2               Tag = 0x42324132 // 'B2A2'
	// TagBToD0               Tag = 0x42324430 // 'B2D0'
	// TagBToD1               Tag = 0x42324431 // 'B2D1'
	// TagBToD2               Tag = 0x42324432 // 'B2D2'
	// TagBToD3               Tag = 0x42324433 // 'B2D3'
	// TagCalibrationDateTime Tag = 0x63616c74 // 'calt'
	// TagCharTarget          Tag = 0x74617267 // 'targ'
	TagChromaticAdaptation Tag = 0x63686164 // 'chad'
	TagCICP                Tag = 0x63696370 // 'cicp'
	// TagColorantOrder                  Tag = 0x636c726f // 'clro'
	TagColorantTable    Tag = 0x636c7274 // 'clrt'
	TagColorantTableOut Tag = 0x636c6f74 // 'clot'
	// TagColorimetricIntentImageState   Tag = 0x63696973 // 'ciis'
	// TagCopyright                      Tag = 0x63707274 // 'cprt'
	// TagDeviceMfgDesc                  Tag = 0x646d6e64 // 'dmnd'
	// TagDeviceModelDesc                Tag = 0x646d6464 // 'dmdd'
	// TagDToB0                          Tag = 0x44324230 // 'D2B0'
	// TagDToB1                          Tag = 0x44324231 // 'D2B1'
	// TagDToB2                          Tag = 0x44324232 // 'D2B2'
	// TagDToB3                          Tag = 0x44324233 // 'D2B3'
	TagGamut             Tag = 0x67616d74 // 'gamt'
	TagGrayTRC           Tag = 0x6b545243 // 'kTRC'
	TagGreenMatrixColumn Tag = 0x6758595a // 'gXYZ'
	TagGreenTRC          Tag = 0x67545243 // 'gTRC'
	TagLuminance         Tag = 0x6c756d69 // 'lumi'
	TagMeasurement       Tag = 0x6d656173 // 'meas'
	// TagMetadata                       Tag = 0x6d657461 // 'meta'
	// TagMediaWhitePoint                Tag = 0x77747074 // 'wtpt'
	TagNamedColor2    Tag = 0x6e636c32 // 'ncl2'
	TagOutputResponse Tag = 0x72657370 // 'resp'
	// TagPerceptualRenderingIntentGamut Tag = 0x72696730 // 'rig0'
	TagPreview0 Tag = 0x70726530 // 'pre0'
	TagPreview1 Tag = 0x70726531 // 'pre1'
	TagPreview2 Tag = 0x70726532 // 'pre2'
	// TagProfileDescription             Tag = 0x64657363 // 'desc'
	TagProfileSequenceDesc       Tag = 0x70736571 // 'pseq'
	TagProfileSequenceIdentifier Tag = 0x70736964 // 'psid'
	TagRedMatrixColumn           Tag = 0x7258595a // 'rXYZ'
	TagRedTRC                    Tag = 0x72545243 // 'rTRC'
	// TagSaturationRenderingIntentGamut Tag = 0x72696732 // 'rig2'
	// TagTechnology                     Tag = 0x74656368 // 'tech'
	TagViewingCondDesc   Tag = 0x76756564 // 'vued'
	TagViewingConditions Tag = 0x76696577 // 'view'
)

ICC.1 tags https://www.color.org/specification/ICC.1-2022-05.pdf

type TagContent

type TagContent interface {
	encoding.BinaryMarshaler
	encoding.BinaryUnmarshaler
	TagType() TagType
}

type TagContentCurve

type TagContentCurve struct {
	Data []uint16
}

func (*TagContentCurve) DecodeTone

func (t *TagContentCurve) DecodeTone(x float64) float64

func (*TagContentCurve) EncodeTone

func (t *TagContentCurve) EncodeTone(y float64) float64

func (*TagContentCurve) MarshalBinary

func (t *TagContentCurve) MarshalBinary() ([]byte, error)

func (*TagContentCurve) TagType

func (t *TagContentCurve) TagType() TagType

func (*TagContentCurve) UnmarshalBinary

func (t *TagContentCurve) UnmarshalBinary(data []byte) error

type TagContentParametricCurve

type TagContentParametricCurve struct {
	FunctionType uint16
	Params       [8]S15Fixed16Number // this is not a slice because to avoid extra boundary check.
}

func (*TagContentParametricCurve) DecodeTone

func (t *TagContentParametricCurve) DecodeTone(x float64) float64

func (*TagContentParametricCurve) EncodeTone

func (t *TagContentParametricCurve) EncodeTone(y float64) float64

func (*TagContentParametricCurve) MarshalBinary

func (t *TagContentParametricCurve) MarshalBinary() ([]byte, error)

func (*TagContentParametricCurve) TagType

func (t *TagContentParametricCurve) TagType() TagType

func (*TagContentParametricCurve) UnmarshalBinary

func (t *TagContentParametricCurve) UnmarshalBinary(data []byte) error

type TagContentRaw

type TagContentRaw struct {
	Data []byte
}

func (*TagContentRaw) MarshalBinary

func (t *TagContentRaw) MarshalBinary() ([]byte, error)

func (*TagContentRaw) TagType

func (t *TagContentRaw) TagType() TagType

func (*TagContentRaw) UnmarshalBinary

func (t *TagContentRaw) UnmarshalBinary(data []byte) error

type TagEntry

type TagEntry struct {
	Tag        Tag
	TagContent TagContent
}

type TagType

type TagType uint32
const (
	TagTypeColorantOrder             TagType = 0x636c726f // 'clro'
	TagTypeCurve                     TagType = 0x63757276 // 'curv'
	TagTypeDataType                  TagType = 0x64617461 // 'data'
	TagTypeDateTime                  TagType = 0x6474696d // 'dtim'
	TagTypeDict                      TagType = 0x64637420 // 'dict'
	TagTypeEmbeddedHeightImage       TagType = 0x6568696d // 'ehim'
	TagTypeEmbeddedNormalImage       TagType = 0x656e696d // 'enim'
	TagTypeFloat16Array              TagType = 0x666c3136 // 'fl16'
	TagTypeFloat32Array              TagType = 0x666c3234 // 'fl32'
	TagTypeFloat64Array              TagType = 0x666c3634 // 'fl64'
	TagTypeLutAtoB                   TagType = 0x6d414220 // 'mAB '
	TagTypeLutBtoA                   TagType = 0x6d424120 // 'mBA '
	TagTypeMeasurement               TagType = 0x6d656173 // 'meas'
	TagTypeMultiLocalizedUnicode     TagType = 0x6d6c7563 // 'mluc'
	TagTypeMultiProcessElements      TagType = 0x6d706574 // 'mpet'
	TagTypeParametricCurve           TagType = 0x70617261 // 'para'
	TagTypeS15Fixed16Array           TagType = 0x73663332 // 'sf32'
	TagTypeSignature                 TagType = 0x73696720 // 'sig '
	TagTypeSparseMatrixArray         TagType = 0x736d6174 // 'smat'
	TagTypeSpectralViewingConditions TagType = 0x7376636e // 'svcn'
	TagTypeTagArrayType              TagType = 0x74617279 // 'tary'
	TagTypeTagStruct                 TagType = 0x74737472 // 'tstr'
	TagTypeU16Fixed16Array           TagType = 0x75663332 // 'uf32'
	TagTypeUint16Array               TagType = 0x75693136 // 'ui16'
	TagTypeUint32Array               TagType = 0x75693332 // 'ui32'
	TagTypeUint64Array               TagType = 0x75693634 // 'ui64'
	TagTypeUint8Array                TagType = 0x75693038 // 'ui08'
	TagTypeUTF16                     TagType = 0x75743136 // 'ut16'
	TagTypeUTF8                      TagType = 0x75746638 // 'utf8'
	TagTypeUTF8Zip                   TagType = 0x7a757438 // 'zut8'
	TagTypeXYZ                       TagType = 0x58595a20 // 'XYZ '
	TagTypeZipXML                    TagType = 0x7a786d6c // 'zxml'
)

func (TagType) String

func (t TagType) String() string

type U8Fixed8Number

type U8Fixed8Number uint16

U8Fixed8Number is a 8-bit unsigned integer with a 8-bit fraction.

func (U8Fixed8Number) Float64

func (n U8Fixed8Number) Float64() float64

type Version

type Version uint32

func (Version) BugFix

func (v Version) BugFix() int

func (Version) Major

func (v Version) Major() int

func (Version) Minor

func (v Version) Minor() int

func (Version) String

func (v Version) String() string

type XYZNumber

type XYZNumber struct {
	X S15Fixed16Number
	Y S15Fixed16Number
	Z S15Fixed16Number
}

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL