render_local.h
author Tero Marttila <terom@fixme.fi>
Fri, 29 Aug 2008 23:31:17 +0300
changeset 48 1c67f512779b
parent 24 8307d28329ae
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_LOCAL_H
#define RENDER_LOCAL_H

#include "render.h"
#include "render_png_struct.h"
#include "render_raw_struct.h"

struct render_local {
    struct render *render_info;
    unsigned char *rowbuf;
    struct render_png png_ctx;
    struct render_raw raw_ctx;
    int must_deinit;
};

/*
 * Renders the given struct render locally in one operation.
 *
 * How this operates depends on the render mode:
 *  RENDER_PNG      - see render_png_init
 *  RENDER_RAW      - see render_raw_init
 *
 *  Note that the given render MUST remain valid across calls to init/run/deinit
 */
int render_local (struct render *render, double *duration);
int render_local_init (struct render_local *ctx, struct render *render);
int render_local_run (struct render_local *ctx, double *duration);
void render_local_deinit (struct render_local *ctx);

#endif /* RENDER_LOCAL_H */