#include <stdio.h>
}
+#include <algorithm>
+
#include "gccache.hh"
-#include "basedisplay.hh"
#include "color.hh"
-#include "util.hh"
+#include "assassin.hh"
+#include "screeninfo.hh"
+namespace otk {
BGCCacheContext::~BGCCacheContext(void) {
if (gc)
- XFreeGC(display->getXDisplay(), gc);
+ XFreeGC(OBDisplay::display, gc);
}
fontid = 0;
}
- XChangeGC(display->getXDisplay(), gc, mask, &gcv);
+ XChangeGC(OBDisplay::display, gc, mask, &gcv);
}
XGCValues gcv;
fontid = gcv.font = _font->fid;
- XChangeGC(display->getXDisplay(), gc, GCFont, &gcv);
+ XChangeGC(OBDisplay::display, gc, GCFont, &gcv);
}
-BGCCache::BGCCache(const BaseDisplay * const _display,
- unsigned int screen_count)
- : display(_display), context_count(128u),
- cache_size(16u), cache_buckets(8u * screen_count),
+BGCCache::BGCCache(unsigned int screen_count)
+ : context_count(128u), cache_size(16u), cache_buckets(8u * screen_count),
cache_total_size(cache_size * cache_buckets) {
contexts = new BGCCacheContext*[context_count];
unsigned int i;
for (i = 0; i < context_count; i++) {
- contexts[i] = new BGCCacheContext(display);
+ contexts[i] = new BGCCacheContext();
}
cache = new BGCCacheItem*[cache_total_size];
BGCCacheContext *BGCCache::nextContext(unsigned int scr) {
- Window hd = display->getScreenInfo(scr)->getRootWindow();
+ Window hd = OBDisplay::screenInfo(scr)->rootWindow();
BGCCacheContext *c;
c = contexts[i];
if (! c->gc) {
- c->gc = XCreateGC(display->getXDisplay(), hd, 0, 0);
+ c->gc = XCreateGC(OBDisplay::display, hd, 0, 0);
c->used = false;
c->screen = scr;
}
}
}
}
+
+}