-
-
Notifications
You must be signed in to change notification settings - Fork 353
/
AthensCairoPDFSurface.class.st
47 lines (36 loc) · 1.35 KB
/
AthensCairoPDFSurface.class.st
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
"
i am a concrete implementation of Athens surface which using cairo graphics library for rendering for generating PDF files
as output.
<currently it is not functional and need more testing and coding>
"
Class {
#name : #AthensCairoPDFSurface,
#superclass : #AthensCairoSurface,
#category : #'Athens-Cairo-Surface'
}
{ #category : #private }
AthensCairoPDFSurface class >> createPDF: fileName width: width_in_points height: height_in_points [
^ self ffiCall: #(AthensCairoPDFSurface cairo_pdf_surface_create (String fileName,
double width_in_points,
double height_in_points) )
]
{ #category : #'instance creation' }
AthensCairoPDFSurface class >> extent: anExtent fileName: fileName [
^ (self createPDF: fileName width: anExtent x height: anExtent y) initialize
]
{ #category : #'finalize resources' }
AthensCairoPDFSurface class >> finalizeResourceData: handle [
self destroySurfaceHandle: handle.
]
{ #category : #private }
AthensCairoPDFSurface class >> registerSurface: surface [
"do not register my instances with SurfacePlugin"
]
{ #category : #'initialize-release' }
AthensCairoPDFSurface >> resourceData [
^ handle value
]
{ #category : #private }
AthensCairoPDFSurface >> showPage [
^ self ffiCall: #( void cairo_surface_show_page (self) )
]