extensions.st
changeset 5 65635e9ef3e8
parent 4 0bf0d8b6f4c5
child 6 c1f387b40e3a
equal deleted inserted replaced
4:0bf0d8b6f4c5 5:65635e9ef3e8
    58 ! !
    58 ! !
    59 !XWorkstation methodsFor:'cairo support'!
    59 !XWorkstation methodsFor:'cairo support'!
    60 
    60 
    61 cairoSurfaceFor: view
    61 cairoSurfaceFor: view
    62 
    62 
    63     | surface |
    63     | visual surface |
       
    64     visual := self defaultVisual.
    64     surface := Cairo::Surface 
    65     surface := Cairo::Surface 
    65                 forXlib: displayId
    66                 forXlib: displayId
    66                 drawable: view drawableId address 
    67                 drawable: view drawableId address 
    67                 visual: self visualStructure 
    68                 visual: visual
    68                 width: view width 
    69                 width: view width 
    69                 height: view height.
    70                 height: view height.
    70     view addDependent: surface.
    71     view addDependent: surface.
    71     ^surface
    72     ^surface
    72 
    73 
    73     "Created: / 10-07-2008 / 10:16:36 / Jan Vrany <vranyj1@fel.cvut.cz>"
    74     "Created: / 10-07-2008 / 10:16:36 / Jan Vrany <vranyj1@fel.cvut.cz>"
    74     "Modified: / 10-07-2008 / 19:32:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
    75     "Modified: / 10-07-2008 / 23:25:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
    75 ! !
    76 ! !
    76 !XWorkstation methodsFor:'cairo support'!
    77 !XWorkstation methodsFor:'cairo support'!
    77 
    78 
    78 primScreenStructure
    79 defaultVisual
    79 
    80 
    80     | screenNumber |
    81     | screenNumber visual |
    81     screenNumber := screen.
    82     screenNumber := screen.
    82 
    83 
    83     %{
    84     %{
    84         return __MKEXTERNALADDRESS( ScreenOfDisplay( myDpy , __intVal ( screenNumber ) ) );
    85         visual = __MKEXTERNALADDRESS( DefaultVisual( myDpy , __intVal ( screenNumber ) ) );
    85     %}.
    86     %}.
    86     ^nil
    87     ^visual
    87 
       
    88     "
       
    89         Screen current screenStructure  
       
    90     "
       
    91 
       
    92     "Created: / 10-07-2008 / 10:04:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
    93 ! !
       
    94 !XWorkstation methodsFor:'cairo support'!
       
    95 
       
    96 screenStructure
       
    97 
       
    98     | screenNumber |
       
    99     screenNumber := screen.
       
   100 
       
   101     %{
       
   102         return __MKEXTERNALADDRESS( ScreenOfDisplay( myDpy , __intVal ( screenNumber ) ) );
       
   103     %}.
       
   104     ^nil
       
   105 
       
   106     "
       
   107         Screen current screenStructure  
       
   108     "
       
   109 
       
   110     "Created: / 10-07-2008 / 10:04:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   111 ! !
       
   112 !XWorkstation methodsFor:'cairo support'!
       
   113 
       
   114 visualStructure
       
   115 
       
   116     | screenNumber |
       
   117     screenNumber := screen.
       
   118 
       
   119     %{
       
   120         return __MKEXTERNALADDRESS( DefaultVisual( myDpy , __intVal ( screenNumber ) ) );
       
   121     %}.
       
   122     ^self primitiveFailed
       
   123 
    88 
   124     "
    89     "
   125         Screen current visualStructure    
    90         Screen current visualStructure    
   126     "
    91     "
   127 
    92 
   128     "Created: / 10-07-2008 / 11:03:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
    93     "Created: / 10-07-2008 / 23:24:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
   129     "Modified: / 10-07-2008 / 19:49:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
       
   130 ! !
    94 ! !