--- a/DeviceWorkstation.st Wed Sep 05 17:40:22 2001 +0200
+++ b/DeviceWorkstation.st Wed Sep 05 19:27:05 2001 +0200
@@ -22,10 +22,10 @@
motionEventCompression lastId lastView keyboardMap rootView
isSlow activeKeyboardGrab activePointerGrab buttonTranslation
multiClickTimeDelta altModifiers metaModifiers ctrlModifiers
- shiftModifiers superModifiers buttonModifiers supportsDeepIcons preferredIconSize
- ditherColors fixColors numFixRed numFixGreen numFixBlue
- fixGrayColors copyBuffer lastCopyBuffer blackColor whiteColor
- focusMode activeView clipBoardEncoding focusView
+ shiftModifiers superModifiers buttonModifiers supportsDeepIcons
+ preferredIconSize ditherColors fixColors numFixRed numFixGreen
+ numFixBlue fixGrayColors copyBuffer lastCopyBuffer blackColor
+ whiteColor focusMode activeView clipBoardEncoding focusView
deviceErrorSignal deviceIOErrorSignal mayOpenDebugger
suppressDebugger'
classVariableNames:'ButtonTranslation MultiClickTimeDelta DeviceErrorSignal
@@ -37,6 +37,14 @@
category:'Interface-Graphics'
!
+Object subclass:#DeviceFontMetrics
+ instanceVariableNames:'encoding ascent descent maxAscent maxDescent minWidth maxWidth
+ averageWidth'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:DeviceWorkstation
+!
+
!DeviceWorkstation class methodsFor:'documentation'!
copyright
@@ -4595,28 +4603,22 @@
"Modified: 29.2.1996 / 04:31:51 / cg"
!
-fontMetricsOf:fontId into:aBlock
- "evaluate aBlock, passing a fonts metrics as arguments"
-
- |encoding avgAscent avgDescent
- maxAscent maxDescent minWidth maxWidth avgWidth|
-
- encoding := self encodingOf:fontId.
- avgAscent := self ascentOf:fontId.
- avgDescent := self descentOf:fontId.
- maxAscent := self maxAscentOf:fontId.
- maxDescent := self maxDescentOf:fontId.
- minWidth := self minWidthOfFont:fontId.
- maxWidth := self maxWidthOfFont:fontId.
- avgWidth := self widthOf:' ' inFont:fontId.
- aBlock value:encoding
- value:avgAscent
- value:avgDescent
- value:maxAscent
- value:maxDescent
- value:minWidth
- value:maxWidth
- value:avgWidth
+fontMetricsOf:fontId
+ "return a fonts metrics info object"
+
+ |info|
+
+ info := DeviceWorkstation::DeviceFontMetrics new.
+ info
+ ascent:(self ascentOf:fontId)
+ descent:(self descentOf:fontId)
+ maxAscent:(self maxAscentOf:fontId)
+ maxDescent:(self maxDescentOf:fontId)
+ minWidth:(self minWidthOfFont:fontId)
+ maxWidth:(self maxWidthOfFont:fontId)
+ avgWidth:(self widthOf:' ' inFont:fontId).
+
+ ^ info
!
fontResolutionOf:fontId
@@ -7260,9 +7262,80 @@
"Created: 4.4.1997 / 14:45:26 / cg"
! !
+!DeviceWorkstation::DeviceFontMetrics methodsFor:'accessing'!
+
+ascent
+ "return the value of the instance variable 'ascent' (automatically generated)"
+
+ ^ ascent
+!
+
+ascent:ascentArg descent:descentArg maxAscent:maxAscentArg maxDescent:maxDescentArg minWidth:minWidthArg maxWidth:maxWidthArg avgWidth:avgWidthArg
+ ascent := ascentArg.
+ descent := descentArg.
+ maxAscent := maxAscentArg.
+ maxDescent := maxDescentArg.
+ minWidth := minWidthArg.
+ maxWidth := maxWidthArg.
+ averageWidth := avgWidthArg
+!
+
+averageWidth
+ "return the value of the instance variable 'averageWidth' (automatically generated)"
+
+ ^ averageWidth
+!
+
+descent
+ "return the value of the instance variable 'descent' (automatically generated)"
+
+ ^ descent
+!
+
+encoding
+ "return the value of the instance variable 'encoding' (automatically generated)"
+
+ ^ encoding
+!
+
+encoding:encodingArg ascent:ascentArg descent:descentArg maxAscent:maxAscentArg maxDescent:maxDescentArg minWidth:minWidthArg maxWidth:maxWidthArg avgWidth:avgWidthArg
+ encoding := encodingArg.
+ ascent := ascentArg.
+ descent := descentArg.
+ maxAscent := maxAscentArg.
+ maxDescent := maxDescentArg.
+ minWidth := minWidthArg.
+ maxWidth := maxWidthArg.
+ averageWidth := avgWidthArg
+!
+
+maxAscent
+ "return the value of the instance variable 'maxAscent' (automatically generated)"
+
+ ^ maxAscent
+!
+
+maxDescent
+ "return the value of the instance variable 'maxDescent' (automatically generated)"
+
+ ^ maxDescent
+!
+
+maxWidth
+ "return the value of the instance variable 'maxWidth' (automatically generated)"
+
+ ^ maxWidth
+!
+
+minWidth
+ "return the value of the instance variable 'minWidth' (automatically generated)"
+
+ ^ minWidth
+! !
+
!DeviceWorkstation class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.400 2001-08-15 16:40:48 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.401 2001-09-05 17:27:05 cg Exp $'
! !
DeviceWorkstation initialize!