--- a/Border.st Thu Oct 08 19:55:47 2015 +0200
+++ b/Border.st Thu Oct 08 19:55:57 2015 +0200
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
"
COPYRIGHT (c) 1997 by eXept Software AG
All Rights Reserved
@@ -14,7 +16,8 @@
"{ NameSpace: Smalltalk }"
AbstractBorder subclass:#Border
- instanceVariableNames:'leftColor rightColor topColor bottomColor'
+ instanceVariableNames:'leftColor leftWidth rightColor rightWidth topColor topWidth
+ bottomColor bottomWidth'
classVariableNames:''
poolDictionaries:''
category:'Graphics-Support'
@@ -59,6 +62,16 @@
v := StandardSystemView extent:100@100.
v openAndWait.
+ b := Border width:1 color:Color red.
+ v border:b
+ [exEnd]
+
+ [exBegin]
+ |v b|
+
+ v := StandardSystemView extent:100@100.
+ v openAndWait.
+
b := Border width:10 color:Color red.
b displayOn:v forDisplayBox:(0@0 corner:90@90).
@@ -80,7 +93,13 @@
v openAndWait.
b := Border width:10 color:Color red.
- v border:b
+ b topColor:Color red.
+ b leftColor:Color blue.
+ b topColor:Color green.
+ b rightColor:Color yellow.
+ b leftWidth:10 rightWidth:20 topWidth:5 bottomWidth:15.
+
+ b displayOn:v forDisplayBox:(0@0 corner:90@90).
[exEnd]
[exBegin]
@@ -124,6 +143,14 @@
"Created: 10.2.1997 / 15:37:51 / cg"
!
+bottomWidth
+ ^ bottomWidth
+!
+
+bottomWidth:something
+ bottomWidth := something.
+!
+
color:newColor
"set all four colors"
@@ -148,6 +175,21 @@
"Created: 10.2.1997 / 15:38:02 / cg"
!
+leftWidth
+ ^ leftWidth
+!
+
+leftWidth:something
+ leftWidth := something.
+!
+
+leftWidth:leftWidthArg rightWidth:rightWidthArg topWidth:topWidthArg bottomWidth:bottomWidthArg
+ leftWidth := leftWidthArg.
+ rightWidth := rightWidthArg.
+ topWidth := topWidthArg.
+ bottomWidth := bottomWidthArg.
+!
+
rightColor
"return the value of the instance variable 'rightColor' (automatically generated)"
@@ -164,6 +206,14 @@
"Created: 10.2.1997 / 15:38:08 / cg"
!
+rightWidth
+ ^ rightWidth
+!
+
+rightWidth:something
+ rightWidth := something.
+!
+
topColor
"return the value of the instance variable 'topColor' (automatically generated)"
@@ -178,6 +228,18 @@
topColor := aColor
"Created: 10.2.1997 / 15:38:17 / cg"
+!
+
+topWidth
+ ^ topWidth
+!
+
+topWidth:something
+ topWidth := something.
+!
+
+width:w
+ leftWidth := rightWidth := topWidth := bottomWidth := width := w.
! !
!Border methodsFor:'displaying'!
@@ -201,37 +263,37 @@
leftColor notNil ifTrue:[
aGC paint:leftColor.
- width == 1 ifTrue:[
+ leftWidth == 1 ifTrue:[
aGC displayLineFromX:rL y:rT toX:rL y:rB-1.
] ifFalse:[
- aGC fillRectangleX:rL y:rT width:width height:rH
+ aGC fillRectangleX:rL y:rT width:leftWidth height:rH
].
].
topColor notNil ifTrue:[
aGC paint:topColor.
- width == 1 ifTrue:[
+ topWidth == 1 ifTrue:[
aGC displayLineFromX:rL+1 y:rT toX:rR-1 y:rT.
] ifFalse:[
- aGC fillRectangleX:(rL + width) y:rT width:rW - width height:width
+ aGC fillRectangleX:(rL + leftWidth) y:rT width:rW - leftWidth - rightWidth height:topWidth
].
].
rightColor notNil ifTrue:[
aGC paint:rightColor.
- width == 1 ifTrue:[
+ rightWidth == 1 ifTrue:[
aGC displayLineFromX:rR-1 y:rT toX:rR-1 y:rB-1.
] ifFalse:[
- aGC fillRectangleX:(rR - width) y:(rT + width) width:width height:rH-width
+ aGC fillRectangleX:(rR - rightWidth) y:rT width:rightWidth height:rH
].
].
bottomColor notNil ifTrue:[
aGC paint:bottomColor.
- width == 1 ifTrue:[
- aGC displayLineFromX:rL y:rB-1 toX:rR-1 y:rB-1.
+ bottomWidth == 1 ifTrue:[
+ aGC displayLineFromX:rL+1 y:rB-1 toX:rR-2 y:rB-1.
] ifFalse:[
- aGC fillRectangleX:rL y:(rB-width) width:rW - width height:width
+ aGC fillRectangleX:rL+leftWidth y:(rB-bottomWidth) width:rW - leftWidth - rightWidth height:bottomWidth
].
].
@@ -240,13 +302,38 @@
"Modified: 10.2.1997 / 15:55:04 / cg"
! !
+!Border methodsFor:'initialization'!
+
+initialize
+ width := 1.
+ leftWidth := rightWidth := topWidth := bottomWidth := 1.
+! !
+
+!Border methodsFor:'queries'!
+
+bottomMargin
+ ^ bottomWidth
+!
+
+leftMargin
+ ^ leftWidth
+!
+
+rightMargin
+ ^ rightWidth
+!
+
+topMargin
+ ^ topWidth
+! !
+
!Border class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/Border.st,v 1.10 2015-01-05 20:34:51 cg Exp $'
+ ^ '$Header$'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libview/Border.st,v 1.10 2015-01-05 20:34:51 cg Exp $'
+ ^ '$Header$'
! !