62 |
62 |
63 inStream := self streamReadingFile:aFileName. |
63 inStream := self streamReadingFile:aFileName. |
64 inStream isNil ifTrue:[^ false]. |
64 inStream isNil ifTrue:[^ false]. |
65 |
65 |
66 inStream binary. |
66 inStream binary. |
67 inStream size < 16 ifTrue:[ |
|
68 ^ false |
|
69 ]. |
|
70 |
|
71 header := ByteArray uninitializedNew:4. |
|
72 inStream nextBytes:4 into:header. |
|
73 |
|
74 ok := false. |
67 ok := false. |
75 (header startsWith:#(66 77)) ifTrue:[ "BM" |
68 inStream size > 16 ifTrue:[ |
76 ok := true. |
69 header := ByteArray uninitializedNew:4. |
77 "/ 'WINREADER: Win3.x or OS/2 vsn 2 BM format' infoPrintNL. |
70 inStream nextBytes:4 into:header. |
78 ]. |
71 |
79 (header startsWith:#(66 65)) ifTrue:[ "BA" |
72 (header startsWith:#(66 77)) ifTrue:[ "BM" |
80 ok := true. |
73 ok := true. |
81 "/ 'WINREADER: OS/2 vsn 2 BA format' infoPrintNL. |
74 "/ 'WINREADER: Win3.x or OS/2 vsn 2 BM format' infoPrintNL. |
82 ]. |
75 ]. |
83 (header startsWith:#(73 67)) ifTrue:[ "IC" |
76 (header startsWith:#(66 65)) ifTrue:[ "BA" |
84 ok := true. |
77 ok := true. |
85 "/ 'WINREADER: OS/2 IC format' infoPrintNL. |
78 "/ 'WINREADER: OS/2 vsn 2 BA format' infoPrintNL. |
86 ]. |
79 ]. |
87 (header startsWith:#(80 84)) ifTrue:[ "PT" |
80 (header startsWith:#(73 67)) ifTrue:[ "IC" |
88 ok := true. |
81 ok := true. |
89 "/ 'WINREADER: OS/2 PT format' infoPrintNL. |
82 "/ 'WINREADER: OS/2 IC format' infoPrintNL. |
90 ]. |
83 ]. |
91 (header startsWith:#(0 0 1 0)) ifTrue:[ |
84 (header startsWith:#(80 84)) ifTrue:[ "PT" |
92 ok := true. |
85 ok := true. |
93 "/ 'WINREADER: Win3.x ICO format' infoPrintNL. |
86 "/ 'WINREADER: OS/2 PT format' infoPrintNL. |
94 ]. |
87 ]. |
95 ok ifFalse:[^ false]. |
88 (header startsWith:#(0 0 1 0)) ifTrue:[ |
96 ^ true |
89 ok := true. |
|
90 "/ 'WINREADER: Win3.x ICO format' infoPrintNL. |
|
91 ]. |
|
92 ]. |
|
93 inStream close. |
|
94 ^ ok |
97 |
95 |
98 " |
96 " |
99 WindowsIconReader isValidImageFile:'/phys/clam2/LocalLibrary/Images/OS2_icons/dos.ico' |
97 WindowsIconReader isValidImageFile:'/phys/clam2/LocalLibrary/Images/OS2_icons/dos.ico' |
100 " |
98 " |
101 |
99 |