author | Tero Marttila <terom@fixme.fi> |
Sat, 31 May 2008 19:35:21 +0300 | |
changeset 2 | 69f8c0acaac7 |
parent 1 | 6aa1a0d1f88d |
child 11 | 082bfaf38cf0 |
permissions | -rw-r--r-- |
1
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1 |
#include <string.h> |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2 |
#include <arpa/inet.h> |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4 |
#include "render.h" |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6 |
int render_init (render_t *ctx, int mode) { |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7 |
memset(ctx, 0, sizeof(*ctx)); |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
8 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
9 |
return render_set_mode(ctx, mode); |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
10 |
} |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
11 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
12 |
int render_set_mode (render_t *ctx, int mode) { |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
13 |
if (mode != RENDER_RAW && mode != RENDER_PNG) |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
14 |
return RENDER_ERR; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
15 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
16 |
ctx->mode = mode; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
17 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
18 |
return RENDER_OK; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
19 |
} |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
20 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
21 |
int render_set_size (render_t *ctx, u_int32_t img_w, u_int32_t img_h) { |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
22 |
if (img_w == 0 || img_h == 0) |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
23 |
return RENDER_ERR; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
24 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
25 |
ctx->img_w = img_w; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
26 |
ctx->img_h = img_h; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
27 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
28 |
return RENDER_OK; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
29 |
} |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
30 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
31 |
int render_region_full (render_t *ctx) { |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
32 |
return render_region_raw(ctx, REGION_X1, REGION_Y1, REGION_X2, REGION_Y2); |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
33 |
} |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
34 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
35 |
int render_region_raw (render_t *ctx, double x1, double y1, double x2, double y2) { |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
36 |
if ((x1 >= x2) || (y1 >= y2)) |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
37 |
return RENDER_ERR; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
38 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
39 |
ctx->x1 = x1; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
40 |
ctx->y1 = y1; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
41 |
ctx->x2 = x2; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
42 |
ctx->y2 = y2; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
43 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
44 |
return RENDER_OK; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
45 |
} |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
46 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
47 |
int render_io_custom (render_t *ctx, render_ctx_write_cb write_fn, render_ctx_flush_cb flush_fn, void *arg) { |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
48 |
if (!write_fn) |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
49 |
return RENDER_ERR; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
50 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
51 |
ctx->io_write_fn = write_fn; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
52 |
ctx->io_flush_fn = flush_fn; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
53 |
ctx->io_cb_arg = arg; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
54 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
55 |
return RENDER_OK; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
56 |
} |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
57 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
58 |
int render_io_stream (render_t *ctx, FILE *fh) { |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
59 |
if (!fh) |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
60 |
return RENDER_ERR; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
61 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
62 |
ctx->io_stream = fh; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
63 |
|
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
64 |
return RENDER_OK; |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
65 |
} |
6aa1a0d1f88d
partial commit of new render module, render_file should work, web_main doesn't
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
66 |