Cairo__ScaledFont.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 05 Apr 2016 10:00:57 +0100
changeset 77 cdf856e78998
parent 63 054f0513ea65
child 88 9d51db2ba641
permissions -rw-r--r--
CairoGraphicsContext: Fixed paint setting Even though methods like #foreground: / #foreground:background: method are marked obsolete for quite some time, a lot of core widgets are still using them (!). Therefore CairoGraphicsContext must implement them to correctly update Cairo context. This fixes issues with EditField.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/libcairo' }"
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Cairo }"
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
     5
CObject subclass:#ScaledFont
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
     6
	instanceVariableNames:''
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
     7
	classVariableNames:''
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
12
e5f0c18af8a9 - Cairo::Format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
     9
	category:'Cairo-Objects'
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
7
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    12
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    13
!ScaledFont class methodsFor:'instance creation'!
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    14
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    15
fromFontDescription: aFontDescription
55
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    16
    | screen vDPI |
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    17
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    18
    screen := Screen current.
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    19
    screen isX11Platform ifTrue:[ 
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    20
        "/ XWorkstation does not properly calculate the DPI on multihead
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    21
        "/ configurations, see:
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    22
        "/    https://swing.fit.cvut.cz/projects/stx-jv/ticket/74
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    23
        "/ For now, use 96 which seems to be hardcoded in various places, see:
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    24
        "/    http://unix.stackexchange.com/questions/75344/how-does-x-server-calculate-dpi
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    25
        vDPI := 96.
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    26
    ] ifFalse:[ 
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    27
        vDPI := screen verticalPixelPerInch.
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    28
    ].
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    29
    ^ self fromFontFace: (FontFace fromFontDescription: aFontDescription) scale: (vDPI / 72) * aFontDescription size.
34
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    30
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    31
    "
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    32
    Cairo::ScaledFont fromFontDescription: CodeView defaultFont               
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    33
    "
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    34
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    35
    "Created: / 17-02-2016 / 20:21:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
c0fed31c643c ScaledFont/X11: Use hardcoded DPI value when calculating font scale.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 43
diff changeset
    36
    "Modified: / 29-02-2016 / 06:39:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    37
!
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    38
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    39
fromFontFace: face matrix: fontMatrix transformation: transformationMatrix options: options
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    40
    ^ CPrimitives cairo_scaled_font_create: face _: fontMatrix _: transformationMatrix _: options
34
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    41
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    42
    "Created: / 17-02-2016 / 20:30:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    43
!
34
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    44
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    45
fromFontFace: face scale: scale
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    46
    | options font |
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    47
    options := FontOptions new.
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    48
    font := self fromFontFace: face matrix: (Matrix scale: scale) transformation: Matrix identity options: options.
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    49
    options release.
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    50
    ^ font.              
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    51
    "
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    52
    Cairo::ScaledFont fromFontDescription: CodeView defaultFont               
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    53
    "
34
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    54
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    55
    "Created: / 18-02-2016 / 08:15:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    56
    "Modified: / 18-02-2016 / 10:17:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    57
! !
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    58
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
!ScaledFont class methodsFor:'accessing'!
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    61
sizeof
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    62
    "Returns size of undelaying structure in bytes"
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    64
    ^0
1
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
! !
2439fb18f3dc Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    67
!ScaledFont methodsFor:'accessing'!
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    68
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    69
fontMatrix
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    70
    | matrix |
34
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    71
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    72
    matrix := Matrix new.
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    73
    CPrimitives cairo_scaled_font_get_font_matrix: self _: matrix.
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    74
    ^ matrix
34
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    75
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    76
    "Created: / 18-02-2016 / 10:05:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    77
!
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    78
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    79
referenceCount
43
1006839761af Add error checking
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    80
    "Return value of reference counter"
34
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    81
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    82
    ^ CPrimitives cairo_scaled_font_get_reference_count: self.
34
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    83
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    84
    "Modified: / 17-02-2016 / 20:16:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43
1006839761af Add error checking
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    85
    "Modified (comment): / 23-02-2016 / 10:48:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1006839761af Add error checking
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    86
!
1006839761af Add error checking
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    87
1006839761af Add error checking
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    88
status
1006839761af Add error checking
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    89
    "Checks whether an error has previously occurred for this object.
1006839761af Add error checking
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    90
     See Cairo::Status pool for possible values."
1006839761af Add error checking
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    91
1006839761af Add error checking
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    92
    ^ CPrimitives cairo_scaled_font_status: self
1006839761af Add error checking
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    93
1006839761af Add error checking
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
    94
    "Modified: / 23-02-2016 / 10:48:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    95
! !
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
    96
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    97
!ScaledFont methodsFor:'cairo api'!
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    98
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
    99
extents
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   100
    | extents |
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   101
    extents := FontExtents new.
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   102
    Cairo::CPrimitives cairo_scaled_font_extents: self _: extents.  
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   103
    ^ extents
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   104
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   105
    "Created: / 16-02-2016 / 14:56:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   106
!
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   107
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   108
textExtents: aString
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   109
    | extents |
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   110
    extents := TextExtents new.
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   111
    Cairo::CPrimitives cairo_scaled_font_text_extents: self _: aString utf8Encoded _: extents.  
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   112
    ^ extents
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   113
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   114
    "Created: / 16-02-2016 / 14:56:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   115
! !
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   116
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   117
!ScaledFont methodsFor:'private'!
34
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   118
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   119
destroy
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   120
    "Tell Cairo library to destroy the corresponding C object.
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   121
     Remember that object is physically destroyed only if internal
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   122
     refcounter goes to zero. However, after calling destroy,
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   123
     this instance should be treated as invalid."
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   124
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   125
     CPrimitives cairo_scaled_font_destroy: self.
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   126
     self setAddress: nil.
34
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   127
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   128
    "Created: / 28-12-2014 / 22:10:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
40
28dfc583beb5 #displayString: in CairoGraphicsContext revamped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   129
    "Modified: / 17-02-2016 / 06:39:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
63
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 55
diff changeset
   130
!
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 55
diff changeset
   131
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 55
diff changeset
   132
reference
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 55
diff changeset
   133
    "Increases the reference count on the receiver by one. This prevents the
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 55
diff changeset
   134
     receiver from being destroyed until a matching call to #destroy is made.
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 55
diff changeset
   135
     
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 55
diff changeset
   136
     This method must be called whenever Cairo documentation says so,
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 55
diff changeset
   137
     check comment on return value for methods returning a Cairo object"
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 55
diff changeset
   138
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 55
diff changeset
   139
    CPrimitives cairo_scaled_font_reference: self
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 55
diff changeset
   140
054f0513ea65 Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 55
diff changeset
   141
    "Modified: / 05-03-2016 / 10:33:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
34
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   142
! !
97705b5a9411 Use Cairo's toy text API for text rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 30
diff changeset
   143
7
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   144
!ScaledFont class methodsFor:'documentation'!
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   145
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   146
version
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   147
    ^'$Id$'
11
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   148
!
fdc697f4f190 - Cairo::SvgVersion
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   149
23
38ee47dbd976 Added version_HG to make Mercurial happy
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   150
version_HG
38ee47dbd976 Added version_HG to make Mercurial happy
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   151
    ^ '$Changeset: <not expanded> $'
7
392289f92fab - DLL path is set automatically.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   152
! !
29
6ba06265e543 Bindinge updated to recent Cairo version.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
   153