-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcgi.h
More file actions
82 lines (69 loc) · 2.2 KB
/
cgi.h
File metadata and controls
82 lines (69 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#ifndef ___CGI_H___
#define ___CGI_H___
#include <stdio.h>
/**
@file cgi.h
Macros úteis para gerar CGIs
*/
/**
\brief Caminho para as imagens
*/
#define IMAGE_PATH "http://localhost/Images/"
/**
\brief Macro para começar o html
*/
#define COMECAR_HTML printf("Content-Type: text/html\n\n")
/**
\brief Macro para abrir um svg
@param tamx O comprimento do svg
@param tamy A altura do svg
*/
#define ABRIR_SVG(tamx, tamy) printf("<svg width=%d height=%d>\n", tamx, tamy)
/**
\brief Macro para fechar um svg
*/
#define FECHAR_SVG printf("</svg>\n")
/**
\brief Macro para criar uma imagem
@param X A coordenada X do canto superior esquerdo
@param Y A coordenada Y do canto superior esquerdo
@param ESCALA A escala da imagem
@param FICHEIRO O caminho para o link do ficheiro
*/
#define IMAGEM(X, Y, ESCALA, FICHEIRO) printf("<image x=%d y=%d width=%d height=%d xlink:href=%s />\n", \
ESCALA * X, ESCALA* Y, ESCALA, ESCALA, IMAGE_PATH FICHEIRO)
/**
\brief Macro para criar um quadrado transparente
@param X A coordenada X do canto superior esquerdo
@param Y A coordenada Y do canto superior esquerdo
@param ESCALA A escala do quadrado
*/
#define QUADRADO_TRANSPARENTE(X, Y, ESCALA) printf("<rect x=%d y=%d width=%d height=%d opacity=0 />\n", \
ESCALA * X, ESCALA* Y, ESCALA, ESCALA)
/**
\brief Macro para criar um quadrado vermelho
@param X A coordenada X do canto superior esquerdo
@param Y A coordenada Y do canto superior esquerdo
@param ESCALA A escala do quadrado
*/
#define QUADRADO_VERMELHO(X, Y, ESCALA) printf("<rect x=%d y=%d width=%d height=%d opacity=0.2 style=fill:red />\n", \
ESCALA * X, ESCALA* Y, ESCALA, ESCALA)
/**
\brief Macro para criar texto
@param X A coordenada X do canto inferior esquerdo
@param Y A coordenada Y do canto inferior esquerdo
@param FILL A cor do texto
@param TEXTO O texto para escrever
*/
#define TEXTO(X, Y, FILL, TEXTO) printf("<text x=%d y=%d fill=%s>%s</text>\n", \
X, Y, FILL, TEXTO)
/**
\brief Macro para abrir um link
@param link O caminho para o link
*/
#define ABRIR_LINK(link) printf("<a xlink:href=%s>\n", link)
/**
\brief Macro para fechar um link
*/
#define FECHAR_LINK printf("</a>\n")
#endif