| 56 | |
| 57 | |
| 58 | class Blitter : public Runnable |
| 59 | { |
| 60 | public: |
| 61 | |
| 62 | Blitter(Display *dpy_, Window win_, int myID_) : findex(0), deadYet(false), |
| 63 | dpy(dpy_), win(win_), thread(NULL), myID(myID_) |
| 64 | { |
| 65 | for(int i = 0; i < NFRAMES; i++) |
| 66 | { |
| 67 | if(useGL) { frames[i] = new GLFrame(dpy, win); } |
| 68 | #ifdef USEXV |
| 69 | else if(useXV) { frames[i] = new XVFrame(dpy, win); } |
| 70 | #endif |
| 71 | else { frames[i] = new FBXFrame(dpy, win); } |
| 72 | } |
| 73 | thread = new Thread(this); |
| 74 | thread->start(); |
| 75 | #ifdef USEHELGRIND |
| 76 | ANNOTATE_BENIGN_RACE_SIZED(&deadYet, sizeof(bool), ); |
| 77 | #endif |
| 78 | } |
| 79 | |
| 80 | virtual ~Blitter(void) |
| 81 | { |
nothing calls this directly
no outgoing calls
no test coverage detected