aboutsummaryrefslogtreecommitdiff
path: root/vendor/x11iraf/obm/ObmW/GtermUtil.c
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
commitfa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch)
treebdda434976bc09c864f2e4fa6f16ba1952b1e555 /vendor/x11iraf/obm/ObmW/GtermUtil.c
downloadiraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz
Initial commit
Diffstat (limited to 'vendor/x11iraf/obm/ObmW/GtermUtil.c')
-rw-r--r--vendor/x11iraf/obm/ObmW/GtermUtil.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/vendor/x11iraf/obm/ObmW/GtermUtil.c b/vendor/x11iraf/obm/ObmW/GtermUtil.c
new file mode 100644
index 00000000..6bc0e720
--- /dev/null
+++ b/vendor/x11iraf/obm/ObmW/GtermUtil.c
@@ -0,0 +1,52 @@
+
+static XImage *cached_ximage = NULL; /* MF004 BEGIN */
+
+/* GetCachedXImage --
+ */
+static XImage *
+GetCachedXImage (w, pixmap, width, height)
+ GtermWidget w;
+ Pixmap pixmap;
+ int width;
+ int height;
+{
+ if ((cached_ximage != NULL)) {
+ if ((pixmap == w->gterm.pixmap) &&
+ (width == w->core.width) &&
+ (height == w->core.height)) {
+ return (cached_ximage);
+ }
+ }
+ return(NULL);
+}
+
+
+/* DestroyCachedXImage --
+ */
+static void
+DestroyCachedXImage ()
+{
+ if (cached_ximage != NULL) {
+ XDestroyImage (cached_ximage);
+ cached_ximage = NULL;
+ }
+}
+
+
+/* NewCachedXImage --
+ */
+static void
+NewCachedXImage (w, xin, pixmap, width, height)
+ GtermWidget w;
+ XImage *xin;
+ Pixmap pixmap;
+ int width;
+ int height;
+{
+ if ((pixmap == w->gterm.pixmap) &&
+ (width == w->core.width) &&
+ (height == w->core.height)) {
+ DestroyCachedXImage();
+ cached_ximage = xin;
+ }
+} /* MF004 END */