- Cairo::GraphicsContext
added:13 methods
changed: #moveToX:y:
category of:9 methods
- Cairo::ClockView
class definition
added:8 methods
changed: #redraw
- extensions
...
"{ Package: 'stx:goodies/libcairo' }"
"{ NameSpace: Cairo }"
RefCountedStructure subclass:#GraphicsContext
instanceVariableNames:'surface gcId'
classVariableNames:''
poolDictionaries:''
category:'Cairo-Objects'
!
!GraphicsContext class methodsFor:'instance creation'!
on: surface
| cr |
self
assert: (surface isKindOf: Cairo::Surface)
message: 'surface is not valid Cairo surface'.
cr := self primCreate: surface.
cr setSurface: surface.
^cr
"Created: / 10-07-2008 / 09:37:57 / Jan Vrany <vranyj1@fel.cvut.cz>"
"Modified: / 10-09-2008 / 19:03:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
"Modified: / 16-06-2012 / 08:36:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GraphicsContext 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'
"Modified: / 10-09-2008 / 18:19:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
structSize
^0
"Modified: / 10-09-2008 / 18:19:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!GraphicsContext class methodsFor:'examples'!
rectangleOnTranscript
"
Cairo::GraphicsContext rectangleOnTranscript
"
| gc |
gc := Transcript cairo.
gc paint: Color black.
gc moveToX: 30 y: 50.
gc paint: (Color red alpha: 0.5).
gc rectangleX: 10 y: 15 width: 150 height: 60.
gc fill.
gc paint: (Color red alpha: 0.75).
gc rectangleX: 10 y: 15 width: 150 height: 60.
gc stroke.
"Created: / 23-04-2009 / 17:33:57 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!GraphicsContext class methodsFor:'primitives'!
primAppendPath: cr path: path
<cdecl: void "cairo_append_path" ( Cairo::GraphicsContext Cairo::Path ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primArc: cr xc: xc yc: yc radius: radius angle1: angle1 angle2: angle2
<cdecl: void "cairo_arc" ( Cairo::GraphicsContext double double double double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primArcNegative: cr xc: xc yc: yc radius: radius angle1: angle1 angle2: angle2
<cdecl: void "cairo_arc_negative" ( Cairo::GraphicsContext double double double double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primClip: cr
<cdecl: void "cairo_clip" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primClipExtents: cr x1: x1 y1: y1 x2: x2 y2: y2
<cdecl: void "cairo_clip_extents" ( Cairo::GraphicsContext pointer pointer pointer pointer ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primClipPreserve: cr
<cdecl: void "cairo_clip_preserve" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primClosePath: cr
<cdecl: void "cairo_close_path" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primCopyClipRectangleList: cr
<cdecl: Cairo::RectangleList "cairo_copy_clip_rectangle_list" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primCopyPage: cr
<cdecl: void "cairo_copy_page" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primCopyPath: cr
<cdecl: Cairo::Path "cairo_copy_path" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primCopyPathFlat: cr
<cdecl: Cairo::Path "cairo_copy_path_flat" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primCreate: target
<cdecl: Cairo::GraphicsContext "cairo_create" ( Cairo::Surface ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primCurveTo: cr x1: x1 y1: y1 x2: x2 y2: y2 x3: x3 y3: y3
<cdecl: void "cairo_curve_to" ( Cairo::GraphicsContext double double double double double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primDestroy: cr
<cdecl: void "cairo_destroy" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primDeviceToUser: cr x: x y: y
<cdecl: void "cairo_device_to_user" ( Cairo::GraphicsContext pointer pointer ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primDeviceToUserDistance: cr dx: dx dy: dy
<cdecl: void "cairo_device_to_user_distance" ( Cairo::GraphicsContext pointer pointer ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primFill: cr
<cdecl: void "cairo_fill" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primFillExtents: cr x1: x1 y1: y1 x2: x2 y2: y2
<cdecl: void "cairo_fill_extents" ( Cairo::GraphicsContext pointer pointer pointer pointer ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primFillPreserve: cr
<cdecl: void "cairo_fill_preserve" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primFontExtents: cr extents: extents
<cdecl: void "cairo_font_extents" ( Cairo::GraphicsContext Cairo::FontExtents ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetAntialias: cr
<cdecl: int32 "cairo_get_antialias" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetCurrentPoint: cr x: x y: y
<cdecl: void "cairo_get_current_point" ( Cairo::GraphicsContext pointer pointer ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetDash: cr dashes: dashes offset: offset
<cdecl: void "cairo_get_dash" ( Cairo::GraphicsContext pointer pointer ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetDashCount: cr
<cdecl: int32 "cairo_get_dash_count" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetFillRule: cr
<cdecl: int32 "cairo_get_fill_rule" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetFontFace: cr
<cdecl: Cairo::FontFace "cairo_get_font_face" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetFontMatrix: cr matrix: matrix
<cdecl: void "cairo_get_font_matrix" ( Cairo::GraphicsContext Cairo::Matrix ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetFontOptions: cr options: options
<cdecl: void "cairo_get_font_options" ( Cairo::GraphicsContext Cairo::FontOptions ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetGroupTarget: cr
<cdecl: Cairo::Surface "cairo_get_group_target" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetLineCap: cr
<cdecl: int32 "cairo_get_line_cap" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetLineJoin: cr
<cdecl: int32 "cairo_get_line_join" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetLineWidth: cr
<cdecl: double "cairo_get_line_width" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetMatrix: cr matrix: matrix
<cdecl: void "cairo_get_matrix" ( Cairo::GraphicsContext Cairo::Matrix ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetMiterLimit: cr
<cdecl: double "cairo_get_miter_limit" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetOperator: cr
<cdecl: int32 "cairo_get_operator" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetReferenceCount: cr
<cdecl: uint32 "cairo_get_reference_count" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetScaledFont: cr
<cdecl: Cairo::ScaledFont "cairo_get_scaled_font" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetSource: cr
<cdecl: Cairo::Pattern "cairo_get_source" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetTarget: cr
<cdecl: Cairo::Surface "cairo_get_target" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetTolerance: cr
<cdecl: double "cairo_get_tolerance" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGetUserData: cr key: key
<cdecl: pointer "cairo_get_user_data" ( Cairo::GraphicsContext Cairo::UserDataKey ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGlyphExtents: cr glyphs: glyphs numGlyphs: num_glyphs extents: extents
<cdecl: void "cairo_glyph_extents" ( Cairo::GraphicsContext Cairo::Glyph int32 Cairo::TextExtents ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primGlyphPath: cr glyphs: glyphs numGlyphs: num_glyphs
<cdecl: void "cairo_glyph_path" ( Cairo::GraphicsContext Cairo::Glyph int32 ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primHasCurrentPoint: cr
<cdecl: int32 "cairo_has_current_point" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primIdentityMatrix: cr
<cdecl: void "cairo_identity_matrix" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primInFill: cr x: x y: y
<cdecl: int32 "cairo_in_fill" ( Cairo::GraphicsContext double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primInStroke: cr x: x y: y
<cdecl: int32 "cairo_in_stroke" ( Cairo::GraphicsContext double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primLineTo: cr x: x y: y
<cdecl: void "cairo_line_to" ( Cairo::GraphicsContext double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primMask: cr pattern: pattern
<cdecl: void "cairo_mask" ( Cairo::GraphicsContext Cairo::Pattern ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primMaskSurface: cr surface: surface surfaceX: surface_x surfaceY: surface_y
<cdecl: void "cairo_mask_surface" ( Cairo::GraphicsContext Cairo::Surface double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primMoveTo: cr x: x y: y
<cdecl: void "cairo_move_to" ( Cairo::GraphicsContext double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primNewPath: cr
<cdecl: void "cairo_new_path" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primNewSubPath: cr
<cdecl: void "cairo_new_sub_path" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primPaint: cr
<cdecl: void "cairo_paint" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primPaintWithAlpha: cr alpha: alpha
<cdecl: void "cairo_paint_with_alpha" ( Cairo::GraphicsContext double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primPathExtents: cr x1: x1 y1: y1 x2: x2 y2: y2
<cdecl: void "cairo_path_extents" ( Cairo::GraphicsContext pointer pointer pointer pointer ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primPopGroup: cr
<cdecl: Cairo::Pattern "cairo_pop_group" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primPopGroupToSource: cr
<cdecl: void "cairo_pop_group_to_source" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primPushGroup: cr
<cdecl: void "cairo_push_group" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primPushGroupWithContent: cr content: content
<cdecl: void "cairo_push_group_with_content" ( Cairo::GraphicsContext int32 ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primRectangle: cr x: x y: y width: width height: height
<cdecl: void "cairo_rectangle" ( Cairo::GraphicsContext double double double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primReference: cr
<cdecl: Cairo::GraphicsContext "cairo_reference" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primRelCurveTo: cr dx1: dx1 dy1: dy1 dx2: dx2 dy2: dy2 dx3: dx3 dy3: dy3
<cdecl: void "cairo_rel_curve_to" ( Cairo::GraphicsContext double double double double double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primRelLineTo: cr dx: dx dy: dy
<cdecl: void "cairo_rel_line_to" ( Cairo::GraphicsContext double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primRelMoveTo: cr dx: dx dy: dy
<cdecl: void "cairo_rel_move_to" ( Cairo::GraphicsContext double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primResetClip: cr
<cdecl: void "cairo_reset_clip" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primRestore: cr
<cdecl: void "cairo_restore" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primRotate: cr angle: angle
<cdecl: void "cairo_rotate" ( Cairo::GraphicsContext double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSave: cr
<cdecl: void "cairo_save" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primScale: cr sx: sx sy: sy
<cdecl: void "cairo_scale" ( Cairo::GraphicsContext double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSelectFontFace: cr family: family slant: slant weight: weight
<cdecl: void "cairo_select_font_face" ( Cairo::GraphicsContext charPointer int32 int32 ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetAntialias: cr antialias: antialias
<cdecl: void "cairo_set_antialias" ( Cairo::GraphicsContext int32 ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetDash: cr dashes: dashes numDashes: num_dashes offset: offset
<cdecl: void "cairo_set_dash" ( Cairo::GraphicsContext pointer int32 double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetFillRule: cr fillRule: fill_rule
<cdecl: void "cairo_set_fill_rule" ( Cairo::GraphicsContext int32 ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetFontFace: cr fontFace: font_face
<cdecl: void "cairo_set_font_face" ( Cairo::GraphicsContext Cairo::FontFace ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetFontMatrix: cr matrix: matrix
<cdecl: void "cairo_set_font_matrix" ( Cairo::GraphicsContext Cairo::Matrix ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetFontOptions: cr options: options
<cdecl: void "cairo_set_font_options" ( Cairo::GraphicsContext Cairo::FontOptions ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetFontSize: cr size: size
<cdecl: void "cairo_set_font_size" ( Cairo::GraphicsContext double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetLineCap: cr lineCap: line_cap
<cdecl: void "cairo_set_line_cap" ( Cairo::GraphicsContext int32 ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetLineJoin: cr lineJoin: line_join
<cdecl: void "cairo_set_line_join" ( Cairo::GraphicsContext int32 ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetLineWidth: cr width: width
<cdecl: void "cairo_set_line_width" ( Cairo::GraphicsContext double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetMatrix: cr matrix: matrix
<cdecl: void "cairo_set_matrix" ( Cairo::GraphicsContext Cairo::Matrix ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetMiterLimit: cr limit: limit
<cdecl: void "cairo_set_miter_limit" ( Cairo::GraphicsContext double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetOperator: cr op: op
<cdecl: void "cairo_set_operator" ( Cairo::GraphicsContext int32 ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetScaledFont: cr scaledFont: scaled_font
<cdecl: void "cairo_set_scaled_font" ( Cairo::GraphicsContext Cairo::ScaledFont ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetSource: cr source: source
<cdecl: void "cairo_set_source" ( Cairo::GraphicsContext Cairo::Pattern ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetSourceRgb: cr red: red green: green blue: blue
<cdecl: void "cairo_set_source_rgb" ( Cairo::GraphicsContext double double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetSourceRgba: cr red: red green: green blue: blue alpha: alpha
<cdecl: void "cairo_set_source_rgba" ( Cairo::GraphicsContext double double double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetSourceSurface: cr surface: surface x: x y: y
<cdecl: void "cairo_set_source_surface" ( Cairo::GraphicsContext Cairo::Surface double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetTolerance: cr tolerance: tolerance
<cdecl: void "cairo_set_tolerance" ( Cairo::GraphicsContext double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primSetUserData: cr key: key userData: user_data destroy: destroy
<cdecl: int32 "cairo_set_user_data" ( Cairo::GraphicsContext Cairo::UserDataKey pointer pointer ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primShowGlyphs: cr glyphs: glyphs numGlyphs: num_glyphs
<cdecl: void "cairo_show_glyphs" ( Cairo::GraphicsContext Cairo::Glyph int32 ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primShowPage: cr
<cdecl: void "cairo_show_page" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primShowText: cr utf8: utf8
<cdecl: void "cairo_show_text" ( Cairo::GraphicsContext charPointer ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primStatus: cr
<cdecl: int32 "cairo_status" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primStroke: cr
<cdecl: void "cairo_stroke" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primStrokeExtents: cr x1: x1 y1: y1 x2: x2 y2: y2
<cdecl: void "cairo_stroke_extents" ( Cairo::GraphicsContext pointer pointer pointer pointer ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primStrokePreserve: cr
<cdecl: void "cairo_stroke_preserve" ( Cairo::GraphicsContext ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primTextExtents: cr utf8: utf8 extents: extents
<cdecl: void "cairo_text_extents" ( Cairo::GraphicsContext charPointer Cairo::TextExtents ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primTextPath: cr utf8: utf8
<cdecl: void "cairo_text_path" ( Cairo::GraphicsContext charPointer ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primTransform: cr matrix: matrix
<cdecl: void "cairo_transform" ( Cairo::GraphicsContext Cairo::Matrix ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primTranslate: cr tx: tx ty: ty
<cdecl: void "cairo_translate" ( Cairo::GraphicsContext double double ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primUserToDevice: cr x: x y: y
<cdecl: void "cairo_user_to_device" ( Cairo::GraphicsContext pointer pointer ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
primUserToDeviceDistance: cr dx: dx dy: dy
<cdecl: void "cairo_user_to_device_distance" ( Cairo::GraphicsContext pointer pointer ) >
self primitiveFailed
"Modified: / 10-09-2008 / 18:19:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!GraphicsContext methodsFor:'accessing'!
gcId
gcId ifNil:[gcId := self surface gcId].
^gcId
"Created: / 10-09-2008 / 20:52:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
paint: aColor
^self
paintRed: (aColor red / 100) asDouble
green: (aColor green / 100) asDouble
blue: (aColor blue / 100) asDouble
alpha: aColor alpha asDouble
"Created: / 10-07-2008 / 11:18:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
"Modified: / 23-04-2009 / 17:31:33 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
surface
surface ifNil:[surface := self class primGetTarget: self].
^surface
"Created: / 10-07-2008 / 10:33:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
"Modified: / 10-09-2008 / 20:53:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!GraphicsContext methodsFor:'accessing-path properties'!
lineCap: lc
^self class primSetLineCap: self lineCap: lc
"Created: / 17-06-2012 / 22:09:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
lineWidth: w
^self class primSetLineWidth: self width: w
"Created: / 17-06-2012 / 21:55:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GraphicsContext methodsFor:'font'!
fontFaceFamily: family slant: slant weight: weight
^self class primSelectFontFace: self
family: family asString
slant: slant asInteger
weight: weight asInteger
"Created: / 23-04-2009 / 17:23:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
fontSize: sz
^self class primSetFontSize: self size: sz
"Created: / 23-04-2009 / 17:24:33 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!GraphicsContext methodsFor:'paints'!
paintRed: red green: green blue: blue alpha: alpha
^self class
primSetSourceRgba: self red: red green: green blue: blue alpha: alpha
"Created: / 10-07-2008 / 11:10:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!GraphicsContext methodsFor:'paths'!
arcX: x y: y radius: r from: startAngle to: stopAngle
^self class primArc: self xc: x asDouble yc: y asDouble radius: r asDouble angle1: startAngle asDouble angle2: stopAngle asDouble
"Created: / 17-06-2012 / 21:50:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
lineToX: x y: y
^self class primLineTo: self x: x asDouble y: y asDouble
"Created: / 17-06-2012 / 22:15:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
moveToX: x y: y
^self class primMoveTo: self x: x asDouble y: y asDouble
"Created: / 23-04-2009 / 17:21:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
"Modified: / 17-06-2012 / 22:33:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
rectangleX: x y: y width: width height: height
^self class
primRectangle: self
x: x asDouble
y: y asDouble
width: width asDouble
height: height asDouble
"Created: / 10-07-2008 / 09:41:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!GraphicsContext methodsFor:'private accessing'!
setSurface: aSurface
surface := aSurface
"Created: / 10-09-2008 / 19:02:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!GraphicsContext methodsFor:'state'!
restore
^self class primRestore: self
"Created: / 17-06-2012 / 21:51:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
save
^self class primSave: self
"Created: / 17-06-2012 / 21:51:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GraphicsContext methodsFor:'stroke & fill'!
fill
^self class primFill: self
"Created: / 10-07-2008 / 09:42:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
fillAndPreserve
^self class primFillPreserve: self
"Created: / 17-06-2012 / 21:52:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
paint
"Fills whole surface"
^self class primPaint: self.
"Created: / 17-06-2012 / 21:40:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
showPage
"Makes sense only for PDF surfaces"
^self class primShowPage: self.
"Created: / 17-06-2012 / 08:44:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
stroke
^self class primStroke: self
"Created: / 10-07-2008 / 09:42:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
strokeAndPreserve
^self class primStrokePreserve: self
"Created: / 17-06-2012 / 21:52:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GraphicsContext methodsFor:'text'!
showText: aString
^self class primShowText: self utf8: aString utf8Encoded
"Created: / 23-04-2009 / 17:25:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!GraphicsContext methodsFor:'transformations & clipping'!
clip
^self class primClip: self.
"Created: / 17-06-2012 / 21:56:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
scale: point
^self class primScale: self sx: point x sy: point y
"Created: / 17-06-2012 / 21:45:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
translate: point
^self class primTranslate: self tx: point x ty: point y
"Created: / 17-06-2012 / 21:45:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GraphicsContext class methodsFor:'documentation'!
version
^'$Id$'
!
version_SVN
^ '$Id:: $'
! !