/****************************************************************************
 * This file is part of the project AqDiagram.
 * AqDiagram (c) by 2020 Martin Preuss, all rights reserved.
 *
 * The license for this file can be found in the file COPYING which you
 * should have received along with this file.
 ****************************************************************************/


#ifndef AQDG_DRAW_CONTEXT_CAIRO_P_H
#define AQDG_DRAW_CONTEXT_CAIRO_P_H


#include <aqdiagram/draw/context_cairo.h>

#include <aqdiagram/draw/context.h>
#include <aqdiagram/draw/font.h>
#include <aqdiagram/draw/pen.h>


#include <cairo/cairo.h>
#include <cairo/cairo-pdf.h>
#include <cairo/cairo-ps.h>




typedef struct AQDG_DRAW_CONTEXT_CAIRO AQDG_DRAW_CONTEXT_CAIRO;
struct AQDG_DRAW_CONTEXT_CAIRO {
  char *fileName;
  int width;
  int height;

  cairo_surface_t *surface;
  cairo_t *cr;

  AQDG_DRAW_FONT_LIST *fontList;
  AQDG_DRAW_PEN_LIST *penList;

  int lastFontId;
  int lastPenId;

  int stride; /* only for memory buffer surface */
  int writePng;
};



#endif


