]> git.eshelyaron.com Git - emacs.git/commit
Stop creating cairo contexts in haiku_begin_cr_clip
authorPo Lu <luangruo@yahoo.com>
Thu, 3 Feb 2022 07:50:36 +0000 (07:50 +0000)
committerPo Lu <luangruo@yahoo.com>
Thu, 3 Feb 2022 07:50:36 +0000 (07:50 +0000)
commitd35c4ee10a549deb613f0ab2f99244e0240c4b60
tree9cc1a2e6b37db0b5788e6e5db21816a18aa396d2
parentfc79118f19f9a33ceb98c25ef38c67d2b935b9da
Stop creating cairo contexts in haiku_begin_cr_clip

* src/haikufont.c (haikufont_draw):
* src/ftcrfont.c (ftcrfont_draw): Stop holding the draw lock.
* src/haiku_support.cc (class EmacsView): New field
`cairo_context'.
(DetachCairoSurface): Destroy cairo_context.
(AttachCairoSurface): Create cairo_context from the surface.
(EmacsView_cairo_surface): Delete function.
(EmacsView_cairo_context): New function.
* src/haiku_support.h: Update prototypes.
* src/haikuterm.c (haiku_begin_cr_clip):
(haiku_end_cr_clip): Retrieve the existing cairo context instead
of creating a new one.
* src/haikuterm.h (FRAME_CR_CONTEXT): New macro.
src/ftcrfont.c
src/haiku_support.cc
src/haiku_support.h
src/haikufont.c
src/haikuterm.c
src/haikuterm.h