projects
/
laserbrain_demo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
hacked image loading to use assman
[laserbrain_demo]
/
src
/
image.cc
diff --git
a/src/image.cc
b/src/image.cc
index
57817ca
..
ce930f3
100644
(file)
--- a/
src/image.cc
+++ b/
src/image.cc
@@
-7,6
+7,7
@@
#endif
#include "imago2.h"
#endif
#include "imago2.h"
+#include "assman.h"
#include "image.h"
static int pixel_elements(Image::Format fmt);
#include "image.h"
static int pixel_elements(Image::Format fmt);
@@
-171,12
+172,30
@@
void Image::resize_half()
height = newysz;
}
height = newysz;
}
+static size_t io_read(void *buf, size_t bytes, void *fp)
+{
+ return ass_fread(buf, 1, bytes, fp);
+}
+
+static long io_seek(long offs, int whence, void *fp)
+{
+ ass_fseek(fp, offs, whence);
+ return ass_ftell(fp);
+}
+
bool Image::load(const char *fname)
{
struct img_pixmap pixmap;
bool Image::load(const char *fname)
{
struct img_pixmap pixmap;
+ struct img_io io = {0, io_read, 0, io_seek};
+ ass_file *fp;
+
+ if(!(fp = ass_fopen(fname, "rb"))) {
+ return false;
+ }
+ io.uptr = fp;
img_init(&pixmap);
img_init(&pixmap);
- if(img_load(&pixmap, fname) == -1) {
+ if(img_read(&pixmap, &io) == -1) {
return false;
}
return false;
}