Skip to content

Commit

Permalink
Canvas: deprecate #drawText:font: in favor of #drawGlyphs:font:
Browse files Browse the repository at this point in the history
It was too confusing to call "text" to an array of glyphs.
  • Loading branch information
tinchodias committed May 3, 2024
1 parent a09dde8 commit 0b904d2
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 8 deletions.
10 changes: 6 additions & 4 deletions src/Alexandrie-Canvas-Tests/AeCanvasTest.class.st
Expand Up @@ -353,7 +353,10 @@ AeCanvasTest >> renderGlyphs: aCairoGlyphsArray scaledFont: aCairoScaledFont on:
| metrics baseline |

"Calculate text metrics"
metrics := aeCanvas metricsFor: aCairoGlyphsArray font: aCairoScaledFont.
metrics :=
aeCanvas
metricsFor: aCairoGlyphsArray
font: aCairoScaledFont.
baseline := metrics bearingX @ metrics ascent negated.

"Draw baseline"
Expand All @@ -376,9 +379,8 @@ AeCanvasTest >> renderGlyphs: aCairoGlyphsArray scaledFont: aCairoScaledFont on:
aeCanvas
setSourceColor: Color orange;
pathTranslate: baseline;
drawText: aCairoGlyphsArray
font: aCairoScaledFont.

drawGlyphs: aCairoGlyphsArray
font: aCairoScaledFont
]

{ #category : #tests }
Expand Down
25 changes: 22 additions & 3 deletions src/Alexandrie-Canvas/AeCanvas.class.st
Expand Up @@ -69,6 +69,14 @@ AeCanvas class >> newFor: aeCairoSurface [
yourself
]

{ #category : #'API - text' }
AeCanvas >> appendGlyphsPath: aeGlyphArray font: aScaledFont [

cairoContext
scaledFont: aScaledFont;
appendGlyphsPath: aeGlyphArray
]

{ #category : #converting }
AeCanvas >> asForm [

Expand Down Expand Up @@ -326,6 +334,14 @@ AeCanvas >> drawFigureWithExplicitBorderOutsideAndNoBackground [
cairoContext clip
]

{ #category : #'API - text' }
AeCanvas >> drawGlyphs: aeGlyphArray font: aScaledFont [

cairoContext
scaledFont: aScaledFont;
showGlyphs: aeGlyphArray
]

{ #category : #private }
AeCanvas >> drawNothingButMayClip [

Expand All @@ -337,10 +353,13 @@ AeCanvas >> drawNothingButMayClip [

{ #category : #'API - text' }
AeCanvas >> drawText: aeGlyphArray font: aScaledFont [
self
deprecated: 'Use #drawGlyphs:font: instead'
transformWith:
'`@receiver drawText: `@arg1 font: `@arg2' ->
'`@receiver drawGlyphs: `@arg1 font: `@arg2'.

cairoContext
scaledFont: aScaledFont;
showGlyphs: aeGlyphArray
self drawGlyphs: aeGlyphArray font: aScaledFont
]

{ #category : #accessing }
Expand Down
Expand Up @@ -166,7 +166,7 @@ AeHarfbuzzRenderExample >> newForm [
aeCanvas pathTranslate: 0 @ (fontHeight*1.1).
aeCanvas setSourceColor: Color green muchDarker.
aeCanvas
drawText: self glyphArrayWithHarfbuzz
drawGlyphs: self glyphArrayWithHarfbuzz
font: cairoScaledFont.

^ aeCanvas asForm
Expand Down

0 comments on commit 0b904d2

Please sign in to comment.