MacOSXIconReader.st
author Claus Gittinger <cg@exept.de>
Tue, 03 Sep 2013 17:23:55 +0200
changeset 3228 187a4158a51a
parent 3184 de612ee1585e
child 3361 e0a2c0425a2c
permissions -rw-r--r--
class: FlyByHelp changed: #initiateHelpFor:at:now: #showHelp:for: changed the flyBy suppression slightly: if the same text is to be shown again, do not show it except if the help is for another widget. (used to check for the text only previously)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2013 by Claus Gittinger
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
              All Rights Reserved
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libview2' }"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
ImageReader subclass:#MacOSXIconReader
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
	instanceVariableNames:'image'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	classVariableNames:''
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	poolDictionaries:''
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	category:'Graphics-Images-Readers'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!MacOSXIconReader class methodsFor:'documentation'!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
copyright
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
 COPYRIGHT (c) 2013 by Claus Gittinger
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
              All Rights Reserved
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
 This software is furnished under a license and may be used
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
 only in accordance with the terms of that license and with the
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 be provided or otherwise made available to, or used by, any
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 other person.  No title to or ownership of the software is
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 hereby transferred.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
documentation
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
    Reader for mac osx icon files.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
    These files are actually bundles of a sequence of icons (in possibly different resolutions,
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
    colors and sizes).
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    When such a file is read, I return the first image as usual, 
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    and all images as an imagesequence.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
3133
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
    46
    Only a subset of the supported image formats are supported by the writer
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
    47
    (i.e. JPEG and PNG based image encodings only). 
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
    48
    This means, that only 10.8-and later icon files are really generated.
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
    49
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
    50
    caveat:
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
    51
        only a subset of the possibly formats are supported when reading.
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
    [See also:]
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
        Image Form Icon
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
        GIFReader JPEGReader PNGReader TIFFReader WindowsIconReader
3132
32f94ccd6bf0 class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3121
diff changeset
    56
        http://en.wikipedia.org/wiki/Apple_Icon_Image_format
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
! !
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
!MacOSXIconReader class methodsFor:'initialization'!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
initialize
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    "install myself in the Image classes fileFormat table
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
     for the `.icns' extension."
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
    "/ MIMETypes defineImageType:'image/x-icns' suffix:'icns'  reader:self.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
    MIMETypes defineImageType:nil          suffix:'icns' reader:self.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
! !
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
!MacOSXIconReader class methodsFor:'testing'!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
canRepresent:anImage
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
    "return true, if anImage can be represented in my file format.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
     Assuming that we store in PNG format, delegate that decision."
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    ^ PNGReader canRepresent:anImage
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
isValidImageFile:aFileName
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
    "return true, if aFileName is an apple osx icon file"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
    |id inStream|
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
    inStream := self streamReadingFile:aFileName.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
    inStream isNil ifTrue:[^ false].
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
    inStream text.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
    id := String new:4.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
    inStream nextBytes:4 into:id.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
    inStream close.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
    ^ (id = 'icns')
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
! !
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
!MacOSXIconReader methodsFor:'image reading'!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
fromStream:aStream
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
    "read a stream containing an icon image (or a collection of images).
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
     Leave image description in instance variables."
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
    |sizeRemaining id img firstImage frame imageCount chunkType numChunkBytes chunkData|
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    inStream := aStream.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
    aStream text.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
    "icon-files are always msb"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    byteOrder := #msb.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    id := aStream nextBytes:4.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
    id size ~~ 4 ifTrue:[
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
        ^ self fileFormatError:'not an icns file (short read)'.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
    ].
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
    id := id asString.
3133
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   115
    sizeRemaining := aStream nextUnsignedLongMSB:true.
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   116
    sizeRemaining := sizeRemaining - 4 - 4. "/ file magic and size are included in count
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
    (id ~= 'icns') ifTrue:[
3133
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   119
        chunkData := aStream next:sizeRemaining.
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   120
        image := self readSingleIcon:chunkType from:chunkData.
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   121
        ^ self
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
    ].
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
    imageCount := 0.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
    [ sizeRemaining > 0 ] whileTrue:[
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
        chunkType := aStream nextBytes:4.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
        chunkType size ~~ 4 ifTrue:[
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
            ^ self fileFormatError:'not an icns file (short read on icon type)'.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
        ].
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
        chunkType := chunkType asString.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
        numChunkBytes := aStream nextUnsignedLongMSB:true.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
        numChunkBytes := numChunkBytes - 4 - 4. "/ type and size are included in count
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
        chunkData := aStream next:numChunkBytes.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
        sizeRemaining := sizeRemaining - 4 - numChunkBytes.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
        img := self readSingleIcon:chunkType from:chunkData.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
        imageCount == 0 ifTrue:[
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
            firstImage := image := img.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
        ] ifFalse:[
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
            imageCount == 1 ifTrue:[
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
                imageSequence := ImageSequence new.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
                img imageSequence:imageSequence.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
                "/ add frame for first image.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
                frame := ImageFrame new image:firstImage.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
                imageSequence add:frame.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
            ].  
3133
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   150
            img notNil ifTrue:[
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   151
                "/ unsupported images are skipped...
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   152
                img imageSequence:imageSequence.
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   153
            ].
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
            "/ add frame for this image.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
            frame := ImageFrame new image:img.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
            imageSequence add:frame.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
        ].
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
        imageCount := imageCount + 1.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    ].
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
     Image fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
readSingleIcon:iconType from:iconBytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
    "read a single image from the inputStream."
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
    ^ self 
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
        perform:('read_',(iconType copyReplaceAll:$# with:$_),'_from:') asSymbol 
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
        with:iconBytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
        ifNotUnderstood:[
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
            self breakPoint:#cg.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
            ('MacOSXIconReader: unsupported icon format: ',iconType) infoPrintCR.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
            ^ self fileFormatError:'unsupported icon format: ',iconType
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
        ].
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
     self fromFile:'test.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
! !
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
!MacOSXIconReader methodsFor:'image writing'!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
save:anImage onStream:aStream
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
    "save an icon to aStream."
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
    self saveAll:(Array with:anImage) onStream:aStream.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
     self 
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
        save:(Image fromScreen:(0@0 corner:16@16))
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
        onFile:'test.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
saveAll:aCollectionOfImages onStream:aStream
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
    "save a number of images to aStream."
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
    |tempFile tempFileStream|
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
    (aCollectionOfImages conform:
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
        [:eachImage |
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
            (eachImage width = eachImage height)
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
            and:[ (#(16 32 128 256 512 1024) includes:eachImage width)]
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
        ]
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
    ) ifFalse:[
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
        ^ self fileFormatError:'unsupported image size (must be square and width 16, 32, 128, 512 or 1024)'.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
    ].
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
3157
79d594623482 class: MacOSXIconReader
Stefan Vogel <sv@exept.de>
parents: 3135
diff changeset
   213
    tempFile := AutoDeletedFilename newTemporary.
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
    tempFileStream := tempFile writeStream.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
    tempFileStream binary.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
    aCollectionOfImages do:[:eachImage |
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
        |typeCode s data|
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
        s := WriteStream on:(ByteArray new:1024).
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
        PNGReader save:eachImage onStream:s.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
        data := s contents.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
        self assert:data notEmptyOrNil.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
        typeCode := #(16 32 128 256 512 1024) 
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
                    map: #('ipc4' 'ipc5' 'ic07' 'ic08' 'ic09' 'ic10')
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
                    at:eachImage width ifAbsent:[self error]. 
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
        tempFileStream nextPutBytes:typeCode.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
        tempFileStream nextPutLong:(data size + 4 + 4) MSB:true.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
        tempFileStream nextPutAll:data.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
    ].
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
    tempFileStream close.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
    aStream binary.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
    aStream nextPutBytes:'icns'.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
    aStream nextPutLong:(tempFile fileSize + 4 + 4) MSB:true.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
    aStream nextPutAll:(tempFile binaryContentsOfEntireFile).
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
    tempFile delete.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
     self 
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
        save:(Image fromScreen:(0@0 corner:16@16))
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
        onFile:'test.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
! !
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
!MacOSXIconReader methodsFor:'private'!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
3133
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   249
colormap4
3135
d44d3026a693 class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3134
diff changeset
   250
    ^ #[
3134
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   251
           16rFF 16rFF 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   252
           16rFC 16rF3 16r05
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   253
           16rFF 16r64 16r02
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   254
           16rDD 16r08 16r06
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   255
           16rF2 16r08 16r84
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   256
           16r46 16r00 16rA5
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   257
           16r00 16r00 16rD4
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   258
           16r02 16rAB 16rEA
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   259
           16r1F 16rB7 16r14
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   260
           16r00 16r64 16r11
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   261
           16r56 16r2C 16r05
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   262
           16r90 16r71 16r3A
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   263
           16rC0 16rC0 16rC0
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   264
           16r80 16r80 16r80
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   265
           16r40 16r40 16r40
3135
d44d3026a693 class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3134
diff changeset
   266
           16r00 16r00 16r00
d44d3026a693 class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3134
diff changeset
   267
    ]
3133
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   268
!
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   269
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   270
colormap8
3135
d44d3026a693 class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3134
diff changeset
   271
    ^ #[
3134
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   272
           16rFF 16rFF 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   273
           16rFF 16rFF 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   274
           16rFF 16rFF 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   275
           16rFF 16rFF 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   276
           16rFF 16rFF 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   277
           16rFF 16rFF 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   278
           16rFF 16rCC 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   279
           16rFF 16rCC 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   280
           16rFF 16rCC 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   281
           16rFF 16rCC 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   282
           16rFF 16rCC 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   283
           16rFF 16rCC 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   284
           16rFF 16r99 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   285
           16rFF 16r99 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   286
           16rFF 16r99 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   287
           16rFF 16r99 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   288
           16rFF 16r99 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   289
           16rFF 16r99 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   290
           16rFF 16r66 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   291
           16rFF 16r66 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   292
           16rFF 16r66 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   293
           16rFF 16r66 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   294
           16rFF 16r66 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   295
           16rFF 16r66 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   296
           16rFF 16r33 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   297
           16rFF 16r33 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   298
           16rFF 16r33 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   299
           16rFF 16r33 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   300
           16rFF 16r33 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   301
           16rFF 16r33 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   302
           16rFF 16r00 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   303
           16rFF 16r00 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   304
           16rFF 16r00 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   305
           16rFF 16r00 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   306
           16rFF 16r00 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   307
           16rFF 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   308
           16rCC 16rFF 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   309
           16rCC 16rFF 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   310
           16rCC 16rFF 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   311
           16rCC 16rFF 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   312
           16rCC 16rFF 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   313
           16rCC 16rFF 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   314
           16rCC 16rCC 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   315
           16rCC 16rCC 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   316
           16rCC 16rCC 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   317
           16rCC 16rCC 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   318
           16rCC 16rCC 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   319
           16rCC 16rCC 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   320
           16rCC 16r99 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   321
           16rCC 16r99 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   322
           16rCC 16r99 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   323
           16rCC 16r99 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   324
           16rCC 16r99 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   325
           16rCC 16r99 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   326
           16rCC 16r66 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   327
           16rCC 16r66 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   328
           16rCC 16r66 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   329
           16rCC 16r66 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   330
           16rCC 16r66 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   331
           16rCC 16r66 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   332
           16rCC 16r33 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   333
           16rCC 16r33 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   334
           16rCC 16r33 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   335
           16rCC 16r33 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   336
           16rCC 16r33 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   337
           16rCC 16r33 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   338
           16rCC 16r00 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   339
           16rCC 16r00 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   340
           16rCC 16r00 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   341
           16rCC 16r00 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   342
           16rCC 16r00 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   343
           16rCC 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   344
           16r99 16rFF 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   345
           16r99 16rFF 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   346
           16r99 16rFF 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   347
           16r99 16rFF 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   348
           16r99 16rFF 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   349
           16r99 16rFF 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   350
           16r99 16rCC 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   351
           16r99 16rCC 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   352
           16r99 16rCC 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   353
           16r99 16rCC 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   354
           16r99 16rCC 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   355
           16r99 16rCC 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   356
           16r99 16r99 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   357
           16r99 16r99 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   358
           16r99 16r99 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   359
           16r99 16r99 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   360
           16r99 16r99 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   361
           16r99 16r99 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   362
           16r99 16r66 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   363
           16r99 16r66 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   364
           16r99 16r66 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   365
           16r99 16r66 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   366
           16r99 16r66 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   367
           16r99 16r66 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   368
           16r99 16r33 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   369
           16r99 16r33 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   370
           16r99 16r33 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   371
           16r99 16r33 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   372
           16r99 16r33 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   373
           16r99 16r33 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   374
           16r99 16r00 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   375
           16r99 16r00 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   376
           16r99 16r00 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   377
           16r99 16r00 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   378
           16r99 16r00 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   379
           16r99 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   380
           16r66 16rFF 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   381
           16r66 16rFF 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   382
           16r66 16rFF 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   383
           16r66 16rFF 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   384
           16r66 16rFF 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   385
           16r66 16rFF 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   386
           16r66 16rCC 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   387
           16r66 16rCC 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   388
           16r66 16rCC 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   389
           16r66 16rCC 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   390
           16r66 16rCC 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   391
           16r66 16rCC 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   392
           16r66 16r99 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   393
           16r66 16r99 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   394
           16r66 16r99 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   395
           16r66 16r99 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   396
           16r66 16r99 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   397
           16r66 16r99 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   398
           16r66 16r66 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   399
           16r66 16r66 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   400
           16r66 16r66 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   401
           16r66 16r66 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   402
           16r66 16r66 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   403
           16r66 16r66 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   404
           16r66 16r33 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   405
           16r66 16r33 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   406
           16r66 16r33 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   407
           16r66 16r33 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   408
           16r66 16r33 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   409
           16r66 16r33 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   410
           16r66 16r00 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   411
           16r66 16r00 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   412
           16r66 16r00 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   413
           16r66 16r00 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   414
           16r66 16r00 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   415
           16r66 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   416
           16r33 16rFF 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   417
           16r33 16rFF 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   418
           16r33 16rFF 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   419
           16r33 16rFF 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   420
           16r33 16rFF 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   421
           16r33 16rFF 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   422
           16r33 16rCC 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   423
           16r33 16rCC 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   424
           16r33 16rCC 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   425
           16r33 16rCC 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   426
           16r33 16rCC 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   427
           16r33 16rCC 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   428
           16r33 16r99 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   429
           16r33 16r99 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   430
           16r33 16r99 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   431
           16r33 16r99 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   432
           16r33 16r99 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   433
           16r33 16r99 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   434
           16r33 16r66 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   435
           16r33 16r66 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   436
           16r33 16r66 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   437
           16r33 16r66 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   438
           16r33 16r66 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   439
           16r33 16r66 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   440
           16r33 16r33 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   441
           16r33 16r33 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   442
           16r33 16r33 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   443
           16r33 16r33 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   444
           16r33 16r33 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   445
           16r33 16r33 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   446
           16r33 16r00 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   447
           16r33 16r00 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   448
           16r33 16r00 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   449
           16r33 16r00 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   450
           16r33 16r00 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   451
           16r33 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   452
           16r00 16rFF 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   453
           16r00 16rFF 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   454
           16r00 16rFF 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   455
           16r00 16rFF 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   456
           16r00 16rFF 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   457
           16r00 16rFF 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   458
           16r00 16rCC 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   459
           16r00 16rCC 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   460
           16r00 16rCC 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   461
           16r00 16rCC 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   462
           16r00 16rCC 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   463
           16r00 16rCC 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   464
           16r00 16r99 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   465
           16r00 16r99 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   466
           16r00 16r99 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   467
           16r00 16r99 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   468
           16r00 16r99 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   469
           16r00 16r99 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   470
           16r00 16r66 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   471
           16r00 16r66 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   472
           16r00 16r66 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   473
           16r00 16r66 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   474
           16r00 16r66 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   475
           16r00 16r66 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   476
           16r00 16r33 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   477
           16r00 16r33 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   478
           16r00 16r33 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   479
           16r00 16r33 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   480
           16r00 16r33 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   481
           16r00 16r33 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   482
           16r00 16r00 16rFF
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   483
           16r00 16r00 16rCC
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   484
           16r00 16r00 16r99
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   485
           16r00 16r00 16r66
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   486
           16r00 16r00 16r33
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   487
           16rEE 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   488
           16rDD 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   489
           16rBB 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   490
           16rAA 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   491
           16r88 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   492
           16r77 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   493
           16r55 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   494
           16r44 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   495
           16r22 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   496
           16r11 16r00 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   497
           16r00 16rEE 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   498
           16r00 16rDD 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   499
           16r00 16rBB 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   500
           16r00 16rAA 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   501
           16r00 16r88 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   502
           16r00 16r77 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   503
           16r00 16r55 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   504
           16r00 16r44 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   505
           16r00 16r22 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   506
           16r00 16r11 16r00
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   507
           16r00 16r00 16rEE
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   508
           16r00 16r00 16rDD
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   509
           16r00 16r00 16rBB
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   510
           16r00 16r00 16rAA
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   511
           16r00 16r00 16r88
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   512
           16r00 16r00 16r77
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   513
           16r00 16r00 16r55
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   514
           16r00 16r00 16r44
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   515
           16r00 16r00 16r22
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   516
           16r00 16r00 16r11
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   517
           16rEE 16rEE 16rEE
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   518
           16rDD 16rDD 16rDD
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   519
           16rBB 16rBB 16rBB
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   520
           16rAA 16rAA 16rAA
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   521
           16r88 16r88 16r88
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   522
           16r77 16r77 16r77
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   523
           16r55 16r55 16r55
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   524
           16r44 16r44 16r44
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   525
           16r22 16r22 16r22
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   526
           16r11 16r11 16r11
3135
d44d3026a693 class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3134
diff changeset
   527
           16r00 16r00 16r00
d44d3026a693 class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3134
diff changeset
   528
    ]
3133
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   529
!
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   530
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
makeImage
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
    "image is already made"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
    ^ image
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
! !
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
!MacOSXIconReader methodsFor:'private reading'!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
readPNGOrJPEGFrom:bytes expectedSize:expectedSizeOrNil
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
    "read a PNG or JPEG image.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
     Helper for ipc4, ipc5, ic07, ic09, ic10 formats"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
    |img|
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
    img := PNGReader fromStream:(bytes readStream).
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
    img isNil ifTrue:[
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
        img := JPEGReader fromStream:(bytes readStream).
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
    ].
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
    expectedSizeOrNil notNil ifTrue:[
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
        self assert:(img width = expectedSizeOrNil).
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
        self assert:(img height = expectedSizeOrNil).
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
    ].
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
    ^ img
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
read_ICN__from:bytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
    "read an ICN# format icon"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
3184
de612ee1585e class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3157
diff changeset
   559
self halt:'unimplemented'.
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
    ^ nil
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   565
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   566
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
read_ic07_from:bytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
    "read an ic07 (PNG or JPEG, 128) format icon"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   569
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   570
    ^ self readPNGOrJPEGFrom:bytes expectedSize:128.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   572
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   573
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
     self fromFile:'test.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   576
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   578
read_ic08_from:bytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   579
    "read an ic08 (PNG or JPEG, 256) format icon"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   580
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
    ^ self readPNGOrJPEGFrom:bytes expectedSize:256.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
     self fromFile:'test.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   587
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
read_ic09_from:bytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
    "read an ic09 (PNG or JPEG, 512) format icon"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
    ^ self readPNGOrJPEGFrom:bytes expectedSize:512.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   595
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   596
     self fromFile:'test.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   597
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   599
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   600
read_ic10_from:bytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   601
    "read an ic10 (PNG or JPEG, 1024) format icon"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   602
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   603
    ^ self readPNGOrJPEGFrom:bytes expectedSize:1024.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   604
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   605
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
     self fromFile:'test.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   609
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   610
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   611
read_icl8_from:bytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   612
    "read an icl8 format icon"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   613
3184
de612ee1585e class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3157
diff changeset
   614
self halt:'unimplemented'.
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   615
    ^ nil
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   616
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   617
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   618
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   619
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   620
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   621
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   622
read_ics8_from:bytes
3133
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   623
    "read an ics8 format icon.
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   624
     ics8 is 256 bytes, 16x16x8bit"
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   625
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   626
    |pixelData img|
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   627
3133
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   628
    pixelData := (ByteArray new:256) replaceBytesWith:bytes; yourself.
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   629
    img := Depth8Image width:16 height:16 fromArray:pixelData.
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   630
    img photometric:#palette.
3134
e5600800caff class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3133
diff changeset
   631
    img colorMap:(Colormap rgbBytesVector:self colormap8).
3133
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   632
    ^ img
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   633
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   637
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   638
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   639
read_ics__from:bytes
3133
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   640
    "read an ics# format icon.
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   641
     ics# is 64 bytes, 16x16x1 monochrome + mask"
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   642
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   643
    |pixelData maskData img|
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   644
3133
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   645
    pixelData := (ByteArray new:32) replaceBytesFrom:1 to:32 with:bytes startingAt:1; yourself.
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   646
    maskData := (ByteArray new:32) replaceBytesFrom:1 to:32 with:bytes startingAt:32+1; yourself.
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   647
    img := Depth1Image width:16 height:16 fromArray:pixelData.
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   648
    img mask:(Depth1Image width:16 height:16 fromArray:maskData).
15c6915a53dc class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3132
diff changeset
   649
    ^ img
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   650
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   651
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   652
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   654
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   655
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   656
read_il32_from:bytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
    "read an il32 format icon"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
3184
de612ee1585e class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3157
diff changeset
   659
self halt:'unimplemented'.
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   660
    ^ nil
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   661
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   662
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   663
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   664
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   665
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   666
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   667
read_ipc4_from:bytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   668
    "read an ipc4 (PNG or JPEG, 16x16) format icon"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   669
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   670
    ^ self readPNGOrJPEGFrom:bytes expectedSize:16.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   671
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   672
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   673
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   674
     self fromFile:'test.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   675
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   676
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   677
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   678
read_ipc5_from:bytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   679
    "read an ipc5 (PNG or JPEG, 32) format icon"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   680
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   681
    ^ self readPNGOrJPEGFrom:bytes expectedSize:32.
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   682
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   683
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   684
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
     self fromFile:'test.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   686
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   687
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   688
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   689
read_is32_from:bytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   690
    "read an is32 format icon"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   691
3184
de612ee1585e class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3157
diff changeset
   692
self halt:'unimplemented'.
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   693
    ^ nil
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   697
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   698
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   699
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   700
read_it32_from:bytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   701
    "read an it32 format icon"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   702
3184
de612ee1585e class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3157
diff changeset
   703
self halt:'unimplemented'.
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   704
    ^ nil
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   705
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   706
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   707
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   708
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   709
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   710
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   711
read_l8mk_from:bytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   712
    "read an l8mk format icon"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   713
3184
de612ee1585e class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3157
diff changeset
   714
self halt:'unimplemented'.
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   715
    ^ nil
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   716
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   717
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   718
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   719
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   720
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   721
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   722
read_s8mk_from:bytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   723
    "read an s8mk format icon"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   724
3184
de612ee1585e class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3157
diff changeset
   725
self halt:'unimplemented'.
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   726
    ^ nil
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   727
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   729
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   730
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   731
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
read_t8mk_from:bytes
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   734
    "read an t8mk format icon"
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   735
3184
de612ee1585e class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3157
diff changeset
   736
self halt:'unimplemented'.
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   737
    ^ nil
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   738
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   739
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   740
     self fromFile:'/Applications/TextEdit.app/Contents/Resources/txt.icns'
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   741
    "
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   742
! !
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   743
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   744
!MacOSXIconReader class methodsFor:'documentation'!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   745
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   746
version
3184
de612ee1585e class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3157
diff changeset
   747
    ^ '$Header: /cvs/stx/stx/libview2/MacOSXIconReader.st,v 1.7 2013-06-20 22:47:18 cg Exp $'
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   748
!
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   749
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   750
version_CVS
3184
de612ee1585e class: MacOSXIconReader
Claus Gittinger <cg@exept.de>
parents: 3157
diff changeset
   751
    ^ '$Header: /cvs/stx/stx/libview2/MacOSXIconReader.st,v 1.7 2013-06-20 22:47:18 cg Exp $'
3121
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
! !
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   753
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   754
98e10307cc6a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   755
MacOSXIconReader initialize!