-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtipos.h
executable file
·57 lines (50 loc) · 1.26 KB
/
tipos.h
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
#ifndef TIPOS_H
#define TIPOS_H
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#define TEXTBOX 1
#define LABEL 2
#define LISTBOX 3
#define COMBOBOX 4
#define CHECKBOX 5
#define MENUBAR 6
#define ITEM 7
#define MAX(larg, alt) larg * alt
typedef struct desktop desktop;
typedef struct box caixa;
typedef struct box texto;
typedef struct box etiqueta;
typedef struct box listbox;
typedef struct box combobox;
typedef struct box checkbox;
typedef struct box menubar;
typedef char* string;
typedef struct lista lista;
struct desktop {
lista *lista_caixas;
desktop *(*desenha)(desktop *xdesktop);
desktop *(*monitora)(desktop *xdesktop);
desktop *(*atualiza)(desktop *xdesktop);
};
struct lista {
lista *prox;
caixa *comando;
/*lista com sentinela*/
lista *(*insere)(lista *xlista, caixa *xcaixa);
lista *(*remove)(lista *xlista, unsigned int poslist);
};
struct box {
caixa*(*desenha)(caixa *xcaixa);
caixa*(*monitora)(caixa *xcaixa, int caracter);
unsigned int x, y, largura, altura;
unsigned int poslista, identificador, deslocamento;
string *texto;
caixa *subcaixa;
bool visibilidade, disponibilidade, ativado;
unsigned int numitens; /*0 por padrão, mais q isso pra menubar*/
/*exclusividade da menubar*/
caixa **vet;
};
#endif