diff options
| author | DrNuget <drnuget@outlook.com> | 2025-11-02 02:16:10 +0200 |
|---|---|---|
| committer | DrNuget <drnuget@outlook.com> | 2025-11-02 02:16:10 +0200 |
| commit | 125e25428b5faa36e1ac96f091079282b4851b3e (patch) | |
| tree | 4f32efde5b46bc2e86d45129874aafb5f35e200d /brailleboi.c | |
| parent | 715eccf5d8e937a156190bbb03a93562c59618c5 (diff) | |
| download | brailleboi-125e25428b5faa36e1ac96f091079282b4851b3e.tar.gz | |
create src folder, move library codes there
Diffstat (limited to 'brailleboi.c')
| -rw-r--r-- | brailleboi.c | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/brailleboi.c b/brailleboi.c deleted file mode 100644 index 82fbeeb..0000000 --- a/brailleboi.c +++ /dev/null @@ -1,56 +0,0 @@ -#include <stdlib.h> -#include <stdio.h> -#include <wchar.h> -#include <locale.h> - -#include "brailleboi.h" - -int brailleInit(int width, int height, image_buffer* buf) -{ - setlocale(LC_ALL, ""); - buf->width = width; - buf->height = height; - buf->char_width = (width+1)/2; - buf->char_height = (height+1)/2; - buf->contents = malloc((buf->char_width * buf->char_height) * sizeof(int)); - return 0; -} - -int brailleStop(image_buffer* buf) -{ - free(buf->contents); - return 0; -} - -int brailleReorganizeBits(int old) -{ - //Reorganizes bits because the unicode standard for 8 dotted braille is weird - int new = (old&0x87) | // 0b10000111 - (old&0x70)>>1 | // 0b01110000 - (old&0x08)<<3; // 0b00001000 - return new; -} - -void braillePrint(int data) -{ - wprintf(L"%lc", (0x2800|data)); -} - -int braillePlot(int x, int y, image_buffer* buf) -{ - //Check if plot is within bounds - if ((x>buf->width) | (y>buf->height)) - return 1; - buf->contents[(y-1)/4 * buf->char_width + (x-1)/2] |= 1<<((y-1)%4+(1-x%2)*4); - return 0; -} - -void brailleUpdateScreen(image_buffer* buf) -{ - for (int x=0;x<buf->char_width;x++) { - for (int y=0;y<buf->char_height;y++) { - wprintf(L"\e[%d;%dH", y+1, x+1); - braillePrint(brailleReorganizeBits(buf->contents[y * buf->char_width + x])); - } - } -} |
