istereo2
diff src/android/assman.c @ 7:a3c4fcc9f8f3
- started a goatkit UI theme
- font rendering with drawtext and shaders
- asset manager (only used by drawtext for now, will replace respath eventually)
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Thu, 24 Sep 2015 06:49:25 +0300 |
parents | |
children | 7d795dade0bc |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/android/assman.c Thu Sep 24 06:49:25 2015 +0300 1.3 @@ -0,0 +1,63 @@ 1.4 +#include <fcntl.h> 1.5 +#include <android/asset_manager.h> 1.6 +#include "assman.h" 1.7 +#include "native_glue.h" 1.8 +#include "amain.h" 1.9 + 1.10 +ass_file *ass_fopen(const char *fname, const char *mode) 1.11 +{ 1.12 + AAsset *ass; 1.13 + unsigned int flags = 0; 1.14 + char prev = 0; 1.15 + 1.16 + while(*mode) { 1.17 + switch(*mode) { 1.18 + case 'r': 1.19 + flags |= O_RDONLY; 1.20 + break; 1.21 + 1.22 + case 'w': 1.23 + flags |= O_WRONLY; 1.24 + break; 1.25 + 1.26 + case 'a': 1.27 + flags |= O_APPEND; 1.28 + break; 1.29 + 1.30 + case '+': 1.31 + if(prev == 'w' || prev == 'a') { 1.32 + flags |= O_CREAT; 1.33 + } 1.34 + break; 1.35 + 1.36 + default: 1.37 + break; 1.38 + } 1.39 + prev = *mode++; 1.40 + } 1.41 + 1.42 + if(!(ass = AAssetManager_open(app->activity->assetManager, fname, flags))) { 1.43 + return 0; 1.44 + } 1.45 + return (ass_file*)ass; 1.46 +} 1.47 + 1.48 +void ass_fclose(ass_file *fp) 1.49 +{ 1.50 + AAsset_close((AAsset*)fp); 1.51 +} 1.52 + 1.53 +long ass_fseek(ass_file *fp, long offs, int whence) 1.54 +{ 1.55 + return AAsset_seek((AAsset*)fp, offs, whence); 1.56 +} 1.57 + 1.58 +long ass_ftell(ass_file *fp) 1.59 +{ 1.60 + return AAsset_seek((AAsset*)fp, 0, SEEK_SET); 1.61 +} 1.62 + 1.63 +size_t ass_fread(void *buf, size_t size, size_t count, ass_file *fp) 1.64 +{ 1.65 + return AAsset_read((AAsset*)fp, buf, size * count) / size; 1.66 +}