Form.st
author claus
Tue, 06 Jun 1995 06:09:07 +0200
changeset 151 8123ec03c52f
parent 134 1a09a1d7d28d
child 153 c56277fa4865
permissions -rw-r--r--
.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
48194c26a46c Initial revision
claus
parents:
diff changeset
     1
"
6
7ee0cfde237d *** empty log message ***
claus
parents: 5
diff changeset
     2
 COPYRIGHT (c) 1989 by Claus Gittinger
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
     3
	      All Rights Reserved
0
48194c26a46c Initial revision
claus
parents:
diff changeset
     4
48194c26a46c Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
48194c26a46c Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
48194c26a46c Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
48194c26a46c Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
48194c26a46c Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
48194c26a46c Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
48194c26a46c Initial revision
claus
parents:
diff changeset
    11
"
48194c26a46c Initial revision
claus
parents:
diff changeset
    12
48194c26a46c Initial revision
claus
parents:
diff changeset
    13
DeviceDrawable subclass:#Form
48194c26a46c Initial revision
claus
parents:
diff changeset
    14
       instanceVariableNames:'depth localColorMap offset data fileName'
48194c26a46c Initial revision
claus
parents:
diff changeset
    15
       classVariableNames:'VeryLightGreyForm LightGreyForm GreyForm 
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
    16
			   DarkGreyForm VeryDarkGreyForm
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    17
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
    18
			   AdditionalBitmapDirectoryNames
126
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
    19
			   BlackAndWhiteColorMap DitherPatternArray'
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    20
       poolDictionaries:''
48194c26a46c Initial revision
claus
parents:
diff changeset
    21
       category:'Graphics-Display Objects'
48194c26a46c Initial revision
claus
parents:
diff changeset
    22
!
48194c26a46c Initial revision
claus
parents:
diff changeset
    23
48194c26a46c Initial revision
claus
parents:
diff changeset
    24
Form comment:'
46
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    25
COPYRIGHT (c) 1989 by Claus Gittinger
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
    26
	      All Rights Reserved
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
    27
151
claus
parents: 134
diff changeset
    28
$Header: /cvs/stx/stx/libview/Form.st,v 1.27 1995-06-06 04:06:45 claus Exp $
46
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    29
'!
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    30
46
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    31
!Form class methodsFor:'documentation'!
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    32
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    33
copyright
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    34
"
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    35
 COPYRIGHT (c) 1989 by Claus Gittinger
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
    36
	      All Rights Reserved
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    37
46
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    38
 This software is furnished under a license and may be used
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    39
 only in accordance with the terms of that license and with the
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    40
 inclusion of the above copyright notice.   This software may not
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    41
 be provided or otherwise made available to, or used by, any
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    42
 other person.  No title to or ownership of the software is
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    43
 hereby transferred.
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    44
"
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    45
!
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    46
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    47
version
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    48
"
151
claus
parents: 134
diff changeset
    49
$Header: /cvs/stx/stx/libview/Form.st,v 1.27 1995-06-06 04:06:45 claus Exp $
46
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    50
"
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    51
!
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    52
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    53
documentation
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    54
"
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    55
    Instances of this class represent forms (i.e. bit- and pixmaps)
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    56
    which can be created on the drawing device. In X, these are XPixmaps.
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    57
    Not all devices will support forms.
134
claus
parents: 133
diff changeset
    58
claus
parents: 133
diff changeset
    59
    NOTICE:
claus
parents: 133
diff changeset
    60
	the Form class is a historic leftover and now only used for real
claus
parents: 133
diff changeset
    61
	device forms (i.e. on devices which support downloading bitmaps).
claus
parents: 133
diff changeset
    62
	In your application, you should always use Image, both for compatibility
claus
parents: 133
diff changeset
    63
	with ST-80 and for device independence, since Form may not be supported
claus
parents: 133
diff changeset
    64
	by all devices (for example: PostscriptPrinters).
46
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    65
"
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    66
! !
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    67
48194c26a46c Initial revision
claus
parents:
diff changeset
    68
!Form class methodsFor:'initialization'!
48194c26a46c Initial revision
claus
parents:
diff changeset
    69
48194c26a46c Initial revision
claus
parents:
diff changeset
    70
initialize
126
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
    71
    "initialize set of dictionaries to look for bitmaps"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    72
48194c26a46c Initial revision
claus
parents:
diff changeset
    73
    AdditionalBitmapDirectoryNames isNil ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
    74
	AdditionalBitmapDirectoryNames := #('/usr/lib/X11/bitmaps').
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    75
    
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
    76
	"want to be informed when returning from snapshot"
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
    77
	ObjectMemory addDependent:self.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    78
    ]
48194c26a46c Initial revision
claus
parents:
diff changeset
    79
!
48194c26a46c Initial revision
claus
parents:
diff changeset
    80
48194c26a46c Initial revision
claus
parents:
diff changeset
    81
reinitializeAllOn:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
    82
    "recreate all forms on aDevice; called by Workstation, to
48194c26a46c Initial revision
claus
parents:
diff changeset
    83
     have all background bitmaps at hand, when views are restored"
48194c26a46c Initial revision
claus
parents:
diff changeset
    84
127
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
    85
    Lobby do:[:aDrawable |
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
    86
	(aDrawable device == aDevice) ifTrue:[
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
    87
	    aDrawable isForm ifTrue:[
126
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
    88
		"now, try to recreate it"
127
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
    89
		aDrawable recreate.
126
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
    90
	    ]
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
    91
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    92
    ]
48194c26a46c Initial revision
claus
parents:
diff changeset
    93
!
48194c26a46c Initial revision
claus
parents:
diff changeset
    94
48194c26a46c Initial revision
claus
parents:
diff changeset
    95
update:something
48194c26a46c Initial revision
claus
parents:
diff changeset
    96
    "sent just before snapOut and just after a snapIn"
48194c26a46c Initial revision
claus
parents:
diff changeset
    97
48194c26a46c Initial revision
claus
parents:
diff changeset
    98
    (something == #save) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
    99
	"get all bits from the device into saveable arrays"
127
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
   100
	Lobby do:[:aDrawable |
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
   101
	    aDrawable isForm ifTrue:[
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
   102
		aDrawable getBits
126
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
   103
	    ]
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   104
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   105
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
   106
    (something == #restarted) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   107
	"remove all left-over device info"
127
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
   108
	Lobby do:[:aDrawable |
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
   109
	    aDrawable isForm ifTrue:[
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
   110
		aDrawable restored.
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
   111
		Lobby changed:aDrawable 
126
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
   112
	    ]
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   113
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   114
    ]
48194c26a46c Initial revision
claus
parents:
diff changeset
   115
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   116
109
ba47d9d6bda8 *** empty log message ***
claus
parents: 107
diff changeset
   117
!Form methodsFor:'inspecting'!
ba47d9d6bda8 *** empty log message ***
claus
parents: 107
diff changeset
   118
ba47d9d6bda8 *** empty log message ***
claus
parents: 107
diff changeset
   119
inspectorClass
ba47d9d6bda8 *** empty log message ***
claus
parents: 107
diff changeset
   120
    "redefined to launch an ImageInspector
ba47d9d6bda8 *** empty log message ***
claus
parents: 107
diff changeset
   121
     (instead of the default InspectorView)."
ba47d9d6bda8 *** empty log message ***
claus
parents: 107
diff changeset
   122
ba47d9d6bda8 *** empty log message ***
claus
parents: 107
diff changeset
   123
    ^ ImageInspectorView
ba47d9d6bda8 *** empty log message ***
claus
parents: 107
diff changeset
   124
! !
ba47d9d6bda8 *** empty log message ***
claus
parents: 107
diff changeset
   125
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   126
!Form class methodsFor:'cleanup'!
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   127
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   128
lowSpaceCleanup
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   129
    "cleanup in low-memory situations"
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   130
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   131
    DitherPatternArray := nil
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   132
! !
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   133
71
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
   134
!Form methodsFor:'copying'!
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
   135
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
   136
postCopy
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
   137
    super postCopy.
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
   138
    localColorMap := localColorMap copy.
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
   139
    data := data copy
151
claus
parents: 134
diff changeset
   140
!
claus
parents: 134
diff changeset
   141
claus
parents: 134
diff changeset
   142
shallowCopyForFinalization
claus
parents: 134
diff changeset
   143
    "redefined for faster creation of finalization copies
claus
parents: 134
diff changeset
   144
     (only device, gcId and drawableId are needed)"
claus
parents: 134
diff changeset
   145
claus
parents: 134
diff changeset
   146
    |aCopy|
claus
parents: 134
diff changeset
   147
claus
parents: 134
diff changeset
   148
    aCopy := DeviceFormHandle basicNew.
claus
parents: 134
diff changeset
   149
    aCopy setDevice:device id:drawableId gcId:gcId.
claus
parents: 134
diff changeset
   150
    ^ aCopy
71
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
   151
! !
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
   152
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   153
!Form methodsFor:'instance release'!
48194c26a46c Initial revision
claus
parents:
diff changeset
   154
151
claus
parents: 134
diff changeset
   155
XXdisposed
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   156
    "some Form has been collected - tell it to the x-server"
48194c26a46c Initial revision
claus
parents:
diff changeset
   157
48194c26a46c Initial revision
claus
parents:
diff changeset
   158
    drawableId notNil ifTrue:[
118
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
   159
	gcId notNil ifTrue:[
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
   160
	    device destroyGC:gcId.
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
   161
	    gcId := nil
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
   162
	].
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   163
	device destroyPixmap:drawableId.
118
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
   164
	drawableId := nil
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   165
    ]
48194c26a46c Initial revision
claus
parents:
diff changeset
   166
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   167
48194c26a46c Initial revision
claus
parents:
diff changeset
   168
!Form class methodsFor:'file search'!
48194c26a46c Initial revision
claus
parents:
diff changeset
   169
48194c26a46c Initial revision
claus
parents:
diff changeset
   170
findBitmapFile:fileName
48194c26a46c Initial revision
claus
parents:
diff changeset
   171
    "find the bitmap file in one of the standard places;
48194c26a46c Initial revision
claus
parents:
diff changeset
   172
     return the pathName or nil"
48194c26a46c Initial revision
claus
parents:
diff changeset
   173
48194c26a46c Initial revision
claus
parents:
diff changeset
   174
    |aStream path|
48194c26a46c Initial revision
claus
parents:
diff changeset
   175
48194c26a46c Initial revision
claus
parents:
diff changeset
   176
    ((fileName at:1) == $/) ifTrue:[^ fileName].
48194c26a46c Initial revision
claus
parents:
diff changeset
   177
    (fileName startsWith:'../') ifTrue:[^ fileName].
48194c26a46c Initial revision
claus
parents:
diff changeset
   178
    (fileName startsWith:'./') ifTrue:[^ fileName].
127
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
   179
    fileName asFilename exists ifTrue:[^ fileName].
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   180
134
claus
parents: 133
diff changeset
   181
    aStream := Smalltalk bitmapFileStreamFor:fileName.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   182
    aStream notNil ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   183
	path := aStream pathName.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   184
	aStream close.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   185
	^ path
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   186
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
   187
    AdditionalBitmapDirectoryNames notNil ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   188
	AdditionalBitmapDirectoryNames do:[:aPath |
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   189
	    path := aPath , '/' , fileName.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   190
	    (OperatingSystem isReadable:path) ifTrue:[
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   191
		^ path
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   192
	    ]
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   193
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   194
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
   195
    ^ nil
48194c26a46c Initial revision
claus
parents:
diff changeset
   196
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   197
48194c26a46c Initial revision
claus
parents:
diff changeset
   198
!Form class methodsFor:'private instance creation'!
48194c26a46c Initial revision
claus
parents:
diff changeset
   199
48194c26a46c Initial revision
claus
parents:
diff changeset
   200
grey:percent on:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
   201
    "return a form for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   202
48194c26a46c Initial revision
claus
parents:
diff changeset
   203
    (percent < 20) ifTrue:[^ Color black on:aDevice].
48194c26a46c Initial revision
claus
parents:
diff changeset
   204
    (percent < 40) ifTrue:[^ self darkGreyFormOn:aDevice].
48194c26a46c Initial revision
claus
parents:
diff changeset
   205
    (percent < 60) ifTrue:[^ self mediumGreyFormOn:aDevice].
48194c26a46c Initial revision
claus
parents:
diff changeset
   206
    (percent < 80) ifTrue:[^ self lightGreyFormOn:aDevice].
48194c26a46c Initial revision
claus
parents:
diff changeset
   207
    ^ Color white on:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
   208
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   209
48194c26a46c Initial revision
claus
parents:
diff changeset
   210
mediumGreyFormOn:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
   211
    "return a grey form"
48194c26a46c Initial revision
claus
parents:
diff changeset
   212
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   213
    |f|
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   214
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   215
    ((aDevice == Display) and:[GreyForm notNil]) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   216
	^ GreyForm
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   217
    ].
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   218
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   219
    f := self width:8 height:4 fromArray:(self greyFormBits) on:aDevice.
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   220
    (aDevice == Display) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   221
	GreyForm := f
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   222
    ].
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   223
    ^ f
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   224
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   225
48194c26a46c Initial revision
claus
parents:
diff changeset
   226
veryLightGreyFormOn:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
   227
    "return a veryLightGrey form"
48194c26a46c Initial revision
claus
parents:
diff changeset
   228
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   229
    |f|
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   230
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   231
    ((aDevice == Display) and:[VeryLightGreyForm notNil]) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   232
	^ VeryLightGreyForm
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   233
    ].
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   234
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   235
    f := self width:8 height:4 fromArray:(self veryLightGreyFormBits) on:aDevice.
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   236
    (aDevice == Display) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   237
	VeryLightGreyForm := f
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   238
    ].
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   239
    ^ f
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   240
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   241
48194c26a46c Initial revision
claus
parents:
diff changeset
   242
lightGreyFormOn:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
   243
    "return a lightGrey form"
48194c26a46c Initial revision
claus
parents:
diff changeset
   244
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   245
    |f|
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   246
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   247
    ((aDevice == Display) and:[LightGreyForm notNil]) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   248
	^ LightGreyForm
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   249
    ].
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   250
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   251
    f := self width:8 height:4 fromArray:(self lightGreyFormBits) on:aDevice.
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   252
    (aDevice == Display) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   253
	LightGreyForm := f
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   254
    ].
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   255
    ^ f
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   256
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   257
48194c26a46c Initial revision
claus
parents:
diff changeset
   258
darkGreyFormOn:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
   259
    "return a darkGrey form"
48194c26a46c Initial revision
claus
parents:
diff changeset
   260
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   261
    |f|
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   262
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   263
    ((aDevice == Display) and:[DarkGreyForm notNil]) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   264
	^ DarkGreyForm
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   265
    ].
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   266
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   267
    f := self width:8 height:4 fromArray:(self darkGreyFormBits) on:aDevice.
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   268
    (aDevice == Display) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   269
	DarkGreyForm := f
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   270
    ].
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   271
    ^ f
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   272
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   273
48194c26a46c Initial revision
claus
parents:
diff changeset
   274
veryDarkGreyFormOn:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
   275
    "return a veryDarkGrey form"
48194c26a46c Initial revision
claus
parents:
diff changeset
   276
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   277
    |f|
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   278
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   279
    ((aDevice == Display) and:[VeryDarkGreyForm notNil]) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   280
	^ VeryDarkGreyForm
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   281
    ].
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   282
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   283
    f := self width:8 height:4 fromArray:(self veryDarkGreyFormBits) on:aDevice.
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   284
    (aDevice == Display) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   285
	VeryDarkGreyForm := f
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   286
    ].
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   287
    ^ f
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   288
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   289
48194c26a46c Initial revision
claus
parents:
diff changeset
   290
!Form class methodsFor:'ST-80 compatibility'!
48194c26a46c Initial revision
claus
parents:
diff changeset
   291
48194c26a46c Initial revision
claus
parents:
diff changeset
   292
over
48194c26a46c Initial revision
claus
parents:
diff changeset
   293
    "return a constant usable as bitblt-combinationrule"
48194c26a46c Initial revision
claus
parents:
diff changeset
   294
48194c26a46c Initial revision
claus
parents:
diff changeset
   295
    ^ #copy
48194c26a46c Initial revision
claus
parents:
diff changeset
   296
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   297
98
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
   298
paint
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
   299
    "return a constant usable as bitblt-combinationrule"
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
   300
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
   301
    ^ #copy
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
   302
!
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
   303
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   304
under
48194c26a46c Initial revision
claus
parents:
diff changeset
   305
    "return a constant usable as bitblt-combinationrule"
48194c26a46c Initial revision
claus
parents:
diff changeset
   306
48194c26a46c Initial revision
claus
parents:
diff changeset
   307
    ^ #or
48194c26a46c Initial revision
claus
parents:
diff changeset
   308
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   309
48194c26a46c Initial revision
claus
parents:
diff changeset
   310
reverse
48194c26a46c Initial revision
claus
parents:
diff changeset
   311
    "return a constant usable as bitblt-combinationrule"
48194c26a46c Initial revision
claus
parents:
diff changeset
   312
48194c26a46c Initial revision
claus
parents:
diff changeset
   313
    ^ #xor
89
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
   314
!
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
   315
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
   316
and
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
   317
    "return a constant usable as bitblt-combinationrule"
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
   318
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
   319
    ^ #and
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   320
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   321
48194c26a46c Initial revision
claus
parents:
diff changeset
   322
!Form class methodsFor:'instance creation'!
48194c26a46c Initial revision
claus
parents:
diff changeset
   323
48194c26a46c Initial revision
claus
parents:
diff changeset
   324
extent:ext
35
f1a194c18429 *** empty log message ***
claus
parents: 26
diff changeset
   325
    "create a new, cleared form, take dimensions from ext.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   326
     Smalltalk-80 compatibility"
48194c26a46c Initial revision
claus
parents:
diff changeset
   327
48194c26a46c Initial revision
claus
parents:
diff changeset
   328
    |newForm|
48194c26a46c Initial revision
claus
parents:
diff changeset
   329
48194c26a46c Initial revision
claus
parents:
diff changeset
   330
    newForm := self width:(ext x) height:(ext y).
48194c26a46c Initial revision
claus
parents:
diff changeset
   331
    newForm fill:(Color colorId:0).
48194c26a46c Initial revision
claus
parents:
diff changeset
   332
    newForm paint:(Color colorId:1).
48194c26a46c Initial revision
claus
parents:
diff changeset
   333
    ^ newForm
48194c26a46c Initial revision
claus
parents:
diff changeset
   334
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   335
89
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
   336
extent:ext offset:anOffset
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
   337
    "create a new, cleared form, take dimensions from ext.
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
   338
     Smalltalk-80 compatibility"
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
   339
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
   340
    ^ (self extent:ext) offset:anOffset.
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
   341
!
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
   342
98
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
   343
extent:ext fromArray:data
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
   344
    "create a new form, take dimensions from ext, bits from data.
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
   345
     Smalltalk-80 compatibility."
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
   346
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
   347
    ^ self width:(ext x) height:(ext y) offset:0@0 fromArray:data
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
   348
!
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
   349
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   350
extent:ext fromArray:data offset:offs
48194c26a46c Initial revision
claus
parents:
diff changeset
   351
    "create a new form, take dimensions from ext, bits from data.
48194c26a46c Initial revision
claus
parents:
diff changeset
   352
     Smalltalk-80 compatibility."
48194c26a46c Initial revision
claus
parents:
diff changeset
   353
48194c26a46c Initial revision
claus
parents:
diff changeset
   354
    ^ self width:(ext x) height:(ext y) offset:offs fromArray:data
48194c26a46c Initial revision
claus
parents:
diff changeset
   355
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   356
48194c26a46c Initial revision
claus
parents:
diff changeset
   357
width:w height:h on:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
   358
    "create a new form on device, aDevice; depth is what device likes most"
48194c26a46c Initial revision
claus
parents:
diff changeset
   359
48194c26a46c Initial revision
claus
parents:
diff changeset
   360
    ^ (self on:aDevice) width:w height:h
48194c26a46c Initial revision
claus
parents:
diff changeset
   361
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   362
48194c26a46c Initial revision
claus
parents:
diff changeset
   363
width:w height:h depth:d on:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
   364
    "create a new form with depth d on device, aDevice"
48194c26a46c Initial revision
claus
parents:
diff changeset
   365
48194c26a46c Initial revision
claus
parents:
diff changeset
   366
    ^ (self on:aDevice) width:w height:h depth:d
48194c26a46c Initial revision
claus
parents:
diff changeset
   367
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   368
48194c26a46c Initial revision
claus
parents:
diff changeset
   369
width:w height:h fromArray:anArray on:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
   370
    "create a new form on device, aDevice and
48194c26a46c Initial revision
claus
parents:
diff changeset
   371
     initialize the pixels from anArray"
48194c26a46c Initial revision
claus
parents:
diff changeset
   372
48194c26a46c Initial revision
claus
parents:
diff changeset
   373
    ^ (self on:aDevice) width:w height:h fromArray:anArray
48194c26a46c Initial revision
claus
parents:
diff changeset
   374
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   375
48194c26a46c Initial revision
claus
parents:
diff changeset
   376
width:w height:h
48194c26a46c Initial revision
claus
parents:
diff changeset
   377
    "create a new form on the default device"
48194c26a46c Initial revision
claus
parents:
diff changeset
   378
48194c26a46c Initial revision
claus
parents:
diff changeset
   379
    ^ (self on:Display) width:w height:h
48194c26a46c Initial revision
claus
parents:
diff changeset
   380
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   381
48194c26a46c Initial revision
claus
parents:
diff changeset
   382
width:w height:h depth:d
48194c26a46c Initial revision
claus
parents:
diff changeset
   383
    "create a new form on the default device"
48194c26a46c Initial revision
claus
parents:
diff changeset
   384
48194c26a46c Initial revision
claus
parents:
diff changeset
   385
    ^ (self on:Display) width:w height:h depth:d
48194c26a46c Initial revision
claus
parents:
diff changeset
   386
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   387
48194c26a46c Initial revision
claus
parents:
diff changeset
   388
width:w height:h fromArray:anArray
48194c26a46c Initial revision
claus
parents:
diff changeset
   389
    "create a new form on the default device"
48194c26a46c Initial revision
claus
parents:
diff changeset
   390
48194c26a46c Initial revision
claus
parents:
diff changeset
   391
    ^ (self on:Display) width:w height:h fromArray:anArray
48194c26a46c Initial revision
claus
parents:
diff changeset
   392
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   393
48194c26a46c Initial revision
claus
parents:
diff changeset
   394
width:w height:h offset:offs fromArray:anArray
48194c26a46c Initial revision
claus
parents:
diff changeset
   395
    "create a new form on the default device"
48194c26a46c Initial revision
claus
parents:
diff changeset
   396
48194c26a46c Initial revision
claus
parents:
diff changeset
   397
    ^ (self on:Display) width:w height:h offset:offs fromArray:anArray
48194c26a46c Initial revision
claus
parents:
diff changeset
   398
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   399
48194c26a46c Initial revision
claus
parents:
diff changeset
   400
white
48194c26a46c Initial revision
claus
parents:
diff changeset
   401
    "ST80 compatibility;
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   402
     in st80, return a white form - here we return white color"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   403
48194c26a46c Initial revision
claus
parents:
diff changeset
   404
    ^ Color white
48194c26a46c Initial revision
claus
parents:
diff changeset
   405
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   406
48194c26a46c Initial revision
claus
parents:
diff changeset
   407
black
48194c26a46c Initial revision
claus
parents:
diff changeset
   408
    "ST80 compatibility;
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   409
     in st80, return a black form - here we return black color"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   410
48194c26a46c Initial revision
claus
parents:
diff changeset
   411
    ^ Color black
48194c26a46c Initial revision
claus
parents:
diff changeset
   412
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   413
48194c26a46c Initial revision
claus
parents:
diff changeset
   414
gray
48194c26a46c Initial revision
claus
parents:
diff changeset
   415
    "ST80 compatibility;
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   416
    in st80, return a grey form - here we return grey color"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   417
48194c26a46c Initial revision
claus
parents:
diff changeset
   418
    ^ self grey
48194c26a46c Initial revision
claus
parents:
diff changeset
   419
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   420
48194c26a46c Initial revision
claus
parents:
diff changeset
   421
grey
48194c26a46c Initial revision
claus
parents:
diff changeset
   422
    "ST80 compatibility;
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   423
    in st80, return a grey form - here we return grey color"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   424
48194c26a46c Initial revision
claus
parents:
diff changeset
   425
    ^ Color grey
48194c26a46c Initial revision
claus
parents:
diff changeset
   426
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   427
48194c26a46c Initial revision
claus
parents:
diff changeset
   428
lightGrey
48194c26a46c Initial revision
claus
parents:
diff changeset
   429
    "ST80 compatibility;
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   430
    in st80, return a lightGrey form - here we return lightGrey color"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   431
48194c26a46c Initial revision
claus
parents:
diff changeset
   432
    ^ Color lightGrey
48194c26a46c Initial revision
claus
parents:
diff changeset
   433
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   434
48194c26a46c Initial revision
claus
parents:
diff changeset
   435
darkGrey
48194c26a46c Initial revision
claus
parents:
diff changeset
   436
    "ST80 compatibility;
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   437
    in st80, return a darkGrey form - here we return darkGrey color"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   438
48194c26a46c Initial revision
claus
parents:
diff changeset
   439
    ^ Color darkGrey
48194c26a46c Initial revision
claus
parents:
diff changeset
   440
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   441
48194c26a46c Initial revision
claus
parents:
diff changeset
   442
darkGray
48194c26a46c Initial revision
claus
parents:
diff changeset
   443
    "ST80 compatibility;
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   444
    in st80, return a darkGrey form - here we return darkGrey color"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   445
48194c26a46c Initial revision
claus
parents:
diff changeset
   446
    ^ Color darkGrey
48194c26a46c Initial revision
claus
parents:
diff changeset
   447
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   448
48194c26a46c Initial revision
claus
parents:
diff changeset
   449
!Form class methodsFor:'patterns'!
48194c26a46c Initial revision
claus
parents:
diff changeset
   450
48194c26a46c Initial revision
claus
parents:
diff changeset
   451
ditherBitsForXin64:x
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   452
    "return a dither pattern for x/64; x in 1..63"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   453
48194c26a46c Initial revision
claus
parents:
diff changeset
   454
    |sel|
48194c26a46c Initial revision
claus
parents:
diff changeset
   455
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   456
    DitherPatternArray isNil ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   457
	DitherPatternArray := Array new:63.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   458
	1 to:63 do:[:i |
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   459
	    "
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   460
	     compute the selector as #'dither<n>in64'
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   461
	    "
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   462
	    sel := ('dither' , i printString , 'in64') asSymbol.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   463
	    DitherPatternArray at:i put:(self perform:sel)
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   464
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   465
    ].
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   466
    ^ DitherPatternArray at:x
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   467
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   468
48194c26a46c Initial revision
claus
parents:
diff changeset
   469
dither1in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   470
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   471
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   472
    ^ #[2r10000000
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   473
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   474
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   475
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   476
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   477
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   478
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   479
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   480
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   481
48194c26a46c Initial revision
claus
parents:
diff changeset
   482
dither2in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   483
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   484
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   485
    ^ #[2r10000000
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   486
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   487
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   488
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   489
	2r00001000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   490
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   491
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   492
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   493
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   494
48194c26a46c Initial revision
claus
parents:
diff changeset
   495
dither3in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   496
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   497
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   498
    ^ #[2r10000000
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   499
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   500
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   501
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   502
	2r10001000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   503
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   504
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   505
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   506
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   507
48194c26a46c Initial revision
claus
parents:
diff changeset
   508
dither4in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   509
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   510
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   511
    ^ #[2r10001000
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   512
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   513
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   514
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   515
	2r10001000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   516
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   517
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   518
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   519
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   520
48194c26a46c Initial revision
claus
parents:
diff changeset
   521
dither5in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   522
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   523
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   524
    ^ #[2r10001000
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   525
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   526
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   527
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   528
	2r10001000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   529
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   530
	2r00000010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   531
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   532
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   533
48194c26a46c Initial revision
claus
parents:
diff changeset
   534
dither6in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   535
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   536
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   537
    ^ #[2r10001000
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   538
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   539
	2r00100000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   540
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   541
	2r10001000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   542
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   543
	2r00000010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   544
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   545
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   546
48194c26a46c Initial revision
claus
parents:
diff changeset
   547
dither7in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   548
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   549
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   550
    ^ #[2r10001000
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   551
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   552
	2r00100010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   553
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   554
	2r10001000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   555
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   556
	2r00000010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   557
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   558
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   559
48194c26a46c Initial revision
claus
parents:
diff changeset
   560
dither8in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   561
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   562
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   563
    ^ #[2r10001000
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   564
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   565
	2r00100010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   566
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   567
	2r10001000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   568
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   569
	2r00100010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   570
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   571
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   572
48194c26a46c Initial revision
claus
parents:
diff changeset
   573
dither9in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   574
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   575
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   576
    ^ #[2r10001000
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   577
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   578
	2r00100010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   579
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   580
	2r10001000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   581
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   582
	2r10100010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   583
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   584
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   585
48194c26a46c Initial revision
claus
parents:
diff changeset
   586
dither10in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   587
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   588
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   589
    ^ #[2r10001000
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   590
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   591
	2r00101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   592
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   593
	2r10001000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   594
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   595
	2r10100010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   596
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   597
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   598
48194c26a46c Initial revision
claus
parents:
diff changeset
   599
dither11in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   600
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   601
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   602
    ^ #[2r10001000
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   603
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   604
	2r00101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   605
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   606
	2r10001000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   607
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   608
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   609
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   610
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   611
48194c26a46c Initial revision
claus
parents:
diff changeset
   612
dither12in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   613
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   614
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   615
    ^ #[2r10001000
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   616
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   617
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   618
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   619
	2r10001000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   620
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   621
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   622
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   623
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   624
48194c26a46c Initial revision
claus
parents:
diff changeset
   625
dither13in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   626
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   627
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   628
    ^ #[2r10001000
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   629
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   630
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   631
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   632
	2r10101000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   633
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   634
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   635
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   636
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   637
48194c26a46c Initial revision
claus
parents:
diff changeset
   638
dither14in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   639
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   640
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   641
    ^ #[2r10001010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   642
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   643
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   644
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   645
	2r10101000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   646
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   647
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   648
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   649
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   650
48194c26a46c Initial revision
claus
parents:
diff changeset
   651
dither15in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   652
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   653
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   654
    ^ #[2r10001010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   655
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   656
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   657
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   658
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   659
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   660
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   661
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   662
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   663
48194c26a46c Initial revision
claus
parents:
diff changeset
   664
dither16in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   665
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   666
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   667
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   668
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   669
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   670
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   671
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   672
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   673
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   674
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   675
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   676
48194c26a46c Initial revision
claus
parents:
diff changeset
   677
dither17in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   678
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   679
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   680
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   681
	2r01000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   682
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   683
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   684
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   685
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   686
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   687
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   688
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   689
48194c26a46c Initial revision
claus
parents:
diff changeset
   690
dither18in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   691
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   692
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   693
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   694
	2r01000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   695
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   696
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   697
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   698
	2r00000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   699
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   700
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   701
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   702
48194c26a46c Initial revision
claus
parents:
diff changeset
   703
dither19in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   704
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   705
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   706
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   707
	2r01000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   708
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   709
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   710
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   711
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   712
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   713
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   714
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   715
48194c26a46c Initial revision
claus
parents:
diff changeset
   716
dither20in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   717
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   718
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   719
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   720
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   721
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   722
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   723
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   724
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   725
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   726
	2r00000000]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   727
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   728
48194c26a46c Initial revision
claus
parents:
diff changeset
   729
dither21in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   730
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   731
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   732
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   733
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   734
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   735
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   736
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   737
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   738
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   739
	2r00000001]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   740
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   741
48194c26a46c Initial revision
claus
parents:
diff changeset
   742
dither22in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   743
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   744
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   745
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   746
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   747
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   748
	2r00010000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   749
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   750
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   751
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   752
	2r00000001]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   753
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   754
48194c26a46c Initial revision
claus
parents:
diff changeset
   755
dither23in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   756
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   757
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   758
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   759
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   760
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   761
	2r00010001
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   762
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   763
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   764
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   765
	2r00000001]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   766
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   767
48194c26a46c Initial revision
claus
parents:
diff changeset
   768
dither24in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   769
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   770
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   771
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   772
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   773
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   774
	2r00010001
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   775
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   776
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   777
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   778
	2r00010001]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   779
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   780
48194c26a46c Initial revision
claus
parents:
diff changeset
   781
dither25in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   782
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   783
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   784
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   785
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   786
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   787
	2r00010001
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   788
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   789
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   790
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   791
	2r01010001]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   792
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   793
48194c26a46c Initial revision
claus
parents:
diff changeset
   794
dither26in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   795
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   796
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   797
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   798
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   799
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   800
	2r00010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   801
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   802
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   803
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   804
	2r01010001]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   805
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   806
48194c26a46c Initial revision
claus
parents:
diff changeset
   807
dither27in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   808
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   809
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   810
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   811
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   812
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   813
	2r00010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   814
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   815
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   816
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   817
	2r01010101]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   818
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   819
48194c26a46c Initial revision
claus
parents:
diff changeset
   820
dither28in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   821
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   822
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   823
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   824
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   825
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   826
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   827
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   828
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   829
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   830
	2r01010101]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   831
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   832
48194c26a46c Initial revision
claus
parents:
diff changeset
   833
dither29in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   834
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   835
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   836
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   837
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   838
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   839
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   840
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   841
	2r01010100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   842
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   843
	2r01010101]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   844
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   845
48194c26a46c Initial revision
claus
parents:
diff changeset
   846
dither30in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   847
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   848
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   849
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   850
	2r01000101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   851
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   852
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   853
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   854
	2r01010100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   855
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   856
	2r01010101]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   857
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   858
48194c26a46c Initial revision
claus
parents:
diff changeset
   859
dither31in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   860
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   861
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   862
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   863
	2r01000101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   864
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   865
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   866
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   867
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   868
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   869
	2r01010101]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   870
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   871
48194c26a46c Initial revision
claus
parents:
diff changeset
   872
dither32in64
48194c26a46c Initial revision
claus
parents:
diff changeset
   873
    "return a pattern for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
   874
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
   875
    ^ #[2r10101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   876
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   877
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   878
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   879
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   880
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   881
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   882
	2r01010101]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   883
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   884
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   885
dither33in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   886
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   887
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   888
    ^ #[2r11101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   889
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   890
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   891
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   892
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   893
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   894
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   895
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   896
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   897
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   898
dither34in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   899
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   900
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   901
    ^ #[2r11101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   902
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   903
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   904
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   905
	2r10101110
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   906
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   907
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   908
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   909
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   910
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   911
dither35in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   912
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   913
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   914
    ^ #[2r11101010
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   915
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   916
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   917
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   918
	2r11101110
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   919
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   920
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   921
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   922
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   923
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   924
dither36in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   925
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   926
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   927
    ^ #[2r11101110
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   928
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   929
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   930
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   931
	2r11101110
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   932
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   933
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   934
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   935
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   936
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   937
dither37in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   938
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   939
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   940
    ^ #[2r11101110
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   941
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   942
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   943
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   944
	2r11101110
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   945
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   946
	2r10101011
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   947
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   948
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   949
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   950
dither38in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   951
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   952
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   953
    ^ #[2r11101110
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   954
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   955
	2r10111010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   956
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   957
	2r11101110
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   958
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   959
	2r10101011
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   960
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   961
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   962
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   963
dither39in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   964
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   965
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   966
    ^ #[2r11101110
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   967
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   968
	2r10111011
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   969
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   970
	2r11101110
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   971
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   972
	2r10101011
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   973
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   974
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   975
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   976
dither40in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   977
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   978
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   979
    ^ #[2r11101110
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   980
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   981
	2r10111011
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   982
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   983
	2r11101110
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   984
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   985
	2r10111011
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   986
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   987
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   988
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   989
dither41in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   990
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   991
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
   992
    ^ #[2r11101110
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   993
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   994
	2r10111011
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   995
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   996
	2r11101110
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   997
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   998
	2r11111011
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
   999
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1000
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1001
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1002
dither42in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1003
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1004
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1005
    ^ #[2r11101110
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1006
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1007
	2r10111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1008
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1009
	2r11101110
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1010
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1011
	2r11111011
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1012
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1013
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1014
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1015
dither43in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1016
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1017
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1018
    ^ #[2r11101110
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1019
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1020
	2r10111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1021
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1022
	2r11101110
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1023
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1024
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1025
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1026
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1027
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1028
dither44in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1029
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1030
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1031
    ^ #[2r11101110
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1032
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1033
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1034
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1035
	2r11101110
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1036
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1037
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1038
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1039
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1040
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1041
dither45in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1042
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1043
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1044
    ^ #[2r11101110
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1045
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1046
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1047
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1048
	2r11111110
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1049
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1050
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1051
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1052
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1053
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1054
dither46in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1055
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1056
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1057
    ^ #[2r11101111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1058
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1059
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1060
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1061
	2r11111110
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1062
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1063
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1064
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1065
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1066
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1067
dither47in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1068
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1069
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1070
    ^ #[2r11101111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1071
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1072
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1073
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1074
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1075
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1076
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1077
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1078
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1079
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1080
dither48in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1081
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1082
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1083
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1084
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1085
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1086
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1087
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1088
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1089
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1090
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1091
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1092
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1093
dither49in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1094
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1095
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1096
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1097
	2r01110101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1098
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1099
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1100
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1101
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1102
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1103
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1104
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1105
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1106
dither50in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1107
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1108
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1109
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1110
	2r01110101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1111
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1112
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1113
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1114
	2r01010111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1115
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1116
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1117
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1118
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1119
dither51in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1120
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1121
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1122
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1123
	2r01110101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1124
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1125
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1126
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1127
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1128
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1129
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1130
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1131
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1132
dither52in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1133
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1134
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1135
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1136
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1137
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1138
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1139
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1140
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1141
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1142
	2r01010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1143
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1144
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1145
dither53in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1146
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1147
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1148
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1149
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1150
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1151
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1152
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1153
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1154
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1155
	2r11010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1156
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1157
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1158
dither54in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1159
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1160
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1161
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1162
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1163
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1164
	2r01011101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1165
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1166
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1167
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1168
	2r11010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1169
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1170
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1171
dither55in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1172
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1173
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1174
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1175
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1176
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1177
	2r11011101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1178
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1179
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1180
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1181
	2r11010101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1182
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1183
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1184
dither56in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1185
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1186
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1187
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1188
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1189
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1190
	2r11011101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1191
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1192
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1193
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1194
	2r11011101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1195
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1196
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1197
dither57in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1198
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1199
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1200
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1201
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1202
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1203
	2r11011101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1204
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1205
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1206
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1207
	2r11111101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1208
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1209
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1210
dither58in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1211
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1212
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1213
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1214
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1215
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1216
	2r11011111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1217
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1218
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1219
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1220
	2r11111101]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1221
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1222
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1223
dither59in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1224
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1225
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1226
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1227
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1228
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1229
	2r11011111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1230
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1231
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1232
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1233
	2r11111111]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1234
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1235
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1236
dither60in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1237
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1238
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1239
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1240
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1241
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1242
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1243
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1244
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1245
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1246
	2r11111111]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1247
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1248
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1249
dither61in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1250
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1251
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1252
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1253
	2r01110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1254
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1255
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1256
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1257
	2r01111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1258
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1259
	2r11111111]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1260
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1261
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1262
dither62in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1263
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1264
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1265
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1266
	2r11110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1267
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1268
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1269
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1270
	2r01111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1271
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1272
	2r11111111]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1273
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1274
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1275
dither63in64
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1276
    "return a pattern for dithering"
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1277
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1278
    ^ #[2r11111111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1279
	2r11110111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1280
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1281
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1282
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1283
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1284
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1285
	2r11111111]
26
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1286
!
ac9f66dc8f53 *** empty log message ***
claus
parents: 24
diff changeset
  1287
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1288
grey6Bits
48194c26a46c Initial revision
claus
parents:
diff changeset
  1289
    "return a pattern with 6% grey, usable for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1290
48194c26a46c Initial revision
claus
parents:
diff changeset
  1291
    ^ #(2r00000001
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1292
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1293
	2r00010000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1294
	2r00000000)
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1295
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1296
48194c26a46c Initial revision
claus
parents:
diff changeset
  1297
grey12Bits
48194c26a46c Initial revision
claus
parents:
diff changeset
  1298
    "return a pattern with 12% grey, usable for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1299
48194c26a46c Initial revision
claus
parents:
diff changeset
  1300
    ^ #(2r00010001
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1301
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1302
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1303
	2r00000000)
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1304
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1305
48194c26a46c Initial revision
claus
parents:
diff changeset
  1306
grey25Bits
48194c26a46c Initial revision
claus
parents:
diff changeset
  1307
    "return a pattern with 25% grey, usable for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1308
48194c26a46c Initial revision
claus
parents:
diff changeset
  1309
    ^ #(2r00010001
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1310
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1311
	2r00010001
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1312
	2r01000100)
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1313
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1314
48194c26a46c Initial revision
claus
parents:
diff changeset
  1315
grey37Bits
48194c26a46c Initial revision
claus
parents:
diff changeset
  1316
    "return a pattern with 37% grey, usable for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1317
48194c26a46c Initial revision
claus
parents:
diff changeset
  1318
    ^ #(2r00010001
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1319
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1320
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1321
	2r10101010)
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1322
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1323
48194c26a46c Initial revision
claus
parents:
diff changeset
  1324
grey50Bits
48194c26a46c Initial revision
claus
parents:
diff changeset
  1325
    "return a pattern with 50% grey, usable for dithering"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1326
48194c26a46c Initial revision
claus
parents:
diff changeset
  1327
    ^ #(2r01010101
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1328
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1329
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1330
	2r10101010)
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1331
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1332
48194c26a46c Initial revision
claus
parents:
diff changeset
  1333
veryLightGreyFormBits
48194c26a46c Initial revision
claus
parents:
diff changeset
  1334
    "return a pattern usable to simulate veryDarkGray on monochrome device"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1335
48194c26a46c Initial revision
claus
parents:
diff changeset
  1336
    ^ #(2r10001000
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1337
	2r00000000
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1338
	2r00100010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1339
	2r00000000)
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1340
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1341
48194c26a46c Initial revision
claus
parents:
diff changeset
  1342
lightGreyFormBits
48194c26a46c Initial revision
claus
parents:
diff changeset
  1343
    "return a pattern usable to simulate lightGray on monochrome device"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1344
48194c26a46c Initial revision
claus
parents:
diff changeset
  1345
    ^ #(2r01000100
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1346
	2r00010001
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1347
	2r01000100
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1348
	2r00010001
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1349
	2r01000100)
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1350
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1351
48194c26a46c Initial revision
claus
parents:
diff changeset
  1352
greyFormBits
48194c26a46c Initial revision
claus
parents:
diff changeset
  1353
    "return a pattern usable to simulate gray on monochrome device"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1354
48194c26a46c Initial revision
claus
parents:
diff changeset
  1355
    ^ #(2r01010101
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1356
	2r10101010
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1357
	2r01010101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1358
	2r10101010)
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1359
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1360
48194c26a46c Initial revision
claus
parents:
diff changeset
  1361
darkGreyFormBits
48194c26a46c Initial revision
claus
parents:
diff changeset
  1362
    "return a pattern usable to simulate darkGray on monochrome device"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1363
48194c26a46c Initial revision
claus
parents:
diff changeset
  1364
    ^ #(2r10111011
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1365
	2r11101110
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1366
	2r10111011
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1367
	2r11101110)
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1368
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1369
48194c26a46c Initial revision
claus
parents:
diff changeset
  1370
veryDarkGreyFormBits
48194c26a46c Initial revision
claus
parents:
diff changeset
  1371
    "return a pattern usable to simulate veryDarkGray on monochrome device"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1372
48194c26a46c Initial revision
claus
parents:
diff changeset
  1373
    ^ #(2r01110111
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1374
	2r11111111
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1375
	2r11011101
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1376
	2r11111111)
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1377
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
  1378
48194c26a46c Initial revision
claus
parents:
diff changeset
  1379
!Form methodsFor:'initialization'!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1380
48194c26a46c Initial revision
claus
parents:
diff changeset
  1381
initialize
48194c26a46c Initial revision
claus
parents:
diff changeset
  1382
    super initialize.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1383
    depth := 1.
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1384
    foreground := paint := Color colorId:1.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1385
    background := bgPaint := Color colorId:0
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1386
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1387
48194c26a46c Initial revision
claus
parents:
diff changeset
  1388
initGC
48194c26a46c Initial revision
claus
parents:
diff changeset
  1389
    "stop server from sending exposure events for Forms -
48194c26a46c Initial revision
claus
parents:
diff changeset
  1390
     (will fill up stream-queue on some stupid (i.e. sco) systems"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1391
126
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
  1392
    super initGC.
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
  1393
"/    self createGC.
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
  1394
"/    Lobby changed:self.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1395
    self setGraphicsExposures:false
48194c26a46c Initial revision
claus
parents:
diff changeset
  1396
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1397
48194c26a46c Initial revision
claus
parents:
diff changeset
  1398
recreate
48194c26a46c Initial revision
claus
parents:
diff changeset
  1399
    "reconstruct the form after a snapin"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1400
48194c26a46c Initial revision
claus
parents:
diff changeset
  1401
    data notNil ifTrue:[
118
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
  1402
	"
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
  1403
	 create one from data
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
  1404
	"
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1405
	(depth == 1 or:[depth == device depth]) ifTrue:[
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1406
	    drawableId := device createBitmapFromArray:data width:width height:height.
118
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
  1407
	    Lobby changed:self. 
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1408
	    ^ self
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1409
	].
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1410
	data := nil.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1411
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1412
    fileName notNil ifTrue:[
118
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
  1413
	"
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
  1414
	 create one from a file (mhmh - this seems X-specific and will vanish)
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
  1415
	"
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1416
	drawableId := device createBitmapFromFile:fileName for:self.
118
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
  1417
	Lobby changed:self.
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1418
	^ self
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1419
    ].
118
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
  1420
    'FORM: cannot recreate form' errorPrintNL.
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
  1421
    "
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
  1422
     create an empty one
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
  1423
    "
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1424
    depth == 1 ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1425
	drawableId := device createBitmapWidth:width height:height
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1426
    ] ifFalse:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1427
	drawableId := device createPixmapWidth:width height:height depth:device depth
118
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
  1428
    ].
25e775072a89 *** empty log message ***
claus
parents: 115
diff changeset
  1429
    Lobby changed:self
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1430
! !
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1431
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1432
!Form methodsFor:'binary storage'!
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1433
127
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1434
storeBinaryDefinitionOn: stream manager: manager
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1435
    "store a binary representation of the receiver on stream.
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1436
     Redefined to store the actual bits, even if I have been loaded 
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1437
     from a file."
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1438
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1439
    data isNil ifTrue:[
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1440
	data := self bits.
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1441
	super storeBinaryDefinitionOn: stream manager: manager.
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1442
	data := nil.
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1443
	^ self
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1444
    ].
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1445
    super storeBinaryDefinitionOn: stream manager: manager
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1446
!
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1447
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1448
readBinaryContentsFrom: stream manager: manager
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1449
    "tell the newly restored Form about restoration"
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1450
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1451
    super readBinaryContentsFrom: stream manager: manager.
127
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1452
    device := Display.
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1453
    fileName := nil.
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1454
    self restored.
127
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1455
    self recreate.
126
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
  1456
    Lobby register:self.
127
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1457
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1458
    "
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1459
     |f|
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1460
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1461
     f := Form fromFile:'bitmaps/SBrowser.xbm'.
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1462
     f storeBinaryOn:'foo.bos'.
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1463
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1464
     (Form readBinaryFrom:'foo.bos') inspect
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
  1465
    "
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1466
! !
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1467
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1468
!Form methodsFor:'getting a device form'!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1469
48194c26a46c Initial revision
claus
parents:
diff changeset
  1470
on:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
  1471
    aDevice == device ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1472
	^ self
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1473
    ].
133
claus
parents: 132
diff changeset
  1474
    "create a new form ..."
claus
parents: 132
diff changeset
  1475
claus
parents: 132
diff changeset
  1476
    data notNil ifTrue:[
claus
parents: 132
diff changeset
  1477
	^ self class width:width height:height fromArray:data on:aDevice
claus
parents: 132
diff changeset
  1478
    ].
claus
parents: 132
diff changeset
  1479
    fileName notNil ifTrue:[
claus
parents: 132
diff changeset
  1480
	^ self class fromFile:fileName on:aDevice
claus
parents: 132
diff changeset
  1481
    ].
claus
parents: 132
diff changeset
  1482
    ^ self width:width height:height on:aDevice
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1483
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1484
48194c26a46c Initial revision
claus
parents:
diff changeset
  1485
asMonochromeFormOn:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
  1486
    aDevice == device ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1487
	depth == 1 ifTrue:[
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1488
	    ^ self
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1489
	].
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1490
    ].
133
claus
parents: 132
diff changeset
  1491
    (depth == 1) ifTrue:[
claus
parents: 132
diff changeset
  1492
	^ self on:aDevice
claus
parents: 132
diff changeset
  1493
    ].
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1494
    ^ nil
35
f1a194c18429 *** empty log message ***
claus
parents: 26
diff changeset
  1495
!
f1a194c18429 *** empty log message ***
claus
parents: 26
diff changeset
  1496
f1a194c18429 *** empty log message ***
claus
parents: 26
diff changeset
  1497
asFormOn:aDevice
f1a194c18429 *** empty log message ***
claus
parents: 26
diff changeset
  1498
    aDevice == device ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1499
	^ self
35
f1a194c18429 *** empty log message ***
claus
parents: 26
diff changeset
  1500
    ].
133
claus
parents: 132
diff changeset
  1501
    ^ self on:aDevice
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1502
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
  1503
107
ef48048a8b34 *** empty log message ***
claus
parents: 99
diff changeset
  1504
!Form methodsFor:'converting'!
ef48048a8b34 *** empty log message ***
claus
parents: 99
diff changeset
  1505
ef48048a8b34 *** empty log message ***
claus
parents: 99
diff changeset
  1506
asForm
ef48048a8b34 *** empty log message ***
claus
parents: 99
diff changeset
  1507
    ^ self
ef48048a8b34 *** empty log message ***
claus
parents: 99
diff changeset
  1508
!
ef48048a8b34 *** empty log message ***
claus
parents: 99
diff changeset
  1509
ef48048a8b34 *** empty log message ***
claus
parents: 99
diff changeset
  1510
asImage
ef48048a8b34 *** empty log message ***
claus
parents: 99
diff changeset
  1511
    ^ Image fromForm:self
ef48048a8b34 *** empty log message ***
claus
parents: 99
diff changeset
  1512
! !
ef48048a8b34 *** empty log message ***
claus
parents: 99
diff changeset
  1513
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1514
!Form methodsFor:'private'!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1515
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1516
restored
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1517
    "flush device data, when restored 
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1518
     (sent after snapin or binaryLoad)"
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1519
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1520
    drawableId := nil.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1521
    gcId := nil.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1522
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1523
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1524
getBits
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1525
    "if the receiver was not created from a file, or
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1526
     an array (i.e. it was drawn), read the pixels from the
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1527
     device into a local data array. This has to be done before
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1528
     an image is saved, or the receiver is storedBinary, since
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1529
     the information present in the device is lost after restart/reload"
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1530
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1531
    (data isNil and:[fileName isNil]) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1532
	data := self bits
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1533
    ]
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1534
!
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1535
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1536
width:w height:h
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1537
    "actual create of a monochrome form"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1538
48194c26a46c Initial revision
claus
parents:
diff changeset
  1539
    ((w == 0) or:[h == 0]) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1540
	self error:'invalid form extent'.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1541
	^ nil
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1542
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1543
    width := w.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1544
    height := h.
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1545
    depth := 1.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1546
    offset := 0@0.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1547
    drawableId := device createBitmapWidth:w height:h.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1548
    drawableId isNil ifTrue:[^ nil].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1549
    BlackAndWhiteColorMap isNil ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1550
	BlackAndWhiteColorMap := Array with:(Color white) with:(Color black)
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1551
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1552
    localColorMap := BlackAndWhiteColorMap.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1553
    realized := true.
126
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
  1554
    Lobby changed:self.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1555
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1556
48194c26a46c Initial revision
claus
parents:
diff changeset
  1557
width:w height:h depth:d
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1558
    "actual create of an arbitrary deep form (but, must be supported by device)"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1559
48194c26a46c Initial revision
claus
parents:
diff changeset
  1560
    width := w.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1561
    height := h.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1562
    offset := 0@0.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1563
    drawableId := device createPixmapWidth:w height:h depth:d.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1564
    drawableId isNil ifTrue:[^ nil].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1565
    realized := true.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1566
    depth := d.
126
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
  1567
    Lobby changed:self.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1568
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1569
48194c26a46c Initial revision
claus
parents:
diff changeset
  1570
width:w height:h fromArray:anArray
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1571
    "actual create of a monochrome form from array.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1572
     This method is somewhat more complicated as it should be due to 
48194c26a46c Initial revision
claus
parents:
diff changeset
  1573
     supporting both byte-wise (ST/X-type) and short-word-wise (ST-80-type)
48194c26a46c Initial revision
claus
parents:
diff changeset
  1574
     Arrays; in the later case, the shorts are first converted to bytes in
48194c26a46c Initial revision
claus
parents:
diff changeset
  1575
     a ByteArray, then passed to the device."
48194c26a46c Initial revision
claus
parents:
diff changeset
  1576
134
claus
parents: 133
diff changeset
  1577
    |bytes bits 
claus
parents: 133
diff changeset
  1578
     srcPerRow "{ Class: SmallInteger }"
claus
parents: 133
diff changeset
  1579
     dstPerRow "{ Class: SmallInteger }"
claus
parents: 133
diff changeset
  1580
     srcStart  "{ Class: SmallInteger }"
claus
parents: 133
diff changeset
  1581
     srcIndex  "{ Class: SmallInteger }"
claus
parents: 133
diff changeset
  1582
     dstIndex  "{ Class: SmallInteger }"
claus
parents: 133
diff changeset
  1583
     hi        "{ Class: SmallInteger }" |
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1584
48194c26a46c Initial revision
claus
parents:
diff changeset
  1585
    bytes := anArray.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1586
48194c26a46c Initial revision
claus
parents:
diff changeset
  1587
    anArray size ~~ (((w + 7) // 8) * h) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1588
	anArray size == (((w + 15) // 16) * h) ifTrue:[
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1589
	    "I want the bytes but got shorts (ST-80)"
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1590
	    bytes := ByteArray uninitializedNew:(((w + 7) // 8) * h).
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1591
	    srcPerRow := (w + 15) // 16.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1592
	    dstPerRow := (w + 7) // 8.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1593
	    srcStart := 1.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1594
	    dstIndex := 1.
134
claus
parents: 133
diff changeset
  1595
	    hi := h.
claus
parents: 133
diff changeset
  1596
	    1 to:hi do:[:hi |
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1597
		srcIndex := srcStart.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1598
		bits := anArray at:srcIndex.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1599
		1 to:dstPerRow do:[:di |
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1600
		    di odd ifTrue:[
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1601
			bits := anArray at:srcIndex.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1602
			bytes at:dstIndex put:(bits bitShift:-8)
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1603
		    ] ifFalse:[
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1604
			bytes at:dstIndex put:(bits bitAnd:16rFF).
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1605
			srcIndex := srcIndex + 1
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1606
		    ].
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1607
		    dstIndex := dstIndex + 1
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1608
		].
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1609
		srcStart := srcStart + srcPerRow
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1610
	    ]
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1611
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1612
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1613
    width := w.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1614
    height := h.
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1615
    depth := 1.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1616
    offset := 0@0.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1617
    drawableId := device createBitmapFromArray:bytes width:w height:h.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1618
    drawableId isNil ifTrue:[^ nil].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1619
48194c26a46c Initial revision
claus
parents:
diff changeset
  1620
    data := bytes.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1621
    BlackAndWhiteColorMap isNil ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1622
	BlackAndWhiteColorMap := Array with:(Color white) with:(Color black)
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1623
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1624
    localColorMap := BlackAndWhiteColorMap.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1625
    realized := true.
126
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
  1626
    Lobby changed:self.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1627
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1628
48194c26a46c Initial revision
claus
parents:
diff changeset
  1629
width:w height:h offset:offs fromArray:anArray
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1630
    "actual create of a monochrome form from array"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1631
48194c26a46c Initial revision
claus
parents:
diff changeset
  1632
    self width:w height:h fromArray:anArray.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1633
    offset := offs
48194c26a46c Initial revision
claus
parents:
diff changeset
  1634
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1635
48194c26a46c Initial revision
claus
parents:
diff changeset
  1636
readFromFile:filename
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1637
    "read a monochrome form from a file (in xbm-format)"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1638
48194c26a46c Initial revision
claus
parents:
diff changeset
  1639
    |pathName|
48194c26a46c Initial revision
claus
parents:
diff changeset
  1640
48194c26a46c Initial revision
claus
parents:
diff changeset
  1641
    pathName := self class findBitmapFile:filename.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1642
    pathName notNil ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1643
	drawableId := device createBitmapFromFile:pathName for:self.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1644
	drawableId isNil ifTrue:[^ nil].
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1645
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1646
	fileName := pathName.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1647
	offset := 0@0.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1648
	realized := true.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1649
	BlackAndWhiteColorMap isNil ifTrue:[
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1650
	    BlackAndWhiteColorMap := Array with:(Color white) with:(Color black)
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1651
	].
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1652
	localColorMap := BlackAndWhiteColorMap.
126
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
  1653
	Lobby changed:self.
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1654
	^ self
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1655
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1656
    ^ nil
48194c26a46c Initial revision
claus
parents:
diff changeset
  1657
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1658
48194c26a46c Initial revision
claus
parents:
diff changeset
  1659
readFromFile:filename resolution:dpi
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1660
    "read a monochrome form from a file, which is assumed to have data for a dpi-resolution;
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1661
     if the actual resolution of the device differs, magnify the form."
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1662
151
claus
parents: 134
diff changeset
  1663
    |dpiH mag dev|
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1664
48194c26a46c Initial revision
claus
parents:
diff changeset
  1665
    (self readFromFile:filename) isNil ifTrue:[^ nil].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1666
48194c26a46c Initial revision
claus
parents:
diff changeset
  1667
    "if the device is within +- 50% of dpi, no magnify is needed"
151
claus
parents: 134
diff changeset
  1668
    dev := device.
claus
parents: 134
diff changeset
  1669
    dev isNil ifTrue:[
claus
parents: 134
diff changeset
  1670
	"should not happen ..."
claus
parents: 134
diff changeset
  1671
	dev := Display
claus
parents: 134
diff changeset
  1672
    ].
claus
parents: 134
diff changeset
  1673
    dpiH := dev horizontalPixelPerInch.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1674
    ((dpi >= (dpiH * 0.75)) and:[dpi <= (dpiH * 1.5)]) ifTrue:[^ self].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1675
    mag := (dpiH / dpi) rounded.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1676
    mag == 0 ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1677
	^ self
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1678
    ].
134
claus
parents: 133
diff changeset
  1679
    ^ self magnifiedBy:(mag @ mag)
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1680
48194c26a46c Initial revision
claus
parents:
diff changeset
  1681
    "Form fromFile:'SBrowser.icn' resolution:50"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1682
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
  1683
48194c26a46c Initial revision
claus
parents:
diff changeset
  1684
!Form methodsFor:'ST-80 compatibility'!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1685
48194c26a46c Initial revision
claus
parents:
diff changeset
  1686
offset:org
48194c26a46c Initial revision
claus
parents:
diff changeset
  1687
    "set the offset.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1688
     Smalltalk-80 compatibility"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1689
48194c26a46c Initial revision
claus
parents:
diff changeset
  1690
    offset := org
48194c26a46c Initial revision
claus
parents:
diff changeset
  1691
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1692
48194c26a46c Initial revision
claus
parents:
diff changeset
  1693
offset
48194c26a46c Initial revision
claus
parents:
diff changeset
  1694
    "set the offset.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1695
     Smalltalk-80 compatibility"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1696
48194c26a46c Initial revision
claus
parents:
diff changeset
  1697
    ^ offset
48194c26a46c Initial revision
claus
parents:
diff changeset
  1698
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1699
89
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1700
displayOn:aGC rule:rule
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1701
    "draw in aGC.
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1702
     Smalltalk-80 (2.x) compatibility"
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1703
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1704
    ^ self displayOn:aGC at:0@0 rule:rule
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1705
!
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1706
98
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1707
displayOn:aGC at:aPoint
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1708
    "draw in aGC.
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1709
     Smalltalk-80 (2.x) compatibility"
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1710
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1711
    ^ self displayOn:aGC at:aPoint rule:#copy 
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1712
!
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1713
89
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1714
displayOn:aGC at:aPoint rule:rule
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1715
    "draw in aGC.
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1716
     Smalltalk-80 (2.x) compatibility"
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1717
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1718
    |f|
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1719
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1720
    f := aGC function.
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1721
    aGC function:rule.
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1722
    aGC displayOpaqueForm:self x:aPoint x y:aPoint y.
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1723
    aGC function:f.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1724
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
  1725
48194c26a46c Initial revision
claus
parents:
diff changeset
  1726
!Form methodsFor:'accessing'!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1727
98
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1728
valueAt:aPoint
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1729
    ^ self at:aPoint
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1730
!
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1731
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1732
valueAt:aPoint put:value
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1733
    ^ self at:aPoint put:value
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1734
!
cd6af625d477 *** empty log message ***
claus
parents: 89
diff changeset
  1735
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1736
colorMap
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1737
    "return the receivers colormap"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1738
48194c26a46c Initial revision
claus
parents:
diff changeset
  1739
    ^ localColorMap
48194c26a46c Initial revision
claus
parents:
diff changeset
  1740
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1741
48194c26a46c Initial revision
claus
parents:
diff changeset
  1742
colorMap:anArray
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1743
    "set the receivers colormap"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1744
48194c26a46c Initial revision
claus
parents:
diff changeset
  1745
    localColorMap := anArray
48194c26a46c Initial revision
claus
parents:
diff changeset
  1746
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1747
48194c26a46c Initial revision
claus
parents:
diff changeset
  1748
depth
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1749
    "return the receivers depth"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1750
48194c26a46c Initial revision
claus
parents:
diff changeset
  1751
    ^ depth
48194c26a46c Initial revision
claus
parents:
diff changeset
  1752
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1753
48194c26a46c Initial revision
claus
parents:
diff changeset
  1754
bits
48194c26a46c Initial revision
claus
parents:
diff changeset
  1755
    "return a ByteArray filled with my bits -
48194c26a46c Initial revision
claus
parents:
diff changeset
  1756
     for depth 8 forms, 1 pixel/byte is filled;
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1757
     for depth 1 forms, 8 pixels/byte are filled
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1758
     for depth 4 forms, 2 pixels/byte are filled.
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1759
     Padding is done to the next byte-boundary 
71
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
  1760
     (i.e. for width==13 and depth==1 it will return 2 bytes per scanline)"
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1761
134
claus
parents: 133
diff changeset
  1762
    |bytesPerLine   "{ Class: SmallInteger }"
claus
parents: 133
diff changeset
  1763
     bytesPerLineIn "{ Class: SmallInteger }"
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1764
     inData tmpData info
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1765
     srcIndex "{ Class: SmallInteger }"
86
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1766
     dstIndex "{ Class: SmallInteger }"
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1767
     buffer|
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1768
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1769
    data notNil ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1770
	^ data
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1771
    ].
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1772
    drawableId isNil ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1773
	fileName notNil ifTrue:[
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1774
	    ^ (self on:Display) bits
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1775
	].
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1776
	^ nil
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1777
    ].
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1778
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1779
    bytesPerLine := (width * depth + 31) // 32 * 4.
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1780
    inData := ByteArray uninitializedNew:(bytesPerLine * height).
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1781
    info := device getBitsFrom:drawableId x:0 y:0 width:width height:height into:inData. 
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1782
    bytesPerLineIn := (info at:3).                                "what I got"
71
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
  1783
    bytesPerLine := (width * depth + 7) // 8.                     "what I want"
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1784
    (bytesPerLine ~~ bytesPerLineIn) ifTrue:[
71
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
  1785
	"
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
  1786
	 different padding - have to copy over row-wise
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
  1787
	"
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1788
	tmpData := inData.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1789
	inData := ByteArray uninitializedNew:(bytesPerLine * height).
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1790
	srcIndex := 1.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1791
	dstIndex := 1.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1792
	1 to:height do:[:hi |
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1793
	    inData replaceFrom:dstIndex to:(dstIndex + bytesPerLine - 1)
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1794
			  with:tmpData startingAt:srcIndex.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1795
	    dstIndex := dstIndex + bytesPerLine.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1796
	    srcIndex := srcIndex + bytesPerLineIn
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1797
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1798
    ] ifFalse:[
71
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
  1799
	"
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
  1800
	 same padding - copy over all in one chunk
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
  1801
	"
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1802
	(bytesPerLine * height) ~~ inData size ifTrue:[
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1803
	    tmpData := inData.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1804
	    inData := ByteArray uninitializedNew:(bytesPerLine * height).
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1805
	    inData replaceFrom:1 to:bytesPerLine * height with:tmpData startingAt:1
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1806
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1807
    ].
86
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1808
    "
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1809
     have to reverse bytes, if not msbFirst ?
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1810
    "
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1811
    (info at:1) == #lsbFirst ifTrue:[
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1812
	buffer := ByteArray new:bytesPerLine.
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1813
	dstIndex := 1.
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1814
	1 to:height do:[:hi |
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1815
	    buffer replaceFrom:1 to:bytesPerLine with:inData startingAt:dstIndex.
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1816
	    buffer reverse.
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1817
	    inData replaceFrom:dstIndex to:dstIndex+bytesPerLine-1 with:buffer startingAt:1.
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1818
	    dstIndex := dstIndex + bytesPerLine
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1819
	]
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1820
    ].
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  1821
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1822
    ^ inData.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1823
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1824
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  1825
forgetBits
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  1826
    "for image, which also keeps the bits - so there is
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  1827
     no need to hold them again here"
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  1828
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  1829
    data := nil
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  1830
!
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  1831
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1832
photometric
48194c26a46c Initial revision
claus
parents:
diff changeset
  1833
    "for compatibility with Image class ..."
48194c26a46c Initial revision
claus
parents:
diff changeset
  1834
48194c26a46c Initial revision
claus
parents:
diff changeset
  1835
    depth == 1 ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1836
	((localColorMap at:1) = Color white) ifTrue:[
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1837
	    ((localColorMap at:1) = Color black) ifTrue:[
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1838
		^ #whiteIs0
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1839
	    ].
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1840
	].
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1841
	((localColorMap at:1) = Color black) ifTrue:[
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1842
	    ((localColorMap at:1) = Color white) ifTrue:[
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1843
		^ #blackIs0
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1844
	    ].
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1845
	].
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1846
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1847
    ^ #palette
48194c26a46c Initial revision
claus
parents:
diff changeset
  1848
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1849
48194c26a46c Initial revision
claus
parents:
diff changeset
  1850
samplesperPixel
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  1851
    "for compatibility with Image class ..."
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  1852
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1853
    ^ 1
48194c26a46c Initial revision
claus
parents:
diff changeset
  1854
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1855
48194c26a46c Initial revision
claus
parents:
diff changeset
  1856
bitsPerSample
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  1857
    "for compatibility with Image class ..."
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  1858
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1859
    ^ Array with:depth
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1860
!
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1861
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1862
filename
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1863
    "return the filename, from which the receiver was created,
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1864
     or nil, if it was not read from a file"
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1865
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1866
    ^ fileName
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1867
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
  1868
99
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1869
!Form methodsFor:'queries '!
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1870
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1871
isForm
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1872
    "return true, if the receiver is some kind of form;
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1873
     true is returned here - the method is redefined from Object."
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1874
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1875
    ^ true
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1876
!
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1877
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1878
isImageOrForm
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1879
    "return true, if the receiver is some kind of image or form;
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1880
     true is returned here - the method is redefined from Object."
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1881
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1882
    ^ true
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1883
! !
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1884
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1885
!Form methodsFor:'image manipulations'!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1886
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1887
lightened
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1888
    "kludge - actually should return a lightened image ..
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1889
     (or Color white ?)"
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1890
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1891
    ^ self
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1892
!
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1893
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1894
darkened
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1895
    "kludge - actually should return a darkened image ..
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1896
     (or Color black ?)"
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1897
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1898
    ^ self
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1899
!
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1900
134
claus
parents: 133
diff changeset
  1901
magnifyBy:scale
claus
parents: 133
diff changeset
  1902
    "obsolete: has been renamed to magnifiedBy: for ST-80 compatibility
claus
parents: 133
diff changeset
  1903
     and name consistency ..."
claus
parents: 133
diff changeset
  1904
claus
parents: 133
diff changeset
  1905
    self obsoleteMethodWarning.
claus
parents: 133
diff changeset
  1906
    ^ self magnifiedBy:scale
claus
parents: 133
diff changeset
  1907
!
claus
parents: 133
diff changeset
  1908
claus
parents: 133
diff changeset
  1909
magnifiedBy:extent
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1910
    "return a new form magnified by extent, aPoint.
134
claus
parents: 133
diff changeset
  1911
     If non-integral magnify is asked for, pass the work on to 'hardMagnifiedBy:'"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1912
134
claus
parents: 133
diff changeset
  1913
    |mX mY dstX dstY newForm ext 
claus
parents: 133
diff changeset
  1914
     factor "{ Class: SmallInteger }"
claus
parents: 133
diff changeset
  1915
     n      "{ Class: SmallInteger }" |
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1916
133
claus
parents: 132
diff changeset
  1917
    ext := extent asPoint.
claus
parents: 132
diff changeset
  1918
    mX := ext x.
claus
parents: 132
diff changeset
  1919
    mY := ext y.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1920
    ((mX = 1) and:[mY = 1]) ifTrue:[^ self].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1921
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  1922
    ((mX isMemberOf:SmallInteger) and:[mY isMemberOf:SmallInteger]) ifFalse:[
134
claus
parents: 133
diff changeset
  1923
	^ self hardMagnifiedBy:ext
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1924
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1925
48194c26a46c Initial revision
claus
parents:
diff changeset
  1926
    newForm := ((self class) on:device)
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1927
				width:(width * mX)
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1928
				height:(height * mY)
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1929
				depth:depth.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1930
48194c26a46c Initial revision
claus
parents:
diff changeset
  1931
    "expand rows"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1932
    (mY > 1) ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1933
	dstY := 0.
134
claus
parents: 133
diff changeset
  1934
	n := height.
claus
parents: 133
diff changeset
  1935
	factor := mY.
claus
parents: 133
diff changeset
  1936
	0 to:(n - 1) do:[:srcY |
claus
parents: 133
diff changeset
  1937
	    1 to:factor do:[:i |
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1938
		newForm copyFrom:self
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1939
			       x:0 y:srcY
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1940
			     toX:0 y:dstY
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1941
			   width:width height:1.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1942
		dstY := dstY + 1
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1943
	    ]
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1944
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1945
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1946
48194c26a46c Initial revision
claus
parents:
diff changeset
  1947
    "expand cols"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1948
    (mX > 1) ifTrue:[
134
claus
parents: 133
diff changeset
  1949
	n := width.
claus
parents: 133
diff changeset
  1950
	factor := mX.
claus
parents: 133
diff changeset
  1951
	dstX := (n * factor) - 1.
claus
parents: 133
diff changeset
  1952
	(n - 1) to:0 by:-1 do:[:srcX |
claus
parents: 133
diff changeset
  1953
	    1 to:factor do:[:i |
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1954
		newForm copyFrom:newForm
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1955
			       x:srcX y:0
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1956
			     toX:dstX y:0
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1957
			   width:1 height:(height * mY).
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1958
		dstX := dstX - 1
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1959
	    ]
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1960
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1961
    ].
46
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
  1962
    newForm colorMap:localColorMap.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1963
    ^ newForm
48194c26a46c Initial revision
claus
parents:
diff changeset
  1964
133
claus
parents: 132
diff changeset
  1965
    "
134
claus
parents: 133
diff changeset
  1966
     (ArrowButton upArrowButtonForm:#iris on:Display) magnifiedBy:(2 @ 2)
claus
parents: 133
diff changeset
  1967
     (Form fromFile:'bitmaps/SBrowser.xbm') magnifiedBy:(2 @ 2)
claus
parents: 133
diff changeset
  1968
     (Form fromFile:'bitmaps/SBrowser.xbm') magnifiedBy:(0.4 @ 0.4)
133
claus
parents: 132
diff changeset
  1969
    "
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1970
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1971
134
claus
parents: 133
diff changeset
  1972
hardMagnifiedBy:extent
89
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1973
    "return a new form magnified by extent, aPoint.
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1974
     This method handles non-integral factors."
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1975
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1976
    "
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1977
     since Form will be replaced by Image in the long run,
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1978
     and this operation is slow anyway, use the implementation
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1979
     in Image for this."
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1980
134
claus
parents: 133
diff changeset
  1981
    ^ ((Image fromForm:self) magnifiedBy:extent) asFormOn:device.
89
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1982
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1983
    "
134
claus
parents: 133
diff changeset
  1984
     (Form fromFile:'OutputOn.64') magnifiedBy:0.5@0.5
claus
parents: 133
diff changeset
  1985
     (Form fromFile:'OutputOn.64') magnifiedBy:1.5@1.5
89
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1986
    "
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1987
!
ea2bf46eb669 *** empty log message ***
claus
parents: 86
diff changeset
  1988
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  1989
flipVertical
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  1990
    "return a new form flipped vertically"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1991
133
claus
parents: 132
diff changeset
  1992
    |dstX newForm nCols "{ Class: SmallInteger }" |
134
claus
parents: 133
diff changeset
  1993
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1994
    newForm := ((self class) on:device)
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1995
				width:width
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1996
				height:height
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1997
				depth:depth.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1998
    "expand cols"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1999
    dstX := width - 1.
133
claus
parents: 132
diff changeset
  2000
    nCols := dstX // 2.
claus
parents: 132
diff changeset
  2001
    0 to:nCols do:[:srcX |
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  2002
	newForm copyFrom:self
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  2003
		       x:srcX y:0
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  2004
		     toX:dstX y:0
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  2005
		   width:1 height:height.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  2006
	dstX := dstX - 1
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2007
    ].
46
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
  2008
    newForm colorMap:localColorMap.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2009
    ^ newForm
48194c26a46c Initial revision
claus
parents:
diff changeset
  2010
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  2011
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  2012
flipHorizontal
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
  2013
    "return a new form flipped horizontally"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2014
133
claus
parents: 132
diff changeset
  2015
    |dstY newForm nRows "{ Class: SmallInteger }" |
71
6a42b2b115f8 *** empty log message ***
claus
parents: 58
diff changeset
  2016
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2017
    newForm := ((self class) on:device)
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  2018
				width:width
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  2019
				height:height
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  2020
				depth:depth.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2021
    "expand rows"
133
claus
parents: 132
diff changeset
  2022
    dstY := height - 1.
claus
parents: 132
diff changeset
  2023
    nRows := dstY // 2.
claus
parents: 132
diff changeset
  2024
    0 to:nRows do:[:srcY |
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  2025
	newForm copyFrom:self
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  2026
		       x:0 y:srcY
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  2027
		     toX:0 y:dstY
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  2028
		   width:width height:1.
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  2029
	dstY := dstY - 1
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2030
    ].
46
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
  2031
    newForm colorMap:localColorMap.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2032
    ^ newForm
48194c26a46c Initial revision
claus
parents:
diff changeset
  2033
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
  2034
86
032006651226 *** empty log message ***
claus
parents: 78
diff changeset
  2035
!Form methodsFor:'printing & storing'!
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2036
48194c26a46c Initial revision
claus
parents:
diff changeset
  2037
storeOn:aStream
48194c26a46c Initial revision
claus
parents:
diff changeset
  2038
    aStream nextPutAll:'(Form width:'.
48194c26a46c Initial revision
claus
parents:
diff changeset
  2039
    width storeOn:aStream.
48194c26a46c Initial revision
claus
parents:
diff changeset
  2040
    aStream nextPutAll:' height:'.
48194c26a46c Initial revision
claus
parents:
diff changeset
  2041
    height storeOn:aStream.
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  2042
    aStream nextPutAll:' fromArray:('.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2043
    self bits storeOn:aStream.
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  2044
    aStream nextPutAll:'))'
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2045
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
  2046
48194c26a46c Initial revision
claus
parents:
diff changeset
  2047
!Form methodsFor:'editing'!
48194c26a46c Initial revision
claus
parents:
diff changeset
  2048
48194c26a46c Initial revision
claus
parents:
diff changeset
  2049
edit
133
claus
parents: 132
diff changeset
  2050
    ImageEditView openOnImage:self
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2051
133
claus
parents: 132
diff changeset
  2052
    "
claus
parents: 132
diff changeset
  2053
     (Form fromFile:'bitmaps/SBrowser.xbm') edit
claus
parents: 132
diff changeset
  2054
    "
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2055
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  2056
48194c26a46c Initial revision
claus
parents:
diff changeset
  2057
show
133
claus
parents: 132
diff changeset
  2058
    ImageView openOnImage:self
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2059
133
claus
parents: 132
diff changeset
  2060
    "
claus
parents: 132
diff changeset
  2061
     (Form fromFile:'bitmaps/SBrowser.xbm') show
claus
parents: 132
diff changeset
  2062
    "
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2063
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
  2064
48194c26a46c Initial revision
claus
parents:
diff changeset
  2065
!Form class methodsFor:'fileIn/Out'!
48194c26a46c Initial revision
claus
parents:
diff changeset
  2066
48194c26a46c Initial revision
claus
parents:
diff changeset
  2067
readFrom:fileName
151
claus
parents: 134
diff changeset
  2068
    "same as Form>>fromFile: - for ST-80 compatibility.
claus
parents: 134
diff changeset
  2069
     WARNING:
claus
parents: 134
diff changeset
  2070
     Please do no longer use this, since it will not work
claus
parents: 134
diff changeset
  2071
     correctly in multi-display applications (creates the form on the
claus
parents: 134
diff changeset
  2072
     default Display).
claus
parents: 134
diff changeset
  2073
     Use #fromFile:on: and pass the devive as argument."
claus
parents: 134
diff changeset
  2074
claus
parents: 134
diff changeset
  2075
    ^ self fromFile:fileName on:Display
claus
parents: 134
diff changeset
  2076
!
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2077
151
claus
parents: 134
diff changeset
  2078
fromFile:filename
claus
parents: 134
diff changeset
  2079
    "create a new form taking the bits from a file on the default device.
claus
parents: 134
diff changeset
  2080
     WARNING:
claus
parents: 134
diff changeset
  2081
     Please do no longer use this, since it will not work
claus
parents: 134
diff changeset
  2082
     correctly in multi-display applications (creates the form on the
claus
parents: 134
diff changeset
  2083
     default Display).
claus
parents: 134
diff changeset
  2084
     Use #fromFile:on: and pass the devive as argument."
claus
parents: 134
diff changeset
  2085
claus
parents: 134
diff changeset
  2086
    ^ self fromFile:filename on:Display
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2087
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  2088
48194c26a46c Initial revision
claus
parents:
diff changeset
  2089
fromFile:filename on:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
  2090
    "create a new form on device, aDevice and
48194c26a46c Initial revision
claus
parents:
diff changeset
  2091
     initialize the pixels from the file filename"
48194c26a46c Initial revision
claus
parents:
diff changeset
  2092
48194c26a46c Initial revision
claus
parents:
diff changeset
  2093
    ^ (self on:aDevice) readFromFile:filename
48194c26a46c Initial revision
claus
parents:
diff changeset
  2094
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  2095
48194c26a46c Initial revision
claus
parents:
diff changeset
  2096
fromFile:filename resolution:dpi on:aDevice
48194c26a46c Initial revision
claus
parents:
diff changeset
  2097
    "create a new form on device, aDevice and
48194c26a46c Initial revision
claus
parents:
diff changeset
  2098
     initialize the pixels from the file filename;
48194c26a46c Initial revision
claus
parents:
diff changeset
  2099
     the data in the file is assumed to be for dpi resolution;
58
721460c8fd3a *** empty log message ***
claus
parents: 54
diff changeset
  2100
     if it is different from the displays resolution, magnify or
721460c8fd3a *** empty log message ***
claus
parents: 54
diff changeset
  2101
     shrink the picture (but only in integer magnification steps)"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2102
48194c26a46c Initial revision
claus
parents:
diff changeset
  2103
    ^ (self on:aDevice) readFromFile:filename resolution:dpi
48194c26a46c Initial revision
claus
parents:
diff changeset
  2104
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  2105
48194c26a46c Initial revision
claus
parents:
diff changeset
  2106
fromFile:filename resolution:dpi
48194c26a46c Initial revision
claus
parents:
diff changeset
  2107
    "create a new form taking the bits from a file on the default device
48194c26a46c Initial revision
claus
parents:
diff changeset
  2108
     the data in the file is assumed to be for dpi resolution;
58
721460c8fd3a *** empty log message ***
claus
parents: 54
diff changeset
  2109
     if it is different from the displays resolution, magnify or
151
claus
parents: 134
diff changeset
  2110
     shrink the picture (but only in integer magnification steps).
claus
parents: 134
diff changeset
  2111
     WARNING:
claus
parents: 134
diff changeset
  2112
     Please do no longer use this, since it will not work
claus
parents: 134
diff changeset
  2113
     correctly in multi-display applications (creates the form on the
claus
parents: 134
diff changeset
  2114
     default Display).
claus
parents: 134
diff changeset
  2115
     Use #fromFile:resolution:on: and pass the devive as argument."
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2116
151
claus
parents: 134
diff changeset
  2117
    ^ self fromFile:filename resolution:dpi on:Display
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  2118
! !