- Cairo::GraphicsContext
authorJan Vrany <jan.vrany@fit.cvut.cz>
Sat, 16 Jun 2012 06:58:18 +0000
changeset 13 71529a6f007d
parent 12 e5f0c18af8a9
child 14 142818deac55
- Cairo::GraphicsContext variable renamed in: #on: - stx_goodies_libcairo changed: #classNamesAndAttributes #extensionMethodNames #preRequisites - extensions ...
Cairo__GraphicsContext.st
extensions.st
stx_goodies_libcairo.st
--- a/Cairo__GraphicsContext.st	Thu Jun 14 09:18:25 2012 +0000
+++ b/Cairo__GraphicsContext.st	Sat Jun 16 06:58:18 2012 +0000
@@ -17,7 +17,7 @@
     | cr |
 
     self 
-        assert: (surface isKindOf: Surface)
+        assert: (surface isKindOf: Cairo::Surface)
         message: 'surface is not valid Cairo surface'.
 
     cr := self primCreate: surface.
@@ -26,6 +26,7 @@
 
     "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'!
--- a/extensions.st	Thu Jun 14 09:18:25 2012 +0000
+++ b/extensions.st	Sat Jun 16 06:58:18 2012 +0000
@@ -4,11 +4,11 @@
 
 libraryName
 
-        OperatingSystem isUNIXlike ifTrue:[^'libcairo.so.2'].
+	OperatingSystem isUNIXlike ifTrue:[^'libcairo.so.2'].
 
-        OperatingSystem isMSWINDOWSlike ifTrue:[^'cairo.dll'].
+	OperatingSystem isMSWINDOWSlike ifTrue:[^'cairo.dll'].
 
-        self error:'Library name for host OS is not known'
+	self error:'Library name for host OS is not known'
 
     "Created: / 10-09-2008 / 19:29:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
@@ -25,7 +25,7 @@
 
 !Cairo class methodsFor:'primitives'!
 
-primFormatStrideForWidth: format width: width 
+primFormatStrideForWidth: format width: width
 
 	<cdecl: int32 "cairo_format_stride_for_width" ( int32 int32 ) >
 	self primitiveFailed
@@ -35,7 +35,7 @@
 
 !Cairo class methodsFor:'primitives'!
 
-primStatusToString: status 
+primStatusToString: status
 
 	<cdecl: charPointer "cairo_status_to_string" ( int32 ) >
 	self primitiveFailed
@@ -138,12 +138,12 @@
 cairoSurfaceFor: view
 
     | surface |
-    surface := Cairo::Surface 
-                forXlib: displayId
-                drawable: view drawableId address 
-                visual: self visualStructure 
-                width: view width 
-                height: view height.
+    surface := Cairo::Surface
+		forXlib: displayId
+		drawable: view drawableId address
+		visual: self defaultVisual
+		width: view width
+		height: view height.
     "/view addDependent: surface.
     ^surface
 
@@ -151,26 +151,6 @@
     "Modified: / 09-09-2008 / 22:57:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
-!XWorkstation methodsFor:'cairo support'!
-
-visualStructure
-
-    | screenNumber |
-    screenNumber := screen.
-
-    %{
-        return __MKEXTERNALADDRESS( DefaultVisual( myDpy , __intVal ( screenNumber ) ) );
-    %}.
-    ^self primitiveFailed
-
-    "
-        Screen current visualStructure    
-    "
-
-    "Created: / 10-07-2008 / 11:03:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 10-07-2008 / 19:49:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
-! !
-
 !stx_goodies_libcairo class methodsFor:'documentation'!
 
 extensionsVersion_SVN
--- a/stx_goodies_libcairo.st	Thu Jun 14 09:18:25 2012 +0000
+++ b/stx_goodies_libcairo.st	Sat Jun 16 06:58:18 2012 +0000
@@ -41,15 +41,27 @@
 !
 
 preRequisites
+    "list all required packages.
+     This list can be maintained manually or (better) generated and
+     updated by scanning the superclass hierarchies and looking for
+     global variable accesses. (the browser has a menu function for that)
+     Howevery, often too much is found, and you may want to explicitely
+     exclude individual packages in the #excludedFromPrerequisites method."
+
     ^ #(
-        #'stx:libbasic'    "ArrayedCollection - superclass of Cairo::PathData "
-        #'stx:libview'    "XWorkstation - superclass of Cairo::GLXWorkstation "
+        #'stx:libbasic'    "Collection - superclass of Cairo::Matrix "
+        #'stx:libview'    "DeviceGraphicsContext - superclass of extended SimpleView "
     )
 ! !
 
 !stx_goodies_libcairo class methodsFor:'description - contents'!
 
 classNamesAndAttributes
+    "lists the classes which are to be included in the project.
+     Each entry in the list may be: a single class-name (symbol),
+     or an array-literal consisting of class name and attributes.
+     Attributes are: #autoload or #<os> where os is one of win32, unix,..."
+
     ^ #(
         "<className> or (<className> attributes...) in load order"
         #'Cairo::Antialias'
@@ -94,6 +106,9 @@
 !
 
 extensionMethodNames
+    "lists the extension methods which are to be included in the project.
+     Entries are 2-element array literals, consisting of class-name and selector."
+
     ^ #(
         DeviceGraphicsContext drawableId
         GraphicsDevice cairoSurfaceFor:
@@ -101,7 +116,6 @@
         SimpleView cairo
         SimpleView cairoSurface
         XWorkstation cairoSurfaceFor:
-        XWorkstation visualStructure
         'Cairo class' libraryName
         'Cairo class' primDebugResetStaticData
         'Cairo class' primFormatStrideForWidth:width: