75 lines
1.7 KiB
Smalltalk
75 lines
1.7 KiB
Smalltalk
Class {
|
|
#name : #GrafoscopioDisplayScanner2,
|
|
#superclass : #Object,
|
|
#instVars : [
|
|
'text',
|
|
'textStyle',
|
|
'foregroundColor',
|
|
'backgroundColor',
|
|
'fillBlt',
|
|
'ignoreColorChanges',
|
|
'bitBlt'
|
|
],
|
|
#category : #'Grafoscopio-Rub'
|
|
}
|
|
|
|
{ #category : #private }
|
|
GrafoscopioDisplayScanner2 >> displayLine: line offset: offset leftInRun2: leftInRun [
|
|
fillBlt == nil
|
|
ifFalse: [ "Not right"
|
|
fillBlt
|
|
destX: line left
|
|
destY: 100
|
|
width: 300
|
|
height: 30;
|
|
copyBits ].
|
|
^ line
|
|
display: text
|
|
on: bitBlt
|
|
with: offset
|
|
using: textStyle
|
|
]
|
|
|
|
{ #category : #private }
|
|
GrafoscopioDisplayScanner2 >> displayLine: line offset: offset leftInRun: leftInRun [
|
|
fillBlt == nil
|
|
ifFalse: [ "Not right"
|
|
fillBlt
|
|
destX: line left
|
|
destY: 100
|
|
width: 300
|
|
height: 30;
|
|
copyBits ].
|
|
^ line
|
|
display: text
|
|
on: bitBlt
|
|
with: offset
|
|
using: textStyle
|
|
]
|
|
|
|
{ #category : #'reflective operations' }
|
|
GrafoscopioDisplayScanner2 >> doesNotUnderstand: something [
|
|
|
|
self halt.
|
|
]
|
|
|
|
{ #category : #'as yet unclassified' }
|
|
GrafoscopioDisplayScanner2 >> setPort: aBitBlt [
|
|
"Install the BitBlt to use"
|
|
bitBlt := aBitBlt.
|
|
bitBlt sourceX: 0; width: 0. "Init BitBlt so that the first call to a primitive will not fail"
|
|
bitBlt sourceForm: nil. "Make sure font installation won't be confused"
|
|
|
|
]
|
|
|
|
{ #category : #private }
|
|
GrafoscopioDisplayScanner2 >> text: t textStyle: ts foreground: foreColor background: backColor fillBlt: blt ignoreColorChanges: shadowMode [
|
|
text := t.
|
|
textStyle := ts.
|
|
foregroundColor := foreColor.
|
|
fillBlt := blt.
|
|
(backgroundColor := backColor) isTransparent
|
|
ifFalse: [ fillBlt fillColor: backgroundColor ].
|
|
ignoreColorChanges := shadowMode
|
|
]
|