Cairo__Surface.st
changeset 47 061f23d91383
parent 45 8ee53c41a084
child 51 5293f2b851ab
--- a/Cairo__Surface.st	Wed Feb 24 09:13:04 2016 +0000
+++ b/Cairo__Surface.st	Wed Feb 24 18:21:58 2016 +0000
@@ -193,6 +193,30 @@
 
     "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>"
+!
+
+markDirty
+    "Tells cairo that drawing has been done to surface using means other than cairo, 
+      and that cairo should reread any cached areas. Note that you must call 
+      Cairo::Surface>>#flush before doing such drawing."
+
+    CPrimitives cairo_surface_mark_dirty: self.
+    self statusCheck.
+
+    "Created: / 24-02-2016 / 17:12:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+markDirtyX: x y: y width: w height: h
+    "Like $markDirty, but drawing has been done only to the specified rectangle, 
+     so that cairo can retain cached contents for other parts of the surface.
+
+     Any cached clip set on the surface will be reset by this function, to 
+     make sure that future cairo calls have the clip set that they expect."
+
+    CPrimitives cairo_surface_mark_dirty_rectangle: self _: x _:y _:w _:h.
+    self statusCheck.
+
+    "Created: / 24-02-2016 / 17:14:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !Surface methodsFor:'private'!