chiark
/
gitweb
/
~mdw
/
clg
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2a9afe6
)
Added macro WITH-CARIO-CONTEXT to create temporary cario contexts
author
espen
<espen>
Tue, 7 Feb 2006 13:22:14 +0000
(13:22 +0000)
committer
espen
<espen>
Tue, 7 Feb 2006 13:22:14 +0000
(13:22 +0000)
gdk/gdk.lisp
patch
|
blob
|
blame
|
history
diff --git
a/gdk/gdk.lisp
b/gdk/gdk.lisp
index d3dae2e4c5f6bf04f5a3a457e1d79faca26d9fdf..30c48b9d147477ae8fdb79c92ded8089bcb1c9ae 100644
(file)
--- a/
gdk/gdk.lisp
+++ b/
gdk/gdk.lisp
@@
-20,7
+20,7
@@
;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-;; $Id: gdk.lisp,v 1.1
8 2005/11/10 09:01:36
espen Exp $
+;; $Id: gdk.lisp,v 1.1
9 2006/02/07 13:22:14
espen Exp $
(in-package "GDK")
(in-package "GDK")
@@
-712,6
+712,13
@@
(progn
(defbinding cairo-create () cairo:context
(drawable drawable))
(defbinding cairo-create () cairo:context
(drawable drawable))
+ (defmacro with-cairo-context ((cr drawable) &body body)
+ `(let ((,cr (cairo-create ,drawable)))
+ (unwind-protect
+ (progn ,@body)
+ (unreference-foreign 'cairo:context (foreign-location ,cr))
+ (invalidate-instance ,cr))))
+
(defbinding cairo-set-source-color () nil
(cr cairo:context)
(color color))
(defbinding cairo-set-source-color () nil
(cr cairo:context)
(color color))