Grafoscopio/src/Grafoscopio/GrafoscopioDisplayScanner2....

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
]