BlitImageReader.st
author Claus Gittinger <cg@exept.de>
Thu, 21 Mar 1996 18:59:34 +0100
changeset 176 3890e2b312e0
parent 141 977cb52010f9
child 206 975f42e01bb1
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
118
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
     1
"
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
     2
 COPYRIGHT (c) 1995 by Claus Gittinger
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
     3
	      All Rights Reserved
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
     4
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
     5
 This software is furnished under a license and may be used
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
     6
 only in accordance with the terms of that license and with the
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
     8
 be provided or otherwise made available to, or used by, any
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
     9
 other person.  No title to or ownership of the software is
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    10
 hereby transferred.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    11
"
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    12
113
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    13
'From Smalltalk/X, Version:2.10.8 on 9-nov-1995 at 17:56:18'                    !
112
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
ImageReader subclass:#BlitImageReader
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	 instanceVariableNames:''
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	 classVariableNames:''
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	 poolDictionaries:''
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	 category:'Graphics-Images support'
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
!
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
!BlitImageReader class methodsFor:'documentation'!
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
version
141
977cb52010f9 double exclas in the comment
Claus Gittinger <cg@exept.de>
parents: 133
diff changeset
    25
    ^ '$Header: /cvs/stx/stx/libview2/BlitImageReader.st,v 1.6 1995-12-12 17:37:50 cg Exp $'
112
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
!
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
documentation
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
"
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
    A q&d hack to read 48x48x1 Blit images (faces)
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
"
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
!
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
examples
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
"
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
    Image fromFile:'.../.../48x48x1'
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
"
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
!
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
118
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    40
copyright 
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    41
"
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    42
 COPYRIGHT (c) 1995 by Claus Gittinger
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    43
	      All Rights Reserved
112
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
118
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    45
 This software is furnished under a license and may be used
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    46
 only in accordance with the terms of that license and with the
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    47
 inclusion of the above copyright notice.   This software may not
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    48
 be provided or otherwise made available to, or used by, any
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    49
 other person.  No title to or ownership of the software is
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    50
 hereby transferred.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    51
"
112
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
! !
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
!BlitImageReader class methodsFor:'initialization'!
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
initialize
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    Image fileFormats at:'48x48x1'  put:self.
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    "
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
     BlitImageReader initialize
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    "
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    "Created: 9.11.1995 / 17:05:04 / cg"
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
    "Modified: 9.11.1995 / 17:06:28 / cg"
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
! !
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
113
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    67
!BlitImageReader class methodsFor:'special formats'!
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    68
118
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    69
uncompressString:aString
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    70
    "given a compressed string (as present in mail-headers),
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    71
     return a string in 48x48x1 BlitImage fromat.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    72
     Since I am not willing to port/include the uncompface stuff into ST/X,
113
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    73
     open a pipe to the uncompressor.
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    74
     If you dont have compface/uncompface, get it from your nearest ftp server."
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    75
118
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    76
    |f s str|
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    77
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    78
    f := Filename newTemporary.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    79
    s := f writeStream.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    80
    s nextPutAll:aString.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    81
    s close.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    82
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    83
    s := PipeStream readingFrom:('uncompface ' , f name).
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    84
    s isNil ifTrue:[
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    85
	'BLITIMGREADER: no uncompface utility.' errorPrintNL.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    86
	f delete.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    87
	^ nil
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    88
    ].
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    89
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    90
    str := s contents asString.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    91
    s close.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    92
    f delete.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    93
    ^ str
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    94
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    95
    "   
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    96
     |s|
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    97
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    98
     s := '
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
    99
Iqsa(US9p?)Y^W
141
977cb52010f9 double exclas in the comment
Claus Gittinger <cg@exept.de>
parents: 133
diff changeset
   100
+6Ff[Z]<t?\A!!eaL''DG{20*#{C1;''Ct&}L}B^/1(aYI@hP)4!!<}7D=2gm
977cb52010f9 double exclas in the comment
Claus Gittinger <cg@exept.de>
parents: 133
diff changeset
   101
8!!$T`8QNfK<te\20%A\`wm*wa2' , Character doubleQuote asString , '^Up*Qs' , Character doubleQuote asString ,
118
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   102
'X}KeV*3XeB2te&sKp*t`N;^BDh[6=K{ZBE=O>rM' , Character doubleQuote asString , 'uFE)
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   103
lFDjag1e]\/#2'.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   104
    BlitImageReader uncompressString:s
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   105
    "
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   106
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   107
    "Created: 9.11.1995 / 17:55:19 / cg"
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   108
    "Modified: 21.11.1995 / 19:28:41 / cg"
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   109
!
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   110
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   111
fromCompressedString:aString
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   112
    "given a compressed image string (such as present in mail headers),
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   113
     return a Depth1Image for it.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   114
     Since I am not willing to port/include the uncompface stuff into ST/X,
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   115
     open a pipe to the uncompressor.
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   116
     If you dont have compface/uncompface, get it from your nearest ftp server."
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   117
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   118
    |f s img|
113
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   119
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   120
    f := Filename newTemporary.
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   121
    s := f writeStream.
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   122
    s nextPutAll:aString.
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   123
    s close.
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   124
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   125
    s := PipeStream readingFrom:('uncompface ' , f name).
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   126
    s isNil ifTrue:[
114
e577a2f332d0 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 113
diff changeset
   127
	'BLITIMGREADER: no uncompface utility.' errorPrintNL.
118
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   128
	f delete.
114
e577a2f332d0 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 113
diff changeset
   129
	^ nil
113
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   130
    ].
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   131
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   132
    img := self fromStream:s.
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   133
    s close.
118
7f0415d8308d new method to uncompress blit-formatted strings
Claus Gittinger <cg@exept.de>
parents: 114
diff changeset
   134
    f delete.
113
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   135
    ^ img
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   136
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   137
    "   
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   138
     |s|
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   139
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   140
     s := '
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   141
Iqsa(US9p?)Y^W
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   142
+6Ff[Z]<t?\A!!eaL''DG{20*#{C1;''Ct&}L}B^/1(aYI@hP)4!!<}7D=2gm
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   143
8!!$T`8QNfK<te\20%A\`wm*wa2' , Character doubleQuote asString , '^Up*Qs' , Character doubleQuote asString ,
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   144
'X}KeV*3XeB2te&sKp*t`N;^BDh[6=K{ZBE=O>rM' , Character doubleQuote asString , 'uFE)
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   145
lFDjag1e]\/#2'.
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   146
    BlitImageReader fromCompressedString:s
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   147
    "
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   148
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   149
    "Created: 9.11.1995 / 17:55:19 / cg"
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   150
    "Modified: 9.11.1995 / 17:56:07 / cg"
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   151
! !
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   152
112
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
!BlitImageReader class methodsFor:'testing'!
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
isValidImageFile:aFileName
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
    "return true, if aFileName contains a GIF image"
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
    ^ aFileName = '48x48x1'
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    "Created: 9.11.1995 / 17:04:29 / cg"
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
! !
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
!BlitImageReader methodsFor:'reading'!
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
fromStream:aStream
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
    |line 
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
     dstIndex "{ Class: SmallInteger }"
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
     bytesPerRow
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
     s words nm|
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
113
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   171
    width := height := 48.
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   172
    bytesPerRow := width // 8.
112
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
    data := ByteArray new:(bytesPerRow * height).
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
    dstIndex := 1.
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
    [aStream atEnd] whileFalse:[
113
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   178
	line := aStream nextLine.
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   179
	line notNil ifTrue:[
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   180
	    words := (line asCollectionOfSubstringsSeparatedBy:$,) asOrderedCollection.
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   181
	    words last isEmpty ifTrue:[
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   182
		words removeLast
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   183
	    ].
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   184
	    words do:[:w |
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   185
		|s bits|
112
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
113
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   187
		s := w readStream.
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   188
		s skip:2.
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   189
		bits := Integer readFrom:s radix:16 onError:0. 
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   190
		data at:dstIndex put:(bits bitShift:-8).
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   191
		data at:dstIndex+1 put:(bits bitAnd:16rFF).
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   192
		dstIndex := dstIndex + 2
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   193
	    ]
465cc202f0fe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
   194
	]
112
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
    ].
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
    photometric := #whiteIs0.
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
    samplesPerPixel := 1.
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
    bitsPerSample := #(1)
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
    "
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
     BlitImageReader fromFile:'/tmp/faces/facedir/facedir/misc./acsnet/48x48x1'
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
    "
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
    "Created: 9.11.1995 / 17:03:04 / cg"
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
! !
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
9b59ed94db13 q&d hack (for Blit faces)
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
BlitImageReader initialize!