mirror of
https://gitee.com/eda-development/eda_fpga.git
synced 2025-08-06 17:22:03 +08:00
65 lines
2.1 KiB
C
65 lines
2.1 KiB
C
/*************************************************************************
|
|
* Copyright (c) 2011 AT&T Intellectual Property
|
|
* All rights reserved. This program and the accompanying materials
|
|
* are made available under the terms of the Eclipse Public License v1.0
|
|
* which accompanies this distribution, and is available at
|
|
* http://www.eclipse.org/legal/epl-v10.html
|
|
*
|
|
* Contributors: Details at https://graphviz.org
|
|
*************************************************************************/
|
|
|
|
#pragma once
|
|
|
|
#include "cdt.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum { FT_NULL,
|
|
FT_BMP, FT_GIF, FT_PNG, FT_JPEG,
|
|
FT_PDF, FT_PS, FT_EPS, FT_SVG, FT_XML,
|
|
FT_RIFF, FT_WEBP, FT_ICO, FT_TIFF
|
|
} imagetype_t;
|
|
|
|
typedef enum {
|
|
IMAGESCALE_FALSE, /* no image scaling */
|
|
IMAGESCALE_TRUE, /* scale image to fit but keep aspect ratio */
|
|
IMAGESCALE_WIDTH, /* scale image width to fit, keep height fixed */
|
|
IMAGESCALE_HEIGHT, /* scale image height to fit, keep width fixed */
|
|
IMAGESCALE_BOTH /* scale image to fit without regard for aspect ratio */
|
|
} imagescale_t;
|
|
|
|
typedef enum {
|
|
IMAGEPOS_TOP_LEFT, /* top left */
|
|
IMAGEPOS_TOP_CENTER, /* top center */
|
|
IMAGEPOS_TOP_RIGHT, /* top right */
|
|
IMAGEPOS_MIDDLE_LEFT, /* middle left */
|
|
IMAGEPOS_MIDDLE_CENTER, /* middle center (true center, the default)*/
|
|
IMAGEPOS_MIDDLE_RIGHT, /* middle right */
|
|
IMAGEPOS_BOTTOM_LEFT, /* bottom left */
|
|
IMAGEPOS_BOTTOM_CENTER, /* bottom center */
|
|
IMAGEPOS_BOTTOM_RIGHT /* bottom right */
|
|
} imagepos_t;
|
|
|
|
typedef struct usershape_s usershape_t;
|
|
|
|
struct usershape_s {
|
|
Dtlink_t link;
|
|
const char *name;
|
|
int macro_id;
|
|
boolean must_inline;
|
|
boolean nocache;
|
|
FILE *f;
|
|
imagetype_t type;
|
|
char *stringtype;
|
|
int x, y, w, h, dpi;
|
|
void *data; /* data loaded by a renderer */
|
|
size_t datasize; /* size of data (if mmap'ed) */
|
|
void (*datafree)(usershape_t *us); /* renderer's function for freeing data */
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|