render_struct.h
author Tero Marttila <terom@fixme.fi>
Fri, 29 Aug 2008 23:31:17 +0300
changeset 48 1c67f512779b
parent 22 4627760fc0d1
permissions -rw-r--r--
fix doc tpyos, rename some enums, fix printf format len for non-zero terminated strings (hg status), pass args to memcache_cmd_format_header via memcache_req_*, handle zero-length STORE requests, memcache_req is_buf_ours + free, other function name typos (keymemcache_req_key), fix req state behaviour re *_DATA_* for STORE requests and FETCH/END, better memcache_server connpool events/management, modular memcache_test with a working benchmark. This is a long commit message.
#ifndef RENDER_STRUCT_H
#define RENDER_STRUCT_H

#include "render.h"

struct render {
/* render mode */
    int mode;

/* image size */
    u_int32_t img_w;
    u_int32_t img_h;

/* mandelbrot region */
    double      x1;
    double      y1;
    double      x2;
    double      y2;

/* render region */
    u_int32_t img_left, img_right, img_top, img_bottom;
    u_int32_t img_x_step, img_y_step;

/* local rendering */
    unsigned char **local_rowbuf_addr;
    render_ctx_row_cb local_row_fn;

/* local I/O parameters */
    // if this is non-NULL, the image data is simply fwrite():en to this stream
    FILE *io_stream;

    // called to handle the output data
    render_ctx_write_cb io_write_fn;

    // called when the output data should be flushed - can be safely ignored if not needed
    render_ctx_flush_cb io_flush_fn;

    // the callback argument for all of the above *_fn
    void *cb_arg;
};

#endif /* RENDER_STRUCT_H */