Subversion Repositories Kolibri OS

Rev

Rev 9811 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
8796 turbocat 1
#ifndef KOLIBRI_DIALOG_H
2
#define KOLIBRI_DIALOG_H
3
 
4
#include 
9620 turbocat 5
 
8796 turbocat 6
#define NOT_SUCCESS 0
9766 turbocat 7
#define SUCCESS     1
8796 turbocat 8
 
9766 turbocat 9
char sz_com_area_name[] = "FFFFFFFF_open_dialog";
9587 vitalkrilo 10
char sz_dir_default_path[] = "/sys";
9766 turbocat 11
char sz_start_path[] = "/sys/File managers/opendial";
8796 turbocat 12
 
9766 turbocat 13
char cd_com_area_name[] = "FFFFFFFF_color_dialog";
14
char cd_start_path[] = "/sys/colrdial";
8796 turbocat 15
 
16
enum open_dialog_mode {
17
    OPEN,
18
    SAVE,
19
    SELECT
20
};
21
 
22
typedef struct {
9766 turbocat 23
    unsigned int size;
24
    unsigned char end;
25
} od_filter __attribute__((__packed__));
8796 turbocat 26
 
27
typedef struct {
28
    unsigned int mode;
29
    char* procinfo;
30
    char* com_area_name;
31
    unsigned int com_area;
32
    char* opendir_path;
33
    char* dir_default_path;
34
    char* start_path;
35
    void (*draw_window)();
36
    unsigned int status;
37
    char* openfile_path;
38
    char* filename_area;
39
    od_filter* filter_area;
40
    unsigned short x_size;
41
    unsigned short x_start;
42
    unsigned short y_size;
43
    unsigned short y_start;
9766 turbocat 44
} open_dialog __attribute__((__packed__));
8796 turbocat 45
 
9766 turbocat 46
typedef struct {
8796 turbocat 47
    unsigned int type;
48
    char* procinfo;
49
    char* com_area_name;
50
    unsigned int com_area;
51
    char* start_path;
52
    void (*draw_window)(void);
53
    unsigned int status;
54
    unsigned short x_size;
55
    unsigned short x_start;
56
    unsigned short y_size;
57
    unsigned short y_start;
58
    unsigned int color_type;
59
    unsigned int color;
9766 turbocat 60
} color_dialog __attribute__((__packed__));
8796 turbocat 61
 
9766 turbocat 62
void fake_on_redraw(void) { }
8796 turbocat 63
 
64
open_dialog* kolibri_new_open_dialog(unsigned int mode, unsigned short tlx, unsigned short tly, unsigned short x_size, unsigned short y_size)
65
{
9766 turbocat 66
    open_dialog* new_opendialog = (open_dialog*)malloc(sizeof(open_dialog));
67
    od_filter* new_od_filter = (od_filter*)malloc(sizeof(od_filter));
68
    char* plugin_path = (char*)calloc(4096, sizeof(char));
69
    char* openfile_path = (char*)calloc(4096, sizeof(char));
70
    char* proc_info = (char*)calloc(1024, sizeof(char));
71
    char* filename_area = (char*)calloc(256, sizeof(char));
8796 turbocat 72
 
9766 turbocat 73
    new_od_filter->size = 0;
74
    new_od_filter->end = 0;
8796 turbocat 75
 
9766 turbocat 76
    new_opendialog->mode = mode;
77
    new_opendialog->procinfo = proc_info;
78
    new_opendialog->com_area_name = sz_com_area_name;
79
    new_opendialog->com_area = 0;
80
    new_opendialog->opendir_path = plugin_path;
81
    new_opendialog->dir_default_path = sz_dir_default_path;
82
    new_opendialog->start_path = sz_start_path;
83
    new_opendialog->draw_window = &fake_on_redraw;
84
    new_opendialog->status = 0;
85
    new_opendialog->openfile_path = openfile_path;
86
    new_opendialog->filename_area = filename_area;
87
    new_opendialog->filter_area = new_od_filter;
88
    new_opendialog->x_size = x_size;
89
    new_opendialog->x_start = tlx;
90
    new_opendialog->y_size = y_size;
91
    new_opendialog->y_start = tly;
92
    return new_opendialog;
8796 turbocat 93
}
94
 
9766 turbocat 95
void cd_fake_on_redraw(void) { }
8796 turbocat 96
 
97
color_dialog* kolibri_new_color_dialog(unsigned int type, unsigned short tlx, unsigned short tly, unsigned short x_size, unsigned short y_size)
98
{
9766 turbocat 99
    color_dialog* new_colordialog = (color_dialog*)malloc(sizeof(color_dialog));
100
    char* proc_info = (char*)calloc(1024, sizeof(char));
8796 turbocat 101
 
9766 turbocat 102
    new_colordialog->type = type;
103
    new_colordialog->procinfo = proc_info;
104
    new_colordialog->com_area_name = cd_com_area_name;
105
    new_colordialog->com_area = 0;
106
    new_colordialog->start_path = cd_start_path;
107
    new_colordialog->draw_window = &cd_fake_on_redraw;
108
    new_colordialog->status = 0;
109
    new_colordialog->x_size = x_size;
110
    new_colordialog->x_start = tlx;
111
    new_colordialog->y_size = y_size;
112
    new_colordialog->y_start = tly;
113
    new_colordialog->color_type = 0;
114
    new_colordialog->color = 0;
115
    return new_colordialog;
8796 turbocat 116
}
117
 
9812 Coldy 118
DLLAPI void __stdcall OpenDialog_init(open_dialog*);
119
DLLAPI void __stdcall OpenDialog_start(open_dialog*);
8796 turbocat 120
 
9812 Coldy 121
DLLAPI void __stdcall ColorDialog_init(color_dialog*);
122
DLLAPI void __stdcall ColorDialog_start(color_dialog*);
8796 turbocat 123
 
124
#endif