view mrjunejune/latex_renderer.h @ 273:e02e2036ef84 default tip

add Layer 2 JRPG component system Add reusable content and window modals, an isolated component sandbox, shared cyberpunk scroll areas, production-safe cache freshness, and server-rendered JRPG panel state. Co-authored-by: Copilot <[email protected]>
author MrJuneJune <me@mrjunejune.com>
date Sat, 08 Aug 2026 02:08:08 -0700
parents b8b6e726964a
children
line wrap: on
line source

#ifndef MRJUNEJUNE_LATEX_RENDERER_H
#define MRJUNEJUNE_LATEX_RENDERER_H

#include "dowa/dowa.h"

#define LATEX_SOURCE_MAX_BYTES (64 * 1024)
#define LATEX_PDF_MAX_BYTES (4 * 1024 * 1024)

typedef enum {
  LATEX_RENDER_OK = 0,
  LATEX_RENDER_INVALID_INPUT,
  LATEX_RENDER_COMPILE_ERROR,
  LATEX_RENDER_TIMEOUT,
  LATEX_RENDER_COMPILER_UNAVAILABLE,
  LATEX_RENDER_SANDBOX_ERROR,
  LATEX_RENDER_INTERNAL_ERROR,
} Latex_Render_Status;

typedef struct {
  Latex_Render_Status status;
  uint8 *pdf_data;
  size_t pdf_size;
  char *diagnostics;
} Latex_Render_Result;

Latex_Render_Result Latex_Render(const uint8 *source, size_t source_size);
void Latex_Render_Result_Destroy(Latex_Render_Result *result);

#endif