summaryrefslogtreecommitdiff
path: root/src/glut/beos/glutBlocker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/glut/beos/glutBlocker.cpp')
-rw-r--r--src/glut/beos/glutBlocker.cpp69
1 files changed, 0 insertions, 69 deletions
diff --git a/src/glut/beos/glutBlocker.cpp b/src/glut/beos/glutBlocker.cpp
deleted file mode 100644
index aa948522b9b..00000000000
--- a/src/glut/beos/glutBlocker.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- * FILE: glutBlocker.cpp
- *
- * DESCRIPTION: helper class for GLUT event loop.
- * if a window receives an event, wake up the event loop.
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include "glutBlocker.h"
-
-/***********************************************************
- * Global variable
- ***********************************************************/
-GlutBlocker gBlock;
-
-/***********************************************************
- * Member functions
- ***********************************************************/
-GlutBlocker::GlutBlocker() {
- gSem = create_sem(1, "gSem");
- eSem = create_sem(0, "eSem");
- events = false;
- sleeping = false;
-}
-
-GlutBlocker::~GlutBlocker() {
- delete_sem(eSem);
- delete_sem(gSem);
-}
-
-void GlutBlocker::WaitEvent() {
- acquire_sem(gSem);
- if(!events) { // wait for new event
- sleeping = true;
- release_sem(gSem);
- acquire_sem(eSem); // next event will release eSem
- } else {
- release_sem(gSem);
- }
-}
-
-void GlutBlocker::WaitEvent(bigtime_t usecs) {
- acquire_sem(gSem);
- if(!events) { // wait for new event
- sleeping = true;
- release_sem(gSem);
- acquire_sem_etc(eSem, 1, B_TIMEOUT, usecs); // wait for next event or timeout
- } else {
- release_sem(gSem);
- }
-}
-
-void GlutBlocker::NewEvent() {
- acquire_sem(gSem);
- events = true; // next call to WaitEvent returns immediately
- if(sleeping) {
- sleeping = false;
- release_sem(eSem); // if event loop is blocking, wake it up
- }
- release_sem(gSem);
-}