summaryrefslogtreecommitdiff
path: root/src/client/keyboardBuffer.c
diff options
context:
space:
mode:
authorTomas Chvatal (scarabeus) <tomas.chvatal@gmail.com>2008-10-22 22:50:54 +0200
committerTomas Chvatal (scarabeus) <tomas.chvatal@gmail.com>2008-10-22 22:50:54 +0200
commite12753d2ec9db83ec08bb9db63902a82fb245cdd (patch)
tree6e4a63b790d6335f969f88b797a927e0fb25f37a /src/client/keyboardBuffer.c
parent0b4d9821c7333b8c4bdf7e0eeb750aef502a1137 (diff)
X
Diffstat (limited to 'src/client/keyboardBuffer.c')
-rw-r--r--src/client/keyboardBuffer.c136
1 files changed, 72 insertions, 64 deletions
diff --git a/src/client/keyboardBuffer.c b/src/client/keyboardBuffer.c
index 246d262..894060f 100644
--- a/src/client/keyboardBuffer.c
+++ b/src/client/keyboardBuffer.c
@@ -23,129 +23,137 @@ static SDL_keysym emptyKey;
/*
* Key buffer initializes. The parameter sets the number of keys.
*/
-void initKeyboardBuffer(int size)
+void
+initKeyboardBuffer(int size)
{
- assert(size > 0);
- assert(keyboardBuffer == NULL);
+ assert(size > 0);
+ assert(keyboardBuffer == NULL);
- keyboardBuffer = malloc(sizeof(keyboardBuffer_t));
- assert(keyboardBuffer != NULL);
- memset(keyboardBuffer, 0, sizeof(keyboardBuffer_t));
+ keyboardBuffer = malloc(sizeof(keyboardBuffer_t));
+ assert(keyboardBuffer != NULL);
+ memset(keyboardBuffer, 0, sizeof(keyboardBuffer_t));
- keyboardBuffer->buff = malloc(size * sizeof(SDL_keysym));
- assert(keyboardBuffer->buff != NULL);
- memset(keyboardBuffer->buff, 0, size * sizeof(SDL_keysym));
+ keyboardBuffer->buff = malloc(size * sizeof(SDL_keysym));
+ assert(keyboardBuffer->buff != NULL);
+ memset(keyboardBuffer->buff, 0, size * sizeof(SDL_keysym));
- keyboardBuffer->begin = 0;
- keyboardBuffer->end = 0;
- keyboardBuffer->count = 0;
- keyboardBuffer->size = size;
+ keyboardBuffer->begin = 0;
+ keyboardBuffer->end = 0;
+ keyboardBuffer->count = 0;
+ keyboardBuffer->size = size;
- emptyKey.sym = SDLK_UNKNOWN;
+ emptyKey.sym = SDLK_UNKNOWN;
}
/*
* Empty the buffer
*/
-void clearKeyboardBuffer()
+void
+clearKeyboardBuffer()
{
- assert(keyboardBuffer != NULL);
+ assert(keyboardBuffer != NULL);
- keyboardBuffer->begin = 0;
- keyboardBuffer->end = 0;
- keyboardBuffer->count = 0;
- memset(keyboardBuffer->buff, 0, keyboardBuffer->size * sizeof(SDL_keysym));
+ keyboardBuffer->begin = 0;
+ keyboardBuffer->end = 0;
+ keyboardBuffer->count = 0;
+ memset(keyboardBuffer->buff, 0, keyboardBuffer->size * sizeof(SDL_keysym));
}
/*
* Adds key to the end of the buffer. If the buffer is overrun,
* an error is printed to stderr and the key is dropped.
*/
-bool_t pushKeyToKeyboardBuffer(SDL_keysym key)
+bool_t
+pushKeyToKeyboardBuffer(SDL_keysym key)
{
- assert(keyboardBuffer != NULL);
+ assert(keyboardBuffer != NULL);
- if (keyboardBuffer->count >= keyboardBuffer->size){
- fprintf(stderr, _("Keyboard Buffer overrun! Dropping key: %02x\n"), key.sym);
- return FALSE;
- }
+ if (keyboardBuffer->count >= keyboardBuffer->size) {
+ fprintf(stderr, _("Keyboard Buffer overrun! Dropping key: %02x\n"),
+ key.sym);
+ return FALSE;
+ }
- keyboardBuffer->buff[keyboardBuffer->end] = key;
+ keyboardBuffer->buff[keyboardBuffer->end] = key;
- keyboardBuffer->end++;
- if (keyboardBuffer->end >= keyboardBuffer->size) {
- keyboardBuffer->end = 0;
- }
+ keyboardBuffer->end++;
+ if (keyboardBuffer->end >= keyboardBuffer->size) {
+ keyboardBuffer->end = 0;
+ }
- keyboardBuffer->count++;
+ keyboardBuffer->count++;
- return TRUE;
+ return TRUE;
}
/*
* Takes out first key from the buffer and returns it. If the buffer is empty,
* an error is printed to stderr and SDLK_UNKNOWN is returned.
*/
-SDL_keysym popKeyFromKeyboardBuffer()
+SDL_keysym
+popKeyFromKeyboardBuffer()
{
- assert(keyboardBuffer != NULL);
+ assert(keyboardBuffer != NULL);
- if (keyboardBuffer->count <= 0){
- fprintf(stderr, _("Keyboard Buffer underrun!\n"));
- return emptyKey;
- }
+ if (keyboardBuffer->count <= 0) {
+ fprintf(stderr, _("Keyboard Buffer underrun!\n"));
+ return emptyKey;
+ }
- SDL_keysym key = keyboardBuffer->buff[keyboardBuffer->begin];
- keyboardBuffer->buff[keyboardBuffer->begin] = emptyKey;
+ SDL_keysym key = keyboardBuffer->buff[keyboardBuffer->begin];
+ keyboardBuffer->buff[keyboardBuffer->begin] = emptyKey;
- keyboardBuffer->begin++;
- if (keyboardBuffer->begin >= keyboardBuffer->size) {
- keyboardBuffer->begin = 0;
- }
+ keyboardBuffer->begin++;
+ if (keyboardBuffer->begin >= keyboardBuffer->size) {
+ keyboardBuffer->begin = 0;
+ }
- keyboardBuffer->count--;
+ keyboardBuffer->count--;
- return key;
+ return key;
}
/*
* The buffer size
*/
-int getKeyboardBufferSize()
+int
+getKeyboardBufferSize()
{
- assert(keyboardBuffer != NULL);
- return keyboardBuffer->size;
+ assert(keyboardBuffer != NULL);
+ return keyboardBuffer->size;
}
/*
* Number of keys in the buffer
*/
-int KeyboardBufferCount()
+int
+KeyboardBufferCount()
{
- assert(keyboardBuffer != NULL);
- return keyboardBuffer->count;
+ assert(keyboardBuffer != NULL);
+ return keyboardBuffer->count;
}
-bool_t isAnyKeyInKeyboardBuffer()
+bool_t
+isAnyKeyInKeyboardBuffer()
{
- return KeyboardBufferCount() > 0 ? TRUE : FALSE;
+ return KeyboardBufferCount() > 0 ? TRUE : FALSE;
}
/*
* Frees the buffer. If it is not empty, information
* about filling is prined to stderr first.
*/
-void quitKeyboardBuffer()
+void
+quitKeyboardBuffer()
{
- assert(keyboardBuffer != NULL);
+ assert(keyboardBuffer != NULL);
- if (keyboardBuffer->count > 0){
- fprintf(stderr, _("Keyboard buffer is not empty!\n"));
- }
+ if (keyboardBuffer->count > 0) {
+ fprintf(stderr, _("Keyboard buffer is not empty!\n"));
+ }
- free(keyboardBuffer->buff);
- free(keyboardBuffer);
- keyboardBuffer = NULL;
+ free(keyboardBuffer->buff);
+ free(keyboardBuffer);
+ keyboardBuffer = NULL;
}
-