#displayString: in CairoGraphicsContext revamped
Introduced a CairoScaledFont, a kind of FontDescription for Cairo fonts
(Cairo::ScaledFont / cairo_scaled_font_t). CairoScaledFont provides a bridge
between Smalltalk/X font API and Cairo the same way CairoGraphicsContext
provides a bridge bewtween Smalltalk/X drawing API and Cairo.
Don't use Cairo's "toy" text API to select font. Under X11, use FontConfig
to select a proper font. However, for actual text rendering and measurements,
Cairo's "toy" API is still used - it seems to be good enough, certainly as good
as Core X11 / Xft text rendering for Latin-based left-to-right languages.
At this point a TextEditView can be rendered using Cairo.
--- a/CairoGraphicsContext.st Tue Feb 16 07:46:52 2016 +0000
+++ b/CairoGraphicsContext.st Wed Feb 17 06:43:31 2016 +0000
@@ -3,9 +3,9 @@
"{ NameSpace: Smalltalk }"
DeviceGraphicsContext subclass:#CairoGraphicsContext
- instanceVariableNames:'cr crId'
- classVariableNames:'Lobby'
- poolDictionaries:'Cairo::FontSlant Cairo::FontWeight Cairo::Format'
+ instanceVariableNames:'cr'
+ classVariableNames:'Lobby SkippedSlotIndexes'
+ poolDictionaries:'Cairo::FontSlant Cairo::FontWeight Cairo::Format Cairo::Status'
category:'Cairo-Compatibility'
!
@@ -19,7 +19,13 @@
Lobby := Registry new.
- "Modified: / 09-01-2015 / 15:08:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ SkippedSlotIndexes := {
+ DeviceGraphicsContext instVarIndexFor: #font.
+ DeviceGraphicsContext instVarIndexFor: #deviceFont.
+ DeviceGraphicsContext instVarIndexFor: #lineWidth.
+ }
+
+ "Modified: / 17-02-2016 / 21:43:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!CairoGraphicsContext class methodsFor:'instance creation'!
@@ -27,19 +33,21 @@
onDeviceGraphicsContext: dGC
| cGC |
- cGC := self onDevice: dGC device.
- 1 to: DeviceGraphicsContext instSize do:[:i |
- cGC instVarAt: i put: (dGC instVarAt: i).
+ cGC := self basicNew.
+ 1 to: DeviceGraphicsContext instSize do:[:i |
+ (SkippedSlotIndexes includes:i) ifFalse:[
+ cGC instVarAt: i put: (dGC instVarAt: i).
+ ].
].
dGC gcId notNil ifTrue:[
cGC createCR.
].
cGC lineWidth: dGC lineWidth.
- cGC font: dGC font.
+ cGC basicFont: dGC basicFont.
^ cGC
"Created: / 15-02-2016 / 21:20:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 16-02-2016 / 10:44:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 17-02-2016 / 22:46:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!CairoGraphicsContext class methodsFor:'accessing'!
@@ -122,6 +130,22 @@
!CairoGraphicsContext methodsFor:'accessing'!
+basicFont:aFont
+ (aFont ~~ font) ifTrue:[
+ super basicFont: aFont.
+ font notNil ifTrue:[
+ font := CairoScaledFont fromFontDescription: font onDevice: device.
+ cr notNil ifTrue:[
+ cr font: font scaledFont.
+ cr fontSize: (Screen current verticalPixelPerInch / 72) * font size.
+ ].
+ ].
+ ].
+
+ "Created: / 16-02-2016 / 15:37:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-02-2016 / 00:38:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
clippingBounds:aRectangleOrNil
"set the clipping rectangle for drawing (in logical coordinates);
a nil argument turn off clipping (i.e. whole view is drawable)"
@@ -131,25 +155,6 @@
"Created: / 15-02-2016 / 21:38:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-font:aFont
- | family slant psize weight |
-
- super font: aFont.
-
- family := font family.
- slant := SymbolicFontSlantToCairoFontSlantMap at: (font style ? 'roman').
- weight := SymbolicFontFaceToCairoFontWeightMap at: (font face ? 'regular').
- psize := font pixelSize.
- psize isNil ifTrue:[
- psize := (self device verticalPixelPerInch / 72) * font size.
- ].
-
- cr font: family slant: slant weight: weight.
- cr fontSize: psize .
-
- "Modified: / 16-02-2016 / 10:55:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
function:aFunctionSymbol
"set the drawing function"
@@ -256,11 +261,12 @@
displayRectangleX:x y:y width:w height:h
"draw a rectangle
- this could be recoded to draw using displayLine"
+ (w > 0 and:[h > 0]) ifTrue:[
+ cr rectangleX: x y: y width: w height: h.
+ cr stroke.
+ ]
- cr rectangleX: x y: y width: w height: h.
- cr stroke.
-
- "Modified: / 13-02-2016 / 20:04:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-02-2016 / 22:21:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
displayString:aStringArg from:index1Arg to:index2Arg x:x y:y opaque:opaqueArg maxWidth:maxWidth
@@ -271,19 +277,63 @@
the case where paint and/or bgPaint are dithered colors.
maxWidth is the maximum width of the string in pixels or nil if unknown."
+ | opaque string |
+ "
+ if backgroundPaint color is nil, we assume
+ this is a non-opaque draw
+ "
+ opaque := opaqueArg ? false.
+ bgPaint isNil ifTrue:[
+ opaque := false.
+ ].
+
+ gcId isNil ifTrue:[
+ self initGC
+ ].
+
+ (aStringArg isString not or:[aStringArg isText]) ifTrue:[
+ "
+ hook for non-strings (i.e. attributed text)
+ that 'thing' should know how to display itself ...
+ "
+ aStringArg displayOn:self x:x y:y from:index1Arg to:index2Arg opaque:opaque.
+ ^ self
+ ].
+
+ (index1Arg == 1 and:[ index2Arg == aStringArg size ]) ifTrue:[
+ string := aStringArg
+ ] ifFalse:[
+ string := aStringArg copyFrom: index1Arg to: index2Arg
+ ].
+
cr save.
[
+ | extents |
+
+ extents := cr textExtents: string.
+ cr rectangleX: x + extents xBearing ceiling y: y - font ascent ceiling width: extents xAdvance ceiling height: font height ceiling.
+ cr lineWidth: 0.
+
+ opaque ifTrue:[
+ cr source: bgPaint.
+ cr fill.
+ ] ifFalse:[
+ "/ I'm not sure why this is required but if not done,
+ "/ selected text is not rendered correcrtly...
+ cr stroke.
+ ].
+
+ self assert: cr status == CAIRO_STATUS_SUCCESS.
+ cr source: paint.
cr moveToX: x y: y.
- (index1Arg == 1 and:[ index2Arg == aStringArg size ]) ifTrue:[
- cr showText: aStringArg
- ] ifFalse:[
- cr showText: (aStringArg copyFrom: index1Arg to: index2Arg).
- ].
+ cr showText: string.
+ self assert: cr status == CAIRO_STATUS_SUCCESS.
] ensure:[
cr restore.
]
"Created: / 16-02-2016 / 10:51:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-02-2016 / 21:12:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!CairoGraphicsContext methodsFor:'basic filling'!
@@ -341,18 +391,70 @@
fillRectangleX:x y:y width:w height:h
"fill a rectangle with current paint color"
- cr rectangleX: x y: y width: w height: h.
- cr strokeAndPreserve.
- cr fill.
+ (w > 0 and:[h > 0]) ifTrue:[
+ cr lineWidth: 0.
+ cr rectangleX: x y: y width: w height: h.
+ cr fill.
+ cr lineWidth: (lineWidth == 0 ifTrue:[1] ifFalse:[lineWidth])
+ ].
"/ cr save.
"/ cr rectangleX: x y: y width: w height: h.
"/ cr sourceR: 1 G: 0 B: 0.
-"/ cr lineWidth: 3.
+"/ cr lineWidth: 1.
"/ cr stroke.
"/ cr restore.
- "Modified: / 16-02-2016 / 07:58:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-02-2016 / 22:20:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!CairoGraphicsContext methodsFor:'bit blitting'!
+
+copyBitsFrom:aByteArray bitsPerPixel:bpp depth:depth padding:pad width:srcW height:srcH x:srcX y:srcY toX:dstX y:dstY
+ "copy bits from a smalltalk byteArray.
+ The bits found there are supposed to be in the devices native format (i.e.
+ translated to allocated color indices on pseudoColor devices and padded as required.
+ The byteOrder is MSB and will be converted as appropriate by the underlying devices
+ method to whatever the device needs."
+
+ cr notNil ifTrue:[
+ cr surface flush
+ ].
+ ^ super copyBitsFrom:aByteArray bitsPerPixel:bpp depth:depth padding:pad width:srcW height:srcH x:srcX y:srcY toX:dstX y:dstY
+
+ "Created: / 18-02-2016 / 20:16:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+copyFrom:aDrawable x:srcX y:srcY toX:dstX y:dstY width:w height:h async:async
+ "copy from aDrawable into the receiver;
+ the source may be the receiver as well - in this case its a scroll.
+ All coordinates are in device coordinates.
+ If the receiver is a view AND async is true, the call returns immediately
+ - otherwise, it returns when the scroll operation is finished.
+ (not all devices care for this).
+ If the receiver is a pixmap, the call always returns immediately."
+
+ cr notNil ifTrue:[
+ cr surface flush
+ ].
+ ^ super copyFrom:aDrawable x:srcX y:srcY toX:dstX y:dstY width:w height:h async:async
+
+ "Created: / 18-02-2016 / 20:17:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+copyPlaneFrom:aDrawable x:srcX y:srcY toX:dstX y:dstY width:w height:h
+ "copy one plane from aDrawable into the receiver. 0's are drawn in
+ background, while 1's are drawn with foreground color.
+ The depth of aDrawable must (should) be 1.
+ The drawable must have been allocated on the same device.
+ All coordinates are in device coordinates."
+
+ cr notNil ifTrue:[
+ cr surface flush
+ ].
+ ^ super copyPlaneFrom:aDrawable x:srcX y:srcY toX:dstX y:dstY width:w height:h
+
+ "Created: / 18-02-2016 / 20:17:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!CairoGraphicsContext methodsFor:'drawing'!
@@ -375,15 +477,36 @@
[
image bitsARGB32Into: data stride: stride fg: self paint bg: self backgroundPaint.
image_surface := Cairo::CPrimitives cairo_image_surface_create_for_data: data _: CAIRO_FORMAT_ARGB32 _: width _: height _: stride.
- Cairo::CPrimitives cairo_set_source_surface: crId _: image_surface _: x asFloat _: y asFloat.
- Cairo::CPrimitives cairo_paint: crId.
+ Cairo::CPrimitives cairo_set_source_surface: cr _: image_surface _: x asFloat _: y asFloat.
+ Cairo::CPrimitives cairo_paint: cr.
] ensure:[
data finalize.
image_surface release.
].
"Created: / 31-12-2014 / 12:08:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 15-02-2016 / 21:32:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 17-02-2016 / 20:58:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+displayLineFrom:p0 to:p1
+ "draw a line (with current paint-color); apply transformation if nonNil"
+
+ ^ self displayLineFromX: p0 x y: p0 y toX: p1 x y: p1 y
+
+ "Created: / 18-02-2016 / 20:27:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+displayLineFromX:xStart y:yStart toX:xEnd y:yEnd brush:aForm
+ "draw a line using a brush.
+ Here, a slow fallback is used, drawing into a
+ temporary bitmap first, which is then displayed"
+
+ cr notNil ifTrue:[
+ cr surface flush
+ ].
+ ^ super displayLineFromX:xStart y:yStart toX:xEnd y:yEnd brush:aForm
+
+ "Created: / 18-02-2016 / 20:28:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
displayRoundRectangleX:x y:y width:w height:h wCorner:wCorn hCorner:hCorn
@@ -485,9 +608,12 @@
"Physically create a Cairo graphics context"
cr := self cairo.
+ font notNil ifTrue:[
+ cr font: font scaledFont.
+ ].
"Created: / 12-02-2016 / 16:59:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 13-02-2016 / 19:56:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 17-02-2016 / 22:42:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
createGC
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CairoScaledFont.st Wed Feb 17 06:43:31 2016 +0000
@@ -0,0 +1,164 @@
+"{ Package: 'stx:goodies/libcairo' }"
+
+"{ NameSpace: Smalltalk }"
+
+FontDescription subclass:#CairoScaledFont
+ instanceVariableNames:'device scaledFont extents'
+ classVariableNames:'Lobby'
+ poolDictionaries:'Cairo::FontSlant Cairo::FontWeight Cairo::Format'
+ category:'Cairo-Compatibility'
+!
+
+!CairoScaledFont class methodsFor:'instance creation'!
+
+fromFontDescription: aFontDescription
+ ^ self fromFontDescription: aFontDescription onDevice: Screen current
+
+ "
+ CairoScaledFont fromFontDescription: CodeView defaultFont.
+ "
+
+ "Created: / 17-02-2016 / 20:51:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+fromFontDescription: aFontDescription onDevice: aHostGraphicsDevice
+ | font |
+
+ aFontDescription class == self ifTrue:[
+ ^ aFontDescription onDevice: aHostGraphicsDevice
+ ].
+ font := self new.
+ 1 to: FontDescription instSize do:[:i |
+ font instVarAt: i put: (aFontDescription instVarAt: i)
+ ].
+ font setDevice: aHostGraphicsDevice scaledFont: (Cairo::ScaledFont fromFontDescription: font).
+ ^ font
+
+ "Created: / 17-02-2016 / 20:51:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (format): / 17-02-2016 / 22:25:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!CairoScaledFont methodsFor:'accessing'!
+
+scaledFont
+ ^ scaledFont
+
+ "Created: / 17-02-2016 / 20:47:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!CairoScaledFont methodsFor:'converting'!
+
+onDevice: aDevice
+ device == aDevice ifTrue:[ ^ self ].
+ ^ self copy setDevice: aDevice scaledFont: (Cairo::ScaledFont fromFontDescription: self).
+
+ "Created: / 16-02-2016 / 13:22:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 17-02-2016 / 22:18:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!CairoScaledFont methodsFor:'displaying'!
+
+displayString:aString from:index1 to:index2 x:x y:y in:aGC opaque:opaque
+ "display a partial string at some position in aGC."
+
+ ^ self shouldImplement
+! !
+
+!CairoScaledFont methodsFor:'initialization'!
+
+setDevice: aHostGraphicsDevice scaledFont: aScaledFont
+ self assert: device isNil.
+ self assert: scaledFont isNil.
+
+ device := aHostGraphicsDevice.
+ scaledFont := aScaledFont
+
+ "Created: / 17-02-2016 / 20:46:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!CairoScaledFont methodsFor:'queries-dimensions'!
+
+ascent
+ "return the ascent - the number of pixels above the baseLine."
+
+ extents isNil ifTrue:[ extents := scaledFont extents ].
+ ^ extents ascent ceiling
+
+ "Created: / 09-01-2015 / 15:33:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-02-2016 / 21:53:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+descent
+ "return the descent - the number of pixels below the baseLine."
+
+ extents isNil ifTrue:[ extents := scaledFont extents ].
+ ^ extents descent ceiling
+
+ "Created: / 09-01-2015 / 15:33:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-02-2016 / 21:54:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+height
+ "return the height - the number of pixels above plus below the baseLine."
+
+ extents isNil ifTrue:[ extents := scaledFont extents ].
+ ^ extents height ceiling
+
+ "Created: / 09-01-2015 / 15:33:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-02-2016 / 21:54:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isFixedWidth
+ "return true, if this is a fixed pitch font (i.e. all characters
+ are of the same width)"
+
+ ^ false
+
+ "Created: / 09-01-2015 / 15:35:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+maxAscent
+ "return the fonts maximum-ascent (i.e. the maximum of all characters);
+ That is the number of units (usually pixels) above the baseline."
+
+ ^ self ascent
+
+ "Created: / 09-01-2015 / 15:34:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+maxDescent
+ "return the fonts maximum-descent (i.e. the maximum of all characters);
+ That is the number of units (usually pixels) below the baseline."
+
+ ^ self descent
+
+ "Created: / 09-01-2015 / 15:34:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+maxWidth
+ "return the fonts maximum-width character (i.e. the maximum of all characters);
+ That is a number of units (usually pixels)."
+
+ extents isNil ifTrue:[ extents := scaledFont extents ].
+ ^ extents maxXAdvance ceiling
+
+ "Created: / 09-01-2015 / 15:35:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-02-2016 / 21:54:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+widthOf:aString from:start to:stop
+ "return the width of a sub string"
+
+ | str |
+
+ (start == 1 and: [ stop == aString size ]) ifTrue:[
+ str := aString
+ ] ifFalse:[
+ str := aString copyFrom: start to: stop.
+ ].
+ ^ (scaledFont textExtents: str) xAdvance ceiling
+
+ "Created: / 09-01-2015 / 15:28:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-02-2016 / 21:54:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/Cairo__CObject.st Tue Feb 16 07:46:52 2016 +0000
+++ b/Cairo__CObject.st Wed Feb 17 06:43:31 2016 +0000
@@ -4,12 +4,24 @@
ExternalAddress subclass:#CObject
instanceVariableNames:''
- classVariableNames:''
+ classVariableNames:'Lobby'
poolDictionaries:''
category:'Cairo-Objects'
!
+!CObject class methodsFor:'initialization'!
+
+initialize
+ "Invoked at system start or when the class is dynamically loaded."
+
+ "/ please change as required (and remove this comment)
+
+ Lobby := Registry new
+
+ "Modified: / 09-01-2015 / 11:22:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!CObject class methodsFor:'instance creation'!
fromExternalAddress: anExternalAddress
@@ -109,3 +121,5 @@
^ '$Changeset: <not expanded> $'
! !
+
+CObject initialize!
--- a/Cairo__CPrimitives.st Tue Feb 16 07:46:52 2016 +0000
+++ b/Cairo__CPrimitives.st Wed Feb 17 06:43:31 2016 +0000
@@ -435,6 +435,14 @@
self primitiveFailed
!
+cairo_ft_font_face_create_for_pattern: pattern
+
+ <cdecl: Cairo::FontFace "cairo_ft_font_face_create_for_pattern" ( FcPattern ) >
+ self primitiveFailed
+
+ "Created: / 17-02-2016 / 20:00:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
cairo_get_antialias: cr
<cdecl: int32 "cairo_get_antialias" ( handle ) >
@@ -473,8 +481,10 @@
cairo_get_font_matrix: cr _: matrix
- <cdecl: void "cairo_get_font_matrix" ( handle Cairo::Matrix ) >
+ <cdecl: void "cairo_get_font_matrix" ( handle pointer ) >
self primitiveFailed
+
+ "Modified (format): / 18-02-2016 / 10:14:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
cairo_get_font_options: cr _: options
@@ -697,8 +707,10 @@
cairo_matrix_init_identity: matrix
- <cdecl: void "cairo_matrix_init_identity" ( Cairo::Matrix ) >
+ <cdecl: void "cairo_matrix_init_identity" ( handle ) >
self primitiveFailed
+
+ "Modified (format): / 17-02-2016 / 20:34:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
cairo_matrix_init_rotate: matrix _: radians
@@ -709,8 +721,10 @@
cairo_matrix_init_scale: matrix _: sx _: sy
- <cdecl: void "cairo_matrix_init_scale" ( Cairo::Matrix double double ) >
+ <cdecl: void "cairo_matrix_init_scale" ( pointer double double ) >
self primitiveFailed
+
+ "Modified (format): / 18-02-2016 / 00:15:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
cairo_matrix_init_translate: matrix _: tx _: ty
@@ -1389,8 +1403,10 @@
cairo_scaled_font_create: font_face _: font_matrix _: ctm _: options
- <cdecl: handle "cairo_scaled_font_create" ( Cairo::FontFace Cairo::Matrix Cairo::Matrix Cairo::FontOptions ) >
+ <cdecl: Cairo::ScaledFont "cairo_scaled_font_create" ( Cairo::FontFace handle handle Cairo::FontOptions ) >
self primitiveFailed
+
+ "Modified (format): / 17-02-2016 / 20:35:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
cairo_scaled_font_destroy: scaled_font
@@ -1401,8 +1417,10 @@
cairo_scaled_font_extents: scaled_font _: extents
- <cdecl: void "cairo_scaled_font_extents" ( handle Cairo::FontExtents ) >
+ <cdecl: void "cairo_scaled_font_extents" ( handle pointer ) >
self primitiveFailed
+
+ "Modified (format): / 17-02-2016 / 22:19:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
cairo_scaled_font_get_ctm: scaled_font _: ctm
@@ -1419,8 +1437,10 @@
cairo_scaled_font_get_font_matrix: scaled_font _: font_matrix
- <cdecl: void "cairo_scaled_font_get_font_matrix" ( handle Cairo::Matrix ) >
+ <cdecl: void "cairo_scaled_font_get_font_matrix" ( handle pointer ) >
self primitiveFailed
+
+ "Modified (format): / 18-02-2016 / 10:14:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
cairo_scaled_font_get_font_options: scaled_font _: options
@@ -1479,8 +1499,10 @@
cairo_scaled_font_text_extents: scaled_font _: utf8 _: extents
- <cdecl: void "cairo_scaled_font_text_extents" ( handle charPointer Cairo::TextExtents ) >
+ <cdecl: void "cairo_scaled_font_text_extents" ( handle charPointer pointer ) >
self primitiveFailed
+
+ "Modified (format): / 17-02-2016 / 22:09:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
cairo_scaled_font_text_to_glyphs: scaled_font _: x _: y _: utf8 _: utf8_len _: glyphs _: num_glyphs _: clusters _: num_clusters _: cluster_flags
@@ -1941,8 +1963,10 @@
cairo_text_extents: cr _: utf8 _: extents
- <cdecl: void "cairo_text_extents" ( handle charPointer Cairo::TextExtents ) >
+ <cdecl: void "cairo_text_extents" ( handle charPointer pointer ) >
self primitiveFailed
+
+ "Modified (format): / 18-02-2016 / 09:02:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
cairo_text_path: cr _: utf8
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Cairo__CStructure.st Wed Feb 17 06:43:31 2016 +0000
@@ -0,0 +1,64 @@
+"{ Package: 'stx:goodies/libcairo' }"
+
+"{ NameSpace: Cairo }"
+
+ByteArray variableByteSubclass:#CStructure
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Cairo-Objects'
+!
+
+CStructure class instanceVariableNames:'fields'
+
+"
+ No other class instance variables are inherited by this class.
+"
+!
+
+!CStructure class methodsFor:'instance creation'!
+
+new
+ ^self basicNew: self sizeof
+
+ "Created: / 16-02-2016 / 14:22:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+new: size
+ self shouldNotImplement
+
+ "Created: / 16-02-2016 / 14:22:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!CStructure class methodsFor:'accessing'!
+
+sizeof
+ ^ self subclassResponsibility
+
+ "Created: / 16-02-2016 / 14:21:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!CStructure class methodsFor:'private'!
+
+fields
+ ^ fields
+
+ "Created: / 18-02-2016 / 09:05:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!CStructure methodsFor:'inserting'!
+
+inspectorExtraAttributes
+ | attrs |
+
+ attrs := super inspectorExtraAttributes.
+ self class fields notNil ifTrue:[
+ self class fields do:[:field |
+ attrs at: '-', field put: [ self perform: field ]
+ ].
+ ].
+ ^ attrs
+
+ "Created: / 18-02-2016 / 09:11:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/Cairo__FontExtents.st Tue Feb 16 07:46:52 2016 +0000
+++ b/Cairo__FontExtents.st Wed Feb 17 06:43:31 2016 +0000
@@ -2,7 +2,7 @@
"{ NameSpace: Cairo }"
-ExternalStructure subclass:#FontExtents
+CStructure variableByteSubclass:#FontExtents
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
@@ -10,6 +10,22 @@
!
+!FontExtents class methodsFor:'initialization'!
+
+initialize
+ "Invoked at system start or when the class is dynamically loaded."
+
+ fields := #(
+ ascent
+ descent
+ height
+ maxXAdvance
+ maxYAdvance
+ )
+
+ "Modified: / 18-02-2016 / 09:09:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!FontExtents class methodsFor:'accessing'!
dllPath
@@ -132,3 +148,5 @@
^ '$Changeset: <not expanded> $'
! !
+
+FontExtents initialize!
--- a/Cairo__FontFace.st Tue Feb 16 07:46:52 2016 +0000
+++ b/Cairo__FontFace.st Wed Feb 17 06:43:31 2016 +0000
@@ -10,6 +10,24 @@
!
+!FontFace class methodsFor:'instance creation'!
+
+fromFontDescription: aFontDescription
+ Screen current platformName == #X11 ifTrue:[
+ | pattern |
+
+ pattern := FcPattern fromFontDescription: aFontDescription.
+ ^ CPrimitives cairo_ft_font_face_create_for_pattern: pattern.
+ ].
+ self error: 'Noy yet implemented'.
+
+ "
+ Cairo::FontFace fromFontDescription: CodeView defaultFont
+ "
+
+ "Created: / 17-02-2016 / 20:01:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!FontFace class methodsFor:'accessing'!
dllPath
@@ -56,6 +74,38 @@
^0
! !
+!FontFace methodsFor:'accessing'!
+
+referenceCount
+ "Return value or reference counter"
+
+ ^ CPrimitives cairo_font_face_get_reference_count: self
+
+ "Modified: / 17-02-2016 / 19:54:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+type
+ "This function returns the type of the backend used to create a font face.
+ See FontType for available types."
+
+ ^ CPrimitives cairo_font_face_get_type: self
+
+ "Created: / 17-02-2016 / 19:54:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!FontFace methodsFor:'private'!
+
+destroy
+ "Tell Cairo library to destroy the corresponding C object.
+ Remember that object is physically destroyed only if internal
+ refcounter goes to zero. However, after calling destroy,
+ this instance should be treated as invalid."
+
+ ^ CPrimitives cairo_font_face_destroy: self
+
+ "Modified: / 17-02-2016 / 19:54:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!FontFace class methodsFor:'documentation'!
version
--- a/Cairo__FontOptions.st Tue Feb 16 07:46:52 2016 +0000
+++ b/Cairo__FontOptions.st Wed Feb 17 06:43:31 2016 +0000
@@ -2,7 +2,7 @@
"{ NameSpace: Cairo }"
-ExternalStructure subclass:#FontOptions
+CObject variableByteSubclass:#FontOptions
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
@@ -10,6 +10,14 @@
!
+!FontOptions class methodsFor:'instance creation'!
+
+new
+ ^ CPrimitives cairo_font_options_create
+
+ "Created: / 17-02-2016 / 20:30:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!FontOptions class methodsFor:'accessing'!
dllPath
@@ -195,6 +203,29 @@
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
+!FontOptions methodsFor:'accessing'!
+
+referenceCount
+ "Return value or reference counter"
+
+ ^ self shouldNotImplement
+
+ "Modified: / 17-02-2016 / 20:29:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!FontOptions methodsFor:'private'!
+
+destroy
+ "Tell Cairo library to destroy the corresponding C object.
+ Remember that object is physically destroyed only if internal
+ refcounter goes to zero. However, after calling destroy,
+ this instance should be treated as invalid."
+
+ CPrimitives cairo_font_options_destroy: self.
+
+ "Modified: / 17-02-2016 / 20:29:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!FontOptions class methodsFor:'documentation'!
version
--- a/Cairo__FontSlant.st Tue Feb 16 07:46:52 2016 +0000
+++ b/Cairo__FontSlant.st Wed Feb 17 06:43:31 2016 +0000
@@ -10,6 +10,7 @@
category:'Cairo-Constants'
!
+
!FontSlant class methodsFor:'initialization'!
initialize
@@ -44,5 +45,12 @@
^CAIRO_FONT_SLANT_OBLIQUE
! !
+!FontSlant class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
FontSlant initialize!
--- a/Cairo__Glyph.st Tue Feb 16 07:46:52 2016 +0000
+++ b/Cairo__Glyph.st Wed Feb 17 06:43:31 2016 +0000
@@ -2,7 +2,7 @@
"{ NameSpace: Cairo }"
-ExternalStructure subclass:#Glyph
+CStructure variableByteSubclass:#Glyph
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
@@ -10,6 +10,20 @@
!
+!Glyph class methodsFor:'initialization'!
+
+initialize
+ "Invoked at system start or when the class is dynamically loaded."
+
+ fields := #(
+ )
+
+
+ "/ please change as required (and remove this comment)
+
+ "Modified: / 18-02-2016 / 09:07:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!Glyph class methodsFor:'accessing'!
dllPath
@@ -110,3 +124,5 @@
^ '$Changeset: <not expanded> $'
! !
+
+Glyph initialize!
--- a/Cairo__GraphicsContext.st Tue Feb 16 07:46:52 2016 +0000
+++ b/Cairo__GraphicsContext.st Wed Feb 17 06:43:31 2016 +0000
@@ -35,6 +35,12 @@
"Modified: / 13-02-2016 / 16:13:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+status
+ ^ CPrimitives cairo_status: self
+
+ "Created: / 18-02-2016 / 20:01:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
surface
^ surface
! !
@@ -254,6 +260,18 @@
!GraphicsContext methodsFor:'cairo api - text'!
+font
+ ^ CPrimitives cairo_get_scaled_font: self
+
+ "Created: / 17-02-2016 / 21:02:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+font: scaledFont
+ CPrimitives cairo_set_scaled_font: self _: scaledFont
+
+ "Created: / 17-02-2016 / 21:01:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
font:family slant:slant weight:weight
^ CPrimitives
cairo_select_font_face:self
@@ -264,6 +282,27 @@
"Created: / 29-12-2014 / 01:08:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+fontMatrix
+ | matrix |
+
+ matrix := Matrix new.
+ CPrimitives cairo_get_font_matrix: self _: matrix.
+ ^ matrix
+
+ "Created: / 18-02-2016 / 10:09:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+fontMatrix: matrix
+ "Sets the current font matrix to matrix . The font matrix gives a transformation from
+ the design space of the font (in this space, the em-square is 1 unit by 1 unit)
+ to user space. Normally, a simple scale is used (see #fontSize:), but a more complex
+ font matrix can be used to shear the font or stretch it unequally along the two axes"
+
+ CPrimitives cairo_set_font_matrix: self _: matrix.
+
+ "Created: / 18-02-2016 / 10:11:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
fontSize:sz
^ CPrimitives cairo_set_font_size:self _:sz asFloat
@@ -276,6 +315,16 @@
"Created: / 23-04-2009 / 17:25:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
"Modified: / 28-12-2014 / 22:02:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+textExtents:aString
+ | extents |
+
+ extents := TextExtents new.
+ CPrimitives cairo_text_extents:self _:aString utf8Encoded _: extents.
+ ^ extents.
+
+ "Created: / 18-02-2016 / 08:55:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GraphicsContext methodsFor:'cairo api - transformations & clipping'!
--- a/Cairo__Matrix.st Tue Feb 16 07:46:52 2016 +0000
+++ b/Cairo__Matrix.st Wed Feb 17 06:43:31 2016 +0000
@@ -2,7 +2,7 @@
"{ NameSpace: Cairo }"
-ExternalStructure subclass:#Matrix
+CStructure variableByteSubclass:#Matrix
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
@@ -10,54 +10,53 @@
!
-!Matrix class methodsFor:'accessing'!
-
-dllPath
+!Matrix class methodsFor:'initialization'!
- OperatingSystem isMSWINDOWSlike ifTrue:[
- ^ #( 'C:\Windows' 'C:\Windows\System32' "Wild guess, should not harm" )
- ].
+initialize
+ "Invoked at system start or when the class is dynamically loaded."
- OperatingSystem isUNIXlike ifTrue:[
- OperatingSystem getSystemType == #linux ifTrue:[
- | path |
-
- path := #( '/lib' '/usr/lib' '/usr/local/lib' ).
- (OperatingSystem getSystemInfo at:#machine) = 'x86_64' ifTrue:[
- "If the machine is 64bit, prepend standard path for 32bit libs.
- Leave standard paths at the end, as the system might be completely
- 32bit but running on 64bit-capable CPU.
+ fields := #(
+ xx
+ yx
+ xy
+ yy
+ x0
+ y0
+ )
- CAVEAT: This is bit dangerous, as on 64bit OS, if ia32 libs are
- not installed byt 64bit sqlite libs are, then 64bit libs are found
- and when a function is called, segfault will occur!!
+ "/ please change as required (and remove this comment)
- Q: Is there a way how to figure out if the OS itself is 32bit,
- regardles on CPU?"
- path := #( '/lib32' '/usr/lib32' '/usr/local/lib32' ) , path.
- ].
- ^path
+ "Modified: / 18-02-2016 / 09:08:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Matrix class methodsFor:'instance creation'!
- ].
- ].
-
- self error:'Unsupported operating system'
+identity
+ | m |
- "
- SqliteLibrary dllPath
- "
+ m := self new.
+ CPrimitives cairo_matrix_init_identity: m.
+ ^ m
- "Created: / 31-08-2011 / 18:02:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 17-02-2016 / 20:14:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-libraryName
-
- OperatingSystem isUNIXlike ifTrue:[^'libcairo.so.2'].
+scale: aNumberOrPoint
+ | sx sy m |
+ aNumberOrPoint isPoint ifTrue:[
+ sx := aNumberOrPoint x asFloat.
+ sy := aNumberOrPoint y asFloat.
+ ] ifFalse:[
+ sx := sy := aNumberOrPoint asFloat.
+ ].
+ m := self new.
+ CPrimitives cairo_matrix_init_scale: m _: sx _: sy.
+ ^ m.
- OperatingSystem isMSWINDOWSlike ifTrue:[^'cairo.dll'].
+ "Created: / 18-02-2016 / 00:17:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
- self error:'Library name for host OS is not known'
-!
+!Matrix class methodsFor:'accessing'!
sizeof
"Returns size of undelaying structure in bytes"
@@ -65,104 +64,6 @@
^48
! !
-!Matrix class methodsFor:'primitives'!
-
-primInit: matrix xx: xx yx: yx xy: xy yy: yy x0: x0 y0: y0
-
- <cdecl: const void "cairo_matrix_init" ( Cairo::Matrix double double double double double double ) >
- self primitiveFailed
-
- "Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-primInitIdentity: matrix
-
- <cdecl: const void "cairo_matrix_init_identity" ( Cairo::Matrix ) >
- self primitiveFailed
-
- "Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-primInitRotate: matrix radians: radians
-
- <cdecl: const void "cairo_matrix_init_rotate" ( Cairo::Matrix double ) >
- self primitiveFailed
-
- "Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-primInitScale: matrix sx: sx sy: sy
-
- <cdecl: const void "cairo_matrix_init_scale" ( Cairo::Matrix double double ) >
- self primitiveFailed
-
- "Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-primInitTranslate: matrix tx: tx ty: ty
-
- <cdecl: const void "cairo_matrix_init_translate" ( Cairo::Matrix double double ) >
- self primitiveFailed
-
- "Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-primInvert: matrix
-
- <cdecl: const int32 "cairo_matrix_invert" ( Cairo::Matrix ) >
- self primitiveFailed
-
- "Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-primMultiply: result a: a b: b
-
- <cdecl: const void "cairo_matrix_multiply" ( Cairo::Matrix Cairo::Matrix Cairo::Matrix ) >
- self primitiveFailed
-
- "Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-primRotate: matrix radians: radians
-
- <cdecl: const void "cairo_matrix_rotate" ( Cairo::Matrix double ) >
- self primitiveFailed
-
- "Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-primScale: matrix sx: sx sy: sy
-
- <cdecl: const void "cairo_matrix_scale" ( Cairo::Matrix double double ) >
- self primitiveFailed
-
- "Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-primTransformDistance: matrix dx: dx dy: dy
-
- <cdecl: const void "cairo_matrix_transform_distance" ( Cairo::Matrix pointer pointer ) >
- self primitiveFailed
-
- "Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-primTransformPoint: matrix x: x y: y
-
- <cdecl: const void "cairo_matrix_transform_point" ( Cairo::Matrix pointer pointer ) >
- self primitiveFailed
-
- "Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-primTranslate: matrix tx: tx ty: ty
-
- <cdecl: const void "cairo_matrix_translate" ( Cairo::Matrix double double ) >
- self primitiveFailed
-
- "Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
-! !
-
!Matrix methodsFor:'accessing'!
x0
@@ -241,3 +142,5 @@
^ '$Changeset: <not expanded> $'
! !
+
+Matrix initialize!
--- a/Cairo__Rectangle.st Tue Feb 16 07:46:52 2016 +0000
+++ b/Cairo__Rectangle.st Wed Feb 17 06:43:31 2016 +0000
@@ -2,7 +2,7 @@
"{ NameSpace: Cairo }"
-ExternalStructure subclass:#Rectangle
+CStructure variableByteSubclass:#Rectangle
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
@@ -10,6 +10,20 @@
!
+!Rectangle class methodsFor:'initialization'!
+
+initialize
+ "Invoked at system start or when the class is dynamically loaded."
+
+ fields := #(
+ )
+
+
+ "/ please change as required (and remove this comment)
+
+ "Modified: / 18-02-2016 / 09:06:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!Rectangle class methodsFor:'accessing'!
dllPath
@@ -121,3 +135,5 @@
^ '$Changeset: <not expanded> $'
! !
+
+Rectangle initialize!
--- a/Cairo__ScaledFont.st Tue Feb 16 07:46:52 2016 +0000
+++ b/Cairo__ScaledFont.st Wed Feb 17 06:43:31 2016 +0000
@@ -2,100 +2,96 @@
"{ NameSpace: Cairo }"
-FontDescription subclass:#ScaledFont
- instanceVariableNames:'handle device extents'
- classVariableNames:'Lobby RecentlyUsedFonts'
+CObject subclass:#ScaledFont
+ instanceVariableNames:''
+ classVariableNames:''
poolDictionaries:''
category:'Cairo-Objects'
!
-!ScaledFont class methodsFor:'initialization'!
+!ScaledFont class methodsFor:'instance creation'!
+
+fromFontDescription: aFontDescription
+ ^ self fromFontFace: (FontFace fromFontDescription: aFontDescription) scale: (Screen current verticalPixelPerInch / 72) * aFontDescription size.
-initialize
- "Invoked at system start or when the class is dynamically loaded."
+ "
+ Cairo::ScaledFont fromFontDescription: CodeView defaultFont
+ "
+
+ "Created: / 17-02-2016 / 20:21:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-02-2016 / 08:16:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+fromFontFace: face matrix: fontMatrix transformation: transformationMatrix options: options
+ ^ CPrimitives cairo_scaled_font_create: face _: fontMatrix _: transformationMatrix _: options
- "/ please change as required (and remove this comment)
+ "Created: / 17-02-2016 / 20:30:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
- Lobby := Registry new
+fromFontFace: face scale: scale
+ | options font |
+ options := FontOptions new.
+ font := self fromFontFace: face matrix: (Matrix scale: scale) transformation: Matrix identity options: options.
+ options release.
+ ^ font.
+ "
+ Cairo::ScaledFont fromFontDescription: CodeView defaultFont
+ "
- "Modified: / 09-01-2015 / 11:22:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 18-02-2016 / 08:15:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-02-2016 / 10:17:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ScaledFont class methodsFor:'accessing'!
-dllPath
-
- OperatingSystem isMSWINDOWSlike ifTrue:[
- ^ #( 'C:\Windows' 'C:\Windows\System32' "Wild guess, should not harm" )
- ].
-
- OperatingSystem isUNIXlike ifTrue:[
- OperatingSystem getSystemType == #linux ifTrue:[
- | path |
-
- path := #( '/lib' '/usr/lib' '/usr/local/lib' ).
- (OperatingSystem getSystemInfo at:#machine) = 'x86_64' ifTrue:[
- "If the machine is 64bit, prepend standard path for 32bit libs.
- Leave standard paths at the end, as the system might be completely
- 32bit but running on 64bit-capable CPU.
-
- CAVEAT: This is bit dangerous, as on 64bit OS, if ia32 libs are
- not installed byt 64bit sqlite libs are, then 64bit libs are found
- and when a function is called, segfault will occur!!
-
- Q: Is there a way how to figure out if the OS itself is 32bit,
- regardles on CPU?"
- path := #( '/lib32' '/usr/lib32' '/usr/local/lib32' ) , path.
- ].
- ^path
-
- ].
- ].
-
- self error:'Unsupported operating system'
-
- "
- SqliteLibrary dllPath
- "
-
- "Created: / 31-08-2011 / 18:02:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-libraryName
-
- OperatingSystem isUNIXlike ifTrue:[^'libcairo.so.2'].
-
- OperatingSystem isMSWINDOWSlike ifTrue:[^'cairo.dll'].
-
- self error:'Library name for host OS is not known'
-!
-
sizeof
"Returns size of undelaying structure in bytes"
^0
! !
-!ScaledFont methodsFor:'finalization'!
+!ScaledFont methodsFor:'accessing'!
+
+fontMatrix
+ | matrix |
-finalization
- self destroy
+ matrix := Matrix new.
+ CPrimitives cairo_scaled_font_get_font_matrix: self _: matrix.
+ ^ matrix
- "Created: / 09-01-2015 / 10:20:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 18-02-2016 / 10:05:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-finalizationLobby
- "answer a Registry used for finalization.
- Use a generic Registry for any object.
- Subclasses using their own Registry should redefine this"
+referenceCount
+ "Return value or reference counter"
- ^ Lobby
+ ^ CPrimitives cairo_scaled_font_get_reference_count: self.
- "Created: / 09-01-2015 / 10:20:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 17-02-2016 / 20:16:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!ScaledFont methodsFor:'initialize'!
+!ScaledFont methodsFor:'cairo api'!
+
+extents
+ | extents |
+ extents := FontExtents new.
+ Cairo::CPrimitives cairo_scaled_font_extents: self _: extents.
+ ^ extents
+
+ "Created: / 16-02-2016 / 14:56:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+textExtents: aString
+ | extents |
+ extents := TextExtents new.
+ Cairo::CPrimitives cairo_scaled_font_text_extents: self _: aString utf8Encoded _: extents.
+ ^ extents
+
+ "Created: / 16-02-2016 / 14:56:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ScaledFont methodsFor:'private'!
destroy
"Tell Cairo library to destroy the corresponding C object.
@@ -103,111 +99,11 @@
refcounter goes to zero. However, after calling destroy,
this instance should be treated as invalid."
- handle notNil ifTrue:[
- CPrimitives cairo_scaled_font_destroy: handle
- ].
+ CPrimitives cairo_scaled_font_destroy: self.
+ self setAddress: nil.
"Created: / 28-12-2014 / 22:10:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 09-01-2015 / 11:57:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-handle: anExternalAddress
- handle := anExternalAddress.
- CPrimitives cairo_scaled_font_reference: handle.
- self registerForFinalization.
- extents := FontExtents new.
- CPrimitives cairo_scaled_font_extents: handle _: extents
-
- "Created: / 09-01-2015 / 15:15:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-release
- self unregisterForFinalization.
- ^self destroy
-
- "Created: / 28-12-2014 / 23:49:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 09-01-2015 / 10:23:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!ScaledFont methodsFor:'queries-dimensions'!
-
-ascent
- "return the ascent - the number of pixels above the baseLine."
-
- ^ extents ascent
-
- "Created: / 09-01-2015 / 15:33:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-descent
- "return the descent - the number of pixels below the baseLine."
-
- ^ extents descent
-
- "Created: / 09-01-2015 / 15:33:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-height
- "return the height - the number of pixels above plus below the baseLine."
-
- ^ extents height
-
- "Created: / 09-01-2015 / 15:33:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-isFixedWidth
- "return true, if this is a fixed pitch font (i.e. all characters
- are of the same width)"
-
- ^ false
-
- "Created: / 09-01-2015 / 15:35:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-maxAscent
- "return the fonts maximum-ascent (i.e. the maximum of all characters);
- That is the number of units (usually pixels) above the baseline."
-
- ^ self ascent
-
- "Created: / 09-01-2015 / 15:34:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-maxDescent
- "return the fonts maximum-descent (i.e. the maximum of all characters);
- That is the number of units (usually pixels) below the baseline."
-
- ^ self descent
-
- "Created: / 09-01-2015 / 15:34:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-maxWidth
- "return the fonts maximum-width character (i.e. the maximum of all characters);
- That is a number of units (usually pixels)."
-
- ^ extents maxXAdvance
-
- "Created: / 09-01-2015 / 15:35:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-widthOf:aString from:start to:stop
- "return the width of a sub string"
-
- | str extents width |
-
- (start == 1 and: [ stop == aString size ]) ifTrue:[
- str := aString
- ] ifFalse:[
- str := aString copyFrom: start to: stop.
- ].
- extents := TextExtents new.
- Cairo::CPrimitives cairo_scaled_font_text_extents: handle _: str utf8Encoded _: extents.
- width := extents width.
- extents free.
- ^ width
-
- "Created: / 09-01-2015 / 15:28:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 17-02-2016 / 06:39:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ScaledFont class methodsFor:'documentation'!
@@ -220,5 +116,3 @@
^ '$Changeset: <not expanded> $'
! !
-
-ScaledFont initialize!
--- a/Cairo__Surface.st Tue Feb 16 07:46:52 2016 +0000
+++ b/Cairo__Surface.st Wed Feb 17 06:43:31 2016 +0000
@@ -149,7 +149,31 @@
"Modified: / 28-12-2014 / 21:46:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!Surface methodsFor:'initialization & release'!
+!Surface methodsFor:'cairo api'!
+
+finish
+
+ ^CPrimitives cairo_surface_finish: self
+
+ "Created: / 17-06-2012 / 08:49:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 28-12-2014 / 21:48:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+flush
+ "Do any pending drawing for the surface and also restore any temporary
+ modifications cairo has made to the surface's state. This function must
+ be called before switching from drawing on the surface with cairo to
+ drawing on it directly with native APIs, or accessing its memory outside
+ of Cairo. If the surface doesn't support direct access, then this function
+ does nothing."
+
+ CPrimitives cairo_surface_flush: self
+
+ "Created: / 10-07-2008 / 10:32:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 18-02-2016 / 20:15:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Surface methodsFor:'private'!
destroy
"Tell Cairo library to destroy the corresponding C object.
@@ -162,22 +186,6 @@
"Created: / 28-12-2014 / 22:10:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 13-02-2016 / 16:10:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-finish
-
- ^CPrimitives cairo_surface_finish: self
-
- "Created: / 17-06-2012 / 08:49:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 28-12-2014 / 21:48:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-flush
-
- ^CPrimitives cairo_surface_flush: self
-
- "Created: / 10-07-2008 / 10:32:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
- "Modified: / 28-12-2014 / 21:48:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!Surface methodsFor:'queries'!
--- a/Cairo__TextExtents.st Tue Feb 16 07:46:52 2016 +0000
+++ b/Cairo__TextExtents.st Wed Feb 17 06:43:31 2016 +0000
@@ -2,7 +2,7 @@
"{ NameSpace: Cairo }"
-ExternalStructure subclass:#TextExtents
+CStructure variableByteSubclass:#TextExtents
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
@@ -10,6 +10,23 @@
!
+!TextExtents class methodsFor:'initialization'!
+
+initialize
+ "Invoked at system start or when the class is dynamically loaded."
+
+ fields := #(
+ xBearing
+ yBearing
+ width
+ height
+ xAdvance
+ yAdvance
+ )
+
+ "Modified: / 18-02-2016 / 09:06:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!TextExtents class methodsFor:'accessing'!
dllPath
@@ -143,3 +160,5 @@
^ '$Changeset: <not expanded> $'
! !
+
+TextExtents initialize!
--- a/Make.proto Tue Feb 16 07:46:52 2016 +0000
+++ b/Make.proto Wed Feb 17 06:43:31 2016 +0000
@@ -147,6 +147,7 @@
$(OUTDIR)Cairo__Antialias.$(O) Cairo__Antialias.$(H): Cairo__Antialias.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__CObject.$(O) Cairo__CObject.$(H): Cairo__CObject.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cairo__CPrimitives.$(O) Cairo__CPrimitives.$(H): Cairo__CPrimitives.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Cairo__CStructure.$(O) Cairo__CStructure.$(H): Cairo__CStructure.st $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/ByteArray.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__ClockView.$(O) Cairo__ClockView.$(H): Cairo__ClockView.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(STCHDR)
$(OUTDIR)Cairo__Content.$(O) Cairo__Content.$(H): Cairo__Content.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__Device.$(O) Cairo__Device.$(H): Cairo__Device.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -154,30 +155,24 @@
$(OUTDIR)Cairo__Extend.$(O) Cairo__Extend.$(H): Cairo__Extend.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__FillRule.$(O) Cairo__FillRule.$(H): Cairo__FillRule.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__Filter.$(O) Cairo__Filter.$(H): Cairo__Filter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
-$(OUTDIR)Cairo__FontExtents.$(O) Cairo__FontExtents.$(H): Cairo__FontExtents.st $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
-$(OUTDIR)Cairo__FontOptions.$(O) Cairo__FontOptions.$(H): Cairo__FontOptions.st $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__FontSlant.$(O) Cairo__FontSlant.$(H): Cairo__FontSlant.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__FontType.$(O) Cairo__FontType.$(H): Cairo__FontType.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__FontWeight.$(O) Cairo__FontWeight.$(H): Cairo__FontWeight.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__Format.$(O) Cairo__Format.$(H): Cairo__Format.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
-$(OUTDIR)Cairo__Glyph.$(O) Cairo__Glyph.$(H): Cairo__Glyph.st $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__HintMetrics.$(O) Cairo__HintMetrics.$(H): Cairo__HintMetrics.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__HintStyle.$(O) Cairo__HintStyle.$(H): Cairo__HintStyle.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__LineCap.$(O) Cairo__LineCap.$(H): Cairo__LineCap.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__LineJoin.$(O) Cairo__LineJoin.$(H): Cairo__LineJoin.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
-$(OUTDIR)Cairo__Matrix.$(O) Cairo__Matrix.$(H): Cairo__Matrix.st $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__Operator.$(O) Cairo__Operator.$(H): Cairo__Operator.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__Path.$(O) Cairo__Path.$(H): Cairo__Path.st $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__PathData.$(O) Cairo__PathData.$(H): Cairo__PathData.st $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__PathDataType.$(O) Cairo__PathDataType.$(H): Cairo__PathDataType.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__PatternType.$(O) Cairo__PatternType.$(H): Cairo__PatternType.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__PdfVersion.$(O) Cairo__PdfVersion.$(H): Cairo__PdfVersion.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
-$(OUTDIR)Cairo__Rectangle.$(O) Cairo__Rectangle.$(H): Cairo__Rectangle.st $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__RectangleInt.$(O) Cairo__RectangleInt.$(H): Cairo__RectangleInt.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cairo__RectangleList.$(O) Cairo__RectangleList.$(H): Cairo__RectangleList.st $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__Region.$(O) Cairo__Region.$(H): Cairo__Region.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cairo__RegionOverlap.$(O) Cairo__RegionOverlap.$(H): Cairo__RegionOverlap.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
-$(OUTDIR)Cairo__ScaledFont.$(O) Cairo__ScaledFont.$(H): Cairo__ScaledFont.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview/FontDescription.$(H) $(STCHDR)
$(OUTDIR)Cairo__Status.$(O) Cairo__Status.$(H): Cairo__Status.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__SubpixelOrder.$(O) Cairo__SubpixelOrder.$(H): Cairo__SubpixelOrder.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__SurfaceObserverMode.$(O) Cairo__SurfaceObserverMode.$(H): Cairo__SurfaceObserverMode.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
@@ -185,14 +180,21 @@
$(OUTDIR)Cairo__TextCluster.$(O) Cairo__TextCluster.$(H): Cairo__TextCluster.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cairo__TextClusterFlags.$(O) Cairo__TextClusterFlags.$(H): Cairo__TextClusterFlags.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__TextExampleView.$(O) Cairo__TextExampleView.$(H): Cairo__TextExampleView.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(STCHDR)
-$(OUTDIR)Cairo__TextExtents.$(O) Cairo__TextExtents.$(H): Cairo__TextExtents.st $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__UserDataKey.$(O) Cairo__UserDataKey.$(H): Cairo__UserDataKey.st $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)stx_goodies_libcairo.$(O) stx_goodies_libcairo.$(H): stx_goodies_libcairo.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)Cairo__FontExtents.$(O) Cairo__FontExtents.$(H): Cairo__FontExtents.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__CStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/ByteArray.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__FontFace.$(O) Cairo__FontFace.$(H): Cairo__FontFace.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__CObject.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Cairo__FontOptions.$(O) Cairo__FontOptions.$(H): Cairo__FontOptions.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__CObject.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Cairo__Glyph.$(O) Cairo__Glyph.$(H): Cairo__Glyph.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__CStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/ByteArray.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__GraphicsContext.$(O) Cairo__GraphicsContext.$(H): Cairo__GraphicsContext.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__CObject.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Cairo__Matrix.$(O) Cairo__Matrix.$(H): Cairo__Matrix.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__CStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/ByteArray.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__Pattern.$(O) Cairo__Pattern.$(H): Cairo__Pattern.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__CObject.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Cairo__Rectangle.$(O) Cairo__Rectangle.$(H): Cairo__Rectangle.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__CStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/ByteArray.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
+$(OUTDIR)Cairo__ScaledFont.$(O) Cairo__ScaledFont.$(H): Cairo__ScaledFont.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__CObject.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cairo__Surface.$(O) Cairo__Surface.$(H): Cairo__Surface.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__CObject.$(H) $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__Format.$(H) $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__SurfaceType.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)CairoGraphicsContext.$(O) CairoGraphicsContext.$(H): CairoGraphicsContext.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__FontSlant.$(H) $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__FontWeight.$(H) $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__Format.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(STCHDR)
+$(OUTDIR)Cairo__TextExtents.$(O) Cairo__TextExtents.$(H): Cairo__TextExtents.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__CStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/ByteArray.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
+$(OUTDIR)CairoGraphicsContext.$(O) CairoGraphicsContext.$(H): CairoGraphicsContext.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__FontSlant.$(H) $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__FontWeight.$(H) $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__Format.$(H) $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__Status.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(STCHDR)
+$(OUTDIR)CairoScaledFont.$(O) CairoScaledFont.$(H): CairoScaledFont.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__FontSlant.$(H) $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__FontWeight.$(H) $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__Format.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview/FontDescription.$(H) $(STCHDR)
$(OUTDIR)Cairo__SurfaceImage.$(O) Cairo__SurfaceImage.$(H): Cairo__SurfaceImage.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__CObject.$(H) $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__Surface.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cairo__SurfacePDF.$(O) Cairo__SurfacePDF.$(H): Cairo__SurfacePDF.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__CObject.$(H) $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__Surface.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cairo__SurfaceXlib.$(O) Cairo__SurfaceXlib.$(H): Cairo__SurfaceXlib.st $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__CObject.$(H) $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__Format.$(H) $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__Surface.$(H) $(INCLUDE_TOP)/stx/goodies/libcairo/Cairo__SurfaceType.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/Make.spec Tue Feb 16 07:46:52 2016 +0000
+++ b/Make.spec Wed Feb 17 06:43:31 2016 +0000
@@ -54,6 +54,7 @@
Cairo::Antialias \
Cairo::CObject \
Cairo::CPrimitives \
+ Cairo::CStructure \
Cairo::ClockView \
Cairo::Content \
Cairo::Device \
@@ -61,30 +62,24 @@
Cairo::Extend \
Cairo::FillRule \
Cairo::Filter \
- Cairo::FontExtents \
- Cairo::FontOptions \
Cairo::FontSlant \
Cairo::FontType \
Cairo::FontWeight \
Cairo::Format \
- Cairo::Glyph \
Cairo::HintMetrics \
Cairo::HintStyle \
Cairo::LineCap \
Cairo::LineJoin \
- Cairo::Matrix \
Cairo::Operator \
Cairo::Path \
Cairo::PathData \
Cairo::PathDataType \
Cairo::PatternType \
Cairo::PdfVersion \
- Cairo::Rectangle \
Cairo::RectangleInt \
Cairo::RectangleList \
Cairo::Region \
Cairo::RegionOverlap \
- Cairo::ScaledFont \
Cairo::Status \
Cairo::SubpixelOrder \
Cairo::SurfaceObserverMode \
@@ -92,14 +87,21 @@
Cairo::TextCluster \
Cairo::TextClusterFlags \
Cairo::TextExampleView \
- Cairo::TextExtents \
Cairo::UserDataKey \
stx_goodies_libcairo \
+ Cairo::FontExtents \
Cairo::FontFace \
+ Cairo::FontOptions \
+ Cairo::Glyph \
Cairo::GraphicsContext \
+ Cairo::Matrix \
Cairo::Pattern \
+ Cairo::Rectangle \
+ Cairo::ScaledFont \
Cairo::Surface \
+ Cairo::TextExtents \
CairoGraphicsContext \
+ CairoScaledFont \
Cairo::SurfaceImage \
Cairo::SurfacePDF \
Cairo::SurfaceXlib \
@@ -111,6 +113,7 @@
$(OUTDIR_SLASH)Cairo__Antialias.$(O) \
$(OUTDIR_SLASH)Cairo__CObject.$(O) \
$(OUTDIR_SLASH)Cairo__CPrimitives.$(O) \
+ $(OUTDIR_SLASH)Cairo__CStructure.$(O) \
$(OUTDIR_SLASH)Cairo__ClockView.$(O) \
$(OUTDIR_SLASH)Cairo__Content.$(O) \
$(OUTDIR_SLASH)Cairo__Device.$(O) \
@@ -118,30 +121,24 @@
$(OUTDIR_SLASH)Cairo__Extend.$(O) \
$(OUTDIR_SLASH)Cairo__FillRule.$(O) \
$(OUTDIR_SLASH)Cairo__Filter.$(O) \
- $(OUTDIR_SLASH)Cairo__FontExtents.$(O) \
- $(OUTDIR_SLASH)Cairo__FontOptions.$(O) \
$(OUTDIR_SLASH)Cairo__FontSlant.$(O) \
$(OUTDIR_SLASH)Cairo__FontType.$(O) \
$(OUTDIR_SLASH)Cairo__FontWeight.$(O) \
$(OUTDIR_SLASH)Cairo__Format.$(O) \
- $(OUTDIR_SLASH)Cairo__Glyph.$(O) \
$(OUTDIR_SLASH)Cairo__HintMetrics.$(O) \
$(OUTDIR_SLASH)Cairo__HintStyle.$(O) \
$(OUTDIR_SLASH)Cairo__LineCap.$(O) \
$(OUTDIR_SLASH)Cairo__LineJoin.$(O) \
- $(OUTDIR_SLASH)Cairo__Matrix.$(O) \
$(OUTDIR_SLASH)Cairo__Operator.$(O) \
$(OUTDIR_SLASH)Cairo__Path.$(O) \
$(OUTDIR_SLASH)Cairo__PathData.$(O) \
$(OUTDIR_SLASH)Cairo__PathDataType.$(O) \
$(OUTDIR_SLASH)Cairo__PatternType.$(O) \
$(OUTDIR_SLASH)Cairo__PdfVersion.$(O) \
- $(OUTDIR_SLASH)Cairo__Rectangle.$(O) \
$(OUTDIR_SLASH)Cairo__RectangleInt.$(O) \
$(OUTDIR_SLASH)Cairo__RectangleList.$(O) \
$(OUTDIR_SLASH)Cairo__Region.$(O) \
$(OUTDIR_SLASH)Cairo__RegionOverlap.$(O) \
- $(OUTDIR_SLASH)Cairo__ScaledFont.$(O) \
$(OUTDIR_SLASH)Cairo__Status.$(O) \
$(OUTDIR_SLASH)Cairo__SubpixelOrder.$(O) \
$(OUTDIR_SLASH)Cairo__SurfaceObserverMode.$(O) \
@@ -149,14 +146,21 @@
$(OUTDIR_SLASH)Cairo__TextCluster.$(O) \
$(OUTDIR_SLASH)Cairo__TextClusterFlags.$(O) \
$(OUTDIR_SLASH)Cairo__TextExampleView.$(O) \
- $(OUTDIR_SLASH)Cairo__TextExtents.$(O) \
$(OUTDIR_SLASH)Cairo__UserDataKey.$(O) \
$(OUTDIR_SLASH)stx_goodies_libcairo.$(O) \
+ $(OUTDIR_SLASH)Cairo__FontExtents.$(O) \
$(OUTDIR_SLASH)Cairo__FontFace.$(O) \
+ $(OUTDIR_SLASH)Cairo__FontOptions.$(O) \
+ $(OUTDIR_SLASH)Cairo__Glyph.$(O) \
$(OUTDIR_SLASH)Cairo__GraphicsContext.$(O) \
+ $(OUTDIR_SLASH)Cairo__Matrix.$(O) \
$(OUTDIR_SLASH)Cairo__Pattern.$(O) \
+ $(OUTDIR_SLASH)Cairo__Rectangle.$(O) \
+ $(OUTDIR_SLASH)Cairo__ScaledFont.$(O) \
$(OUTDIR_SLASH)Cairo__Surface.$(O) \
+ $(OUTDIR_SLASH)Cairo__TextExtents.$(O) \
$(OUTDIR_SLASH)CairoGraphicsContext.$(O) \
+ $(OUTDIR_SLASH)CairoScaledFont.$(O) \
$(OUTDIR_SLASH)Cairo__SurfaceImage.$(O) \
$(OUTDIR_SLASH)Cairo__SurfacePDF.$(O) \
$(OUTDIR_SLASH)Cairo__SurfaceXlib.$(O) \
--- a/abbrev.stc Tue Feb 16 07:46:52 2016 +0000
+++ b/abbrev.stc Wed Feb 17 06:43:31 2016 +0000
@@ -4,6 +4,7 @@
Cairo::Antialias Cairo__Antialias stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::CObject Cairo__CObject stx:goodies/libcairo 'Cairo-Objects' 0
Cairo::CPrimitives Cairo__CPrimitives stx:goodies/libcairo 'Cairo-Primitives' 0
+Cairo::CStructure Cairo__CStructure stx:goodies/libcairo 'Cairo-Objects' 1
Cairo::ClockView Cairo__ClockView stx:goodies/libcairo 'Cairo-Examples' 2
Cairo::Content Cairo__Content stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::Device Cairo__Device stx:goodies/libcairo 'Cairo-Constants' 0
@@ -11,30 +12,24 @@
Cairo::Extend Cairo__Extend stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::FillRule Cairo__FillRule stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::Filter Cairo__Filter stx:goodies/libcairo 'Cairo-Constants' 0
-Cairo::FontExtents Cairo__FontExtents stx:goodies/libcairo 'Cairo-Objects' 1
-Cairo::FontOptions Cairo__FontOptions stx:goodies/libcairo 'Cairo-Objects' 1
Cairo::FontSlant Cairo__FontSlant stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::FontType Cairo__FontType stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::FontWeight Cairo__FontWeight stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::Format Cairo__Format stx:goodies/libcairo 'Cairo-Constants' 0
-Cairo::Glyph Cairo__Glyph stx:goodies/libcairo 'Cairo-Objects' 1
Cairo::HintMetrics Cairo__HintMetrics stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::HintStyle Cairo__HintStyle stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::LineCap Cairo__LineCap stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::LineJoin Cairo__LineJoin stx:goodies/libcairo 'Cairo-Constants' 0
-Cairo::Matrix Cairo__Matrix stx:goodies/libcairo 'Cairo-Objects' 1
Cairo::Operator Cairo__Operator stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::Path Cairo__Path stx:goodies/libcairo 'Cairo-Objects' 1
Cairo::PathData Cairo__PathData stx:goodies/libcairo 'Cairo-Objects' 1
Cairo::PathDataType Cairo__PathDataType stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::PatternType Cairo__PatternType stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::PdfVersion Cairo__PdfVersion stx:goodies/libcairo 'Cairo-Constants' 0
-Cairo::Rectangle Cairo__Rectangle stx:goodies/libcairo 'Cairo-Objects' 1
Cairo::RectangleInt Cairo__RectangleInt stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::RectangleList Cairo__RectangleList stx:goodies/libcairo 'Cairo-Objects' 1
Cairo::Region Cairo__Region stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::RegionOverlap Cairo__RegionOverlap stx:goodies/libcairo 'Cairo-Constants' 0
-Cairo::ScaledFont Cairo__ScaledFont stx:goodies/libcairo 'Cairo-Objects' 0
Cairo::Status Cairo__Status stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::SubpixelOrder Cairo__SubpixelOrder stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::SurfaceObserverMode Cairo__SurfaceObserverMode stx:goodies/libcairo 'Cairo-Constants' 0
@@ -42,14 +37,21 @@
Cairo::TextCluster Cairo__TextCluster stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::TextClusterFlags Cairo__TextClusterFlags stx:goodies/libcairo 'Cairo-Constants' 0
Cairo::TextExampleView Cairo__TextExampleView stx:goodies/libcairo 'Cairo-Examples' 2
-Cairo::TextExtents Cairo__TextExtents stx:goodies/libcairo 'Cairo-Objects' 1
Cairo::UserDataKey Cairo__UserDataKey stx:goodies/libcairo 'Cairo-Objects' 1
stx_goodies_libcairo stx_goodies_libcairo stx:goodies/libcairo '* Projects & Packages *' 3
+Cairo::FontExtents Cairo__FontExtents stx:goodies/libcairo 'Cairo-Objects' 1
Cairo::FontFace Cairo__FontFace stx:goodies/libcairo 'Cairo-Objects' 0
+Cairo::FontOptions Cairo__FontOptions stx:goodies/libcairo 'Cairo-Objects' 0
+Cairo::Glyph Cairo__Glyph stx:goodies/libcairo 'Cairo-Objects' 1
Cairo::GraphicsContext Cairo__GraphicsContext stx:goodies/libcairo 'Cairo-Objects' 0
+Cairo::Matrix Cairo__Matrix stx:goodies/libcairo 'Cairo-Objects' 1
Cairo::Pattern Cairo__Pattern stx:goodies/libcairo 'Cairo-Objects' 0
+Cairo::Rectangle Cairo__Rectangle stx:goodies/libcairo 'Cairo-Objects' 1
+Cairo::ScaledFont Cairo__ScaledFont stx:goodies/libcairo 'Cairo-Objects' 0
Cairo::Surface Cairo__Surface stx:goodies/libcairo 'Cairo-Objects' 0
+Cairo::TextExtents Cairo__TextExtents stx:goodies/libcairo 'Cairo-Objects' 1
CairoGraphicsContext CairoGraphicsContext stx:goodies/libcairo 'Cairo-Compatibility' 0
+CairoScaledFont CairoScaledFont stx:goodies/libcairo 'Cairo-Compatibility' 0
Cairo::SurfaceImage Cairo__SurfaceImage stx:goodies/libcairo 'Cairo-Objects' 0
Cairo::SurfacePDF Cairo__SurfacePDF stx:goodies/libcairo 'Cairo-Objects' 0
Cairo::SurfaceXlib Cairo__SurfaceXlib stx:goodies/libcairo 'Cairo-Objects' 0
--- a/bc.mak Tue Feb 16 07:46:52 2016 +0000
+++ b/bc.mak Wed Feb 17 06:43:31 2016 +0000
@@ -72,6 +72,7 @@
$(OUTDIR)Cairo__Antialias.$(O) Cairo__Antialias.$(H): Cairo__Antialias.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__CObject.$(O) Cairo__CObject.$(H): Cairo__CObject.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cairo__CPrimitives.$(O) Cairo__CPrimitives.$(H): Cairo__CPrimitives.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Cairo__CStructure.$(O) Cairo__CStructure.$(H): Cairo__CStructure.st $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__ClockView.$(O) Cairo__ClockView.$(H): Cairo__ClockView.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(STCHDR)
$(OUTDIR)Cairo__Content.$(O) Cairo__Content.$(H): Cairo__Content.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__Device.$(O) Cairo__Device.$(H): Cairo__Device.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -79,30 +80,24 @@
$(OUTDIR)Cairo__Extend.$(O) Cairo__Extend.$(H): Cairo__Extend.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__FillRule.$(O) Cairo__FillRule.$(H): Cairo__FillRule.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__Filter.$(O) Cairo__Filter.$(H): Cairo__Filter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
-$(OUTDIR)Cairo__FontExtents.$(O) Cairo__FontExtents.$(H): Cairo__FontExtents.st $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
-$(OUTDIR)Cairo__FontOptions.$(O) Cairo__FontOptions.$(H): Cairo__FontOptions.st $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__FontSlant.$(O) Cairo__FontSlant.$(H): Cairo__FontSlant.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__FontType.$(O) Cairo__FontType.$(H): Cairo__FontType.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__FontWeight.$(O) Cairo__FontWeight.$(H): Cairo__FontWeight.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__Format.$(O) Cairo__Format.$(H): Cairo__Format.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
-$(OUTDIR)Cairo__Glyph.$(O) Cairo__Glyph.$(H): Cairo__Glyph.st $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__HintMetrics.$(O) Cairo__HintMetrics.$(H): Cairo__HintMetrics.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__HintStyle.$(O) Cairo__HintStyle.$(H): Cairo__HintStyle.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__LineCap.$(O) Cairo__LineCap.$(H): Cairo__LineCap.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__LineJoin.$(O) Cairo__LineJoin.$(H): Cairo__LineJoin.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
-$(OUTDIR)Cairo__Matrix.$(O) Cairo__Matrix.$(H): Cairo__Matrix.st $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__Operator.$(O) Cairo__Operator.$(H): Cairo__Operator.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__Path.$(O) Cairo__Path.$(H): Cairo__Path.st $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__PathData.$(O) Cairo__PathData.$(H): Cairo__PathData.st $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__PathDataType.$(O) Cairo__PathDataType.$(H): Cairo__PathDataType.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__PatternType.$(O) Cairo__PatternType.$(H): Cairo__PatternType.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__PdfVersion.$(O) Cairo__PdfVersion.$(H): Cairo__PdfVersion.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
-$(OUTDIR)Cairo__Rectangle.$(O) Cairo__Rectangle.$(H): Cairo__Rectangle.st $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__RectangleInt.$(O) Cairo__RectangleInt.$(H): Cairo__RectangleInt.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cairo__RectangleList.$(O) Cairo__RectangleList.$(H): Cairo__RectangleList.st $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__Region.$(O) Cairo__Region.$(H): Cairo__Region.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cairo__RegionOverlap.$(O) Cairo__RegionOverlap.$(H): Cairo__RegionOverlap.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
-$(OUTDIR)Cairo__ScaledFont.$(O) Cairo__ScaledFont.$(H): Cairo__ScaledFont.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview\FontDescription.$(H) $(STCHDR)
$(OUTDIR)Cairo__Status.$(O) Cairo__Status.$(H): Cairo__Status.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__SubpixelOrder.$(O) Cairo__SubpixelOrder.$(H): Cairo__SubpixelOrder.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__SurfaceObserverMode.$(O) Cairo__SurfaceObserverMode.$(H): Cairo__SurfaceObserverMode.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
@@ -110,14 +105,21 @@
$(OUTDIR)Cairo__TextCluster.$(O) Cairo__TextCluster.$(H): Cairo__TextCluster.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cairo__TextClusterFlags.$(O) Cairo__TextClusterFlags.$(H): Cairo__TextClusterFlags.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)Cairo__TextExampleView.$(O) Cairo__TextExampleView.$(H): Cairo__TextExampleView.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(STCHDR)
-$(OUTDIR)Cairo__TextExtents.$(O) Cairo__TextExtents.$(H): Cairo__TextExtents.st $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__UserDataKey.$(O) Cairo__UserDataKey.$(H): Cairo__UserDataKey.st $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)stx_goodies_libcairo.$(O) stx_goodies_libcairo.$(H): stx_goodies_libcairo.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)Cairo__FontExtents.$(O) Cairo__FontExtents.$(H): Cairo__FontExtents.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__CStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__FontFace.$(O) Cairo__FontFace.$(H): Cairo__FontFace.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__CObject.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Cairo__FontOptions.$(O) Cairo__FontOptions.$(H): Cairo__FontOptions.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__CObject.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Cairo__Glyph.$(O) Cairo__Glyph.$(H): Cairo__Glyph.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__CStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__GraphicsContext.$(O) Cairo__GraphicsContext.$(H): Cairo__GraphicsContext.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__CObject.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Cairo__Matrix.$(O) Cairo__Matrix.$(H): Cairo__Matrix.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__CStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
$(OUTDIR)Cairo__Pattern.$(O) Cairo__Pattern.$(H): Cairo__Pattern.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__CObject.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Cairo__Rectangle.$(O) Cairo__Rectangle.$(H): Cairo__Rectangle.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__CStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
+$(OUTDIR)Cairo__ScaledFont.$(O) Cairo__ScaledFont.$(H): Cairo__ScaledFont.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__CObject.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cairo__Surface.$(O) Cairo__Surface.$(H): Cairo__Surface.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__CObject.$(H) $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__Format.$(H) $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__SurfaceType.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)CairoGraphicsContext.$(O) CairoGraphicsContext.$(H): CairoGraphicsContext.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__FontSlant.$(H) $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__FontWeight.$(H) $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__Format.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(STCHDR)
+$(OUTDIR)Cairo__TextExtents.$(O) Cairo__TextExtents.$(H): Cairo__TextExtents.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__CStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
+$(OUTDIR)CairoGraphicsContext.$(O) CairoGraphicsContext.$(H): CairoGraphicsContext.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__FontSlant.$(H) $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__FontWeight.$(H) $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__Format.$(H) $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__Status.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(STCHDR)
+$(OUTDIR)CairoScaledFont.$(O) CairoScaledFont.$(H): CairoScaledFont.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__FontSlant.$(H) $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__FontWeight.$(H) $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__Format.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview\FontDescription.$(H) $(STCHDR)
$(OUTDIR)Cairo__SurfaceImage.$(O) Cairo__SurfaceImage.$(H): Cairo__SurfaceImage.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__CObject.$(H) $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__Surface.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cairo__SurfacePDF.$(O) Cairo__SurfacePDF.$(H): Cairo__SurfacePDF.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__CObject.$(H) $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__Surface.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cairo__SurfaceXlib.$(O) Cairo__SurfaceXlib.$(H): Cairo__SurfaceXlib.st $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__CObject.$(H) $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__Format.$(H) $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__Surface.$(H) $(INCLUDE_TOP)\stx\goodies\libcairo\Cairo__SurfaceType.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/libInit.cc Tue Feb 16 07:46:52 2016 +0000
+++ b/libInit.cc Wed Feb 17 06:43:31 2016 +0000
@@ -30,6 +30,7 @@
_Cairo__Antialias_Init(pass,__pRT__,snd);
_Cairo__CObject_Init(pass,__pRT__,snd);
_Cairo__CPrimitives_Init(pass,__pRT__,snd);
+_Cairo__CStructure_Init(pass,__pRT__,snd);
_Cairo__ClockView_Init(pass,__pRT__,snd);
_Cairo__Content_Init(pass,__pRT__,snd);
_Cairo__Device_Init(pass,__pRT__,snd);
@@ -37,30 +38,24 @@
_Cairo__Extend_Init(pass,__pRT__,snd);
_Cairo__FillRule_Init(pass,__pRT__,snd);
_Cairo__Filter_Init(pass,__pRT__,snd);
-_Cairo__FontExtents_Init(pass,__pRT__,snd);
-_Cairo__FontOptions_Init(pass,__pRT__,snd);
_Cairo__FontSlant_Init(pass,__pRT__,snd);
_Cairo__FontType_Init(pass,__pRT__,snd);
_Cairo__FontWeight_Init(pass,__pRT__,snd);
_Cairo__Format_Init(pass,__pRT__,snd);
-_Cairo__Glyph_Init(pass,__pRT__,snd);
_Cairo__HintMetrics_Init(pass,__pRT__,snd);
_Cairo__HintStyle_Init(pass,__pRT__,snd);
_Cairo__LineCap_Init(pass,__pRT__,snd);
_Cairo__LineJoin_Init(pass,__pRT__,snd);
-_Cairo__Matrix_Init(pass,__pRT__,snd);
_Cairo__Operator_Init(pass,__pRT__,snd);
_Cairo__Path_Init(pass,__pRT__,snd);
_Cairo__PathData_Init(pass,__pRT__,snd);
_Cairo__PathDataType_Init(pass,__pRT__,snd);
_Cairo__PatternType_Init(pass,__pRT__,snd);
_Cairo__PdfVersion_Init(pass,__pRT__,snd);
-_Cairo__Rectangle_Init(pass,__pRT__,snd);
_Cairo__RectangleInt_Init(pass,__pRT__,snd);
_Cairo__RectangleList_Init(pass,__pRT__,snd);
_Cairo__Region_Init(pass,__pRT__,snd);
_Cairo__RegionOverlap_Init(pass,__pRT__,snd);
-_Cairo__ScaledFont_Init(pass,__pRT__,snd);
_Cairo__Status_Init(pass,__pRT__,snd);
_Cairo__SubpixelOrder_Init(pass,__pRT__,snd);
_Cairo__SurfaceObserverMode_Init(pass,__pRT__,snd);
@@ -68,14 +63,21 @@
_Cairo__TextCluster_Init(pass,__pRT__,snd);
_Cairo__TextClusterFlags_Init(pass,__pRT__,snd);
_Cairo__TextExampleView_Init(pass,__pRT__,snd);
-_Cairo__TextExtents_Init(pass,__pRT__,snd);
_Cairo__UserDataKey_Init(pass,__pRT__,snd);
_stx_137goodies_137libcairo_Init(pass,__pRT__,snd);
+_Cairo__FontExtents_Init(pass,__pRT__,snd);
_Cairo__FontFace_Init(pass,__pRT__,snd);
+_Cairo__FontOptions_Init(pass,__pRT__,snd);
+_Cairo__Glyph_Init(pass,__pRT__,snd);
_Cairo__GraphicsContext_Init(pass,__pRT__,snd);
+_Cairo__Matrix_Init(pass,__pRT__,snd);
_Cairo__Pattern_Init(pass,__pRT__,snd);
+_Cairo__Rectangle_Init(pass,__pRT__,snd);
+_Cairo__ScaledFont_Init(pass,__pRT__,snd);
_Cairo__Surface_Init(pass,__pRT__,snd);
+_Cairo__TextExtents_Init(pass,__pRT__,snd);
_CairoGraphicsContext_Init(pass,__pRT__,snd);
+_CairoScaledFont_Init(pass,__pRT__,snd);
_Cairo__SurfaceImage_Init(pass,__pRT__,snd);
_Cairo__SurfacePDF_Init(pass,__pRT__,snd);
_Cairo__SurfaceXlib_Init(pass,__pRT__,snd);
--- a/stx_goodies_libcairo.st Tue Feb 16 07:46:52 2016 +0000
+++ b/stx_goodies_libcairo.st Wed Feb 17 06:43:31 2016 +0000
@@ -30,7 +30,7 @@
by searching along the inheritance chain of all of my classes."
^ #(
- #'stx:libbasic' "ArrayedCollection - superclass of Cairo::FontExtents"
+ #'stx:libbasic' "ArrayedCollection - superclass of Cairo::CStructure"
#'stx:libview' "DeviceGraphicsContext - extended"
)
!
@@ -120,6 +120,7 @@
#'Cairo::Antialias'
#'Cairo::CObject'
#'Cairo::CPrimitives'
+ #'Cairo::CStructure'
#'Cairo::ClockView'
#'Cairo::Content'
#'Cairo::Device'
@@ -127,30 +128,24 @@
#'Cairo::Extend'
#'Cairo::FillRule'
#'Cairo::Filter'
- #'Cairo::FontExtents'
- #'Cairo::FontOptions'
#'Cairo::FontSlant'
#'Cairo::FontType'
#'Cairo::FontWeight'
#'Cairo::Format'
- #'Cairo::Glyph'
#'Cairo::HintMetrics'
#'Cairo::HintStyle'
#'Cairo::LineCap'
#'Cairo::LineJoin'
- #'Cairo::Matrix'
#'Cairo::Operator'
#'Cairo::Path'
#'Cairo::PathData'
#'Cairo::PathDataType'
#'Cairo::PatternType'
#'Cairo::PdfVersion'
- #'Cairo::Rectangle'
#'Cairo::RectangleInt'
#'Cairo::RectangleList'
#'Cairo::Region'
#'Cairo::RegionOverlap'
- #'Cairo::ScaledFont'
#'Cairo::Status'
#'Cairo::SubpixelOrder'
#'Cairo::SurfaceObserverMode'
@@ -158,14 +153,21 @@
#'Cairo::TextCluster'
#'Cairo::TextClusterFlags'
#'Cairo::TextExampleView'
- #'Cairo::TextExtents'
#'Cairo::UserDataKey'
#'stx_goodies_libcairo'
+ #'Cairo::FontExtents'
#'Cairo::FontFace'
+ #'Cairo::FontOptions'
+ #'Cairo::Glyph'
#'Cairo::GraphicsContext'
+ #'Cairo::Matrix'
#'Cairo::Pattern'
+ #'Cairo::Rectangle'
+ #'Cairo::ScaledFont'
#'Cairo::Surface'
+ #'Cairo::TextExtents'
CairoGraphicsContext
+ CairoScaledFont
#'Cairo::SurfaceImage'
#'Cairo::SurfacePDF'
#'Cairo::SurfaceXlib'