Form.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 06 Sep 2017 10:04:18 +0200
branchjv
changeset 8180 25149dfd68e0
parent 7765 b8189ae681df
child 8420 76e39223f5ab
permissions -rw-r--r--
Build files: removed a bunch of make rules for long-dead unsupported systems ...in order to unify and simplify the build. If a need to support this ancient systems arose, these hacks may ni longer be needed (due to new versions of tools) or the hacks would have to be written again (better) or retrieved from SCM (worse). Time will show.
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
"
3192
62b7b6c6419b halt with message arg
Claus Gittinger <cg@exept.de>
parents: 3177
diff changeset
    12
"{ Package: 'stx:libview' }"
62b7b6c6419b halt with message arg
Claus Gittinger <cg@exept.de>
parents: 3177
diff changeset
    13
6860
73f5e3b55940 class: Form
Claus Gittinger <cg@exept.de>
parents: 6533
diff changeset
    14
"{ NameSpace: Smalltalk }"
73f5e3b55940 class: Form
Claus Gittinger <cg@exept.de>
parents: 6533
diff changeset
    15
721
ba7861418087 renamed DisplayMedium to Graphicsmedium & changed inheritance
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    16
GraphicsMedium subclass:#Form
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
    17
	instanceVariableNames:'depth localColorMap offset data maskedPixelsAre0'
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
    18
	classVariableNames:'VeryLightGreyForm LightGreyForm GreyForm DarkGreyForm
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
    19
		VeryDarkGreyForm AdditionalBitmapDirectoryNames
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
    20
		BlackAndWhiteColorMap DitherPatternArray'
412
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
    21
	poolDictionaries:''
3921
7bc2e9c7d9a4 category
Claus Gittinger <cg@exept.de>
parents: 3891
diff changeset
    22
	category:'Compatibility-ST80-Graphics-Display Objects'
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    23
!
48194c26a46c Initial revision
claus
parents:
diff changeset
    24
4173
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
    25
Form subclass:#ImageForm
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
    26
	instanceVariableNames:''
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
    27
	classVariableNames:''
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
    28
	poolDictionaries:''
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
    29
	privateIn:Form
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
    30
!
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
    31
1142
2a83bf7d5627 Form>>readFrom: are going to be obsoleted.
Claus Gittinger <cg@exept.de>
parents: 1138
diff changeset
    32
!Form class methodsFor:'documentation'!
46
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    33
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    34
copyright
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    35
"
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    36
 COPYRIGHT (c) 1989 by Claus Gittinger
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
    37
	      All Rights Reserved
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    38
46
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    39
 This software is furnished under a license and may be used
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    40
 only in accordance with the terms of that license and with the
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    41
 inclusion of the above copyright notice.   This software may not
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    42
 be provided or otherwise made available to, or used by, any
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    43
 other person.  No title to or ownership of the software is
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    44
 hereby transferred.
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
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    48
documentation
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    49
"
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    50
    Instances of this class represent forms (i.e. bit- and pixmaps)
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
    51
    which can be created on a drawing device.
590
fc18ba574a4d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 589
diff changeset
    52
    In X, these device resources are XPixmaps.
46
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    53
    Not all devices will support forms.
134
claus
parents: 133
diff changeset
    54
claus
parents: 133
diff changeset
    55
    NOTICE:
1138
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    56
	the Form class is a historic leftover and now only used for real
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    57
	device forms (i.e. on devices which support downloading bitmaps).
590
fc18ba574a4d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 589
diff changeset
    58
1138
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    59
	In your application, you should always use Image, both for compatibility
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    60
	with ST-80 and for device independence, since Form may not be supported
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    61
	by all devices.
589
2c119dc32f8c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 588
diff changeset
    62
935
e71b1be3eb6c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
    63
    WARNING:
1138
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    64
	Forms created on some device may not be recreatable, when an
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    65
	image is restarted on a display with different display capabilities.
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    66
	For example, a 24bit truecolor form will be lost when the image is
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    67
	saved and restarted in an 8bit or monochrome display.
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    68
	Worse: the information is completely lost.
935
e71b1be3eb6c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
    69
1138
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    70
	With images, the original information is always preserved, although
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    71
	the display may be with less resolution, dithered or otherwise
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    72
	approximated.
935
e71b1be3eb6c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
    73
591
d071af7739db commentary
Claus Gittinger <cg@exept.de>
parents: 590
diff changeset
    74
    [See also:]
1138
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    75
	Image DeviceDrawable
610
f6951a01350f documentation
Claus Gittinger <cg@exept.de>
parents: 594
diff changeset
    76
f6951a01350f documentation
Claus Gittinger <cg@exept.de>
parents: 594
diff changeset
    77
    [author:]
1138
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
    78
	Claus Gittinger
46
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    79
"
7b331e9012fd *** empty log message ***
claus
parents: 35
diff changeset
    80
! !
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    81
1142
2a83bf7d5627 Form>>readFrom: are going to be obsoleted.
Claus Gittinger <cg@exept.de>
parents: 1138
diff changeset
    82
!Form class methodsFor:'initialization'!
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    83
48194c26a46c Initial revision
claus
parents:
diff changeset
    84
initialize
126
4fc31fd808c8 *** empty log message ***
claus
parents: 118
diff changeset
    85
    "initialize set of dictionaries to look for bitmaps"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    86
48194c26a46c Initial revision
claus
parents:
diff changeset
    87
    AdditionalBitmapDirectoryNames isNil ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
    88
	OperatingSystem isMSWINDOWSlike ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
    89
	    AdditionalBitmapDirectoryNames := #().
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
    90
	] ifFalse:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
    91
	    AdditionalBitmapDirectoryNames := #('/usr/lib/X11/bitmaps').
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
    92
	].
6860
73f5e3b55940 class: Form
Claus Gittinger <cg@exept.de>
parents: 6533
diff changeset
    93
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
    94
	"want to be informed when returning from snapshot"
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
    95
	ObjectMemory addDependent:self.
4437
735d7db913eb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4217
diff changeset
    96
    ].
0
48194c26a46c Initial revision
claus
parents:
diff changeset
    97
!
48194c26a46c Initial revision
claus
parents:
diff changeset
    98
48194c26a46c Initial revision
claus
parents:
diff changeset
    99
reinitializeAllOn:aDevice
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   100
    "recreate all forms on aDevice; called by Workstation after snapIn, to
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   101
     have all background bitmaps at hand, when views are restored"
48194c26a46c Initial revision
claus
parents:
diff changeset
   102
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   103
    Form allSubInstancesDo:[:eachForm |
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   104
	eachForm graphicsDevice == aDevice ifTrue:[
6935
0de17e2f06f6 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6533
diff changeset
   105
            "now, try to recreate it"
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   106
	    eachForm recreate.
6935
0de17e2f06f6 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6533
diff changeset
   107
        ]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   108
    ]
927
c4bc2a7ff733 use #graphicsDevice instead of #device.
Claus Gittinger <cg@exept.de>
parents: 925
diff changeset
   109
c4bc2a7ff733 use #graphicsDevice instead of #device.
Claus Gittinger <cg@exept.de>
parents: 925
diff changeset
   110
    "Modified: 5.7.1996 / 17:55:58 / cg"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   111
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   112
870
2b7db80e7ad1 oops - restart mechanism got corrupted
Claus Gittinger <cg@exept.de>
parents: 836
diff changeset
   113
update:something with:aParameter from:changedObject
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   114
    "sent just before snapOut and just after a snapIn"
48194c26a46c Initial revision
claus
parents:
diff changeset
   115
48194c26a46c Initial revision
claus
parents:
diff changeset
   116
    (something == #save) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   117
	"get all bits from the device into saveable arrays"
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   118
	Form allSubInstancesDo:[:eachForm |
6935
0de17e2f06f6 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6533
diff changeset
   119
            (PrimitiveFailureSignal , DeviceWorkstation drawingOnClosedDeviceSignal) handle:[:ex |
0de17e2f06f6 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6533
diff changeset
   120
                'Form [warning]: cannot fetch form bits from device' errorPrintCR
0de17e2f06f6 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6533
diff changeset
   121
            ] do:[
0de17e2f06f6 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6533
diff changeset
   122
                |dev|
2933
fd5033d6a182 ask device, if it wants to be made persistent in the snapshot image
Claus Gittinger <cg@exept.de>
parents: 2850
diff changeset
   123
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   124
		((dev := eachForm graphicsDevice) notNil
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   125
		 and:[dev isPersistentInSnapshot]) ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   126
		    eachForm getBits
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   127
		]
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   128
	    ]
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   129
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   130
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
   131
    (something == #restarted) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   132
	"remove all left-over device info"
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   133
	Form allSubInstancesDo:[:eachForm |
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   134
	    eachForm flushDeviceHandles.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   135
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   136
    ]
870
2b7db80e7ad1 oops - restart mechanism got corrupted
Claus Gittinger <cg@exept.de>
parents: 836
diff changeset
   137
2b7db80e7ad1 oops - restart mechanism got corrupted
Claus Gittinger <cg@exept.de>
parents: 836
diff changeset
   138
    "Modified: 15.6.1996 / 15:44:09 / cg"
2b7db80e7ad1 oops - restart mechanism got corrupted
Claus Gittinger <cg@exept.de>
parents: 836
diff changeset
   139
    "Created: 15.6.1996 / 15:47:50 / cg"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   140
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   141
1142
2a83bf7d5627 Form>>readFrom: are going to be obsoleted.
Claus Gittinger <cg@exept.de>
parents: 1138
diff changeset
   142
!Form class methodsFor:'instance creation'!
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   143
2964
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   144
dotOfSize:size
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   145
    "create and return a form which contains a dot (filled circle)
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   146
     of the given size."
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   147
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   148
    |f|
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   149
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   150
    f := self extent:size asPoint onDevice:Screen current.
2964
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   151
    f clear.
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   152
    f fillCircle:(f center) radius:(f width min:f height) // 2.
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   153
    ^ f
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   154
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   155
    "
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   156
     (Form dotOfSize:8) inspect
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   157
     (Form dotOfSize:20) inspect
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   158
    "
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   159
!
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   160
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   161
extent:ext
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   162
    "create a new, cleared form, take dimensions from ext.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   163
     Smalltalk-80 compatibility"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   164
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   165
    |newForm|
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   166
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   167
    newForm := self width:(ext x) height:(ext y).
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   168
    newForm fill:(Color colorId:0).
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   169
    newForm paint:(Color colorId:1).
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   170
    ^ newForm
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   171
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   172
1278
85b4c4898265 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1255
diff changeset
   173
extent:ext depth:d
85b4c4898265 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1255
diff changeset
   174
    "create a new, cleared form.
85b4c4898265 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1255
diff changeset
   175
     Smalltalk-80 compatibility"
85b4c4898265 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1255
diff changeset
   176
85b4c4898265 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1255
diff changeset
   177
    ^ self width:ext x height:ext y depth:d
85b4c4898265 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1255
diff changeset
   178
85b4c4898265 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1255
diff changeset
   179
    "Created: 27.1.1997 / 16:08:37 / cg"
85b4c4898265 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1255
diff changeset
   180
    "Modified: 27.1.1997 / 16:08:50 / cg"
85b4c4898265 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1255
diff changeset
   181
!
85b4c4898265 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1255
diff changeset
   182
3452
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   183
extent:ext depth:d onDevice:aDevice
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   184
    "create a new form on device, aDevice; depth is what device likes most"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   185
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   186
    ^ self width:ext x height:ext y depth:d onDevice:aDevice
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   187
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   188
    "Created: 4.4.1997 / 20:23:32 / cg"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   189
    "Modified: 4.4.1997 / 20:25:28 / cg"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   190
!
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   191
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   192
extent:ext fromArray:data
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   193
    "create a new form, take dimensions from ext, bits from data.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   194
     Smalltalk-80 compatibility."
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   195
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   196
    ^ self width:(ext x) height:(ext y) offset:0@0 fromArray:data
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   197
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   198
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   199
extent:ext fromArray:data offset:offs
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   200
    "create a new form, take dimensions from ext, bits from data.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   201
     Smalltalk-80 compatibility."
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   202
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   203
    ^ self width:(ext x) height:(ext y) offset:offs fromArray:data
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   204
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   205
3452
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   206
extent:ext fromArray:data offset:offs onDevice:aDevice
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   207
    "create a new form, take dimensions from ext, bits from data."
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   208
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   209
    ^ self width:(ext x) height:(ext y) offset:offs fromArray:data onDevice:aDevice
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   210
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   211
    "Created: 10.4.1997 / 15:36:31 / cg"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   212
!
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   213
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   214
extent:ext fromArray:data onDevice:aDevice
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   215
    "create a new form, take dimensions from ext, bits from data."
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   216
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   217
    ^ self width:(ext x) height:(ext y) fromArray:data onDevice:aDevice
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   218
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   219
    "Created: 10.4.1997 / 15:34:34 / cg"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   220
    "Modified: 10.4.1997 / 15:36:04 / cg"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   221
!
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   222
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   223
extent:ext offset:anOffset
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   224
    "create a new, cleared form, take dimensions from ext.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   225
     Smalltalk-80 compatibility"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   226
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   227
    ^ (self extent:ext) offset:anOffset.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   228
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   229
3452
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   230
extent:ext onDevice:aDevice
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   231
    "create a new form on device, aDevice; depth is what device likes most"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   232
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   233
    ^ self width:ext x height:ext y onDevice:aDevice
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   234
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   235
    "Modified: 4.4.1997 / 20:25:07 / cg"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   236
!
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   237
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   238
width:w height:h
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   239
    "create a new form on the default device"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   240
3135
f9304f22f07b handle the case, where not Screen is available
Claus Gittinger <cg@exept.de>
parents: 3106
diff changeset
   241
    |scr|
f9304f22f07b handle the case, where not Screen is available
Claus Gittinger <cg@exept.de>
parents: 3106
diff changeset
   242
f9304f22f07b handle the case, where not Screen is available
Claus Gittinger <cg@exept.de>
parents: 3106
diff changeset
   243
    Screen notNil ifTrue:[scr := Screen current].
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   244
    ^ self width:w height:h onDevice:scr
789
9566544d68a1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 746
diff changeset
   245
9566544d68a1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 746
diff changeset
   246
    "Modified: 4.6.1996 / 22:16:33 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   247
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   248
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   249
width:w height:h depth:d
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   250
    "create a new form on the default device"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   251
3135
f9304f22f07b handle the case, where not Screen is available
Claus Gittinger <cg@exept.de>
parents: 3106
diff changeset
   252
    |scr|
f9304f22f07b handle the case, where not Screen is available
Claus Gittinger <cg@exept.de>
parents: 3106
diff changeset
   253
f9304f22f07b handle the case, where not Screen is available
Claus Gittinger <cg@exept.de>
parents: 3106
diff changeset
   254
    Screen notNil ifTrue:[scr := Screen current].
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   255
    ^ self width:w height:h depth:d onDevice:scr
789
9566544d68a1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 746
diff changeset
   256
9566544d68a1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 746
diff changeset
   257
    "Modified: 4.6.1996 / 22:16:51 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   258
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   259
3452
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   260
width:w height:h depth:d onDevice:aDevice
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   261
    "create a new form with depth d on device, aDevice"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   262
7354
4a9f164c4605 #BUGFIX by sr
sr
parents: 7260
diff changeset
   263
    ^ (self onDevice:aDevice) width:w height:h depth:d.
3452
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   264
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   265
    "Modified: 18.1.1997 / 18:26:03 / cg"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   266
!
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   267
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   268
width:w height:h fromArray:anArray
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   269
    "create a new form on the default device"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   270
3135
f9304f22f07b handle the case, where not Screen is available
Claus Gittinger <cg@exept.de>
parents: 3106
diff changeset
   271
    |scr|
f9304f22f07b handle the case, where not Screen is available
Claus Gittinger <cg@exept.de>
parents: 3106
diff changeset
   272
f9304f22f07b handle the case, where not Screen is available
Claus Gittinger <cg@exept.de>
parents: 3106
diff changeset
   273
    Screen notNil ifTrue:[scr := Screen current].
4768
f61bf4ab2fba ...:on: -> ...:onDevice:
Claus Gittinger <cg@exept.de>
parents: 4642
diff changeset
   274
    ^ self width:w height:h fromArray:anArray onDevice:scr
f61bf4ab2fba ...:on: -> ...:onDevice:
Claus Gittinger <cg@exept.de>
parents: 4642
diff changeset
   275
f61bf4ab2fba ...:on: -> ...:onDevice:
Claus Gittinger <cg@exept.de>
parents: 4642
diff changeset
   276
    "Modified: / 29-05-2007 / 19:31:14 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   277
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   278
3452
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   279
width:w height:h fromArray:anArray onDevice:aDevice
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   280
    "create a new form on device, aDevice and
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   281
     initialize the pixels from anArray"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   282
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   283
    ^ (self onDevice:aDevice) width:w height:h fromArray:anArray
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   284
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   285
    "Modified: 18.1.1997 / 18:26:24 / cg"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   286
!
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   287
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   288
width:w height:h offset:offs fromArray:anArray
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   289
    "create a new form on the default device"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   290
3135
f9304f22f07b handle the case, where not Screen is available
Claus Gittinger <cg@exept.de>
parents: 3106
diff changeset
   291
    |scr|
f9304f22f07b handle the case, where not Screen is available
Claus Gittinger <cg@exept.de>
parents: 3106
diff changeset
   292
f9304f22f07b handle the case, where not Screen is available
Claus Gittinger <cg@exept.de>
parents: 3106
diff changeset
   293
    Screen notNil ifTrue:[scr := Screen current].
4774
3cf14143cbad more obsolete selector usage ...
Stefan Vogel <sv@exept.de>
parents: 4770
diff changeset
   294
    ^ self width:w height:h offset:offs fromArray:anArray onDevice:scr
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   295
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   296
3452
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   297
width:w height:h offset:offs fromArray:anArray onDevice:aDevice
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   298
    "create a new form on the default device"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   299
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   300
    ^ (self onDevice:aDevice) width:w height:h offset:offs fromArray:anArray
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   301
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   302
    "Modified: 18.1.1997 / 18:26:28 / cg"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   303
    "Created: 10.4.1997 / 15:35:07 / cg"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   304
!
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   305
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   306
width:w height:h onDevice:aDevice
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   307
    "create a new form on device, aDevice; depth is what device likes most"
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   308
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   309
    ^ (self onDevice:aDevice) width:w height:h
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   310
58e757c27a76 compatibility methods
Claus Gittinger <cg@exept.de>
parents: 3431
diff changeset
   311
    "Modified: 18.1.1997 / 18:26:31 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   312
! !
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   313
3891
48c1f9ab83e3 category
Claus Gittinger <cg@exept.de>
parents: 3880
diff changeset
   314
!Form class methodsFor:'Compatibility-ST80'!
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   315
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   316
and
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   317
    "return a constant usable as bitblt-combinationrule.
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   318
     In ST-80rel2.x, these used to be numeric constants; in ST/X,
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   319
     these are symbolic."
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   320
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   321
    ^ #and
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   322
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   323
    "Modified: 2.5.1996 / 11:41:23 / cg"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   324
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   325
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   326
black
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   327
    "ST80 compatibility;
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   328
     In old st80, you could use `Form black' for drawing
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   329
     - here we return the black color."
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   330
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   331
    ^ Color black
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   332
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   333
    "Modified: 2.5.1996 / 11:44:17 / cg"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   334
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   335
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   336
darkGray
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   337
    "ST80 compatibility;
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   338
     In old st80, you could use `Form darkGray' for drawing
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   339
     - here we return the darkGray color."
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   340
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   341
    ^ Color darkGray
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   342
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   343
    "Modified: 2.5.1996 / 11:44:06 / cg"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   344
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   345
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   346
darkGrey
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   347
    "ST80 compatibility;
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   348
     In old st80, you could use `Form darkGrey' for drawing
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   349
     - here we return the darkGrey color."
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   350
746
f5479d603f64 gray vs. grey
Claus Gittinger <cg@exept.de>
parents: 721
diff changeset
   351
    ^ Color darkGray
f5479d603f64 gray vs. grey
Claus Gittinger <cg@exept.de>
parents: 721
diff changeset
   352
f5479d603f64 gray vs. grey
Claus Gittinger <cg@exept.de>
parents: 721
diff changeset
   353
    "Modified: 28.5.1996 / 20:47:54 / cg"
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   354
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   355
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   356
gray
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   357
    "ST80 compatibility;
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   358
     In old st80, you could use `Form gray' for drawing
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   359
     - here we return the grey color."
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   360
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   361
    ^ Color gray
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   362
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   363
    "Modified: 2.5.1996 / 11:43:44 / cg"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   364
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   365
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   366
grey
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   367
    "ST80 compatibility;
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   368
     In old st80, you could use `Form grey' for drawing
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   369
     - here we return the grey color."
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   370
6533
560075ecc897 class: Form
Claus Gittinger <cg@exept.de>
parents: 6483
diff changeset
   371
    ^ Color gray
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   372
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   373
    "Modified: 2.5.1996 / 11:43:17 / cg"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   374
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   375
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   376
lightGray
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   377
    "ST80 compatibility;
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   378
     In old st80, you could use `Form lightGray' for drawing
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   379
     - here we return the lightGray color."
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   380
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   381
    ^ Color lightGray
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   382
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   383
    "Created: 2.5.1996 / 11:40:07 / cg"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   384
    "Modified: 2.5.1996 / 11:43:21 / cg"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   385
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   386
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   387
lightGrey
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   388
    "ST80 compatibility;
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   389
     In old st80, you could use `Form lightGray' for drawing
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   390
     - here we return the lightGray color."
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   391
746
f5479d603f64 gray vs. grey
Claus Gittinger <cg@exept.de>
parents: 721
diff changeset
   392
    ^ Color lightGray
f5479d603f64 gray vs. grey
Claus Gittinger <cg@exept.de>
parents: 721
diff changeset
   393
f5479d603f64 gray vs. grey
Claus Gittinger <cg@exept.de>
parents: 721
diff changeset
   394
    "Modified: 28.5.1996 / 20:53:28 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   395
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   396
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   397
over
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   398
    "return a constant usable as bitblt-combinationrule.
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   399
     In ST-80rel2.x, these used to be numeric constants; in ST/X,
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   400
     these are symbolic."
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   401
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   402
    ^ #copy
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   403
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   404
    "Modified: 2.5.1996 / 11:41:31 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   405
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   406
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   407
paint
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   408
    "return a constant usable as bitblt-combinationrule.
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   409
     In ST-80rel2.x, these used to be numeric constants; in ST/X,
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   410
     these are symbolic."
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   411
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   412
    ^ #copy
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   413
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   414
    "Modified: 2.5.1996 / 11:41:40 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   415
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   416
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   417
reverse
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   418
    "return a constant usable as bitblt-combinationrule.
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   419
     In ST-80rel2.x, these used to be numeric constants; in ST/X,
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   420
     these are symbolic."
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   421
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   422
    ^ #xor
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   423
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   424
    "Modified: 2.5.1996 / 11:41:45 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   425
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   426
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   427
under
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   428
    "return a constant usable as bitblt-combinationrule.
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   429
     In ST-80rel2.x, these used to be numeric constants; in ST/X,
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   430
     these are symbolic."
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   431
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   432
    ^ #or
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   433
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   434
    "Modified: 2.5.1996 / 11:41:49 / cg"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   435
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   436
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   437
white
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   438
    "ST80rel2.x compatibility;
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   439
     In old st80, you could use `Form white' for drawing
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   440
     - here we return the white color."
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   441
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   442
    ^ Color white
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   443
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   444
    "Modified: 2.5.1996 / 11:42:50 / cg"
109
ba47d9d6bda8 *** empty log message ***
claus
parents: 107
diff changeset
   445
! !
ba47d9d6bda8 *** empty log message ***
claus
parents: 107
diff changeset
   446
3891
48c1f9ab83e3 category
Claus Gittinger <cg@exept.de>
parents: 3880
diff changeset
   447
!Form class methodsFor:'Compatibility-Squeak'!
3142
4b5c726c0630 category renamining
Claus Gittinger <cg@exept.de>
parents: 3135
diff changeset
   448
4768
f61bf4ab2fba ...:on: -> ...:onDevice:
Claus Gittinger <cg@exept.de>
parents: 4642
diff changeset
   449
extent:ext depth:d bits:data
f61bf4ab2fba ...:on: -> ...:onDevice:
Claus Gittinger <cg@exept.de>
parents: 4642
diff changeset
   450
    ^ self width:(ext x) height:(ext y) offset:0 fromArray:data
f61bf4ab2fba ...:on: -> ...:onDevice:
Claus Gittinger <cg@exept.de>
parents: 4642
diff changeset
   451
f61bf4ab2fba ...:on: -> ...:onDevice:
Claus Gittinger <cg@exept.de>
parents: 4642
diff changeset
   452
    "Created: / 26-05-2007 / 22:35:12 / cg"
f61bf4ab2fba ...:on: -> ...:onDevice:
Claus Gittinger <cg@exept.de>
parents: 4642
diff changeset
   453
!
f61bf4ab2fba ...:on: -> ...:onDevice:
Claus Gittinger <cg@exept.de>
parents: 4642
diff changeset
   454
3142
4b5c726c0630 category renamining
Claus Gittinger <cg@exept.de>
parents: 3135
diff changeset
   455
extent:ext depth:d fromArray:data offset:offs
4b5c726c0630 category renamining
Claus Gittinger <cg@exept.de>
parents: 3135
diff changeset
   456
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   457
    d ~~ 1 ifTrue:[self error:'unsupported depth' mayProceed:true].
4165
b24a5c2adcb2 Do not use obsolete method #readFromFile: in #onDevice.
Stefan Vogel <sv@exept.de>
parents: 3921
diff changeset
   458
    ^ self width:(ext x) height:(ext y) offset:offs fromArray:data
7381
b877572cc0d4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 7355
diff changeset
   459
!
b877572cc0d4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 7355
diff changeset
   460
b877572cc0d4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 7355
diff changeset
   461
fromUser
b877572cc0d4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 7355
diff changeset
   462
    ^ Image fromUser asFormOn:(Screen current)
b877572cc0d4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 7355
diff changeset
   463
b877572cc0d4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 7355
diff changeset
   464
    "
b877572cc0d4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 7355
diff changeset
   465
     Delay waitForSeconds:1.
b877572cc0d4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 7355
diff changeset
   466
     Form fromUser inspect.
b877572cc0d4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 7355
diff changeset
   467
     Delay waitForSeconds:1.
b877572cc0d4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 7355
diff changeset
   468
    "
b877572cc0d4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 7355
diff changeset
   469
b877572cc0d4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 7355
diff changeset
   470
    "Created: / 07-06-2016 / 12:01:53 / cg"
3142
4b5c726c0630 category renamining
Claus Gittinger <cg@exept.de>
parents: 3135
diff changeset
   471
! !
4b5c726c0630 category renamining
Claus Gittinger <cg@exept.de>
parents: 3135
diff changeset
   472
7493
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
   473
!Form class methodsFor:'accessing private classes'!
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
   474
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
   475
imageForm
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
   476
    ^ ImageForm
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
   477
! !
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
   478
1142
2a83bf7d5627 Form>>readFrom: are going to be obsoleted.
Claus Gittinger <cg@exept.de>
parents: 1138
diff changeset
   479
!Form class methodsFor:'cleanup'!
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   480
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   481
lowSpaceCleanup
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   482
    "cleanup in low-memory situations"
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   483
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
   484
    DitherPatternArray := nil
12
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   485
! !
9f0995fac1fa *** empty log message ***
claus
parents: 6
diff changeset
   486
1142
2a83bf7d5627 Form>>readFrom: are going to be obsoleted.
Claus Gittinger <cg@exept.de>
parents: 1138
diff changeset
   487
!Form class methodsFor:'file search'!
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   488
48194c26a46c Initial revision
claus
parents:
diff changeset
   489
findBitmapFile:fileName
6227
72c2836e3151 class: Form
Stefan Vogel <sv@exept.de>
parents: 6143
diff changeset
   490
    <resource: #obsolete>
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   491
    "find the bitmap file in one of the standard places;
48194c26a46c Initial revision
claus
parents:
diff changeset
   492
     return the pathName or nil"
48194c26a46c Initial revision
claus
parents:
diff changeset
   493
4642
9eb7fed99649 bitmap file finding cleanup
Claus Gittinger <cg@exept.de>
parents: 4621
diff changeset
   494
    |path|
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   495
48194c26a46c Initial revision
claus
parents:
diff changeset
   496
    ((fileName at:1) == $/) ifTrue:[^ fileName].
48194c26a46c Initial revision
claus
parents:
diff changeset
   497
    (fileName startsWith:'../') ifTrue:[^ fileName].
48194c26a46c Initial revision
claus
parents:
diff changeset
   498
    (fileName startsWith:'./') ifTrue:[^ fileName].
127
98b0725782bd *** empty log message ***
claus
parents: 126
diff changeset
   499
    fileName asFilename exists ifTrue:[^ fileName].
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   500
4642
9eb7fed99649 bitmap file finding cleanup
Claus Gittinger <cg@exept.de>
parents: 4621
diff changeset
   501
    path := Smalltalk getBitmapFileName:fileName.
9eb7fed99649 bitmap file finding cleanup
Claus Gittinger <cg@exept.de>
parents: 4621
diff changeset
   502
    path notNil ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   503
	^ path
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   504
    ].
4642
9eb7fed99649 bitmap file finding cleanup
Claus Gittinger <cg@exept.de>
parents: 4621
diff changeset
   505
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   506
    AdditionalBitmapDirectoryNames notNil ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   507
	AdditionalBitmapDirectoryNames do:[:aPath |
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   508
	    path := aPath , '/' , fileName.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   509
	    (OperatingSystem isReadable:path) ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   510
		^ path
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   511
	    ]
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   512
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   513
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
   514
    ^ nil
48194c26a46c Initial revision
claus
parents:
diff changeset
   515
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
   516
1142
2a83bf7d5627 Form>>readFrom: are going to be obsoleted.
Claus Gittinger <cg@exept.de>
parents: 1138
diff changeset
   517
!Form class methodsFor:'obsolete instance creation'!
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   518
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   519
darkGreyFormOn:aDevice
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   520
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   521
    "return a darkGrey form"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   522
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   523
    |f|
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   524
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   525
    ((aDevice == Display) and:[DarkGreyForm notNil]) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   526
	^ DarkGreyForm
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   527
    ].
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   528
4770
770e19fa6f50 Use Form class>>#width:height:fromArray:onDevice: instead of obsolete
Stefan Vogel <sv@exept.de>
parents: 4768
diff changeset
   529
    f := self width:8 height:4 fromArray:(self darkGreyFormBits) onDevice:aDevice.
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   530
    (aDevice == Display) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   531
	DarkGreyForm := f
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   532
    ].
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   533
    ^ f
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   534
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   535
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   536
extent:ext depth:d on:aDevice
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   537
    <resource: #obsolete>
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   538
    "create a new form on device, aDevice; depth is what device likes most"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   539
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   540
    self obsoleteMethodWarning:'use #extent:depth:onDevice:'.
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   541
    ^ self width:ext x height:ext y depth:d onDevice:aDevice
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   542
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   543
    "Created: / 04-04-1997 / 20:23:32 / cg"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   544
    "Modified: / 27-05-2007 / 12:39:51 / cg"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   545
!
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   546
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   547
extent:ext fromArray:data offset:offs on:aDevice
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   548
    <resource: #obsolete>
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   549
    "create a new form, take dimensions from ext, bits from data."
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   550
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   551
    self obsoleteMethodWarning:'use #extent:fromArray:offset:onDevice:'.
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   552
    ^ self width:(ext x) height:(ext y) offset:offs fromArray:data onDevice:aDevice
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   553
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   554
    "Created: / 10-04-1997 / 15:36:31 / cg"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   555
    "Modified: / 27-05-2007 / 12:42:26 / cg"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   556
!
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   557
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   558
extent:ext fromArray:data on:aDevice
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   559
    <resource: #obsolete>
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   560
    "create a new form, take dimensions from ext, bits from data."
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   561
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   562
    self obsoleteMethodWarning:'use #extent:fromArray:onDevice:'.
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   563
    ^ self width:(ext x) height:(ext y) fromArray:data onDevice:aDevice
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   564
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   565
    "Created: / 10-04-1997 / 15:34:34 / cg"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   566
    "Modified: / 27-05-2007 / 12:41:57 / cg"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   567
!
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   568
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   569
extent:ext on:aDevice
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   570
    <resource: #obsolete>
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   571
    "create a new form on device, aDevice; depth is what device likes most"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   572
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   573
    self obsoleteMethodWarning:'use #extent:onDevice:'.
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   574
    ^ self width:ext x height:ext y onDevice:aDevice
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   575
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   576
    "Modified: / 27-05-2007 / 12:41:42 / cg"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   577
!
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   578
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   579
grey:percent on:aDevice
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   580
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   581
    "return a form for dithering"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   582
2827
4f30d3aa96e5 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   583
    (percent < 20) ifTrue:[^ Color black onDevice:aDevice].
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   584
    (percent < 40) ifTrue:[^ self darkGreyFormOn:aDevice].
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   585
    (percent < 60) ifTrue:[^ self mediumGreyFormOn:aDevice].
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   586
    (percent < 80) ifTrue:[^ self lightGreyFormOn:aDevice].
2827
4f30d3aa96e5 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   587
    ^ Color white onDevice:aDevice
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   588
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   589
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   590
lightGreyFormOn:aDevice
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   591
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   592
    "return a lightGrey form"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   593
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   594
    |f|
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   595
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   596
    ((aDevice == Display) and:[LightGreyForm notNil]) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   597
	^ LightGreyForm
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   598
    ].
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   599
4770
770e19fa6f50 Use Form class>>#width:height:fromArray:onDevice: instead of obsolete
Stefan Vogel <sv@exept.de>
parents: 4768
diff changeset
   600
    f := self width:8 height:4 fromArray:(self lightGreyFormBits) onDevice:aDevice.
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   601
    (aDevice == Display) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   602
	LightGreyForm := f
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   603
    ].
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   604
    ^ f
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   605
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   606
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   607
mediumGreyFormOn:aDevice
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   608
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   609
    "return a grey form"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   610
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   611
    |f|
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   612
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   613
    ((aDevice == Display) and:[GreyForm notNil]) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   614
	^ GreyForm
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   615
    ].
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   616
4770
770e19fa6f50 Use Form class>>#width:height:fromArray:onDevice: instead of obsolete
Stefan Vogel <sv@exept.de>
parents: 4768
diff changeset
   617
    f := self width:8 height:4 fromArray:(self greyFormBits) onDevice:aDevice.
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   618
    (aDevice == Display) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   619
	GreyForm := f
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   620
    ].
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   621
    ^ f
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   622
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   623
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   624
veryDarkGreyFormOn:aDevice
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   625
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   626
    "return a veryDarkGrey form"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   627
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   628
    |f|
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   629
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   630
    ((aDevice == Display) and:[VeryDarkGreyForm notNil]) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   631
	^ VeryDarkGreyForm
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   632
    ].
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   633
4770
770e19fa6f50 Use Form class>>#width:height:fromArray:onDevice: instead of obsolete
Stefan Vogel <sv@exept.de>
parents: 4768
diff changeset
   634
    f := self width:8 height:4 fromArray:(self veryDarkGreyFormBits) onDevice:aDevice.
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   635
    (aDevice == Display) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   636
	VeryDarkGreyForm := f
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   637
    ].
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   638
    ^ f
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   639
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   640
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   641
veryLightGreyFormOn:aDevice
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   642
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   643
    "return a veryLightGrey form"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   644
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   645
    |f|
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   646
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   647
    ((aDevice == Display) and:[VeryLightGreyForm notNil]) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   648
	^ VeryLightGreyForm
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   649
    ].
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   650
4770
770e19fa6f50 Use Form class>>#width:height:fromArray:onDevice: instead of obsolete
Stefan Vogel <sv@exept.de>
parents: 4768
diff changeset
   651
    f := self width:8 height:4 fromArray:(self veryLightGreyFormBits) onDevice:aDevice.
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   652
    (aDevice == Display) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   653
	VeryLightGreyForm := f
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   654
    ].
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   655
    ^ f
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   656
!
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   657
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   658
width:w height:h depth:d on:aDevice
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   659
    <resource: #obsolete>
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   660
    "create a new form with depth d on device, aDevice"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   661
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   662
    self obsoleteMethodWarning:'use #width:height:depth:onDevice:'.
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   663
    ^ (self onDevice:aDevice) width:w height:h depth:d
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   664
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   665
    "Modified: / 27-05-2007 / 12:40:25 / cg"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   666
!
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   667
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   668
width:w height:h fromArray:anArray on:aDevice
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   669
    <resource: #obsolete>
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   670
    "create a new form on device, aDevice and
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   671
     initialize the pixels from anArray"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   672
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   673
    self obsoleteMethodWarning:'use #width:height:fromArray:onDevice:'.
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   674
    ^ (self onDevice:aDevice) width:w height:h fromArray:anArray
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   675
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   676
    "Modified: / 27-05-2007 / 12:40:41 / cg"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   677
!
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   678
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   679
width:w height:h offset:offs fromArray:anArray on:aDevice
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   680
    <resource: #obsolete>
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   681
    "create a new form on the default device"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   682
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   683
    self obsoleteMethodWarning:'use #width:height:offset:fromArray:onDevice:'.
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   684
    ^ (self onDevice:aDevice) width:w height:h offset:offs fromArray:anArray
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   685
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   686
    "Created: / 10-04-1997 / 15:35:07 / cg"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   687
    "Modified: / 27-05-2007 / 12:41:17 / cg"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   688
!
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   689
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   690
width:w height:h on:aDevice
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   691
    <resource: #obsolete>
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   692
    "create a new form on device, aDevice; depth is what device likes most"
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   693
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   694
    self obsoleteMethodWarning:'use #width:height:onDevice:'.
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   695
    ^ (self onDevice:aDevice) width:w height:h
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   696
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   697
    "Modified: / 27-05-2007 / 12:40:57 / cg"
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   698
! !
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   699
1142
2a83bf7d5627 Form>>readFrom: are going to be obsoleted.
Claus Gittinger <cg@exept.de>
parents: 1138
diff changeset
   700
!Form class methodsFor:'obsolete patterns'!
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   701
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   702
darkGreyFormBits
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   703
    <resource: #obsolete>
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   704
    "return a pattern usable to simulate darkGray on monochrome device"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   705
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   706
    ^ #(2r10111011
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   707
	2r11101110
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   708
	2r10111011
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   709
	2r11101110)
0
48194c26a46c Initial revision
claus
parents:
diff changeset
   710
!
48194c26a46c Initial revision
claus
parents:
diff changeset
   711
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   712
grey12Bits
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   713
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   714
    "return a pattern with 12% grey, usable for dithering"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   715
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   716
    ^ #(2r00010001
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   717
	2r00000000
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   718
	2r01000100
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   719
	2r00000000)
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   720
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   721
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   722
grey25Bits
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   723
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   724
    "return a pattern with 25% grey, usable for dithering"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   725
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   726
    ^ #(2r00010001
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   727
	2r01000100
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   728
	2r00010001
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   729
	2r01000100)
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   730
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   731
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   732
grey37Bits
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   733
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   734
    "return a pattern with 37% grey, usable for dithering"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   735
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   736
    ^ #(2r00010001
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   737
	2r10101010
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   738
	2r01000100
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   739
	2r10101010)
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   740
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   741
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   742
grey50Bits
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   743
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   744
    "return a pattern with 50% grey, usable for dithering"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   745
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   746
    ^ #(2r01010101
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   747
	2r10101010
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   748
	2r01010101
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   749
	2r10101010)
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   750
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   751
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   752
grey6Bits
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   753
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   754
    "return a pattern with 6% grey, usable for dithering"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   755
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   756
    ^ #(2r00000001
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   757
	2r00000000
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   758
	2r00010000
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   759
	2r00000000)
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   760
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   761
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   762
greyFormBits
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   763
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   764
    "return a pattern usable to simulate gray on monochrome device"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   765
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   766
    ^ #(2r01010101
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   767
	2r10101010
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   768
	2r01010101
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   769
	2r10101010)
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   770
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   771
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   772
lightGreyFormBits
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   773
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   774
    "return a pattern usable to simulate lightGray on monochrome device"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   775
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   776
    ^ #(2r01000100
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   777
	2r00010001
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   778
	2r01000100
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   779
	2r00010001
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   780
	2r01000100)
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   781
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   782
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   783
veryDarkGreyFormBits
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   784
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   785
    "return a pattern usable to simulate veryDarkGray on monochrome device"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   786
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   787
    ^ #(2r01110111
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   788
	2r11111111
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   789
	2r11011101
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   790
	2r11111111)
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   791
!
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   792
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   793
veryLightGreyFormBits
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
   794
    <resource: #obsolete>
632
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   795
    "return a pattern usable to simulate veryDarkGray on monochrome device"
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   796
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   797
    ^ #(2r10001000
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   798
	2r00000000
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   799
	2r00100010
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   800
	2r00000000)
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   801
! !
28cbc6517090 marked some obsolete; grey/gray (sigh)
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
   802
3880
c4c8268a2d9f method category rename
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   803
!Form methodsFor:'Compatibility-ST80'!
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   804
2964
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   805
displayAt:aPoint
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   806
    "show the receiver on the current display screen"
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   807
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   808
    self displayOn:Screen current rootView at:aPoint
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   809
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   810
    "
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   811
     (Form dotOfSize:8) displayAt:10@10
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   812
    "
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   813
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   814
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   815
!
d9b5700dbfda checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   816
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   817
displayOn:aGC at:aPoint rule:rule
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   818
    "draw in aGC.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   819
     Smalltalk-80 (2.x) compatibility"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   820
672
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   821
    self displayOn:aGC x:aPoint x y:aPoint y rule:rule
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   822
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   823
    "Modified: 12.5.1996 / 20:16:02 / cg"
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   824
!
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   825
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   826
displayOn:aGC rule:rule
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   827
    "draw in aGC.
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   828
     Smalltalk-80 (2.x) compatibility"
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   829
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   830
    ^ self displayOn:aGC x:0 y:0 rule:rule
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   831
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   832
    "Modified: 12.5.1996 / 20:15:41 / cg"
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   833
!
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   834
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   835
displayOn:aGC x:x y:y
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   836
    "draw in aGC.
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   837
     Smalltalk-80 (2.x) compatibility"
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   838
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   839
    ^ self displayOn:aGC x:x y:y rule:#copy
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   840
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   841
    "Created: 12.5.1996 / 20:15:05 / cg"
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   842
!
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   843
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   844
displayOn:aGC x:x y:y rule:rule
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   845
    "draw in aGC.
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   846
     Smalltalk-80 (2.x) compatibility"
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   847
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   848
    |f|
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   849
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   850
    f := aGC function.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   851
    aGC function:rule.
672
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   852
    aGC displayOpaqueForm:self x:x y:y.
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   853
    aGC function:f.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   854
672
01d7c8b9d2e7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 632
diff changeset
   855
    "Created: 12.5.1996 / 20:15:26 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   856
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   857
1325
3c09b139de30 more st80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1278
diff changeset
   858
isOpen
3c09b139de30 more st80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1278
diff changeset
   859
    ^ true
3c09b139de30 more st80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1278
diff changeset
   860
3c09b139de30 more st80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1278
diff changeset
   861
    "Created: 10.2.1997 / 12:43:49 / cg"
3c09b139de30 more st80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1278
diff changeset
   862
!
3c09b139de30 more st80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1278
diff changeset
   863
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   864
offset
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   865
    "set the offset.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   866
     Smalltalk-80 compatibility"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   867
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   868
    ^ offset
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   869
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   870
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   871
offset:org
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   872
    "set the offset.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   873
     Smalltalk-80 compatibility"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   874
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   875
    offset := org
1325
3c09b139de30 more st80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1278
diff changeset
   876
!
3c09b139de30 more st80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1278
diff changeset
   877
3c09b139de30 more st80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1278
diff changeset
   878
preferredBounds
3c09b139de30 more st80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1278
diff changeset
   879
    ^ self bounds
3c09b139de30 more st80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1278
diff changeset
   880
3c09b139de30 more st80 compatibility
Claus Gittinger <cg@exept.de>
parents: 1278
diff changeset
   881
    "Created: 10.2.1997 / 12:43:00 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   882
! !
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   883
3880
c4c8268a2d9f method category rename
Claus Gittinger <cg@exept.de>
parents: 3812
diff changeset
   884
!Form methodsFor:'Compatibility-Squeak'!
3020
e043c3d30613 more Squeak compatibility stuff
ps
parents: 2980
diff changeset
   885
e043c3d30613 more Squeak compatibility stuff
ps
parents: 2980
diff changeset
   886
colormapIfNeededForDepth:destDepth
e043c3d30613 more Squeak compatibility stuff
ps
parents: 2980
diff changeset
   887
e043c3d30613 more Squeak compatibility stuff
ps
parents: 2980
diff changeset
   888
    ^nil
3025
11d768e415c2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3020
diff changeset
   889
!
11d768e415c2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3020
diff changeset
   890
11d768e415c2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3020
diff changeset
   891
magnify:aRectangle by:scale smoothing:smooth
11d768e415c2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3020
diff changeset
   892
    ^ ((Image fromSubForm:aRectangle in:self) magnifiedBy:scale) asFormOn:device.
3020
e043c3d30613 more Squeak compatibility stuff
ps
parents: 2980
diff changeset
   893
! !
e043c3d30613 more Squeak compatibility stuff
ps
parents: 2980
diff changeset
   894
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   895
!Form methodsFor:'accessing'!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   896
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   897
bits
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   898
    "return a ByteArray filled with my bits -
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   899
     for depth 8 forms, 1 pixel/byte is filled;
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   900
     for depth 1 forms, 8 pixels/byte are filled
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   901
     for depth 4 forms, 2 pixels/byte are filled.
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   902
     Padding is done row-wise to the next BYTE-boundary
1645
67ea694c219d comment
Claus Gittinger <cg@exept.de>
parents: 1571
diff changeset
   903
     If multiple pixels are contained in a single byte,
67ea694c219d comment
Claus Gittinger <cg@exept.de>
parents: 1571
diff changeset
   904
     left bits are in the most significant bit positions.
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   905
     (i.e. for width==13 and depth==1 it will return 2 bytes per scanline)"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   906
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   907
    |bytesPerLine   "{ Class: SmallInteger }"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   908
     bytesPerLineIn "{ Class: SmallInteger }"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   909
     inData tmpData info
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   910
     srcIndex "{ Class: SmallInteger }"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   911
     dstIndex "{ Class: SmallInteger }"
2060
effcaa60f42d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1964
diff changeset
   912
     buffer spaceBitsPerPixel|
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   913
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   914
    data notNil ifTrue:[
1458
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   915
        ^ data
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   916
    ].
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   917
    self drawableId isNil ifTrue:[
1458
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   918
        ^ nil
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   919
    ].
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   920
2060
effcaa60f42d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1964
diff changeset
   921
    spaceBitsPerPixel := depth.
effcaa60f42d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1964
diff changeset
   922
    (depth > 8) ifTrue:[
effcaa60f42d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1964
diff changeset
   923
        spaceBitsPerPixel := 16.
effcaa60f42d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1964
diff changeset
   924
        (depth > 16) ifTrue:[
effcaa60f42d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1964
diff changeset
   925
            spaceBitsPerPixel := 32.
effcaa60f42d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1964
diff changeset
   926
            (depth > 32) ifTrue:[
effcaa60f42d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1964
diff changeset
   927
                spaceBitsPerPixel := depth.
effcaa60f42d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1964
diff changeset
   928
            ]
effcaa60f42d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1964
diff changeset
   929
        ]
effcaa60f42d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1964
diff changeset
   930
    ].
effcaa60f42d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1964
diff changeset
   931
effcaa60f42d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1964
diff changeset
   932
    bytesPerLine := (width * spaceBitsPerPixel + 31) // 32 * 4.
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   933
    inData := ByteArray uninitializedNew:(bytesPerLine * height).
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   934
    info := device getBitsFromPixmapId:self drawableId x:0 y:0 width:width height:height into:inData.
398
2b35bb58a82b changes for new returned info from getBits
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   935
    bytesPerLineIn := (info at:#bytesPerLine).                    "what I got"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   936
    bytesPerLine := (width * depth + 7) // 8.                     "what I want"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   937
    (bytesPerLine ~~ bytesPerLineIn) ifTrue:[
1458
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   938
        "
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   939
         different padding - have to copy over row-wise
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   940
        "
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   941
        tmpData := inData.
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   942
        inData := ByteArray uninitializedNew:(bytesPerLine * height).
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   943
        srcIndex := 1.
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   944
        dstIndex := 1.
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   945
        1 to:height do:[:hi |
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   946
            inData replaceFrom:dstIndex to:(dstIndex + bytesPerLine - 1)
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   947
                          with:tmpData startingAt:srcIndex.
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   948
            dstIndex := dstIndex + bytesPerLine.
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   949
            srcIndex := srcIndex + bytesPerLineIn
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   950
        ]
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   951
    ] ifFalse:[
1458
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   952
        "
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   953
         same padding - copy over all in one chunk
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   954
        "
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   955
        (bytesPerLine * height) ~~ inData size ifTrue:[
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   956
            tmpData := inData.
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   957
            inData := ByteArray uninitializedNew:(bytesPerLine * height).
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   958
            inData replaceFrom:1 to:bytesPerLine * height with:tmpData startingAt:1
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   959
        ]
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   960
    ].
1645
67ea694c219d comment
Claus Gittinger <cg@exept.de>
parents: 1571
diff changeset
   961
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   962
    "
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   963
     have to reverse bytes, if not msbFirst ?
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   964
    "
915
1ac3e38e6da5 oops - accessing a forms device bits was wrong for
ca
parents: 910
diff changeset
   965
1ac3e38e6da5 oops - accessing a forms device bits was wrong for
ca
parents: 910
diff changeset
   966
"/    (info at:#byteOrder) ~~ #msbFirst ifTrue:[
1ac3e38e6da5 oops - accessing a forms device bits was wrong for
ca
parents: 910
diff changeset
   967
"/        buffer := ByteArray new:bytesPerLine.
1ac3e38e6da5 oops - accessing a forms device bits was wrong for
ca
parents: 910
diff changeset
   968
"/        dstIndex := 1.
1ac3e38e6da5 oops - accessing a forms device bits was wrong for
ca
parents: 910
diff changeset
   969
"/        1 to:height do:[:hi |
1ac3e38e6da5 oops - accessing a forms device bits was wrong for
ca
parents: 910
diff changeset
   970
"/            buffer replaceFrom:1 to:bytesPerLine with:inData startingAt:dstIndex.
1ac3e38e6da5 oops - accessing a forms device bits was wrong for
ca
parents: 910
diff changeset
   971
"/            buffer reverse.
1ac3e38e6da5 oops - accessing a forms device bits was wrong for
ca
parents: 910
diff changeset
   972
"/            inData replaceFrom:dstIndex to:dstIndex+bytesPerLine-1 with:buffer startingAt:1.
1ac3e38e6da5 oops - accessing a forms device bits was wrong for
ca
parents: 910
diff changeset
   973
"/            dstIndex := dstIndex + bytesPerLine
1ac3e38e6da5 oops - accessing a forms device bits was wrong for
ca
parents: 910
diff changeset
   974
"/        ]
1ac3e38e6da5 oops - accessing a forms device bits was wrong for
ca
parents: 910
diff changeset
   975
"/    ].
1645
67ea694c219d comment
Claus Gittinger <cg@exept.de>
parents: 1571
diff changeset
   976
67ea694c219d comment
Claus Gittinger <cg@exept.de>
parents: 1571
diff changeset
   977
    "
67ea694c219d comment
Claus Gittinger <cg@exept.de>
parents: 1571
diff changeset
   978
     have to reverse bits, if not msbFirst ?
67ea694c219d comment
Claus Gittinger <cg@exept.de>
parents: 1571
diff changeset
   979
    "
398
2b35bb58a82b changes for new returned info from getBits
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   980
    (info at:#bitOrder) ~~ #msbFirst ifTrue:[
1458
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   981
        buffer := ByteArray new:bytesPerLine.
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   982
        dstIndex := 1.
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   983
        1 to:height do:[:hi |
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   984
            buffer replaceFrom:1 to:bytesPerLine with:inData startingAt:dstIndex.
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   985
            buffer expandPixels:8 width:bytesPerLine height:1 into:buffer
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   986
                                mapping:(ImageReader reverseBits).  "/ translate only
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   987
            inData replaceFrom:dstIndex to:dstIndex+bytesPerLine-1 with:buffer startingAt:1.
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   988
            dstIndex := dstIndex + bytesPerLine
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   989
        ]
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   990
    ].
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   991
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   992
    ^ inData.
1458
612420702141 splitted getBitsFrom into getBitsFromPixmap
Claus Gittinger <cg@exept.de>
parents: 1452
diff changeset
   993
2060
effcaa60f42d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1964
diff changeset
   994
    "Modified: / 19.2.1998 / 14:47:06 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   995
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
   996
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   997
bits:aByteArray
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
   998
    "set the forms bits;
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
   999
     for depth-8 forms, 1 pixel/byte is expected;
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1000
     for depth-1 forms, 8 pixels/byte are expected
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1001
     for depth-4 forms, 2 pixels/byte are expected.
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1002
     Padding is expected to the next byte-boundary
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1003
     (i.e. for width==13 and depth==1 2 bytes per scanline are expected)"
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1004
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1005
    data := aByteArray
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1006
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1007
    "Modified: 23.4.1996 / 10:06:01 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1008
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1009
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1010
bitsPerSample
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1011
    "for compatibility with Image class ..."
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1012
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1013
    ^ Array with:depth
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1014
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1015
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1016
colorMap
7238
f3b9554e8095 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 7106
diff changeset
  1017
    "return the receiver's colormap"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1018
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1019
    ^ localColorMap
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1020
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1021
1436
c64b7abfc5fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1325
diff changeset
  1022
colorMap:anArrayOrColorMap
7238
f3b9554e8095 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 7106
diff changeset
  1023
    "set the receiver's colormap"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1024
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1025
    localColorMap := anArrayOrColorMap.
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1026
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1027
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1028
depth
7238
f3b9554e8095 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 7106
diff changeset
  1029
    "return the receiver's depth"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1030
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1031
    ^ depth
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1032
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1033
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1034
forgetBits
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1035
    "for image, which also keeps the bits - so there is
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1036
     no need to hold them again here"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1037
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1038
    data := nil
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1039
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1040
897
ad8ff0206343 mask access
Claus Gittinger <cg@exept.de>
parents: 889
diff changeset
  1041
mask
ad8ff0206343 mask access
Claus Gittinger <cg@exept.de>
parents: 889
diff changeset
  1042
    "for compatibility with images; forms have no mask/alpha channel"
ad8ff0206343 mask access
Claus Gittinger <cg@exept.de>
parents: 889
diff changeset
  1043
ad8ff0206343 mask access
Claus Gittinger <cg@exept.de>
parents: 889
diff changeset
  1044
    ^ nil
ad8ff0206343 mask access
Claus Gittinger <cg@exept.de>
parents: 889
diff changeset
  1045
ad8ff0206343 mask access
Claus Gittinger <cg@exept.de>
parents: 889
diff changeset
  1046
    "Created: 21.6.1996 / 12:52:42 / cg"
ad8ff0206343 mask access
Claus Gittinger <cg@exept.de>
parents: 889
diff changeset
  1047
!
ad8ff0206343 mask access
Claus Gittinger <cg@exept.de>
parents: 889
diff changeset
  1048
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1049
maskedPixelsAre0
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1050
    ^ maskedPixelsAre0
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1051
!
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1052
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1053
maskedPixelsAre0:something
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1054
    maskedPixelsAre0 := something.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1055
!
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1056
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1057
photometric
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1058
    "for compatibility with Image class ..."
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1059
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1060
    depth == 1 ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1061
	localColorMap isNil ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1062
	    ^ #whiteIs0
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1063
	].
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1064
	((localColorMap at:1) = Color white) ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1065
	    ((localColorMap at:2) = Color black) ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1066
		^ #whiteIs0
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1067
	    ].
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1068
	].
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1069
	((localColorMap at:1) = Color black) ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1070
	    ((localColorMap at:2) = Color white) ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1071
		^ #blackIs0
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1072
	    ].
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1073
	].
6483
10d4084f12cc class: Form
Stefan Vogel <sv@exept.de>
parents: 6257
diff changeset
  1074
    ] ifFalse:[depth > 8 ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1075
	^ #rgb
6483
10d4084f12cc class: Form
Stefan Vogel <sv@exept.de>
parents: 6257
diff changeset
  1076
    ]].
10d4084f12cc class: Form
Stefan Vogel <sv@exept.de>
parents: 6257
diff changeset
  1077
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1078
    ^ #palette
872
ae232ece067d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 871
diff changeset
  1079
ae232ece067d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 871
diff changeset
  1080
    "Modified: 17.6.1996 / 11:45:16 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1081
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1082
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1083
samplesPerPixel
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1084
    "for compatibility with Image class ..."
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1085
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1086
    ^ 1
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1087
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1088
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1089
valueAt:aPoint
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1090
    "return the pixel at aPoint; the coordinates start with 0@0
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1091
     in the upper left, increasing to the lower right"
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1092
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1093
    ^ self at:aPoint
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1094
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1095
    "Modified: 23.4.1996 / 10:06:55 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1096
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1097
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1098
valueAt:aPoint put:value
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1099
    "set the pixel at aPoint; the coordinates start with 0@0
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1100
     in the upper left, increasing to the lower right."
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1101
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1102
    ^ self at:aPoint put:value
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1103
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1104
    "
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1105
     |f|
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1106
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1107
     f := Form width:10 height:10 depth:1.
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1108
     f clear.
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1109
     1 to:10 do:[:i |
1138
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
  1110
	f valueAt:(i @ i) put:1
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1111
     ].
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1112
     f inspect
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1113
    "
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1114
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1115
    "Modified: 23.4.1996 / 10:12:48 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1116
! !
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1117
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1118
5213
638447e61970 Mark obsolete methods
Stefan Vogel <sv@exept.de>
parents: 4938
diff changeset
  1119
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1120
!Form methodsFor:'converting'!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1121
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1122
asForm
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1123
    "convert & return the receiver into a Form instance - nothing to be done here"
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1124
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1125
    ^ self
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1126
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1127
    "Modified: 23.4.1996 / 10:14:11 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1128
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1129
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1130
asImage
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1131
    "convert & return the receiver into an Image instance"
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1132
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1133
    ^ Image fromForm:self
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1134
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1135
    "Modified: 23.4.1996 / 10:13:56 / cg"
4173
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1136
!
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1137
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1138
asImageForm
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1139
    "convert & return the receiver into a ImageForm instance"
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1140
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1141
    |imageForm|
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1142
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1143
    imageForm := ImageForm cloneFrom:self.
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1144
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1145
    "kludge: have to unregister. Otherwise the form will be destroyed when
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1146
     we are garbage collected"
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1147
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1148
    gc finalizationLobby
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1149
	unregister:gc;
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1150
	registerChange:imageForm graphicsContext.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1151
4173
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1152
    ^ imageForm.
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1153
! !
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1154
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1155
!Form methodsFor:'copying'!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1156
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1157
postCopy
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1158
    "redefined to copy the colorMap as well"
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1159
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1160
    super postCopy.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1161
    localColorMap := localColorMap copy.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1162
    data := data copy
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1163
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1164
    "Modified: 23.4.1996 / 10:14:46 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1165
! !
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1166
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1167
!Form methodsFor:'editing'!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1168
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1169
show
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1170
    "open an imageView on the receiver"
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1171
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1172
    ImageView openOnImage:self
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1173
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1174
    "
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1175
     (Form fromFile:'bitmaps/SBrowser.xbm') show
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1176
    "
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1177
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1178
    "Modified: 23.4.1996 / 10:16:12 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1179
! !
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1180
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1181
!Form methodsFor:'getting a device form'!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1182
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1183
asFormOn:aDevice
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1184
    "convert & return the receiver into a Form instance
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1185
     and associate it to a device (i.e. download its bits).
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1186
     Added for protocol compatibility with Image."
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1187
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1188
    aDevice == device ifTrue:[
1889
8e24afd8174e Send #onDevice instead of obsolete #on:
Stefan Vogel <sv@exept.de>
parents: 1745
diff changeset
  1189
        ^ self
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1190
    ].
1889
8e24afd8174e Send #onDevice instead of obsolete #on:
Stefan Vogel <sv@exept.de>
parents: 1745
diff changeset
  1191
    ^ self onDevice:aDevice
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1192
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1193
    "Modified: 23.4.1996 / 10:17:26 / cg"
1889
8e24afd8174e Send #onDevice instead of obsolete #on:
Stefan Vogel <sv@exept.de>
parents: 1745
diff changeset
  1194
    "Modified: 26.8.1997 / 10:29:14 / stefan"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1195
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1196
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1197
asMonochromeFormOn:aDevice
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1198
    "added for protocol compatiblity with Image"
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1199
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1200
    depth == 1 ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1201
        aDevice == device ifTrue:[
2191
7be9c2c6c66f use #onDevice: in #asMono
Claus Gittinger <cg@exept.de>
parents: 2074
diff changeset
  1202
            ^ self
7be9c2c6c66f use #onDevice: in #asMono
Claus Gittinger <cg@exept.de>
parents: 2074
diff changeset
  1203
        ].
7be9c2c6c66f use #onDevice: in #asMono
Claus Gittinger <cg@exept.de>
parents: 2074
diff changeset
  1204
        ^ self onDevice:aDevice
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1205
    ].
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1206
    ^ nil
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1207
2191
7be9c2c6c66f use #onDevice: in #asMono
Claus Gittinger <cg@exept.de>
parents: 2074
diff changeset
  1208
    "Modified: / 27.7.1998 / 20:04:37 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1209
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1210
3104
edc88b280153 added #exactOn: - for Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3068
diff changeset
  1211
exactOn:aDevice
3106
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1212
    "for compatibility with color protocol - here, the same as #onDevice."
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1213
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1214
    ^ self onDevice:aDevice
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1215
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1216
!
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1217
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1218
exactOrNearestOn:aDevice
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1219
    "for compatibility with color protocol - here, the same as #onDevice."
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1220
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1221
    ^ self onDevice:aDevice
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1222
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1223
!
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1224
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1225
nearestOn:aDevice
d6333a2bd850 more Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3104
diff changeset
  1226
    "for compatibility with color protocol - here, the same as #onDevice."
3104
edc88b280153 added #exactOn: - for Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3068
diff changeset
  1227
edc88b280153 added #exactOn: - for Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3068
diff changeset
  1228
    ^ self onDevice:aDevice
edc88b280153 added #exactOn: - for Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3068
diff changeset
  1229
edc88b280153 added #exactOn: - for Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3068
diff changeset
  1230
!
edc88b280153 added #exactOn: - for Color-protocol compatibility
Claus Gittinger <cg@exept.de>
parents: 3068
diff changeset
  1231
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1232
on:aDevice
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1233
    "associate the receiver to a device (i.e. download its bits);
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1234
     return a deviceForm (possibly different from the receiver)."
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1235
1741
b84a2f4317e9 warn #on: vs. #onDevice:
Claus Gittinger <cg@exept.de>
parents: 1645
diff changeset
  1236
    "/ send out a warning: #on: is typically used to create views
b84a2f4317e9 warn #on: vs. #onDevice:
Claus Gittinger <cg@exept.de>
parents: 1645
diff changeset
  1237
    "/ operating on a model.
b84a2f4317e9 warn #on: vs. #onDevice:
Claus Gittinger <cg@exept.de>
parents: 1645
diff changeset
  1238
    "/ Please use #onDevice: to avoid confusion.
b84a2f4317e9 warn #on: vs. #onDevice:
Claus Gittinger <cg@exept.de>
parents: 1645
diff changeset
  1239
3431
afd71b27768d Use <resource:#obsolete>
Stefan Vogel <sv@exept.de>
parents: 3339
diff changeset
  1240
    <resource:#obsolete>
afd71b27768d Use <resource:#obsolete>
Stefan Vogel <sv@exept.de>
parents: 3339
diff changeset
  1241
1741
b84a2f4317e9 warn #on: vs. #onDevice:
Claus Gittinger <cg@exept.de>
parents: 1645
diff changeset
  1242
    self obsoleteMethodWarning:'use #onDevice:'.
b84a2f4317e9 warn #on: vs. #onDevice:
Claus Gittinger <cg@exept.de>
parents: 1645
diff changeset
  1243
    ^ self onDevice:aDevice
b84a2f4317e9 warn #on: vs. #onDevice:
Claus Gittinger <cg@exept.de>
parents: 1645
diff changeset
  1244
b84a2f4317e9 warn #on: vs. #onDevice:
Claus Gittinger <cg@exept.de>
parents: 1645
diff changeset
  1245
    "Modified: 5.6.1997 / 21:05:34 / cg"
b84a2f4317e9 warn #on: vs. #onDevice:
Claus Gittinger <cg@exept.de>
parents: 1645
diff changeset
  1246
!
b84a2f4317e9 warn #on: vs. #onDevice:
Claus Gittinger <cg@exept.de>
parents: 1645
diff changeset
  1247
b84a2f4317e9 warn #on: vs. #onDevice:
Claus Gittinger <cg@exept.de>
parents: 1645
diff changeset
  1248
onDevice:aDevice
b84a2f4317e9 warn #on: vs. #onDevice:
Claus Gittinger <cg@exept.de>
parents: 1645
diff changeset
  1249
    "associate the receiver to a device (i.e. download its bits);
b84a2f4317e9 warn #on: vs. #onDevice:
Claus Gittinger <cg@exept.de>
parents: 1645
diff changeset
  1250
     return a deviceForm (possibly different from the receiver)."
b84a2f4317e9 warn #on: vs. #onDevice:
Claus Gittinger <cg@exept.de>
parents: 1645
diff changeset
  1251
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1252
    aDevice == device ifTrue:[
1436
c64b7abfc5fe checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1325
diff changeset
  1253
        ^ self
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1254
    ].
2980
409e9547a45c ignore nil device in #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2964
diff changeset
  1255
    aDevice isNil ifTrue:[^ self].
409e9547a45c ignore nil device in #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2964
diff changeset
  1256
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1257
    "create a new form ..."
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1258
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1259
    data notNil ifTrue:[
2191
7be9c2c6c66f use #onDevice: in #asMono
Claus Gittinger <cg@exept.de>
parents: 2074
diff changeset
  1260
        "/ 'Form [info]: create from data' printCR.
4770
770e19fa6f50 Use Form class>>#width:height:fromArray:onDevice: instead of obsolete
Stefan Vogel <sv@exept.de>
parents: 4768
diff changeset
  1261
        ^ self class width:width height:height fromArray:data onDevice:aDevice
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1262
    ].
7632
18569ff6badb #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 7493
diff changeset
  1263
    Logger warning:'no bit data in #onDevice: - returning a black form'.
4786
0a24601e3f0e Change senders of obsolete messages Form>>...on: to ...onDevice:
Stefan Vogel <sv@exept.de>
parents: 4774
diff changeset
  1264
    ^ (self class width:width height:height onDevice:aDevice) clear
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1265
2191
7be9c2c6c66f use #onDevice: in #asMono
Claus Gittinger <cg@exept.de>
parents: 2074
diff changeset
  1266
    "Modified: / 27.7.1998 / 20:05:20 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1267
! !
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1268
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1269
!Form methodsFor:'image manipulations'!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1270
3655
1521a53dba17 +clearMaskedPixels
Claus Gittinger <cg@exept.de>
parents: 3624
diff changeset
  1271
clearMaskedPixels
1521a53dba17 +clearMaskedPixels
Claus Gittinger <cg@exept.de>
parents: 3624
diff changeset
  1272
    "Added for protocol compatibility with Image."
1521a53dba17 +clearMaskedPixels
Claus Gittinger <cg@exept.de>
parents: 3624
diff changeset
  1273
1521a53dba17 +clearMaskedPixels
Claus Gittinger <cg@exept.de>
parents: 3624
diff changeset
  1274
    ^ self
1521a53dba17 +clearMaskedPixels
Claus Gittinger <cg@exept.de>
parents: 3624
diff changeset
  1275
!
1521a53dba17 +clearMaskedPixels
Claus Gittinger <cg@exept.de>
parents: 3624
diff changeset
  1276
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1277
clearMaskedPixels:maskForm
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1278
    "clear any masked pixels.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1279
     This will allow faster drawing in the future."
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1280
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1281
    "black is 0 in mask - masked bits are 0"
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1282
    gc
7493
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1283
        foreground:Color allColor background:Color noColor;
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1284
        function:#and;
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1285
        copyPlaneFrom:maskForm graphicsContext x:0 y:0 toX:0 y:0 width:width height:height.
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1286
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1287
    maskedPixelsAre0 := true.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1288
!
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1289
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1290
darkened
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1291
    "return a darkened version of the receiver.
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1292
     Added for protocol compatibility with Color and Image.
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1293
     Here, the receiver is returned as a kludge
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1294
     - actually should return a darkened image (or Color black ?) .."
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1295
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1296
    ^ self
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1297
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1298
    "Modified: 23.4.1996 / 10:19:52 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1299
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1300
3334
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1301
easyMagnifiedBy:extent into: newForm
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1302
    "return a new form magnified by extent, aPoint.
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1303
     If non-integral magnify is asked for, pass the work on to 'hardMagnifiedBy:'"
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1304
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1305
    |mX mY dstX dstY ext
3334
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1306
     factor "{ Class: SmallInteger }"
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1307
     n      "{ Class: SmallInteger }" |
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1308
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1309
    ext := extent asPoint.
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1310
    mX := ext x.
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1311
    mY := ext y.
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1312
    ((mX = 1) and:[mY = 1]) ifTrue:[^ self].
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1313
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1314
    "expand rows"
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1315
    (mY > 1) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1316
	dstY := 0.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1317
	n := height.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1318
	factor := mY.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1319
	0 to:(n - 1) do:[:srcY |
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1320
	    1 to:factor do:[:i |
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1321
		newForm copyFrom:self
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1322
			       x:0 y:srcY
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1323
			     toX:0 y:dstY
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1324
			   width:width height:1.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1325
		dstY := dstY + 1
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1326
	    ]
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1327
	]
3334
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1328
    ].
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1329
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1330
    "expand cols"
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1331
    (mX > 1) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1332
	n := width.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1333
	factor := mX.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1334
	dstX := (n * factor) - 1.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1335
	(n - 1) to:0 by:-1 do:[:srcX |
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1336
	    1 to:factor do:[:i |
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1337
		newForm copyFrom:newForm
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1338
			       x:srcX y:0
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1339
			     toX:dstX y:0
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1340
			   width:1 height:(height * mY).
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1341
		dstX := dstX - 1
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1342
	    ]
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1343
	]
3334
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1344
    ].
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1345
    ^ newForm
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1346
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1347
    "
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1348
     (ArrowButton upArrowButtonForm:#iris on:Display) magnifiedBy:(2 @ 2)
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1349
     (Form fromFile:'bitmaps/SBrowser.xbm') magnifiedBy:(2 @ 2)
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1350
     (Form fromFile:'bitmaps/SBrowser.xbm') magnifiedBy:(0.4 @ 0.4)
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1351
    "
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1352
!
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1353
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1354
flipHorizontal
4206
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1355
    "return a new form flipped vertically"
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1356
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1357
    |dstX newForm |
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1358
3624
7996877d60fb Do not use obsolete methods.
Stefan Vogel <sv@exept.de>
parents: 3611
diff changeset
  1359
    newForm := (self class onDevice:device)
2827
4f30d3aa96e5 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
  1360
                                width:width
4f30d3aa96e5 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
  1361
                                height:height
4f30d3aa96e5 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
  1362
                                depth:depth.
4206
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1363
    dstX := width - 1.
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1364
    0 to:dstX do:[:srcX |
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1365
        newForm copyFrom:self
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1366
                       x:srcX y:0
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1367
                     toX:dstX y:0
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1368
                   width:1 height:height.
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1369
        dstX := dstX - 1
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1370
    ].
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1371
    newForm colorMap:localColorMap.
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1372
    ^ newForm
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1373
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1374
    "
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1375
     |testForm|
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1376
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1377
     testForm _ Form
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1378
                    extent: 8@8
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1379
                    depth: 1
4206
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1380
                    fromArray:
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1381
                     #( 2r10000000
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1382
                        2r11000000
4206
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1383
                        2r11100000
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1384
                        2r11110000
4206
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1385
                        2r11111000
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1386
                        2r11111100
4206
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1387
                        2r11111110
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1388
                        2r11111111)
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1389
                    offset: 0@0.
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1390
     testForm inspect.
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1391
     testForm flipVertical inspect.
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1392
     testForm flipHorizontal inspect.
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1393
    "
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1394
!
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1395
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1396
flipVertical
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1397
    "return a new form flipped horizontally"
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1398
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1399
    |dstY newForm |
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1400
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1401
    newForm := (self class onDevice:device)
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1402
                                width:width
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1403
                                height:height
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1404
                                depth:depth.
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1405
    dstY := height - 1.
4206
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1406
    0 to:dstY do:[:srcY |
2827
4f30d3aa96e5 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
  1407
        newForm copyFrom:self
4f30d3aa96e5 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
  1408
                       x:0 y:srcY
4f30d3aa96e5 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
  1409
                     toX:0 y:dstY
4f30d3aa96e5 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
  1410
                   width:width height:1.
4f30d3aa96e5 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
  1411
        dstY := dstY - 1
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1412
    ].
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1413
    newForm colorMap:localColorMap.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1414
    ^ newForm
4206
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1415
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1416
    "
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1417
     |testForm|
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1418
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1419
     testForm _ Form 
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1420
                    extent: 8@8 
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1421
                    depth: 1 
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1422
                    fromArray:
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1423
                     #( 2r10000000
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1424
                        2r11000000 
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1425
                        2r11100000
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1426
                        2r11110000 
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1427
                        2r11111000
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1428
                        2r11111100 
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1429
                        2r11111110
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1430
                        2r11111111)
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1431
                    offset: 0@0.
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1432
     testForm inspect.
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1433
     testForm flipVertical inspect.
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1434
     testForm flipHorizontal inspect.
4d3273b10f37 flip fixed
Claus Gittinger <cg@exept.de>
parents: 4173
diff changeset
  1435
    "
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1436
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1437
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1438
hardMagnifiedBy:extent
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1439
    "return a new form magnified by extent, aPoint.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1440
     This method handles non-integral factors."
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1441
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1442
    "
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1443
     since Form will be replaced by Image in the long run,
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1444
     and this operation is slow anyway, use the implementation
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1445
     in Image for this."
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1446
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1447
    ^ ((Image fromForm:self) magnifiedBy:extent) asFormOn:device.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1448
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1449
    "
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1450
     (Form fromFile:'OutputOn.64') magnifiedBy:0.5@0.5
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1451
     (Form fromFile:'OutputOn.64') magnifiedBy:1.5@1.5
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1452
    "
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1453
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1454
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1455
lightened
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1456
    "return a lightened version of the receiver.
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1457
     Added for protocol compatibility with Color and Image.
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1458
     Here, the receiver is returned as a kludge
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1459
     - actually should return a lightened image (or Color white ?) .."
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1460
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1461
    ^ self
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1462
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1463
    "Modified: 23.4.1996 / 10:20:14 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1464
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1465
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1466
magnifiedBy:extent
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1467
    "return a new form magnified by extent, aPoint.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1468
     If non-integral magnify is asked for, pass the work on to 'hardMagnifiedBy:'"
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1469
3624
7996877d60fb Do not use obsolete methods.
Stefan Vogel <sv@exept.de>
parents: 3611
diff changeset
  1470
    |mX mY newForm ext|
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1471
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1472
    ext := extent asPoint.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1473
    mX := ext x.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1474
    mY := ext y.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1475
    ((mX = 1) and:[mY = 1]) ifTrue:[^ self].
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1476
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1477
    ((mX isMemberOf:SmallInteger) and:[mY isMemberOf:SmallInteger]) ifFalse:[
2827
4f30d3aa96e5 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
  1478
        ^ self hardMagnifiedBy:ext
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1479
    ].
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1480
3624
7996877d60fb Do not use obsolete methods.
Stefan Vogel <sv@exept.de>
parents: 3611
diff changeset
  1481
    newForm := (self class onDevice:device)
2827
4f30d3aa96e5 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
  1482
                                width:(width * mX)
4f30d3aa96e5 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
  1483
                                height:(height * mY)
4f30d3aa96e5 #on: -> #onDevice:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
  1484
                                depth:depth.
3334
952a3553df45 st80 bitblt
martin
parents: 3300
diff changeset
  1485
    self easyMagnifiedBy:extent into:newForm.
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1486
    newForm colorMap:localColorMap.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1487
    ^ newForm
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1488
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1489
    "
3624
7996877d60fb Do not use obsolete methods.
Stefan Vogel <sv@exept.de>
parents: 3611
diff changeset
  1490
     (ArrowButton upArrowButtonForm:#iris on:Screen current) magnifiedBy:(2 @ 2)
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1491
     (Form fromFile:'bitmaps/SBrowser.xbm') magnifiedBy:(2 @ 2)
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1492
     (Form fromFile:'bitmaps/SBrowser.xbm') magnifiedBy:(0.4 @ 0.4)
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1493
    "
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1494
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1495
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1496
magnifiedTo:anExtent
569
7dee80bce37b added #magnifiedTo: (protocol compatibility with Image)
Claus Gittinger <cg@exept.de>
parents: 425
diff changeset
  1497
    "return a new form magnified to have the size specified by extent.
7dee80bce37b added #magnifiedTo: (protocol compatibility with Image)
Claus Gittinger <cg@exept.de>
parents: 425
diff changeset
  1498
     This may distort the image if the arguments ratio is not the images ratio.
7dee80bce37b added #magnifiedTo: (protocol compatibility with Image)
Claus Gittinger <cg@exept.de>
parents: 425
diff changeset
  1499
     See also #magnifiedPreservingRatioTo: and #magnifiedBy:"
7dee80bce37b added #magnifiedTo: (protocol compatibility with Image)
Claus Gittinger <cg@exept.de>
parents: 425
diff changeset
  1500
7dee80bce37b added #magnifiedTo: (protocol compatibility with Image)
Claus Gittinger <cg@exept.de>
parents: 425
diff changeset
  1501
    ^ self magnifiedBy:(anExtent / self extent)
7dee80bce37b added #magnifiedTo: (protocol compatibility with Image)
Claus Gittinger <cg@exept.de>
parents: 425
diff changeset
  1502
7dee80bce37b added #magnifiedTo: (protocol compatibility with Image)
Claus Gittinger <cg@exept.de>
parents: 425
diff changeset
  1503
    "Created: 18.4.1996 / 16:17:52 / cg"
7dee80bce37b added #magnifiedTo: (protocol compatibility with Image)
Claus Gittinger <cg@exept.de>
parents: 425
diff changeset
  1504
!
7dee80bce37b added #magnifiedTo: (protocol compatibility with Image)
Claus Gittinger <cg@exept.de>
parents: 425
diff changeset
  1505
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1506
magnifyBy:scale
5213
638447e61970 Mark obsolete methods
Stefan Vogel <sv@exept.de>
parents: 4938
diff changeset
  1507
    <resource: #obsolete>
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1508
    "obsolete: has been renamed to magnifiedBy: for ST-80 compatibility
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1509
     and name consistency ..."
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1510
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1511
    self obsoleteMethodWarning.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1512
    ^ self magnifiedBy:scale
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1513
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
  1514
48194c26a46c Initial revision
claus
parents:
diff changeset
  1515
!Form methodsFor:'initialization'!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1516
48194c26a46c Initial revision
claus
parents:
diff changeset
  1517
initGC
48194c26a46c Initial revision
claus
parents:
diff changeset
  1518
    "stop server from sending exposure events for Forms -
48194c26a46c Initial revision
claus
parents:
diff changeset
  1519
     (will fill up stream-queue on some stupid (i.e. sco) systems"
48194c26a46c Initial revision
claus
parents:
diff changeset
  1520
7751
b264b5ca7e35 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 7636
diff changeset
  1521
    |gcId|
b264b5ca7e35 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 7636
diff changeset
  1522
951
ebedf8da0e89 initGC stuff fixed
Claus Gittinger <cg@exept.de>
parents: 935
diff changeset
  1523
    "/ depth-1 forms draw differently ...
ebedf8da0e89 initGC stuff fixed
Claus Gittinger <cg@exept.de>
parents: 935
diff changeset
  1524
    depth == 1 ifTrue:[
7751
b264b5ca7e35 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 7636
diff changeset
  1525
        |fg bg|
b264b5ca7e35 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 7636
diff changeset
  1526
        self foreground isNil ifTrue:[
b264b5ca7e35 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 7636
diff changeset
  1527
            fg := Color colorId:1.
b264b5ca7e35 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 7636
diff changeset
  1528
        ].
b264b5ca7e35 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 7636
diff changeset
  1529
        self background isNil ifTrue:[
b264b5ca7e35 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 7636
diff changeset
  1530
            bg := Color colorId:0
b264b5ca7e35 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 7636
diff changeset
  1531
        ].
b264b5ca7e35 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 7636
diff changeset
  1532
        "nil colors will not be set"
b264b5ca7e35 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 7636
diff changeset
  1533
        self setPaint:fg on:bg.
951
ebedf8da0e89 initGC stuff fixed
Claus Gittinger <cg@exept.de>
parents: 935
diff changeset
  1534
    ].
7751
b264b5ca7e35 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 7636
diff changeset
  1535
    gcId := super initGC.
b264b5ca7e35 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 7636
diff changeset
  1536
    self setGraphicsExposures:false.
b264b5ca7e35 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 7636
diff changeset
  1537
    ^ gcId.
836
d6eb406b1c04 dither bitmaps moved to Color
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
  1538
951
ebedf8da0e89 initGC stuff fixed
Claus Gittinger <cg@exept.de>
parents: 935
diff changeset
  1539
    "Modified: 17.7.1996 / 13:21:24 / cg"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1540
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1541
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1542
initialize
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1543
    depth := 1.
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1544
    maskedPixelsAre0 := false.
7315
aed1314a2448 Issue #82: UIPainterView does not understand: #deviceClippingRectangle
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7287
diff changeset
  1545
    gc notNil ifTrue:[ 
aed1314a2448 Issue #82: UIPainterView does not understand: #deviceClippingRectangle
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7287
diff changeset
  1546
        gc paint: (Color colorId:1).
aed1314a2448 Issue #82: UIPainterView does not understand: #deviceClippingRectangle
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7287
diff changeset
  1547
        gc backgroundPaint:(Color colorId:0).      
aed1314a2448 Issue #82: UIPainterView does not understand: #deviceClippingRectangle
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7287
diff changeset
  1548
    ].
6232
3dcb1d72eac1 class: Form
Stefan Vogel <sv@exept.de>
parents: 6230
diff changeset
  1549
    super initialize.
836
d6eb406b1c04 dither bitmaps moved to Color
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
  1550
7315
aed1314a2448 Issue #82: UIPainterView does not understand: #deviceClippingRectangle
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7287
diff changeset
  1551
    "Modified: / 25-04-2016 / 20:19:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1552
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1553
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1554
recreate
3300
d7b046ccbb33 comment
Claus Gittinger <cg@exept.de>
parents: 3192
diff changeset
  1555
    "reconstruct the form after a snapin or a migration"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1556
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1557
    device isNil ifTrue:[^ self].
2473
2d4b51e6eb48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2456
diff changeset
  1558
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1559
    data notNil ifTrue:[
2473
2d4b51e6eb48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2456
diff changeset
  1560
        "
2d4b51e6eb48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2456
diff changeset
  1561
         create one from data
2d4b51e6eb48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2456
diff changeset
  1562
        "
2d4b51e6eb48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2456
diff changeset
  1563
        (depth == 1 or:[depth == device depth]) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1564
            gc createBitmapFromArray:data width:width height:height.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1565
            gc drawableId notNil ifTrue:[
2473
2d4b51e6eb48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2456
diff changeset
  1566
                ^ self
2d4b51e6eb48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2456
diff changeset
  1567
            ]
2d4b51e6eb48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2456
diff changeset
  1568
        ].
2d4b51e6eb48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2456
diff changeset
  1569
        'FORM: cannot recreate form' errorPrintCR.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1570
    ].
871
c078c33c51ac recreate was somehow corrupted ?!
Claus Gittinger <cg@exept.de>
parents: 870
diff changeset
  1571
c078c33c51ac recreate was somehow corrupted ?!
Claus Gittinger <cg@exept.de>
parents: 870
diff changeset
  1572
    ^ self.
c078c33c51ac recreate was somehow corrupted ?!
Claus Gittinger <cg@exept.de>
parents: 870
diff changeset
  1573
3474
2043444bdc24 statements after return
Claus Gittinger <cg@exept.de>
parents: 3452
diff changeset
  1574
"/    "
2043444bdc24 statements after return
Claus Gittinger <cg@exept.de>
parents: 3452
diff changeset
  1575
"/     create an empty one
2043444bdc24 statements after return
Claus Gittinger <cg@exept.de>
parents: 3452
diff changeset
  1576
"/    "
2043444bdc24 statements after return
Claus Gittinger <cg@exept.de>
parents: 3452
diff changeset
  1577
"/    depth == 1 ifTrue:[
2043444bdc24 statements after return
Claus Gittinger <cg@exept.de>
parents: 3452
diff changeset
  1578
"/        drawableId := device createBitmapWidth:width height:height
2043444bdc24 statements after return
Claus Gittinger <cg@exept.de>
parents: 3452
diff changeset
  1579
"/    ] ifFalse:[
2043444bdc24 statements after return
Claus Gittinger <cg@exept.de>
parents: 3452
diff changeset
  1580
"/        drawableId := device createPixmapWidth:width height:height depth:device depth
2043444bdc24 statements after return
Claus Gittinger <cg@exept.de>
parents: 3452
diff changeset
  1581
"/    ].
871
c078c33c51ac recreate was somehow corrupted ?!
Claus Gittinger <cg@exept.de>
parents: 870
diff changeset
  1582
c078c33c51ac recreate was somehow corrupted ?!
Claus Gittinger <cg@exept.de>
parents: 870
diff changeset
  1583
    "Modified: 15.6.1996 / 16:18:12 / cg"
4217
7786f64f5926 New: #releaseFromDevice
Stefan Vogel <sv@exept.de>
parents: 4206
diff changeset
  1584
!
7786f64f5926 New: #releaseFromDevice
Stefan Vogel <sv@exept.de>
parents: 4206
diff changeset
  1585
7786f64f5926 New: #releaseFromDevice
Stefan Vogel <sv@exept.de>
parents: 4206
diff changeset
  1586
releaseFromDevice
7786f64f5926 New: #releaseFromDevice
Stefan Vogel <sv@exept.de>
parents: 4206
diff changeset
  1587
    "flush device data.
7786f64f5926 New: #releaseFromDevice
Stefan Vogel <sv@exept.de>
parents: 4206
diff changeset
  1588
     The sender has to take care that the Form has been
7786f64f5926 New: #releaseFromDevice
Stefan Vogel <sv@exept.de>
parents: 4206
diff changeset
  1589
     unregistered from (Finalization-)Lobby"
7786f64f5926 New: #releaseFromDevice
Stefan Vogel <sv@exept.de>
parents: 4206
diff changeset
  1590
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1591
    self setDevice:nil id:nil gcId:nil
2
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1592
! !
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1593
b35336ab0de3 *** empty log message ***
claus
parents: 0
diff changeset
  1594
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1595
!Form methodsFor:'printing & storing'!
107
ef48048a8b34 *** empty log message ***
claus
parents: 99
diff changeset
  1596
7493
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1597
displayOn:aStreamOrGC
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1598
    super displayOn:aStreamOrGC.
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1599
    aStreamOrGC isStream ifTrue:[
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1600
        aStreamOrGC nextPutAll:' (depth='.
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1601
        depth printOn:aStreamOrGC.
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1602
        aStreamOrGC nextPut:$).
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1603
    ].
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1604
!
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1605
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1606
storeOn:aStream
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1607
    "append an ascii representation of the receiver to aStream,
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1608
     from which a copy of the receiver can be reconstructed"
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1609
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1610
    aStream nextPutAll:'(Form width:'.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1611
    width storeOn:aStream.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1612
    aStream nextPutAll:' height:'.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1613
    height storeOn:aStream.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1614
    aStream nextPutAll:' fromArray:('.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1615
    self bits storeOn:aStream.
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1616
    aStream nextPutAll:'))'
588
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1617
8aee1c8800c9 commentary
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  1618
    "Modified: 23.4.1996 / 10:21:10 / cg"
107
ef48048a8b34 *** empty log message ***
claus
parents: 99
diff changeset
  1619
! !
ef48048a8b34 *** empty log message ***
claus
parents: 99
diff changeset
  1620
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1621
!Form methodsFor:'private'!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1622
412
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1623
beImmediateForm
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1624
    "read the pixels from the device into a local data array.
412
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1625
     To make the image smaller (i.e. not keep all those bitmaps),
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1626
     this is NOT done by default."
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1627
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1628
    data isNil ifTrue:[
1138
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
  1629
	data := self bits.
412
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1630
    ]
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1631
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1632
    "
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1633
     Form allInstances:[:f |
1138
4a2b3b407cae need separate createGC method for bitmaps (for WIN)
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
  1634
	f beImmediateForm
412
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1635
     ]
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1636
    "
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1637
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1638
    "Created: 7.2.1996 / 16:04:18 / cg"
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1639
!
766ba454c23d keep the relative fileName; added #beImmediateForm to avoid problems if bitmap files are not present at startup
Claus Gittinger <cg@exept.de>
parents: 398
diff changeset
  1640
870
2b7db80e7ad1 oops - restart mechanism got corrupted
Claus Gittinger <cg@exept.de>
parents: 836
diff changeset
  1641
flushDeviceHandles
2b7db80e7ad1 oops - restart mechanism got corrupted
Claus Gittinger <cg@exept.de>
parents: 836
diff changeset
  1642
    "flush device handles (sent after a restart)"
2b7db80e7ad1 oops - restart mechanism got corrupted
Claus Gittinger <cg@exept.de>
parents: 836
diff changeset
  1643
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1644
    self setDevice:device id:nil gcId:nil.
6935
0de17e2f06f6 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6533
diff changeset
  1645
    gc notNil ifTrue:[
0de17e2f06f6 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6533
diff changeset
  1646
        gc registerChange.
0de17e2f06f6 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6533
diff changeset
  1647
    ].
870
2b7db80e7ad1 oops - restart mechanism got corrupted
Claus Gittinger <cg@exept.de>
parents: 836
diff changeset
  1648
2b7db80e7ad1 oops - restart mechanism got corrupted
Claus Gittinger <cg@exept.de>
parents: 836
diff changeset
  1649
    "Created: 15.6.1996 / 15:44:28 / cg"
2b7db80e7ad1 oops - restart mechanism got corrupted
Claus Gittinger <cg@exept.de>
parents: 836
diff changeset
  1650
!
2b7db80e7ad1 oops - restart mechanism got corrupted
Claus Gittinger <cg@exept.de>
parents: 836
diff changeset
  1651
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1652
getBits
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1653
    "if the receiver was not created from a file, or
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1654
     an array (i.e. it was drawn), read the pixels from the
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1655
     device into a local data array. This has to be done before
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1656
     an image is saved, or the receiver is storedBinary, since
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1657
     the information present in the device is lost after restart/reload"
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1658
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1659
    data isNil ifTrue:[
78
1c9c22df3251 *** empty log message ***
claus
parents: 71
diff changeset
  1660
	data := self bits
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1661
    ]
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1662
!
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1663
1058
103860173cb2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 951
diff changeset
  1664
restored
103860173cb2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 951
diff changeset
  1665
    "flush device data, when restored (sent after a binaryLoad)"
103860173cb2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 951
diff changeset
  1666
103860173cb2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 951
diff changeset
  1667
    self release
103860173cb2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 951
diff changeset
  1668
103860173cb2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 951
diff changeset
  1669
    "Modified: 16.9.1996 / 21:08:57 / cg"
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1670
!
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1671
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1672
width:w height:h
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1673
    "actual create of a monochrome form"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1674
6227
72c2836e3151 class: Form
Stefan Vogel <sv@exept.de>
parents: 6143
diff changeset
  1675
    ^ self width:w height:h depth:1.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1676
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1677
48194c26a46c Initial revision
claus
parents:
diff changeset
  1678
width:w height:h depth:d
7355
b54b8aebbb90 #FEATURE by sr
sr
parents: 7354
diff changeset
  1679
    "actual create of an arbitrary deep form (but, must be supported by device).
b54b8aebbb90 #FEATURE by sr
sr
parents: 7354
diff changeset
  1680
     Return nil (after raising a notification) if the allocation failed"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1681
6227
72c2836e3151 class: Form
Stefan Vogel <sv@exept.de>
parents: 6143
diff changeset
  1682
    ((w == 0) or:[h == 0]) ifTrue:[
7427
90bf8cf72b75 #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7416
diff changeset
  1683
        self error:'invalid form extent'.
6227
72c2836e3151 class: Form
Stefan Vogel <sv@exept.de>
parents: 6143
diff changeset
  1684
    ].
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1685
    width := w.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1686
    height := h.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1687
    offset := 0@0.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1688
    depth := d.
6227
72c2836e3151 class: Form
Stefan Vogel <sv@exept.de>
parents: 6143
diff changeset
  1689
    depth == 1 ifTrue:[
7427
90bf8cf72b75 #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7416
diff changeset
  1690
        localColorMap isNil ifTrue:[
90bf8cf72b75 #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7416
diff changeset
  1691
            BlackAndWhiteColorMap isNil ifTrue:[
90bf8cf72b75 #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7416
diff changeset
  1692
                BlackAndWhiteColorMap := Array with:(Color white) with:(Color black)
90bf8cf72b75 #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7416
diff changeset
  1693
            ].
90bf8cf72b75 #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7416
diff changeset
  1694
            localColorMap := BlackAndWhiteColorMap.
90bf8cf72b75 #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7416
diff changeset
  1695
        ].
6227
72c2836e3151 class: Form
Stefan Vogel <sv@exept.de>
parents: 6143
diff changeset
  1696
    ].
7260
5b9f9cbd2435 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 7238
diff changeset
  1697
    device notNil ifTrue:[
7427
90bf8cf72b75 #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7416
diff changeset
  1698
        (gc createPixmapWidth:w height:h depth:d) isNil ifTrue:[^nil].
7365
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7315 7355
diff changeset
  1699
        realized := self drawableId notNil.
3067
908e910e6c94 allow forms to be created without a device.
Claus Gittinger <cg@exept.de>
parents: 3025
diff changeset
  1700
    ].
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1701
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1702
2773
8aefa2576a50 a few more smallInteger type hints
Claus Gittinger <cg@exept.de>
parents: 2473
diff changeset
  1703
width:wIn height:hIn fromArray:anArray
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1704
    "actual create of a monochrome form from array.
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1705
     This method is somewhat more complicated as it should be due to
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1706
     supporting both byte-wise (ST/X-type) and short-word-wise (ST-80-type)
48194c26a46c Initial revision
claus
parents:
diff changeset
  1707
     Arrays; in the later case, the shorts are first converted to bytes in
48194c26a46c Initial revision
claus
parents:
diff changeset
  1708
     a ByteArray, then passed to the device."
48194c26a46c Initial revision
claus
parents:
diff changeset
  1709
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1710
    |bytes bits
134
claus
parents: 133
diff changeset
  1711
     srcPerRow "{ Class: SmallInteger }"
claus
parents: 133
diff changeset
  1712
     dstPerRow "{ Class: SmallInteger }"
claus
parents: 133
diff changeset
  1713
     srcStart  "{ Class: SmallInteger }"
claus
parents: 133
diff changeset
  1714
     srcIndex  "{ Class: SmallInteger }"
claus
parents: 133
diff changeset
  1715
     dstIndex  "{ Class: SmallInteger }"
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1716
     w         "{ Class: SmallInteger }"
2773
8aefa2576a50 a few more smallInteger type hints
Claus Gittinger <cg@exept.de>
parents: 2473
diff changeset
  1717
     h         "{ Class: SmallInteger }"
8aefa2576a50 a few more smallInteger type hints
Claus Gittinger <cg@exept.de>
parents: 2473
diff changeset
  1718
     sz        "{ Class: SmallInteger }" |
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1719
2773
8aefa2576a50 a few more smallInteger type hints
Claus Gittinger <cg@exept.de>
parents: 2473
diff changeset
  1720
    w := wIn.
8aefa2576a50 a few more smallInteger type hints
Claus Gittinger <cg@exept.de>
parents: 2473
diff changeset
  1721
    h := hIn.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1722
    bytes := anArray.
2773
8aefa2576a50 a few more smallInteger type hints
Claus Gittinger <cg@exept.de>
parents: 2473
diff changeset
  1723
    sz := anArray size.
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1724
2773
8aefa2576a50 a few more smallInteger type hints
Claus Gittinger <cg@exept.de>
parents: 2473
diff changeset
  1725
    sz ~~ (((w + 7) // 8) * h) ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1726
	"/ not bytes ...
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1727
	sz == (((w + 15) // 16) * h) ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1728
	    "I want the bytes but got shorts (ST-80)"
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1729
	    bytes := ByteArray uninitializedNew:(((w + 7) // 8) * h).
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1730
	    srcPerRow := (w + 15) // 16.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1731
	    dstPerRow := (w + 7) // 8.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1732
	    srcStart := 1.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1733
	    dstIndex := 1.
2773
8aefa2576a50 a few more smallInteger type hints
Claus Gittinger <cg@exept.de>
parents: 2473
diff changeset
  1734
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1735
	    1 to:h do:[:hi |
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1736
		srcIndex := srcStart.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1737
		bits := anArray at:srcIndex.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1738
		1 to:dstPerRow do:[:di |
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1739
		    di odd ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1740
			bits := anArray at:srcIndex.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1741
			bytes at:dstIndex put:(bits bitShift:-8)
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1742
		    ] ifFalse:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1743
			bytes at:dstIndex put:(bits bitAnd:16rFF).
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1744
			srcIndex := srcIndex + 1
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1745
		    ].
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1746
		    dstIndex := dstIndex + 1
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1747
		].
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1748
		srcStart := srcStart + srcPerRow
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1749
	    ]
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1750
	] ifFalse:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1751
	    sz == (((w + 31) // 32) * h) ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1752
		"I want the bytes but got longs (Squeak)"
3020
e043c3d30613 more Squeak compatibility stuff
ps
parents: 2980
diff changeset
  1753
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1754
		bytes := ByteArray uninitializedNew:(((w + 7) // 8) * h).
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1755
		srcPerRow := (w + 31) // 32.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1756
		dstPerRow := (w + 7) // 8.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1757
		srcStart := 1.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1758
		dstIndex := 1.
3020
e043c3d30613 more Squeak compatibility stuff
ps
parents: 2980
diff changeset
  1759
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1760
		1 to:h do:[:hi |
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1761
		    |ss|
3020
e043c3d30613 more Squeak compatibility stuff
ps
parents: 2980
diff changeset
  1762
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1763
		    srcIndex := srcStart.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1764
		    bits := anArray at:srcIndex.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1765
		    ss := 0.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1766
		    1 to:dstPerRow do:[:di |
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1767
			ss == 0 ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1768
			    bits := anArray at:srcIndex.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1769
			].
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1770
			bytes at:dstIndex put:((bits bitShift:-24) bitAnd:16rFF).
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1771
			bits := bits bitShift:8.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1772
			ss := ss + 1.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1773
			ss == 4 ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1774
			    srcIndex := srcIndex + 1.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1775
			    ss := 0.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1776
			].
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1777
			dstIndex := dstIndex + 1
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1778
		    ].
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1779
		    srcStart := srcStart + srcPerRow
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1780
		]
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1781
	    ]
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1782
	]
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1783
    ].
48194c26a46c Initial revision
claus
parents:
diff changeset
  1784
    data := bytes.
6230
22cbdd5e9a35 class: Form
Stefan Vogel <sv@exept.de>
parents: 6227
diff changeset
  1785
    width := w.
22cbdd5e9a35 class: Form
Stefan Vogel <sv@exept.de>
parents: 6227
diff changeset
  1786
    height := h.
22cbdd5e9a35 class: Form
Stefan Vogel <sv@exept.de>
parents: 6227
diff changeset
  1787
    depth := 1.
22cbdd5e9a35 class: Form
Stefan Vogel <sv@exept.de>
parents: 6227
diff changeset
  1788
    offset := 0@0.
6483
10d4084f12cc class: Form
Stefan Vogel <sv@exept.de>
parents: 6257
diff changeset
  1789
10d4084f12cc class: Form
Stefan Vogel <sv@exept.de>
parents: 6257
diff changeset
  1790
    localColorMap isNil ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1791
	BlackAndWhiteColorMap isNil ifTrue:[
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1792
	    BlackAndWhiteColorMap := Array with:(Color white) with:(Color black)
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1793
	].
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1794
	localColorMap := BlackAndWhiteColorMap.
6230
22cbdd5e9a35 class: Form
Stefan Vogel <sv@exept.de>
parents: 6227
diff changeset
  1795
    ].
6483
10d4084f12cc class: Form
Stefan Vogel <sv@exept.de>
parents: 6257
diff changeset
  1796
7260
5b9f9cbd2435 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 7238
diff changeset
  1797
    device notNil ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1798
	gc createBitmapFromArray:bytes width:w height:h.
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1799
	realized := true.
6230
22cbdd5e9a35 class: Form
Stefan Vogel <sv@exept.de>
parents: 6227
diff changeset
  1800
    ].
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1801
!
48194c26a46c Initial revision
claus
parents:
diff changeset
  1802
48194c26a46c Initial revision
claus
parents:
diff changeset
  1803
width:w height:h offset:offs fromArray:anArray
54
29a6b2f8e042 *** empty log message ***
claus
parents: 46
diff changeset
  1804
    "actual create of a monochrome form from array"
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1805
48194c26a46c Initial revision
claus
parents:
diff changeset
  1806
    self width:w height:h fromArray:anArray.
48194c26a46c Initial revision
claus
parents:
diff changeset
  1807
    offset := offs
48194c26a46c Initial revision
claus
parents:
diff changeset
  1808
! !
48194c26a46c Initial revision
claus
parents:
diff changeset
  1809
3177
8aa3c800394a category rename
Claus Gittinger <cg@exept.de>
parents: 3142
diff changeset
  1810
!Form methodsFor:'queries'!
99
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1811
3812
377a6198fcfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3811
diff changeset
  1812
ascentOn:aGC
377a6198fcfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3811
diff changeset
  1813
    "displayOn: does not draw above baseline"
377a6198fcfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3811
diff changeset
  1814
377a6198fcfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3811
diff changeset
  1815
    ^ 0
377a6198fcfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3811
diff changeset
  1816
!
377a6198fcfe *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3811
diff changeset
  1817
680
a905d02dcb82 added #bounds (for VisualComponent protocol compatibility)
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  1818
bounds
a905d02dcb82 added #bounds (for VisualComponent protocol compatibility)
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  1819
    "return my bounds (added to make forms usable as VisualComponents)"
a905d02dcb82 added #bounds (for VisualComponent protocol compatibility)
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  1820
a905d02dcb82 added #bounds (for VisualComponent protocol compatibility)
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  1821
    ^ Rectangle left:0 top:0 width:width height:height
a905d02dcb82 added #bounds (for VisualComponent protocol compatibility)
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  1822
a905d02dcb82 added #bounds (for VisualComponent protocol compatibility)
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  1823
    "Modified: 13.5.1996 / 10:26:13 / cg"
a905d02dcb82 added #bounds (for VisualComponent protocol compatibility)
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  1824
!
a905d02dcb82 added #bounds (for VisualComponent protocol compatibility)
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  1825
910
6a19a80f66b4 added colorFromValue: for Image compatibility
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  1826
colorFromValue:pixel
1200
b77327efe724 comment
Claus Gittinger <cg@exept.de>
parents: 1145
diff changeset
  1827
    "given a pixelValue, return the corresponding color.
b77327efe724 comment
Claus Gittinger <cg@exept.de>
parents: 1145
diff changeset
  1828
     For compatibility with Images"
b77327efe724 comment
Claus Gittinger <cg@exept.de>
parents: 1145
diff changeset
  1829
910
6a19a80f66b4 added colorFromValue: for Image compatibility
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  1830
    localColorMap notNil ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1831
	^ localColorMap at:(pixel + 1)
910
6a19a80f66b4 added colorFromValue: for Image compatibility
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  1832
    ].
6a19a80f66b4 added colorFromValue: for Image compatibility
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  1833
    depth == 1 ifTrue:[
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1834
	pixel == 0 ifTrue:[^ self whiteColor].
910
6a19a80f66b4 added colorFromValue: for Image compatibility
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  1835
    ].
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1836
    ^ self blackColor
910
6a19a80f66b4 added colorFromValue: for Image compatibility
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  1837
6a19a80f66b4 added colorFromValue: for Image compatibility
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  1838
    "Created: 28.6.1996 / 16:10:13 / cg"
1200
b77327efe724 comment
Claus Gittinger <cg@exept.de>
parents: 1145
diff changeset
  1839
    "Modified: 13.1.1997 / 23:06:25 / cg"
910
6a19a80f66b4 added colorFromValue: for Image compatibility
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  1840
!
6a19a80f66b4 added colorFromValue: for Image compatibility
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  1841
925
1467e7850045 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 915
diff changeset
  1842
hasBits
1467e7850045 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 915
diff changeset
  1843
    "return true, if the receiver has its pixel data available.
1467e7850045 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 915
diff changeset
  1844
     For forms, which were created from data, this is always true.
1467e7850045 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 915
diff changeset
  1845
     For forms, which were created as off-screen device forms on some
1467e7850045 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 915
diff changeset
  1846
     device, this is always false."
1467e7850045 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 915
diff changeset
  1847
1467e7850045 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 915
diff changeset
  1848
    ^ data notNil
1467e7850045 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 915
diff changeset
  1849
1467e7850045 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 915
diff changeset
  1850
    "Created: 5.7.1996 / 16:21:20 / cg"
1467e7850045 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 915
diff changeset
  1851
!
1467e7850045 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 915
diff changeset
  1852
673
c755f681e169 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
  1853
heightOn:aGC
674
e0f6bd36a99d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 673
diff changeset
  1854
    "return my height, if displayed on aGC;
e0f6bd36a99d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 673
diff changeset
  1855
     since my height is independent of the device (the number of pixels),
e0f6bd36a99d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 673
diff changeset
  1856
     return the pixel-height"
e0f6bd36a99d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 673
diff changeset
  1857
680
a905d02dcb82 added #bounds (for VisualComponent protocol compatibility)
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  1858
    ^ height
673
c755f681e169 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
  1859
c755f681e169 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
  1860
    "Created: 12.5.1996 / 21:35:33 / cg"
680
a905d02dcb82 added #bounds (for VisualComponent protocol compatibility)
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  1861
    "Modified: 13.5.1996 / 10:26:09 / cg"
673
c755f681e169 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
  1862
!
c755f681e169 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
  1863
3700
9b40f1e55270 dummy isDithered - for color compatibility
Claus Gittinger <cg@exept.de>
parents: 3655
diff changeset
  1864
isDithered
9b40f1e55270 dummy isDithered - for color compatibility
Claus Gittinger <cg@exept.de>
parents: 3655
diff changeset
  1865
    "for compatibility with color protocol"
9b40f1e55270 dummy isDithered - for color compatibility
Claus Gittinger <cg@exept.de>
parents: 3655
diff changeset
  1866
9b40f1e55270 dummy isDithered - for color compatibility
Claus Gittinger <cg@exept.de>
parents: 3655
diff changeset
  1867
    ^ false
9b40f1e55270 dummy isDithered - for color compatibility
Claus Gittinger <cg@exept.de>
parents: 3655
diff changeset
  1868
!
9b40f1e55270 dummy isDithered - for color compatibility
Claus Gittinger <cg@exept.de>
parents: 3655
diff changeset
  1869
99
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1870
isForm
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1871
    "return true, if the receiver is some kind of form;
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1872
     true is returned here - the method is redefined from Object."
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1873
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1874
    ^ true
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1875
!
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1876
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1877
isImageOrForm
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1878
    "return true, if the receiver is some kind of image or form;
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1879
     true is returned here - the method is redefined from Object."
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1880
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1881
    ^ true
673
c755f681e169 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
  1882
!
c755f681e169 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
  1883
c755f681e169 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
  1884
widthOn:aGC
674
e0f6bd36a99d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 673
diff changeset
  1885
    "return my width, if displayed on aGC;
e0f6bd36a99d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 673
diff changeset
  1886
     since my width is independent of the device (the number of pixels),
e0f6bd36a99d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 673
diff changeset
  1887
     return the pixel-width"
e0f6bd36a99d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 673
diff changeset
  1888
680
a905d02dcb82 added #bounds (for VisualComponent protocol compatibility)
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  1889
    ^ width
673
c755f681e169 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
  1890
c755f681e169 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
  1891
    "Created: 12.5.1996 / 21:35:29 / cg"
680
a905d02dcb82 added #bounds (for VisualComponent protocol compatibility)
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  1892
    "Modified: 13.5.1996 / 10:26:05 / cg"
99
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1893
! !
c40b8a508283 *** empty log message ***
claus
parents: 98
diff changeset
  1894
4173
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1895
!Form::ImageForm class methodsFor:'documentation'!
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1896
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1897
documentation
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1898
"
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1899
    ImageForm is used for Forms, that have been created from an image and do not
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1900
    hold the image bits.
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1901
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1902
    It does not fetch the image bits when doing a snapshot.
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1903
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1904
    [author:]
7416
bd3b9e9edd9e Delegate GraphicsContext objects
Stefan Vogel <sv@exept.de>
parents: 7381
diff changeset
  1905
	Stefan Vogel (stefan@zwerg)
4173
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1906
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1907
    [instance variables:]
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1908
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1909
    [class variables:]
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1910
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1911
    [see also:]
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1912
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1913
"
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1914
! !
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1915
7493
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1916
!Form::ImageForm methodsFor:'converting'!
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1917
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1918
asImageForm
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1919
    ^ self
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1920
! !
59db55fd753a #OTHER by stefan
Stefan Vogel <sv@exept.de>
parents: 7446
diff changeset
  1921
4173
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1922
!Form::ImageForm methodsFor:'private'!
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1923
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1924
getBits
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1925
    "do nothing. The image, that created the ImageForm, has the bits"
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1926
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1927
    ^ self
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1928
!
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1929
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1930
recreate
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1931
    "nothing to do here. The image recreates the form if needed"
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1932
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1933
    ^ self
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1934
! !
100ca435fb0e New class Form::ImageForm for Forms that are created from Images.
Stefan Vogel <sv@exept.de>
parents: 4165
diff changeset
  1935
1142
2a83bf7d5627 Form>>readFrom: are going to be obsoleted.
Claus Gittinger <cg@exept.de>
parents: 1138
diff changeset
  1936
!Form class methodsFor:'documentation'!
134
claus
parents: 133
diff changeset
  1937
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1938
version
7106
52956049570c #DOCUMENTATION
mawalch
parents: 6860
diff changeset
  1939
    ^ '$Header$'
7355
b54b8aebbb90 #FEATURE by sr
sr
parents: 7354
diff changeset
  1940
!
b54b8aebbb90 #FEATURE by sr
sr
parents: 7354
diff changeset
  1941
b54b8aebbb90 #FEATURE by sr
sr
parents: 7354
diff changeset
  1942
version_CVS
b54b8aebbb90 #FEATURE by sr
sr
parents: 7354
diff changeset
  1943
    ^ '$Header$'
7365
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7315 7355
diff changeset
  1944
!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7315 7355
diff changeset
  1945
7315
aed1314a2448 Issue #82: UIPainterView does not understand: #deviceClippingRectangle
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7287
diff changeset
  1946
version_HG
aed1314a2448 Issue #82: UIPainterView does not understand: #deviceClippingRectangle
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7287
diff changeset
  1947
aed1314a2448 Issue #82: UIPainterView does not understand: #deviceClippingRectangle
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7287
diff changeset
  1948
    ^ '$Changeset: <not expanded> $'
0
48194c26a46c Initial revision
claus
parents:
diff changeset
  1949
! !
3811
cfea9bc25737 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3700
diff changeset
  1950
6046
66cadbdbe9cf class: Form
Claus Gittinger <cg@exept.de>
parents: 5915
diff changeset
  1951
278
15e2959e1e58 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 219
diff changeset
  1952
Form initialize!