WinIconRdr.st
author claus
Fri, 16 Jul 1993 11:42:12 +0200
changeset 0 3f9277473954
child 3 78aaa5408119
permissions -rw-r--r--
Initial revision
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
3f9277473954 Initial revision
claus
parents:
diff changeset
     1
"
3f9277473954 Initial revision
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1993 by Claus Gittinger
3f9277473954 Initial revision
claus
parents:
diff changeset
     3
              All Rights Reserved
3f9277473954 Initial revision
claus
parents:
diff changeset
     4
3f9277473954 Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
3f9277473954 Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
3f9277473954 Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
3f9277473954 Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
3f9277473954 Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
3f9277473954 Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
3f9277473954 Initial revision
claus
parents:
diff changeset
    11
"
3f9277473954 Initial revision
claus
parents:
diff changeset
    12
3f9277473954 Initial revision
claus
parents:
diff changeset
    13
ImageReader subclass:#WindowsIconReader
3f9277473954 Initial revision
claus
parents:
diff changeset
    14
         instanceVariableNames:''
3f9277473954 Initial revision
claus
parents:
diff changeset
    15
         classVariableNames:''
3f9277473954 Initial revision
claus
parents:
diff changeset
    16
         poolDictionaries:''
3f9277473954 Initial revision
claus
parents:
diff changeset
    17
         category:'Graphics-Support'
3f9277473954 Initial revision
claus
parents:
diff changeset
    18
!
3f9277473954 Initial revision
claus
parents:
diff changeset
    19
3f9277473954 Initial revision
claus
parents:
diff changeset
    20
WindowsIconReader comment:'
3f9277473954 Initial revision
claus
parents:
diff changeset
    21
3f9277473954 Initial revision
claus
parents:
diff changeset
    22
COPYRIGHT (c) 1993 by Claus Gittinger
3f9277473954 Initial revision
claus
parents:
diff changeset
    23
              All Rights Reserved
3f9277473954 Initial revision
claus
parents:
diff changeset
    24
3f9277473954 Initial revision
claus
parents:
diff changeset
    25
this class provides methods for loading and saving Windows and OS2
3f9277473954 Initial revision
claus
parents:
diff changeset
    26
icon files..
3f9277473954 Initial revision
claus
parents:
diff changeset
    27
3f9277473954 Initial revision
claus
parents:
diff changeset
    28
%W% %E%
3f9277473954 Initial revision
claus
parents:
diff changeset
    29
written Jun 93 by claus
3f9277473954 Initial revision
claus
parents:
diff changeset
    30
'!
3f9277473954 Initial revision
claus
parents:
diff changeset
    31
3f9277473954 Initial revision
claus
parents:
diff changeset
    32
!WindowsIconReader methodsFor:'reading from file'!
3f9277473954 Initial revision
claus
parents:
diff changeset
    33
3f9277473954 Initial revision
claus
parents:
diff changeset
    34
fromWindowsFile: aFilename 
3f9277473954 Initial revision
claus
parents:
diff changeset
    35
    | fileSize header inDepth
3f9277473954 Initial revision
claus
parents:
diff changeset
    36
      rawMap rMap gMap bMap srcIndex dstIndex
3f9277473954 Initial revision
claus
parents:
diff changeset
    37
      data4 mask tmp bytesPerRow|
3f9277473954 Initial revision
claus
parents:
diff changeset
    38
3f9277473954 Initial revision
claus
parents:
diff changeset
    39
    inStream := FileStream readonlyFileNamed:aFilename.
3f9277473954 Initial revision
claus
parents:
diff changeset
    40
    inStream isNil ifTrue:[
3f9277473954 Initial revision
claus
parents:
diff changeset
    41
        'open error' printNewline. 
3f9277473954 Initial revision
claus
parents:
diff changeset
    42
        ^ nil
3f9277473954 Initial revision
claus
parents:
diff changeset
    43
    ].
3f9277473954 Initial revision
claus
parents:
diff changeset
    44
3f9277473954 Initial revision
claus
parents:
diff changeset
    45
    inStream binary.
3f9277473954 Initial revision
claus
parents:
diff changeset
    46
    fileSize := inStream size.
3f9277473954 Initial revision
claus
parents:
diff changeset
    47
3f9277473954 Initial revision
claus
parents:
diff changeset
    48
    "read the header"
3f9277473954 Initial revision
claus
parents:
diff changeset
    49
3f9277473954 Initial revision
claus
parents:
diff changeset
    50
    header := ByteArray new:16r50.
3f9277473954 Initial revision
claus
parents:
diff changeset
    51
    inStream nextBytes:16r50 into:header.
3f9277473954 Initial revision
claus
parents:
diff changeset
    52
    width := header at:7.
3f9277473954 Initial revision
claus
parents:
diff changeset
    53
    height := header at:8.
3f9277473954 Initial revision
claus
parents:
diff changeset
    54
    inDepth := header at:16r25.
3f9277473954 Initial revision
claus
parents:
diff changeset
    55
3f9277473954 Initial revision
claus
parents:
diff changeset
    56
    "read the colormap"
3f9277473954 Initial revision
claus
parents:
diff changeset
    57
3f9277473954 Initial revision
claus
parents:
diff changeset
    58
    rawMap := ByteArray new:(16*3).
3f9277473954 Initial revision
claus
parents:
diff changeset
    59
    inStream nextBytes:(16*3) into:rawMap.
3f9277473954 Initial revision
claus
parents:
diff changeset
    60
    rMap := Array new:16.
3f9277473954 Initial revision
claus
parents:
diff changeset
    61
    gMap := Array new:16.
3f9277473954 Initial revision
claus
parents:
diff changeset
    62
    bMap := Array new:16.
3f9277473954 Initial revision
claus
parents:
diff changeset
    63
    srcIndex := 1.
3f9277473954 Initial revision
claus
parents:
diff changeset
    64
    1 to:16 do:[:i |
3f9277473954 Initial revision
claus
parents:
diff changeset
    65
        rMap at:i put:(rawMap at:srcIndex).
3f9277473954 Initial revision
claus
parents:
diff changeset
    66
        srcIndex := srcIndex + 1.
3f9277473954 Initial revision
claus
parents:
diff changeset
    67
        gMap at:i put:(rawMap at:srcIndex).
3f9277473954 Initial revision
claus
parents:
diff changeset
    68
        srcIndex := srcIndex + 1.
3f9277473954 Initial revision
claus
parents:
diff changeset
    69
        bMap at:i put:(rawMap at:srcIndex).
3f9277473954 Initial revision
claus
parents:
diff changeset
    70
        srcIndex := srcIndex + 1.
3f9277473954 Initial revision
claus
parents:
diff changeset
    71
    ].
3f9277473954 Initial revision
claus
parents:
diff changeset
    72
3f9277473954 Initial revision
claus
parents:
diff changeset
    73
    inStream position:16r7F.
3f9277473954 Initial revision
claus
parents:
diff changeset
    74
3f9277473954 Initial revision
claus
parents:
diff changeset
    75
    "read the data bits"
3f9277473954 Initial revision
claus
parents:
diff changeset
    76
3f9277473954 Initial revision
claus
parents:
diff changeset
    77
    bytesPerRow := width * inDepth / 8.
3f9277473954 Initial revision
claus
parents:
diff changeset
    78
    data4 := ByteArray new:(height * bytesPerRow).
3f9277473954 Initial revision
claus
parents:
diff changeset
    79
    inStream nextBytes:(height * bytesPerRow) into:data4.
3f9277473954 Initial revision
claus
parents:
diff changeset
    80
3f9277473954 Initial revision
claus
parents:
diff changeset
    81
    "read mask"
3f9277473954 Initial revision
claus
parents:
diff changeset
    82
3f9277473954 Initial revision
claus
parents:
diff changeset
    83
"
3f9277473954 Initial revision
claus
parents:
diff changeset
    84
    mask := ByteArray new:(width * height / 8).
3f9277473954 Initial revision
claus
parents:
diff changeset
    85
    inStream nextBytes:(width * height / 8) into:mask.
3f9277473954 Initial revision
claus
parents:
diff changeset
    86
"
3f9277473954 Initial revision
claus
parents:
diff changeset
    87
3f9277473954 Initial revision
claus
parents:
diff changeset
    88
    "stupid: last row first"
3f9277473954 Initial revision
claus
parents:
diff changeset
    89
3f9277473954 Initial revision
claus
parents:
diff changeset
    90
    tmp := ByteArray new:(height * bytesPerRow).
3f9277473954 Initial revision
claus
parents:
diff changeset
    91
    srcIndex := 1.
3f9277473954 Initial revision
claus
parents:
diff changeset
    92
    dstIndex := (height - 1) * bytesPerRow + 1.
3f9277473954 Initial revision
claus
parents:
diff changeset
    93
    1 to:height do:[:row |
3f9277473954 Initial revision
claus
parents:
diff changeset
    94
        tmp replaceFrom:dstIndex to:(dstIndex + bytesPerRow - 1)
3f9277473954 Initial revision
claus
parents:
diff changeset
    95
                   with:data4 startingAt:srcIndex.
3f9277473954 Initial revision
claus
parents:
diff changeset
    96
        srcIndex := srcIndex + bytesPerRow.
3f9277473954 Initial revision
claus
parents:
diff changeset
    97
        dstIndex := dstIndex - bytesPerRow.
3f9277473954 Initial revision
claus
parents:
diff changeset
    98
    ].
3f9277473954 Initial revision
claus
parents:
diff changeset
    99
    data4 := tmp.
3f9277473954 Initial revision
claus
parents:
diff changeset
   100
3f9277473954 Initial revision
claus
parents:
diff changeset
   101
    "expand into bytes"
3f9277473954 Initial revision
claus
parents:
diff changeset
   102
3f9277473954 Initial revision
claus
parents:
diff changeset
   103
    data := ByteArray new:(width * height).
3f9277473954 Initial revision
claus
parents:
diff changeset
   104
    data4 expandPixels:inDepth width:width height:height
3f9277473954 Initial revision
claus
parents:
diff changeset
   105
                  into:data mapping:nil.
3f9277473954 Initial revision
claus
parents:
diff changeset
   106
3f9277473954 Initial revision
claus
parents:
diff changeset
   107
    photometric := #palette.
3f9277473954 Initial revision
claus
parents:
diff changeset
   108
    samplesPerPixel := 1.
3f9277473954 Initial revision
claus
parents:
diff changeset
   109
    bitsPerSample := #(8).
3f9277473954 Initial revision
claus
parents:
diff changeset
   110
    colorMap := Array with:rMap with:gMap with:bMap.
3f9277473954 Initial revision
claus
parents:
diff changeset
   111
    inStream close.
3f9277473954 Initial revision
claus
parents:
diff changeset
   112
3f9277473954 Initial revision
claus
parents:
diff changeset
   113
    "
3f9277473954 Initial revision
claus
parents:
diff changeset
   114
     |i f|
3f9277473954 Initial revision
claus
parents:
diff changeset
   115
     i := Image fromFile:'/LocalLibrary/Images/WIN_icons/ibm.ico'.
3f9277473954 Initial revision
claus
parents:
diff changeset
   116
     f := i asFormOn:Display.
3f9277473954 Initial revision
claus
parents:
diff changeset
   117
     v drawOpaqueForm:(f ) x:5 y:5.
3f9277473954 Initial revision
claus
parents:
diff changeset
   118
     v drawOpaqueForm:(f magnifyBy:2@2) x:45 y:5
3f9277473954 Initial revision
claus
parents:
diff changeset
   119
    "
3f9277473954 Initial revision
claus
parents:
diff changeset
   120
!
3f9277473954 Initial revision
claus
parents:
diff changeset
   121
3f9277473954 Initial revision
claus
parents:
diff changeset
   122
fromOS2File: aFilename 
3f9277473954 Initial revision
claus
parents:
diff changeset
   123
    | fileSize header inDepth
3f9277473954 Initial revision
claus
parents:
diff changeset
   124
      rawMap rMap gMap bMap srcIndex dstIndex
3f9277473954 Initial revision
claus
parents:
diff changeset
   125
      data4 mask tmp bytesPerRow nColors|
3f9277473954 Initial revision
claus
parents:
diff changeset
   126
3f9277473954 Initial revision
claus
parents:
diff changeset
   127
    inStream := FileStream readonlyFileNamed:aFilename.
3f9277473954 Initial revision
claus
parents:
diff changeset
   128
    inStream isNil ifTrue:[
3f9277473954 Initial revision
claus
parents:
diff changeset
   129
        'open error' printNewline. 
3f9277473954 Initial revision
claus
parents:
diff changeset
   130
        ^ nil
3f9277473954 Initial revision
claus
parents:
diff changeset
   131
    ].
3f9277473954 Initial revision
claus
parents:
diff changeset
   132
3f9277473954 Initial revision
claus
parents:
diff changeset
   133
    inStream binary.
3f9277473954 Initial revision
claus
parents:
diff changeset
   134
    fileSize := inStream size.
3f9277473954 Initial revision
claus
parents:
diff changeset
   135
3f9277473954 Initial revision
claus
parents:
diff changeset
   136
    "read the header"
3f9277473954 Initial revision
claus
parents:
diff changeset
   137
3f9277473954 Initial revision
claus
parents:
diff changeset
   138
    header := ByteArray new:8r110.
3f9277473954 Initial revision
claus
parents:
diff changeset
   139
    inStream nextBytes:16 into:header.
3f9277473954 Initial revision
claus
parents:
diff changeset
   140
    (header startsWith:#(73 67)) ifTrue:[
3f9277473954 Initial revision
claus
parents:
diff changeset
   141
        "IC format"
3f9277473954 Initial revision
claus
parents:
diff changeset
   142
        inStream nextBytes:10 into:header startingAt:17.
3f9277473954 Initial revision
claus
parents:
diff changeset
   143
        width := header at:7.
3f9277473954 Initial revision
claus
parents:
diff changeset
   144
        height := header at:9.
3f9277473954 Initial revision
claus
parents:
diff changeset
   145
        inDepth := 2 "header at:11". "where is it"
3f9277473954 Initial revision
claus
parents:
diff changeset
   146
    ] ifFalse:[
3f9277473954 Initial revision
claus
parents:
diff changeset
   147
        inStream nextBytes:(8r110-16) into:header startingAt:17.
3f9277473954 Initial revision
claus
parents:
diff changeset
   148
        width := header at:8r101.
3f9277473954 Initial revision
claus
parents:
diff changeset
   149
        height := header at:8r103.
3f9277473954 Initial revision
claus
parents:
diff changeset
   150
        inDepth := header at:8r107.
3f9277473954 Initial revision
claus
parents:
diff changeset
   151
    ].
3f9277473954 Initial revision
claus
parents:
diff changeset
   152
3f9277473954 Initial revision
claus
parents:
diff changeset
   153
    "read the colormap"
3f9277473954 Initial revision
claus
parents:
diff changeset
   154
3f9277473954 Initial revision
claus
parents:
diff changeset
   155
    nColors := 1 bitShift:inDepth.
3f9277473954 Initial revision
claus
parents:
diff changeset
   156
3f9277473954 Initial revision
claus
parents:
diff changeset
   157
    rawMap := ByteArray new:(nColors*3).
3f9277473954 Initial revision
claus
parents:
diff changeset
   158
    inStream nextBytes:(nColors*3) into:rawMap.
3f9277473954 Initial revision
claus
parents:
diff changeset
   159
    rMap := Array new:nColors.
3f9277473954 Initial revision
claus
parents:
diff changeset
   160
    gMap := Array new:nColors.
3f9277473954 Initial revision
claus
parents:
diff changeset
   161
    bMap := Array new:nColors.
3f9277473954 Initial revision
claus
parents:
diff changeset
   162
    srcIndex := 1.
3f9277473954 Initial revision
claus
parents:
diff changeset
   163
    1 to:nColors do:[:i |
3f9277473954 Initial revision
claus
parents:
diff changeset
   164
        bMap at:i put:(rawMap at:srcIndex).
3f9277473954 Initial revision
claus
parents:
diff changeset
   165
        srcIndex := srcIndex + 1.
3f9277473954 Initial revision
claus
parents:
diff changeset
   166
        gMap at:i put:(rawMap at:srcIndex).
3f9277473954 Initial revision
claus
parents:
diff changeset
   167
        srcIndex := srcIndex + 1.
3f9277473954 Initial revision
claus
parents:
diff changeset
   168
        rMap at:i put:(rawMap at:srcIndex).
3f9277473954 Initial revision
claus
parents:
diff changeset
   169
        srcIndex := srcIndex + 1.
3f9277473954 Initial revision
claus
parents:
diff changeset
   170
    ].
3f9277473954 Initial revision
claus
parents:
diff changeset
   171
3f9277473954 Initial revision
claus
parents:
diff changeset
   172
    "read mask"
3f9277473954 Initial revision
claus
parents:
diff changeset
   173
3f9277473954 Initial revision
claus
parents:
diff changeset
   174
    mask := ByteArray new:(width * height / 8).
3f9277473954 Initial revision
claus
parents:
diff changeset
   175
    inStream nextBytes:(width * height / 8) into:mask.
3f9277473954 Initial revision
claus
parents:
diff changeset
   176
3f9277473954 Initial revision
claus
parents:
diff changeset
   177
    "what is this"
3f9277473954 Initial revision
claus
parents:
diff changeset
   178
3f9277473954 Initial revision
claus
parents:
diff changeset
   179
    inStream nextBytes:(width * height / 8) into:mask.
3f9277473954 Initial revision
claus
parents:
diff changeset
   180
3f9277473954 Initial revision
claus
parents:
diff changeset
   181
    "read the data bits"
3f9277473954 Initial revision
claus
parents:
diff changeset
   182
3f9277473954 Initial revision
claus
parents:
diff changeset
   183
    bytesPerRow := width * inDepth / 8.
3f9277473954 Initial revision
claus
parents:
diff changeset
   184
    data4 := ByteArray new:(height * bytesPerRow).
3f9277473954 Initial revision
claus
parents:
diff changeset
   185
    inStream nextBytes:(height * bytesPerRow) into:data4.
3f9277473954 Initial revision
claus
parents:
diff changeset
   186
3f9277473954 Initial revision
claus
parents:
diff changeset
   187
    "stupid: last row first"
3f9277473954 Initial revision
claus
parents:
diff changeset
   188
3f9277473954 Initial revision
claus
parents:
diff changeset
   189
    tmp := ByteArray new:(height * bytesPerRow).
3f9277473954 Initial revision
claus
parents:
diff changeset
   190
    srcIndex := 1.
3f9277473954 Initial revision
claus
parents:
diff changeset
   191
    dstIndex := (height - 1) * bytesPerRow + 1.
3f9277473954 Initial revision
claus
parents:
diff changeset
   192
    1 to:height do:[:row |
3f9277473954 Initial revision
claus
parents:
diff changeset
   193
        tmp replaceFrom:dstIndex to:(dstIndex + bytesPerRow - 1)
3f9277473954 Initial revision
claus
parents:
diff changeset
   194
                   with:data4 startingAt:srcIndex.
3f9277473954 Initial revision
claus
parents:
diff changeset
   195
        srcIndex := srcIndex + bytesPerRow.
3f9277473954 Initial revision
claus
parents:
diff changeset
   196
        dstIndex := dstIndex - bytesPerRow.
3f9277473954 Initial revision
claus
parents:
diff changeset
   197
    ].
3f9277473954 Initial revision
claus
parents:
diff changeset
   198
    data4 := tmp.
3f9277473954 Initial revision
claus
parents:
diff changeset
   199
3f9277473954 Initial revision
claus
parents:
diff changeset
   200
    "expand into bytes"
3f9277473954 Initial revision
claus
parents:
diff changeset
   201
3f9277473954 Initial revision
claus
parents:
diff changeset
   202
    data := ByteArray new:(width * height).
3f9277473954 Initial revision
claus
parents:
diff changeset
   203
    data4 expandPixels:inDepth width:width height:height
3f9277473954 Initial revision
claus
parents:
diff changeset
   204
                  into:data mapping:nil.
3f9277473954 Initial revision
claus
parents:
diff changeset
   205
3f9277473954 Initial revision
claus
parents:
diff changeset
   206
    photometric := #palette.
3f9277473954 Initial revision
claus
parents:
diff changeset
   207
    samplesPerPixel := 1.
3f9277473954 Initial revision
claus
parents:
diff changeset
   208
    bitsPerSample := #(8).
3f9277473954 Initial revision
claus
parents:
diff changeset
   209
    colorMap := Array with:rMap with:gMap with:bMap.
3f9277473954 Initial revision
claus
parents:
diff changeset
   210
    inStream close.
3f9277473954 Initial revision
claus
parents:
diff changeset
   211
3f9277473954 Initial revision
claus
parents:
diff changeset
   212
    "
3f9277473954 Initial revision
claus
parents:
diff changeset
   213
     |i f|
3f9277473954 Initial revision
claus
parents:
diff changeset
   214
     i := Image fromFile:'/LocalLibrary/Images/OS2/dos3.ico'.
3f9277473954 Initial revision
claus
parents:
diff changeset
   215
     f := i asFormOn:Display.
3f9277473954 Initial revision
claus
parents:
diff changeset
   216
     v drawOpaqueForm:(f magnifyBy:2@2) x:5 y:5
3f9277473954 Initial revision
claus
parents:
diff changeset
   217
    "
3f9277473954 Initial revision
claus
parents:
diff changeset
   218
!
3f9277473954 Initial revision
claus
parents:
diff changeset
   219
3f9277473954 Initial revision
claus
parents:
diff changeset
   220
fromFile: aFilename 
3f9277473954 Initial revision
claus
parents:
diff changeset
   221
    | fileSize header |
3f9277473954 Initial revision
claus
parents:
diff changeset
   222
3f9277473954 Initial revision
claus
parents:
diff changeset
   223
    inStream := FileStream readonlyFileNamed:aFilename.
3f9277473954 Initial revision
claus
parents:
diff changeset
   224
    inStream isNil ifTrue:[
3f9277473954 Initial revision
claus
parents:
diff changeset
   225
        'open error' printNewline. 
3f9277473954 Initial revision
claus
parents:
diff changeset
   226
        ^ nil
3f9277473954 Initial revision
claus
parents:
diff changeset
   227
    ].
3f9277473954 Initial revision
claus
parents:
diff changeset
   228
3f9277473954 Initial revision
claus
parents:
diff changeset
   229
    inStream binary.
3f9277473954 Initial revision
claus
parents:
diff changeset
   230
    fileSize := inStream size.
3f9277473954 Initial revision
claus
parents:
diff changeset
   231
3f9277473954 Initial revision
claus
parents:
diff changeset
   232
    fileSize < 16 ifTrue:[
3f9277473954 Initial revision
claus
parents:
diff changeset
   233
        inStream close.
3f9277473954 Initial revision
claus
parents:
diff changeset
   234
        self error:'short file'.
3f9277473954 Initial revision
claus
parents:
diff changeset
   235
        ^ nil
3f9277473954 Initial revision
claus
parents:
diff changeset
   236
    ].
3f9277473954 Initial revision
claus
parents:
diff changeset
   237
3f9277473954 Initial revision
claus
parents:
diff changeset
   238
    header := ByteArray new:16.
3f9277473954 Initial revision
claus
parents:
diff changeset
   239
    inStream nextBytes:16 into:header.
3f9277473954 Initial revision
claus
parents:
diff changeset
   240
    (header startsWith:#(66 65)) ifTrue:[     "BA"
3f9277473954 Initial revision
claus
parents:
diff changeset
   241
        inStream close.
3f9277473954 Initial revision
claus
parents:
diff changeset
   242
        ^ self fromOS2File:aFilename
3f9277473954 Initial revision
claus
parents:
diff changeset
   243
    ].
3f9277473954 Initial revision
claus
parents:
diff changeset
   244
    (header startsWith:#(73 67)) ifTrue:[     "IC"
3f9277473954 Initial revision
claus
parents:
diff changeset
   245
        inStream close.
3f9277473954 Initial revision
claus
parents:
diff changeset
   246
        ^ self fromOS2File:aFilename
3f9277473954 Initial revision
claus
parents:
diff changeset
   247
    ].
3f9277473954 Initial revision
claus
parents:
diff changeset
   248
    (header startsWith:#(0 0 1 0 1 0)) ifTrue:[
3f9277473954 Initial revision
claus
parents:
diff changeset
   249
        inStream close.
3f9277473954 Initial revision
claus
parents:
diff changeset
   250
        ^ self fromWindowsFile:aFilename
3f9277473954 Initial revision
claus
parents:
diff changeset
   251
    ].
3f9277473954 Initial revision
claus
parents:
diff changeset
   252
    self error:'format not supported'.
3f9277473954 Initial revision
claus
parents:
diff changeset
   253
    inStream close.
3f9277473954 Initial revision
claus
parents:
diff changeset
   254
    ^ nil
3f9277473954 Initial revision
claus
parents:
diff changeset
   255
3f9277473954 Initial revision
claus
parents:
diff changeset
   256
    "Image fromFile:'/LocalLibrary/Images/OS2_icons/dos.ico'"
3f9277473954 Initial revision
claus
parents:
diff changeset
   257
! !